diff --git a/api-svc/raid-api/src/main/resources/application-dev.yaml b/api-svc/raid-api/src/main/resources/application-dev.yaml index 8a5d308f..93019bb2 100644 --- a/api-svc/raid-api/src/main/resources/application-dev.yaml +++ b/api-svc/raid-api/src/main/resources/application-dev.yaml @@ -7,7 +7,7 @@ raid: host: localhost port: 7432 name: raido -# encryption-key: pB7MB3iuYmmjWMTOCK6HS0JetzWhCtBtKoNl39pBr3Q= + encryption-key: pB7MB3iuYmmjWMTOCK6HS0JetzWhCtBtKoNl39pBr3Q= iam: realm-uri: http://localhost:8001/realms/raid spring: diff --git a/raid-agency-app/src/components/anchor-buttons/component/AnchorButton.tsx b/raid-agency-app/src/components/anchor-buttons/component/AnchorButton.tsx index c95bccad..f3e246e0 100644 --- a/raid-agency-app/src/components/anchor-buttons/component/AnchorButton.tsx +++ b/raid-agency-app/src/components/anchor-buttons/component/AnchorButton.tsx @@ -12,11 +12,15 @@ interface AnchorButtonProps { export const AnchorButton = memo( ({ itemKey, label, count, hasError }: AnchorButtonProps) => { const handleClick = useCallback(() => { - document.getElementById(itemKey)?.scrollIntoView({ - behavior: "smooth", - block: "start", - inline: "nearest", - }); + const element = document.getElementById(itemKey); + if (element) { + const elementPosition = + element.getBoundingClientRect().top + window.scrollY - 60; + window.scrollTo({ + top: elementPosition, + behavior: "smooth", + }); + } }, [itemKey]); return ( diff --git a/raid-agency-app/src/components/dynamic-form/DynamicForm.tsx b/raid-agency-app/src/components/dynamic-form/DynamicForm.tsx index c500b383..b9874a2b 100644 --- a/raid-agency-app/src/components/dynamic-form/DynamicForm.tsx +++ b/raid-agency-app/src/components/dynamic-form/DynamicForm.tsx @@ -69,6 +69,7 @@ export const DynamicForm = memo( diff --git a/raid-agency-app/src/components/raid-form/RaidForm.tsx b/raid-agency-app/src/components/raid-form/RaidForm.tsx index cb1097b2..927126cb 100644 --- a/raid-agency-app/src/components/raid-form/RaidForm.tsx +++ b/raid-agency-app/src/components/raid-form/RaidForm.tsx @@ -102,11 +102,13 @@ export const FlatFormComponent = memo( ({ DetailsFormComponent, labelPlural, + id, }: { DetailsFormComponent: React.ComponentType<{}>; labelPlural: string; + id: string; }) => ( - + @@ -401,6 +403,7 @@ export const RaidForm = memo( key={config.id} labelPlural={config.labelPlural} DetailsFormComponent={config.DetailsFormComponent} + id={config.id} /> ); } diff --git a/raid-agency-app/src/entities/access/AccessDisplay.tsx b/raid-agency-app/src/entities/access/AccessDisplay.tsx index cb330827..04649586 100644 --- a/raid-agency-app/src/entities/access/AccessDisplay.tsx +++ b/raid-agency-app/src/entities/access/AccessDisplay.tsx @@ -28,25 +28,31 @@ const AccessDisplay = memo(({ data }: { data: Access }) => { labelPlural="Access" children={ - - {hasEmbargoedAccess && ( - + <> + + + + )} } diff --git a/raid-agency-app/src/entities/access/AccessForm.tsx b/raid-agency-app/src/entities/access/AccessForm.tsx index 1f99661d..08613c50 100644 --- a/raid-agency-app/src/entities/access/AccessForm.tsx +++ b/raid-agency-app/src/entities/access/AccessForm.tsx @@ -26,28 +26,31 @@ const AccessForm = memo(({ errors }: { errors: FieldErrors }) => { return ( - - - {/* Show embargo expiry date if access type is c_f1cf */} + {/* Show embargo related fields only if access type is c_f1cf (embargoed) */} {accessTypeId?.includes("c_f1cf/") && ( - + <> + + + + + )} ); diff --git a/raid-agency-app/src/entities/title/data-components/title-validation-schema.ts b/raid-agency-app/src/entities/title/data-components/title-validation-schema.ts index 877de36b..d3621819 100644 --- a/raid-agency-app/src/entities/title/data-components/title-validation-schema.ts +++ b/raid-agency-app/src/entities/title/data-components/title-validation-schema.ts @@ -14,7 +14,7 @@ const titleTypeValidationSchema = z.object({ }); const titleLanguageValidationSchema = z.object({ - id: z.string().min(1), + id: z.string(), schemaUri: z.literal(languageSchema[0].uri), }); @@ -22,7 +22,7 @@ export const singleTitleValidationSchema = z .object({ text: z.string().min(1), type: titleTypeValidationSchema, - language: titleLanguageValidationSchema, + language: titleLanguageValidationSchema.optional(), startDate: dateStringSchema, endDate: dateStringSchema.optional(), }) diff --git a/raid-agency-app/src/fields/LanguageSelector.tsx b/raid-agency-app/src/fields/LanguageSelector.tsx index 2d89f2aa..d6a60c9a 100644 --- a/raid-agency-app/src/fields/LanguageSelector.tsx +++ b/raid-agency-app/src/fields/LanguageSelector.tsx @@ -14,7 +14,7 @@ export default function LanguageSelector({ name, helperText, errorText, - required, + required = false, width = 12, }: FormFieldProps) { const { @@ -63,7 +63,7 @@ export default function LanguageSelector({ variant="filled" size="small" label="Language" - required + required={required} /> ); }}