Fix apps/console lint issues

Signed-off-by: Émile Ré <emile@getprobo.com>
This commit is contained in:
Émile Ré
2026-01-22 12:51:08 +04:00
parent b4a73f2eea
commit dd23449cc0
244 changed files with 7685 additions and 8029 deletions

View File

@@ -35,7 +35,7 @@ type BulkExportFormData = z.infer<typeof bulkExportSchema>;
type Props = {
children: ReactNode;
onExport: (options: BulkExportFormData) => void;
onExport: (options: BulkExportFormData) => Promise<void>;
isLoading?: boolean;
defaultEmail: string;
selectedCount: number;
@@ -59,7 +59,7 @@ export const BulkExportDialog = forwardRef<BulkExportDialogRef, Props>(
watermarkEmail: defaultEmail,
withSignatures: true,
},
}
},
);
const watchWatermark = watch("withWatermark");
@@ -70,14 +70,14 @@ export const BulkExportDialog = forwardRef<BulkExportDialogRef, Props>(
close: () => dialogRef.current?.close(),
}));
const onSubmit = handleSubmit((data) => {
const onSubmit = async (data: BulkExportFormData) => {
const options = {
...data,
watermarkEmail: data.withWatermark ? data.watermarkEmail : undefined,
};
onExport(options);
await onExport(options);
dialogRef.current?.close();
});
};
return (
<>
@@ -87,13 +87,13 @@ export const BulkExportDialog = forwardRef<BulkExportDialogRef, Props>(
ref={dialogRef}
title={sprintf(__("Export %s Documents"), selectedCount)}
>
<form onSubmit={onSubmit}>
<form onSubmit={e => void handleSubmit(onSubmit)(e)}>
<DialogContent className="space-y-4" padded>
<div className="space-y-4">
<div className="flex items-start gap-3">
<Checkbox
checked={watchSignatures}
onChange={(checked) => setValue("withSignatures", checked)}
onChange={checked => setValue("withSignatures", checked)}
/>
<div className="flex-1">
<label className="text-sm font-medium text-txt-primary cursor-pointer">
@@ -108,7 +108,7 @@ export const BulkExportDialog = forwardRef<BulkExportDialogRef, Props>(
<div className="flex items-start gap-3">
<Checkbox
checked={watchWatermark}
onChange={(checked) => setValue("withWatermark", checked)}
onChange={checked => setValue("withWatermark", checked)}
/>
<div className="flex-1">
<label className="text-sm font-medium text-txt-primary cursor-pointer">
@@ -146,19 +146,23 @@ export const BulkExportDialog = forwardRef<BulkExportDialogRef, Props>(
type="submit"
disabled={isLoading}
>
{isLoading ? (
<>
<Spinner size={16} />
{__("Exporting...")}
</>
) : (
__("Export Documents")
)}
{isLoading
? (
<>
<Spinner size={16} />
{__("Exporting...")}
</>
)
: (
__("Export Documents")
)}
</Button>
</DialogFooter>
</form>
</Dialog>
</>
);
}
},
);
BulkExportDialog.displayName = "BulkExportDialog";

View File

