fix(dashboard): fix issues where info can accidentally be removed by a save

This commit is contained in:
Carl-Gerhard Lindesvärd
2025-02-27 22:10:13 +01:00
parent 44721f84da
commit f0b0f27a8f
2 changed files with 18 additions and 6 deletions

View File

@@ -32,7 +32,7 @@ const validator = zProject.pick({
type IForm = z.infer<typeof validator>;
export default function EditProjectDetails({ project }: Props) {
const [hasDomain, setHasDomain] = useState(true);
const [hasDomain, setHasDomain] = useState(project.domain !== null);
const form = useForm<IForm>({
resolver: zodResolver(validator),
defaultValues: {
@@ -101,7 +101,7 @@ export default function EditProjectDetails({ project }: Props) {
</div>
<AnimateHeight open={hasDomain}>
<Input
placeholder="Domain"
placeholder="https://example.com"
{...form.register('domain')}
className="mb-4"
error={form.formState.errors.domain?.message}
@@ -112,7 +112,10 @@ export default function EditProjectDetails({ project }: Props) {
name="cors"
control={form.control}
render={({ field }) => (
<WithLabel label="Cors">
<WithLabel
label="Cors"
error={form.formState.errors.cors?.message}
>
<TagInput
{...field}
id="Cors"

View File

@@ -51,9 +51,18 @@ export const projectRouter = createTRPCRouter({
data: {
name: input.name,
crossDomain: input.crossDomain,
filters: input.filters,
domain: input.domain ? stripTrailingSlash(input.domain) : null,
cors: input.cors?.map((c) => stripTrailingSlash(c)) || [],
filters:
input.filters === undefined ? undefined : input.filters || [],
domain:
input.domain === undefined
? undefined
: input.domain
? stripTrailingSlash(input.domain)
: null,
cors:
input.cors === undefined
? undefined
: input.cors.map((c) => stripTrailingSlash(c)) || [],
},
include: {
clients: {