62 lines
2.1 KiB
TypeScript
Raw Normal View History

2025-09-12 09:10:15 +01:00
import { Stack, Select, Divider } from "@mantine/core";
2025-09-11 17:19:15 +01:00
import { useTranslation } from "react-i18next";
import { ChangeMetadataParameters } from "../../../../hooks/tools/changeMetadata/useChangeMetadataParameters";
import { TrappedStatus } from "../../../../types/metadata";
2025-09-12 09:10:15 +01:00
import CustomMetadataStep from "./CustomMetadataStep";
2025-09-11 17:19:15 +01:00
interface AdvancedOptionsStepProps {
parameters: ChangeMetadataParameters;
onParameterChange: <K extends keyof ChangeMetadataParameters>(key: K, value: ChangeMetadataParameters[K]) => void;
disabled?: boolean;
2025-09-12 09:10:15 +01:00
addCustomMetadata: (key?: string, value?: string) => void;
removeCustomMetadata: (id: string) => void;
updateCustomMetadata: (id: string, key: string, value: string) => void;
2025-09-11 17:19:15 +01:00
}
const AdvancedOptionsStep = ({
parameters,
onParameterChange,
2025-09-12 09:10:15 +01:00
disabled = false,
addCustomMetadata,
removeCustomMetadata,
updateCustomMetadata
2025-09-11 17:19:15 +01:00
}: AdvancedOptionsStepProps) => {
const { t } = useTranslation();
return (
2025-09-12 09:10:15 +01:00
<Stack gap="md">
{/* Trapped Status */}
<Select
label={t('changeMetadata.trapped.label', 'Trapped Status')}
description={t('changeMetadata.trapped.description', 'Indicates whether the document has been trapped for high-quality printing')}
value={parameters.trapped}
onChange={(value) => {
if (value) {
onParameterChange('trapped', value as TrappedStatus);
}
}}
disabled={disabled || parameters.deleteAll}
data={[
{ value: TrappedStatus.UNKNOWN, label: t('changeMetadata.trapped.unknown', 'Unknown') },
{ value: TrappedStatus.TRUE, label: t('changeMetadata.trapped.true', 'True') },
{ value: TrappedStatus.FALSE, label: t('changeMetadata.trapped.false', 'False') }
]}
/>
<Divider />
{/* Custom Metadata */}
<CustomMetadataStep
parameters={parameters}
onParameterChange={onParameterChange}
disabled={disabled}
addCustomMetadata={addCustomMetadata}
removeCustomMetadata={removeCustomMetadata}
updateCustomMetadata={updateCustomMetadata}
/>
</Stack>
2025-09-11 17:19:15 +01:00
);
};
export default AdvancedOptionsStep;