@@ -145,7 +145,7 @@ export function LinkedDocumentsCard<Params>(props: Props<Params>) {
</Td>
</Tr>
)}
{documents.map((document) => (
{documents.map(document => (
<DocumentRow
key={document.id}
document={document}

View File

@@ -102,15 +102,15 @@ function LinkedDocumentsDialogContent(props: Omit<Props, "children">) {
const { __ } = useTranslate();
const [search, setSearch] = useState("");
const documents = useMemo(
() => data.documents?.edges?.map((edge) => edge.node) ?? [],
() => data.documents?.edges?.map(edge => edge.node) ?? [],
[data.documents],
);
const linkedIds = useMemo(() => {
return new Set(props.linkedDocuments?.map((m) => m.id) ?? []);
return new Set(props.linkedDocuments?.map(m => m.id) ?? []);
}, [props.linkedDocuments]);
const filteredDocuments = useMemo(() => {
return documents.filter((document) =>
return documents.filter(document =>
document.title.toLowerCase().includes(search.toLowerCase()),
);
}, [documents, search]);
@@ -125,7 +125,7 @@ function LinkedDocumentsDialogContent(props: Omit<Props, "children">) {
/>
</div>
<div className="divide-y divide-border-low">
{filteredDocuments.map((document) => (
{filteredDocuments.map(document => (
<DocumentRow
key={document.id}
document={document}
@@ -177,7 +177,9 @@ function DocumentRow(props: RowProps) {
asChild
>
<span>
<IconComponent size={16} /> {isLinked ? __("Unlink") : __("Link")}
<IconComponent size={16} />
{" "}
{isLinked ? __("Unlink") : __("Link")}
</span>
</Button>
</button>

View File

@@ -15,8 +15,8 @@ import { IconMinusLarge } from "@probo/ui/src/Atoms/Icons/IconMinusLarge.tsx";
// Worker for PDF.js
pdfjs.GlobalWorkerOptions.workerSrc = `//unpkg.com/pdfjs-dist@${pdfjs.version}/build/pdf.worker.min.mjs`;
const btnClass =
"size-8 grid place-items-center hover:bg-secondary-hover cursor-pointer rounded-sm disabled:opacity-30 transition-all";
const btnClass
= "size-8 grid place-items-center hover:bg-secondary-hover cursor-pointer rounded-sm disabled:opacity-30 transition-all";
export function PDFPreview({ src, name }: { src: string; name?: string }) {
const [numPages, setNumPages] = useState(0);
@@ -92,7 +92,10 @@ export function PDFPreview({ src, name }: { src: string; name?: string }) {
<IconChevronLeft size={16} />
</button>
<div>
{currentPage} / {numPages}
{currentPage}
{" "}
/
{numPages}
</div>
<button onClick={movePage(1)} className={btnClass}>
<IconChevronRight size={16} />
@@ -123,7 +126,7 @@ export function PDFPreview({ src, name }: { src: string; name?: string }) {
ref={documentRef}
>
{numPages === 0 && <Spinner className="mx-auto" />}
{times(numPages, (index) => (
{times(numPages, index => (
<Page
className="w-max h-max mx-auto shadow-mid"
key={index.toString()}

View File

@@ -42,8 +42,8 @@ export const PdfDownloadDialog = forwardRef<PdfDownloadDialogRef, Props>(
const { __ } = useTranslate();
const dialogRef = useDialogRef();
const { register, handleSubmit, formState, watch, setValue } =
useFormWithSchema(pdfDownloadSchema, {
const { register, handleSubmit, formState, watch, setValue }
= useFormWithSchema(pdfDownloadSchema, {
defaultValues: {
withWatermark: false,
watermarkEmail: defaultEmail,
@@ -59,14 +59,14 @@ export const PdfDownloadDialog = forwardRef<PdfDownloadDialogRef, Props>(
close: () => dialogRef.current?.close(),
}));
const onSubmit = handleSubmit((data) => {
const onSubmit = (data: PdfDownloadFormData) => {
const options = {
...data,
watermarkEmail: data.withWatermark ? data.watermarkEmail : undefined,
};
onDownload(options);
dialogRef.current?.close();
});
};
return (
<>
@@ -76,13 +76,13 @@ export const PdfDownloadDialog = forwardRef<PdfDownloadDialogRef, Props>(
ref={dialogRef}
title={__("Download PDF Options")}
>
<form onSubmit={onSubmit}>
<form onSubmit={e => void handleSubmit(onSubmit)(e)}>
<DialogContent className="space-y-4" padded>
<div className="space-y-4">
<div className="flex items-start gap-3">
<Checkbox
checked={watchSignatures}
onChange={(checked) => setValue("withSignatures", checked)}
onChange={checked => setValue("withSignatures", checked)}
/>
<div className="flex-1">
<label className="text-sm font-medium text-txt-primary cursor-pointer">
@@ -99,7 +99,7 @@ export const PdfDownloadDialog = forwardRef<PdfDownloadDialogRef, Props>(
<div className="flex items-start gap-3">
<Checkbox
checked={watchWatermark}
onChange={(checked) => setValue("withWatermark", checked)}
onChange={checked => setValue("withWatermark", checked)}
/>
<div className="flex-1">
<label className="text-sm font-medium text-txt-primary cursor-pointer">
@@ -130,14 +130,16 @@ export const PdfDownloadDialog = forwardRef<PdfDownloadDialogRef, Props>(
</DialogContent>
<DialogFooter>
<Button type="submit" disabled={isLoading}>
{isLoading ? (
<>
<Spinner size={16} />
{__("Downloading...")}
</>
) : (
__("Download PDF")
)}
{isLoading
? (
<>
<Spinner size={16} />
{__("Downloading...")}
</>
)
: (
__("Download PDF")
)}
</Button>
</DialogFooter>
</form>