Merge remote-tracking branch 'upstream/dev' into feature-i18n

This commit is contained in:
Marvin
2025-06-04 09:01:37 +00:00
38 changed files with 3440 additions and 2362 deletions

View File

@@ -31,6 +31,7 @@ import { formatAxiosError } from "@app/lib/api";
import { createApiClient } from "@app/lib/api";
import { useEnvContext } from "@app/hooks/useEnvContext";
import { useState } from "react";
import { SwitchInput } from "@app/components/SwitchInput";
import { useTranslations } from "next-intl";
export default function GeneralPage() {
@@ -44,7 +45,8 @@ export default function GeneralPage() {
const t = useTranslations();
const GeneralFormSchema = z.object({
name: z.string().nonempty(t('nameRequired'))
name: z.string().nonempty("Name is required"),
dockerSocketEnabled: z.boolean().optional()
});
type GeneralFormValues = z.infer<typeof GeneralFormSchema>;
@@ -52,7 +54,8 @@ export default function GeneralPage() {
const form = useForm<GeneralFormValues>({
resolver: zodResolver(GeneralFormSchema),
defaultValues: {
name: site?.name
name: site?.name,
dockerSocketEnabled: site?.dockerSocketEnabled ?? false
},
mode: "onChange"
});
@@ -62,7 +65,8 @@ export default function GeneralPage() {
await api
.post(`/site/${site?.siteId}`, {
name: data.name
name: data.name,
dockerSocketEnabled: data.dockerSocketEnabled
})
.catch((e) => {
toast({
@@ -75,7 +79,10 @@ export default function GeneralPage() {
});
});
updateSite({ name: data.name });
updateSite({
name: data.name,
dockerSocketEnabled: data.dockerSocketEnabled
});
toast({
title: t('siteUpdated'),
@@ -104,7 +111,7 @@ export default function GeneralPage() {
<Form {...form}>
<form
onSubmit={form.handleSubmit(onSubmit)}
className="space-y-4"
className="space-y-6"
id="general-settings-form"
>
<FormField
@@ -123,6 +130,31 @@ export default function GeneralPage() {
</FormItem>
)}
/>
<FormField
control={form.control}
name="dockerSocketEnabled"
render={({ field }) => (
<FormItem>
<FormControl>
<SwitchInput
id="docker-socket-enabled"
label="Enable Docker Socket"
defaultChecked={field.value}
onCheckedChange={
field.onChange
}
/>
</FormControl>
<FormMessage />
<FormDescription>
Enable Docker Socket discovery
for populating container
information, useful in resource
targets.
</FormDescription>
</FormItem>
)}
/>
</form>
</Form>
</SettingsSectionForm>