diff --git a/apps/console/eslint.config.mjs b/apps/console/eslint.config.mjs index 8e6a879b2..26b459956 100644 --- a/apps/console/eslint.config.mjs +++ b/apps/console/eslint.config.mjs @@ -4,6 +4,7 @@ import { configs } from "@probo/eslint-config"; export default defineConfig([ ...configs.base, ...configs.ts, + ...configs.imports, ...configs.react, configs.languageOptions.browser, ...configs.stylistic, diff --git a/apps/console/src/App.tsx b/apps/console/src/App.tsx index 4e5dcf0bb..6b2489654 100644 --- a/apps/console/src/App.tsx +++ b/apps/console/src/App.tsx @@ -1,7 +1,8 @@ import { RouterProvider } from "react-router"; -import { router } from "./routes"; import { Toasts, ConfirmDialog } from "@probo/ui"; +import { router } from "./routes"; + export function App() { return ( <> diff --git a/apps/console/src/components/SnapshotBanner.tsx b/apps/console/src/components/SnapshotBanner.tsx index 6f8b2bbc3..cc28b08c3 100644 --- a/apps/console/src/components/SnapshotBanner.tsx +++ b/apps/console/src/components/SnapshotBanner.tsx @@ -2,7 +2,6 @@ import { IconClock } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; import { useLazyLoadQuery, graphql } from "react-relay"; import { useLocation } from "react-router"; -import type { SnapshotBannerQuery } from "/__generated__/core/SnapshotBannerQuery.graphql"; import { getSnapshotTypeUrlPath, getSnapshotTypeLabel, @@ -10,6 +9,8 @@ import { formatDate, } from "@probo/helpers"; +import type { SnapshotBannerQuery } from "/__generated__/core/SnapshotBannerQuery.graphql"; + const snapshotQuery = graphql` query SnapshotBannerQuery($snapshotId: ID!) { node(id: $snapshotId) { diff --git a/apps/console/src/components/SortableTable.tsx b/apps/console/src/components/SortableTable.tsx index 948fc3cad..3351c7124 100644 --- a/apps/console/src/components/SortableTable.tsx +++ b/apps/console/src/components/SortableTable.tsx @@ -7,7 +7,7 @@ import { Table, Th, } from "@probo/ui"; -import clsx from "clsx"; +import { clsx } from "clsx"; import { createContext, startTransition, diff --git a/apps/console/src/components/assets/AssetsTable.tsx b/apps/console/src/components/assets/AssetsTable.tsx index 20b24b332..901de98ec 100644 --- a/apps/console/src/components/assets/AssetsTable.tsx +++ b/apps/console/src/components/assets/AssetsTable.tsx @@ -18,9 +18,8 @@ import { useMutation } from "react-relay"; import type { usePaginationFragmentHookType } from "react-relay/relay-hooks/usePaginationFragment"; import { Link } from "react-router"; import { z } from "zod"; -import { EditableTable } from "../table/EditableTable"; -import { PeopleCell } from "../table/PeopleCell"; -import { VendorsCell } from "../table/VendorsCell"; +import type { OperationType } from "relay-runtime"; + import { createAssetMutation, deleteAssetMutation, @@ -31,9 +30,12 @@ import type { AssetsPageFragment$data, AssetsPageFragment$key, } from "/__generated__/core/AssetsPageFragment.graphql"; -import type { OperationType } from "relay-runtime"; import { useOrganizationId } from "/hooks/useOrganizationId"; +import { EditableTable } from "../table/EditableTable"; +import { PeopleCell } from "../table/PeopleCell"; +import { VendorsCell } from "../table/VendorsCell"; + type Props = { connectionId: string; pagination: usePaginationFragmentHookType< diff --git a/apps/console/src/components/assets/ReadOnlyAssetsTable.tsx b/apps/console/src/components/assets/ReadOnlyAssetsTable.tsx index 968aa1a4e..2634a01af 100644 --- a/apps/console/src/components/assets/ReadOnlyAssetsTable.tsx +++ b/apps/console/src/components/assets/ReadOnlyAssetsTable.tsx @@ -1,16 +1,18 @@ import { Avatar, Badge, Tbody, Td, Th, Thead, Tr } from "@probo/ui"; -import { SortableTable } from "../SortableTable"; import { useTranslate } from "@probo/i18n"; import type { usePaginationFragmentHookType } from "react-relay/relay-hooks/usePaginationFragment"; +import type { OperationType } from "relay-runtime"; +import { useParams } from "react-router"; +import { faviconUrl, getAssetTypeVariant } from "@probo/helpers"; + import type { AssetsPageFragment$data, AssetsPageFragment$key, } from "/__generated__/core/AssetsPageFragment.graphql"; -import type { OperationType } from "relay-runtime"; import type { NodeOf } from "/types"; import { useOrganizationId } from "/hooks/useOrganizationId"; -import { useParams } from "react-router"; -import { faviconUrl, getAssetTypeVariant } from "@probo/helpers"; + +import { SortableTable } from "../SortableTable"; type AssetEntry = NodeOf; diff --git a/apps/console/src/components/audits/LinkedAuditsCard.tsx b/apps/console/src/components/audits/LinkedAuditsCard.tsx index 399f1bdb5..0e97eefe4 100644 --- a/apps/console/src/components/audits/LinkedAuditsCard.tsx +++ b/apps/console/src/components/audits/LinkedAuditsCard.tsx @@ -15,13 +15,15 @@ import { TrButton, } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; -import type { LinkedAuditsCardFragment$key } from "/__generated__/core/LinkedAuditsCardFragment.graphql"; import { useFragment } from "react-relay"; import { useMemo, useState } from "react"; import { sprintf, getAuditStateVariant } from "@probo/helpers"; +import { clsx } from "clsx"; + import { useOrganizationId } from "/hooks/useOrganizationId"; +import type { LinkedAuditsCardFragment$key } from "/__generated__/core/LinkedAuditsCardFragment.graphql"; + import { LinkedAuditsDialog } from "./LinkedAuditsDialog"; -import clsx from "clsx"; const linkedAuditFragment = graphql` fragment LinkedAuditsCardFragment on Audit { diff --git a/apps/console/src/components/audits/LinkedAuditsDialog.tsx b/apps/console/src/components/audits/LinkedAuditsDialog.tsx index 09fa4b00b..bd038255d 100644 --- a/apps/console/src/components/audits/LinkedAuditsDialog.tsx +++ b/apps/console/src/components/audits/LinkedAuditsDialog.tsx @@ -16,6 +16,7 @@ import { getAuditStateVariant } from "@probo/helpers"; import { Suspense, useMemo, useState, type ReactNode } from "react"; import { graphql } from "relay-runtime"; import { useLazyLoadQuery, usePaginationFragment } from "react-relay"; + import type { LinkedAuditsDialogQuery } from "/__generated__/core/LinkedAuditsDialogQuery.graphql"; import { useOrganizationId } from "/hooks/useOrganizationId"; import type { NodeOf } from "/types"; diff --git a/apps/console/src/components/controls/LinkedControlsCard.tsx b/apps/console/src/components/controls/LinkedControlsCard.tsx index 167b82ef5..8ef4ffc1f 100644 --- a/apps/console/src/components/controls/LinkedControlsCard.tsx +++ b/apps/console/src/components/controls/LinkedControlsCard.tsx @@ -11,13 +11,16 @@ import { TrButton, } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; -import type { LinkedControlsCardFragment$key } from "/__generated__/core/LinkedControlsCardFragment.graphql"; import { useFragment } from "react-relay"; -import { useOrganizationId } from "/hooks/useOrganizationId"; -import { LinkedControlsDialog } from "./LinkedControlsDialog"; -import { SortableTable, SortableTh } from "../SortableTable"; import type { ComponentProps } from "react"; +import type { LinkedControlsCardFragment$key } from "/__generated__/core/LinkedControlsCardFragment.graphql"; +import { useOrganizationId } from "/hooks/useOrganizationId"; + +import { SortableTable, SortableTh } from "../SortableTable"; + +import { LinkedControlsDialog } from "./LinkedControlsDialog"; + const linkedControlFragment = graphql` fragment LinkedControlsCardFragment on Control { id diff --git a/apps/console/src/components/controls/LinkedControlsDialog.tsx b/apps/console/src/components/controls/LinkedControlsDialog.tsx index a240366a8..da6947689 100644 --- a/apps/console/src/components/controls/LinkedControlsDialog.tsx +++ b/apps/console/src/components/controls/LinkedControlsDialog.tsx @@ -21,15 +21,16 @@ import { } from "react"; import { useTranslate } from "@probo/i18n"; import { graphql } from "relay-runtime"; -import { useOrganizationId } from "/hooks/useOrganizationId"; import { useLazyLoadQuery, usePaginationFragment } from "react-relay"; +import { useDebounceCallback } from "usehooks-ts"; + +import { useOrganizationId } from "/hooks/useOrganizationId"; import type { LinkedControlsDialogQuery } from "/__generated__/core/LinkedControlsDialogQuery.graphql"; import type { LinkedControlsDialogFragment$data, LinkedControlsDialogFragment$key, } from "/__generated__/core/LinkedControlsDialogFragment.graphql"; import type { NodeOf } from "/types"; -import { useDebounceCallback } from "usehooks-ts"; const query = graphql` query LinkedControlsDialogQuery($organizationId: ID!) { diff --git a/apps/console/src/components/documents/BulkExportDialog.tsx b/apps/console/src/components/documents/BulkExportDialog.tsx index ee1895e89..659db6f50 100644 --- a/apps/console/src/components/documents/BulkExportDialog.tsx +++ b/apps/console/src/components/documents/BulkExportDialog.tsx @@ -11,9 +11,10 @@ import { } from "@probo/ui"; import { type ReactNode, useImperativeHandle, forwardRef } from "react"; import { z } from "zod"; -import { useFormWithSchema } from "/hooks/useFormWithSchema"; import { sprintf } from "@probo/helpers"; +import { useFormWithSchema } from "/hooks/useFormWithSchema"; + const bulkExportSchema = z.object({ withWatermark: z.boolean(), watermarkEmail: z.string().optional().or(z.literal("")), diff --git a/apps/console/src/components/documents/LinkedDocumentsCard.tsx b/apps/console/src/components/documents/LinkedDocumentsCard.tsx index fe8b74cef..7db547853 100644 --- a/apps/console/src/components/documents/LinkedDocumentsCard.tsx +++ b/apps/console/src/components/documents/LinkedDocumentsCard.tsx @@ -16,13 +16,15 @@ import { TrButton, } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; -import type { LinkedDocumentsCardFragment$key } from "/__generated__/core/LinkedDocumentsCardFragment.graphql"; import { useFragment } from "react-relay"; import { useMemo, useState } from "react"; import { sprintf } from "@probo/helpers"; +import { clsx } from "clsx"; + import { useOrganizationId } from "/hooks/useOrganizationId"; +import type { LinkedDocumentsCardFragment$key } from "/__generated__/core/LinkedDocumentsCardFragment.graphql"; + import { LinkedDocumentDialog } from "./LinkedDocumentsDialog.tsx"; -import clsx from "clsx"; const linkedDocumentFragment = graphql` fragment LinkedDocumentsCardFragment on Document { diff --git a/apps/console/src/components/documents/LinkedDocumentsDialog.tsx b/apps/console/src/components/documents/LinkedDocumentsDialog.tsx index 223358c04..c7dff944b 100644 --- a/apps/console/src/components/documents/LinkedDocumentsDialog.tsx +++ b/apps/console/src/components/documents/LinkedDocumentsDialog.tsx @@ -15,6 +15,7 @@ import { useTranslate } from "@probo/i18n"; import { Suspense, useMemo, useState, type ReactNode } from "react"; import { graphql } from "relay-runtime"; import { useLazyLoadQuery, usePaginationFragment } from "react-relay"; + import type { LinkedDocumentsDialogQuery } from "/__generated__/core/LinkedDocumentsDialogQuery.graphql"; import { useOrganizationId } from "/hooks/useOrganizationId"; import type { NodeOf } from "/types"; diff --git a/apps/console/src/components/documents/PdfDownloadDialog.tsx b/apps/console/src/components/documents/PdfDownloadDialog.tsx index 26c97f2a7..182b998c6 100644 --- a/apps/console/src/components/documents/PdfDownloadDialog.tsx +++ b/apps/console/src/components/documents/PdfDownloadDialog.tsx @@ -11,6 +11,7 @@ import { } from "@probo/ui"; import { type ReactNode, useImperativeHandle, forwardRef } from "react"; import { z } from "zod"; + import { useFormWithSchema } from "/hooks/useFormWithSchema"; const pdfDownloadSchema = z.object({ diff --git a/apps/console/src/components/form/AuditSelectField.tsx b/apps/console/src/components/form/AuditSelectField.tsx index 501461a6a..0667bf858 100644 --- a/apps/console/src/components/form/AuditSelectField.tsx +++ b/apps/console/src/components/form/AuditSelectField.tsx @@ -9,6 +9,7 @@ import { } from "react-hook-form"; import { useLazyLoadQuery, graphql } from "react-relay"; import { getAuditStateVariant, getAuditStateLabel } from "@probo/helpers"; + import type { AuditSelectFieldQuery } from "/__generated__/core/AuditSelectFieldQuery.graphql"; const auditsQuery = graphql` diff --git a/apps/console/src/components/form/ControlledField.tsx b/apps/console/src/components/form/ControlledField.tsx index e307bc7c1..7fbb4f761 100644 --- a/apps/console/src/components/form/ControlledField.tsx +++ b/apps/console/src/components/form/ControlledField.tsx @@ -1,7 +1,6 @@ import type { ComponentProps } from "react"; -import { Field } from "@probo/ui"; +import { Field, Select } from "@probo/ui"; import { Controller, type FieldPath, type FieldValues } from "react-hook-form"; -import { Select } from "@probo/ui"; type Props< T extends typeof Field | typeof Select, diff --git a/apps/console/src/components/form/CountriesField.tsx b/apps/console/src/components/form/CountriesField.tsx index 1bde80a0d..a349819af 100644 --- a/apps/console/src/components/form/CountriesField.tsx +++ b/apps/console/src/components/form/CountriesField.tsx @@ -3,7 +3,7 @@ import { useEffect, useState } from "react"; import { Badge, Input, IconCrossLargeX } from "@probo/ui"; import { type Control, Controller, type FieldPath, type FieldValues } from "react-hook-form"; import { getCountryName, getCountryOptions, countries, type CountryCode } from "@probo/helpers"; -import clsx from "clsx"; +import { clsx } from "clsx"; type Props = { control: Control; diff --git a/apps/console/src/components/form/EmailsField.tsx b/apps/console/src/components/form/EmailsField.tsx index c0bc4cc40..9ae22465d 100644 --- a/apps/console/src/components/form/EmailsField.tsx +++ b/apps/console/src/components/form/EmailsField.tsx @@ -1,8 +1,7 @@ import { Button, IconPlusLarge, IconTrashCan, Input, Label } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; import { useFieldArray } from "react-hook-form"; -import type { ArrayPath, Control, FieldValue, FieldValues, Path } from "react-hook-form"; -import type { UseFormRegister } from "react-hook-form"; +import type { ArrayPath, Control, FieldValue, FieldValues, Path, UseFormRegister } from "react-hook-form"; type Props = { control: Control; diff --git a/apps/console/src/components/form/MeasureSelectField.tsx b/apps/console/src/components/form/MeasureSelectField.tsx index 264031c0c..e31c91ec7 100644 --- a/apps/console/src/components/form/MeasureSelectField.tsx +++ b/apps/console/src/components/form/MeasureSelectField.tsx @@ -2,6 +2,7 @@ import { Field, Combobox, ComboboxItem } from "@probo/ui"; import { Suspense, useMemo, useState, type ComponentProps } from "react"; import { useTranslate } from "@probo/i18n"; import { type Control, Controller, type FieldPath, type FieldValues } from "react-hook-form"; + import { usePaginatedMeasures } from "/hooks/graph/usePaginatedMeasures"; type Props< diff --git a/apps/console/src/components/form/PeopleMultiSelectField.tsx b/apps/console/src/components/form/PeopleMultiSelectField.tsx index 6e94bf1f2..b3b2adf06 100644 --- a/apps/console/src/components/form/PeopleMultiSelectField.tsx +++ b/apps/console/src/components/form/PeopleMultiSelectField.tsx @@ -1,9 +1,9 @@ import { Avatar, Field, Option, Select, Badge, Button, IconCrossLargeX } from "@probo/ui"; import { Suspense, useState, type ComponentProps } from "react"; import { useTranslate } from "@probo/i18n"; -import { type Control, Controller, type FieldValues } from "react-hook-form"; +import { type Control, Controller, type FieldValues, Path } from "react-hook-form"; + import { usePeople } from "/hooks/graph/PeopleGraph.ts"; -import type { Path } from "react-hook-form"; type Person = { id: string; diff --git a/apps/console/src/components/form/PeopleSelectField.tsx b/apps/console/src/components/form/PeopleSelectField.tsx index 25a067d7b..1aa5369ae 100644 --- a/apps/console/src/components/form/PeopleSelectField.tsx +++ b/apps/console/src/components/form/PeopleSelectField.tsx @@ -2,6 +2,7 @@ import { Avatar, Field, Option, Select } from "@probo/ui"; import { Suspense, type ComponentProps } from "react"; import { useTranslate } from "@probo/i18n"; import { type Control, Controller, type FieldPath, type FieldValues } from "react-hook-form"; + import { usePeople } from "/hooks/graph/PeopleGraph.ts"; type Props< diff --git a/apps/console/src/components/form/ProcessingActivityEnumOptions.tsx b/apps/console/src/components/form/ProcessingActivityEnumOptions.tsx index 3a2705213..64ebc4194 100644 --- a/apps/console/src/components/form/ProcessingActivityEnumOptions.tsx +++ b/apps/console/src/components/form/ProcessingActivityEnumOptions.tsx @@ -1,5 +1,6 @@ import { useTranslate } from "@probo/i18n"; import { Option } from "@probo/ui"; + import type { ProcessingActivitySpecialOrCriminalDatum, ProcessingActivityLawfulBasis, diff --git a/apps/console/src/components/form/VendorsMultiSelectField.tsx b/apps/console/src/components/form/VendorsMultiSelectField.tsx index 1203c8d63..b3ab6fde3 100644 --- a/apps/console/src/components/form/VendorsMultiSelectField.tsx +++ b/apps/console/src/components/form/VendorsMultiSelectField.tsx @@ -1,10 +1,10 @@ import { Avatar, Field, Option, Select, Badge, Button, IconCrossLargeX } from "@probo/ui"; import { Suspense, useState, type ComponentProps } from "react"; import { useTranslate } from "@probo/i18n"; -import { type Control, Controller, type FieldValues } from "react-hook-form"; -import { useVendors } from "/hooks/graph/VendorGraph.ts"; +import { type Control, Controller, type FieldValues, Path } from "react-hook-form"; import { faviconUrl } from "@probo/helpers"; -import type { Path } from "react-hook-form"; + +import { useVendors } from "/hooks/graph/VendorGraph.ts"; type Vendor = { id: string; diff --git a/apps/console/src/components/measures/LinkedMeasuresCard.tsx b/apps/console/src/components/measures/LinkedMeasuresCard.tsx index 4545dc2e5..50934da0c 100644 --- a/apps/console/src/components/measures/LinkedMeasuresCard.tsx +++ b/apps/console/src/components/measures/LinkedMeasuresCard.tsx @@ -15,13 +15,15 @@ import { } from "@probo/ui"; import { MeasureBadge } from "@probo/ui/src/Molecules/Badge/MeasureBadge"; import { useTranslate } from "@probo/i18n"; -import type { LinkedMeasuresCardFragment$key } from "/__generated__/core/LinkedMeasuresCardFragment.graphql"; import { useFragment } from "react-relay"; import { useMemo, useState } from "react"; import { sprintf } from "@probo/helpers"; +import { clsx } from "clsx"; + import { useOrganizationId } from "/hooks/useOrganizationId"; +import type { LinkedMeasuresCardFragment$key } from "/__generated__/core/LinkedMeasuresCardFragment.graphql"; + import { LinkedMeasureDialog } from "./LinkedMeasuresDialog.tsx"; -import clsx from "clsx"; const linkedMeasureFragment = graphql` fragment LinkedMeasuresCardFragment on Measure { diff --git a/apps/console/src/components/measures/LinkedMeasuresDialog.tsx b/apps/console/src/components/measures/LinkedMeasuresDialog.tsx index a488202eb..90ec45701 100644 --- a/apps/console/src/components/measures/LinkedMeasuresDialog.tsx +++ b/apps/console/src/components/measures/LinkedMeasuresDialog.tsx @@ -15,6 +15,7 @@ import { } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; import { Suspense, useMemo, useState, type ReactNode } from "react"; + import { useOrganizationId } from "/hooks/useOrganizationId"; import { usePaginatedMeasures } from "/hooks/graph/usePaginatedMeasures"; diff --git a/apps/console/src/components/obligations/LinkedObligationsCard.tsx b/apps/console/src/components/obligations/LinkedObligationsCard.tsx index bc0f32367..537827b08 100644 --- a/apps/console/src/components/obligations/LinkedObligationsCard.tsx +++ b/apps/console/src/components/obligations/LinkedObligationsCard.tsx @@ -15,7 +15,6 @@ import { Badge, } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; -import type { LinkedObligationsCardFragment$key } from "/__generated__/core/LinkedObligationsCardFragment.graphql"; import { useFragment } from "react-relay"; import { useMemo, useState } from "react"; import { @@ -23,11 +22,14 @@ import { getObligationStatusVariant, getObligationStatusLabel, } from "@probo/helpers"; -import { LinkedObligationDialog } from "./LinkedObligationsDialog"; -import clsx from "clsx"; +import { clsx } from "clsx"; import { useParams } from "react-router"; + +import type { LinkedObligationsCardFragment$key } from "/__generated__/core/LinkedObligationsCardFragment.graphql"; import { useOrganizationId } from "/hooks/useOrganizationId"; +import { LinkedObligationDialog } from "./LinkedObligationsDialog"; + const linkedObligationFragment = graphql` fragment LinkedObligationsCardFragment on Obligation { id diff --git a/apps/console/src/components/obligations/LinkedObligationsDialog.tsx b/apps/console/src/components/obligations/LinkedObligationsDialog.tsx index dd5c1695f..5c46f836f 100644 --- a/apps/console/src/components/obligations/LinkedObligationsDialog.tsx +++ b/apps/console/src/components/obligations/LinkedObligationsDialog.tsx @@ -19,6 +19,7 @@ import { import { Suspense, useMemo, useState, type ReactNode } from "react"; import { graphql } from "relay-runtime"; import { useLazyLoadQuery, usePaginationFragment } from "react-relay"; + import type { LinkedObligationsDialogQuery } from "/__generated__/core/LinkedObligationsDialogQuery.graphql"; import { useOrganizationId } from "/hooks/useOrganizationId"; import type { NodeOf } from "/types"; diff --git a/apps/console/src/components/organizations/SlackConnection.tsx b/apps/console/src/components/organizations/SlackConnection.tsx index 12fc79f3a..9c862fe16 100644 --- a/apps/console/src/components/organizations/SlackConnection.tsx +++ b/apps/console/src/components/organizations/SlackConnection.tsx @@ -1,6 +1,7 @@ import { Badge, Button, Card } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; import { sprintf } from "@probo/helpers"; + import type { TrustCenterGraphQuery$data } from "/__generated__/core/TrustCenterGraphQuery.graphql"; type Props = { diff --git a/apps/console/src/components/risks/LinkedRisksCard.tsx b/apps/console/src/components/risks/LinkedRisksCard.tsx index 5e1e8adae..e04e59c80 100644 --- a/apps/console/src/components/risks/LinkedRisksCard.tsx +++ b/apps/console/src/components/risks/LinkedRisksCard.tsx @@ -12,9 +12,11 @@ import { TrButton, } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; -import type { LinkedRisksCardFragment$key } from "/__generated__/core/LinkedRisksCardFragment.graphql"; import { useFragment } from "react-relay"; + +import type { LinkedRisksCardFragment$key } from "/__generated__/core/LinkedRisksCardFragment.graphql"; import { useOrganizationId } from "/hooks/useOrganizationId"; + import { LinkedRisksDialog } from "./LinkedRisksDialog.tsx"; const linkedRiskFragment = graphql` diff --git a/apps/console/src/components/risks/LinkedRisksDialog.tsx b/apps/console/src/components/risks/LinkedRisksDialog.tsx index 6aab936a8..ce255c225 100644 --- a/apps/console/src/components/risks/LinkedRisksDialog.tsx +++ b/apps/console/src/components/risks/LinkedRisksDialog.tsx @@ -16,6 +16,7 @@ import { useTranslate } from "@probo/i18n"; import { Suspense, useMemo, useState, type ReactNode } from "react"; import { graphql } from "relay-runtime"; import { useLazyLoadQuery } from "react-relay"; + import type { LinkedRisksDialogQuery } from "/__generated__/core/LinkedRisksDialogQuery.graphql"; import { useOrganizationId } from "/hooks/useOrganizationId"; diff --git a/apps/console/src/components/skeletons/ControlSkeleton.tsx b/apps/console/src/components/skeletons/ControlSkeleton.tsx index 9da502f31..856c0463d 100644 --- a/apps/console/src/components/skeletons/ControlSkeleton.tsx +++ b/apps/console/src/components/skeletons/ControlSkeleton.tsx @@ -1,5 +1,4 @@ -import { ActionDropdown, Skeleton } from "@probo/ui"; -import { Button, IconPencil } from "@probo/ui"; +import { ActionDropdown, Skeleton, Button, IconPencil } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; /** diff --git a/apps/console/src/components/snapshots/LinkedSnapshotsCard.tsx b/apps/console/src/components/snapshots/LinkedSnapshotsCard.tsx index a832cdee6..56c0de7ec 100644 --- a/apps/console/src/components/snapshots/LinkedSnapshotsCard.tsx +++ b/apps/console/src/components/snapshots/LinkedSnapshotsCard.tsx @@ -15,7 +15,6 @@ import { TrButton, } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; -import type { LinkedSnapshotsCardFragment$key } from "/__generated__/core/LinkedSnapshotsCardFragment.graphql"; import { useFragment } from "react-relay"; import { useMemo, useState } from "react"; import { @@ -24,9 +23,12 @@ import { getSnapshotTypeUrlPath, formatDate, } from "@probo/helpers"; +import { clsx } from "clsx"; + import { useOrganizationId } from "/hooks/useOrganizationId"; +import type { LinkedSnapshotsCardFragment$key } from "/__generated__/core/LinkedSnapshotsCardFragment.graphql"; + import { LinkedSnapshotsDialog } from "./LinkedSnapshotsDialog"; -import clsx from "clsx"; const linkedSnapshotFragment = graphql` fragment LinkedSnapshotsCardFragment on Snapshot { diff --git a/apps/console/src/components/snapshots/LinkedSnapshotsDialog.tsx b/apps/console/src/components/snapshots/LinkedSnapshotsDialog.tsx index c6e647922..3cfb8a862 100644 --- a/apps/console/src/components/snapshots/LinkedSnapshotsDialog.tsx +++ b/apps/console/src/components/snapshots/LinkedSnapshotsDialog.tsx @@ -16,6 +16,7 @@ import { getSnapshotTypeLabel, formatDate } from "@probo/helpers"; import { Suspense, useMemo, useState, type ReactNode } from "react"; import { graphql } from "relay-runtime"; import { useLazyLoadQuery, usePaginationFragment } from "react-relay"; + import type { LinkedSnapshotsDialogQuery } from "/__generated__/core/LinkedSnapshotsDialogQuery.graphql"; import { useOrganizationId } from "/hooks/useOrganizationId"; import type { NodeOf } from "/types"; diff --git a/apps/console/src/components/states-of-applicability/LinkedStatesOfApplicabilityCard.tsx b/apps/console/src/components/states-of-applicability/LinkedStatesOfApplicabilityCard.tsx index 298842b33..a2e6b0db4 100644 --- a/apps/console/src/components/states-of-applicability/LinkedStatesOfApplicabilityCard.tsx +++ b/apps/console/src/components/states-of-applicability/LinkedStatesOfApplicabilityCard.tsx @@ -15,13 +15,15 @@ import { Badge, } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; -import type { LinkedStatesOfApplicabilityCardFragment$key } from "/__generated__/core/LinkedStatesOfApplicabilityCardFragment.graphql"; import { useFragment } from "react-relay"; import { useMemo, useState, useEffect } from "react"; import { sprintf } from "@probo/helpers"; +import { clsx } from "clsx"; + import { useOrganizationId } from "/hooks/useOrganizationId"; +import type { LinkedStatesOfApplicabilityCardFragment$key } from "/__generated__/core/LinkedStatesOfApplicabilityCardFragment.graphql"; + import { LinkedStatesOfApplicabilityDialog } from "./LinkedStatesOfApplicabilityDialog"; -import clsx from "clsx"; const linkedStateOfApplicabilityFragment = graphql` fragment LinkedStatesOfApplicabilityCardFragment on StateOfApplicabilityControl { diff --git a/apps/console/src/components/states-of-applicability/LinkedStatesOfApplicabilityDialog.tsx b/apps/console/src/components/states-of-applicability/LinkedStatesOfApplicabilityDialog.tsx index 04d8fe148..0924636e3 100644 --- a/apps/console/src/components/states-of-applicability/LinkedStatesOfApplicabilityDialog.tsx +++ b/apps/console/src/components/states-of-applicability/LinkedStatesOfApplicabilityDialog.tsx @@ -12,6 +12,7 @@ import { Suspense, useState, useRef } from "react"; import type { ReactNode } from "react"; import { useLazyLoadQuery } from "react-relay"; import { graphql } from "relay-runtime"; + import { useOrganizationId } from "/hooks/useOrganizationId"; import type { LinkedStatesOfApplicabilityDialogQuery } from "/__generated__/core/LinkedStatesOfApplicabilityDialogQuery.graphql"; diff --git a/apps/console/src/components/table/EditableTable.tsx b/apps/console/src/components/table/EditableTable.tsx index b5be719ca..7973b7b8c 100644 --- a/apps/console/src/components/table/EditableTable.tsx +++ b/apps/console/src/components/table/EditableTable.tsx @@ -1,7 +1,3 @@ -import { - SortableCellHead, - SortableDataTable, -} from "/components/table/SortableDataTable.tsx"; import type { GraphQLTaggedNode, OperationType } from "relay-runtime"; import type { KeyType, KeyTypeData } from "react-relay/relay-hooks/helpers"; import type { usePaginationFragmentHookType } from "react-relay/relay-hooks/usePaginationFragment"; @@ -16,13 +12,17 @@ import { Spinner, } from "@probo/ui"; import { z } from "zod"; -import { useMutateField } from "/hooks/useMutateField.tsx"; import { type ReactNode } from "react"; import { useToggle } from "@probo/hooks"; +import { clsx } from "clsx"; + import { useStateWithSchema } from "/hooks/useStateWithSchema.ts"; -import clsx from "clsx"; +import { useMutateField } from "/hooks/useMutateField.tsx"; +import { + SortableCellHead, + SortableDataTable, defaultPageSize, +} from "/components/table/SortableDataTable.tsx"; import { useMutationWithToasts } from "/hooks/useMutationWithToasts.ts"; -import { defaultPageSize } from "/components/table/SortableDataTable.tsx"; type ColumnDefinition = { label: string; field: string } | string; diff --git a/apps/console/src/components/table/PeopleCell.tsx b/apps/console/src/components/table/PeopleCell.tsx index 4724dbff8..54bae2246 100644 --- a/apps/console/src/components/table/PeopleCell.tsx +++ b/apps/console/src/components/table/PeopleCell.tsx @@ -1,7 +1,8 @@ +import { Avatar } from "@probo/ui"; + import { GraphQLCell } from "/components/table/GraphQLCell.tsx"; import type { PeopleGraphQuery } from "/__generated__/core/PeopleGraphQuery.graphql.ts"; import { peopleQuery } from "/hooks/graph/PeopleGraph.ts"; -import { Avatar } from "@probo/ui"; type Props = { name: string; diff --git a/apps/console/src/components/table/SortableDataTable.tsx b/apps/console/src/components/table/SortableDataTable.tsx index 467573656..323b0c886 100644 --- a/apps/console/src/components/table/SortableDataTable.tsx +++ b/apps/console/src/components/table/SortableDataTable.tsx @@ -7,7 +7,7 @@ import { IconChevronTriangleDownSmall, Spinner, } from "@probo/ui"; -import clsx from "clsx"; +import { clsx } from "clsx"; import { type ComponentProps, createContext, diff --git a/apps/console/src/components/table/VendorsCell.tsx b/apps/console/src/components/table/VendorsCell.tsx index 9a388a431..51c60f0bd 100644 --- a/apps/console/src/components/table/VendorsCell.tsx +++ b/apps/console/src/components/table/VendorsCell.tsx @@ -1,13 +1,15 @@ -import { GraphQLCell } from "/components/table/GraphQLCell.tsx"; -import { vendorsSelectQuery } from "/hooks/graph/VendorGraph"; import { Avatar, Badge, IconCrossLargeX } from "@probo/ui"; import { faviconUrl } from "@probo/helpers"; + +import { GraphQLCell } from "/components/table/GraphQLCell"; +import { vendorsSelectQuery } from "/hooks/graph/VendorGraph"; +import type { VendorGraphSelectQuery } from "/__generated__/core/VendorGraphSelectQuery.graphql.ts"; + type Vendor = { id: string; name: string; websiteUrl: string | null | undefined; }; -import type { VendorGraphSelectQuery } from "/__generated__/core/VendorGraphSelectQuery.graphql.ts"; type Props = { name: string; diff --git a/apps/console/src/components/tasks/TaskFormDialog.tsx b/apps/console/src/components/tasks/TaskFormDialog.tsx index 92a7fe381..34cab76d8 100644 --- a/apps/console/src/components/tasks/TaskFormDialog.tsx +++ b/apps/console/src/components/tasks/TaskFormDialog.tsx @@ -17,15 +17,16 @@ import { Breadcrumb } from "@probo/ui"; import { graphql } from "relay-runtime"; import { useFragment, useRelayEnvironment } from "react-relay"; import { z } from "zod"; +import { Controller } from "react-hook-form"; +import { formatDatetime } from "@probo/helpers"; + import { useFormWithSchema } from "/hooks/useFormWithSchema"; import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; import { useOrganizationId } from "/hooks/useOrganizationId"; import { PeopleSelectField } from "/components/form/PeopleSelectField"; import type { TaskFormDialogFragment$key } from "/__generated__/core/TaskFormDialogFragment.graphql"; import { MeasureSelectField } from "/components/form/MeasureSelectField"; -import { Controller } from "react-hook-form"; import { updateStoreCounter } from "/hooks/useMutationWithIncrement"; -import { formatDatetime } from "@probo/helpers"; const taskFragment = graphql` fragment TaskFormDialogFragment on Task { diff --git a/apps/console/src/components/tasks/TasksCard.tsx b/apps/console/src/components/tasks/TasksCard.tsx index 4ef043d28..081852183 100644 --- a/apps/console/src/components/tasks/TasksCard.tsx +++ b/apps/console/src/components/tasks/TasksCard.tsx @@ -25,6 +25,7 @@ import { useRelayEnvironment, } from "react-relay"; import { Link, useLocation, useParams } from "react-router"; + import TaskFormDialog, { taskUpdateMutation, } from "/components/tasks/TaskFormDialog"; diff --git a/apps/console/src/components/trustCenter/DeleteTrustCenterReferenceDialog.tsx b/apps/console/src/components/trustCenter/DeleteTrustCenterReferenceDialog.tsx index c284d0dbb..63da7f431 100644 --- a/apps/console/src/components/trustCenter/DeleteTrustCenterReferenceDialog.tsx +++ b/apps/console/src/components/trustCenter/DeleteTrustCenterReferenceDialog.tsx @@ -9,6 +9,7 @@ import { } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; import { sprintf } from "@probo/helpers"; + import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; import { deleteTrustCenterReferenceMutation } from "/hooks/graph/TrustCenterReferenceGraph"; diff --git a/apps/console/src/components/trustCenter/TrustCenterAuditsCard.tsx b/apps/console/src/components/trustCenter/TrustCenterAuditsCard.tsx index 55a1fd33b..f9f359e57 100644 --- a/apps/console/src/components/trustCenter/TrustCenterAuditsCard.tsx +++ b/apps/console/src/components/trustCenter/TrustCenterAuditsCard.tsx @@ -22,6 +22,7 @@ import { formatDate, getTrustCenterVisibilityOptions, } from "@probo/helpers"; + import { useOrganizationId } from "/hooks/useOrganizationId"; import type { TrustCenterAuditsCardFragment$key } from "/__generated__/core/TrustCenterAuditsCardFragment.graphql"; diff --git a/apps/console/src/components/trustCenter/TrustCenterDocumentsCard.tsx b/apps/console/src/components/trustCenter/TrustCenterDocumentsCard.tsx index c2fe23f38..63e75ac99 100644 --- a/apps/console/src/components/trustCenter/TrustCenterDocumentsCard.tsx +++ b/apps/console/src/components/trustCenter/TrustCenterDocumentsCard.tsx @@ -15,10 +15,11 @@ import { Badge, } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; -import type { TrustCenterDocumentsCardFragment$key } from "/__generated__/core/TrustCenterDocumentsCardFragment.graphql"; import { useFragment } from "react-relay"; import { useMemo, useState, useCallback } from "react"; import { sprintf, getTrustCenterVisibilityOptions } from "@probo/helpers"; + +import type { TrustCenterDocumentsCardFragment$key } from "/__generated__/core/TrustCenterDocumentsCardFragment.graphql"; import { useOrganizationId } from "/hooks/useOrganizationId"; const trustCenterDocumentFragment = graphql` diff --git a/apps/console/src/components/trustCenter/TrustCenterFilesCard.tsx b/apps/console/src/components/trustCenter/TrustCenterFilesCard.tsx index 46eb16a5b..73eb64505 100644 --- a/apps/console/src/components/trustCenter/TrustCenterFilesCard.tsx +++ b/apps/console/src/components/trustCenter/TrustCenterFilesCard.tsx @@ -16,14 +16,14 @@ import { IconArrowLink, } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; +import { useFragment } from "react-relay"; +import { useMemo, useState, useCallback } from "react"; +import { sprintf, getTrustCenterVisibilityOptions, formatDate } from "@probo/helpers"; + import type { TrustCenterFilesCardFragment$key, TrustCenterFilesCardFragment$data, } from "/__generated__/core/TrustCenterFilesCardFragment.graphql"; -import { useFragment } from "react-relay"; -import { useMemo, useState, useCallback } from "react"; -import { sprintf, getTrustCenterVisibilityOptions } from "@probo/helpers"; -import { formatDate } from "@probo/helpers"; const trustCenterFileFragment = graphql` fragment TrustCenterFilesCardFragment on TrustCenterFile { diff --git a/apps/console/src/components/trustCenter/TrustCenterReferenceDialog.tsx b/apps/console/src/components/trustCenter/TrustCenterReferenceDialog.tsx index 842df2538..ebb74fe73 100644 --- a/apps/console/src/components/trustCenter/TrustCenterReferenceDialog.tsx +++ b/apps/console/src/components/trustCenter/TrustCenterReferenceDialog.tsx @@ -12,6 +12,7 @@ import { } from "@probo/ui"; import { type ReactNode, useState, useImperativeHandle, forwardRef } from "react"; import { z } from "zod"; + import { useFormWithSchema } from "/hooks/useFormWithSchema"; import { useCreateTrustCenterReferenceMutation, diff --git a/apps/console/src/components/trustCenter/TrustCenterReferencesSection.tsx b/apps/console/src/components/trustCenter/TrustCenterReferencesSection.tsx index a1ae2938c..9937e7615 100644 --- a/apps/console/src/components/trustCenter/TrustCenterReferencesSection.tsx +++ b/apps/console/src/components/trustCenter/TrustCenterReferencesSection.tsx @@ -15,20 +15,22 @@ import { IconArrowLink, } from "@probo/ui"; import { useRef, useState } from "react"; +import { useLazyLoadQuery } from "react-relay"; + import { trustCenterReferencesQuery, useUpdateTrustCenterReferenceRankMutation, } from "/hooks/graph/TrustCenterReferenceGraph"; +import type { + TrustCenterReferenceGraphQuery, + TrustCenterReferenceGraphQuery$data, +} from "/__generated__/core/TrustCenterReferenceGraphQuery.graphql"; + import { TrustCenterReferenceDialog, type TrustCenterReferenceDialogRef, } from "./TrustCenterReferenceDialog"; import { DeleteTrustCenterReferenceDialog } from "./DeleteTrustCenterReferenceDialog"; -import type { - TrustCenterReferenceGraphQuery, - TrustCenterReferenceGraphQuery$data, -} from "/__generated__/core/TrustCenterReferenceGraphQuery.graphql"; -import { useLazyLoadQuery } from "react-relay"; type Props = { trustCenterId: string; diff --git a/apps/console/src/components/trustCenter/TrustCenterVendorsCard.tsx b/apps/console/src/components/trustCenter/TrustCenterVendorsCard.tsx index 58e4aceea..098946ea3 100644 --- a/apps/console/src/components/trustCenter/TrustCenterVendorsCard.tsx +++ b/apps/console/src/components/trustCenter/TrustCenterVendorsCard.tsx @@ -16,6 +16,7 @@ import { useTranslate } from "@probo/i18n"; import { useFragment } from "react-relay"; import { useMemo, useState } from "react"; import { sprintf } from "@probo/helpers"; + import { useOrganizationId } from "/hooks/useOrganizationId"; import type { TrustCenterVendorsCardFragment$key } from "/__generated__/core/TrustCenterVendorsCardFragment.graphql"; diff --git a/apps/console/src/hooks/forms/useDocumentForm.tsx b/apps/console/src/hooks/forms/useDocumentForm.tsx index 9ab6bf427..07b15b628 100644 --- a/apps/console/src/hooks/forms/useDocumentForm.tsx +++ b/apps/console/src/hooks/forms/useDocumentForm.tsx @@ -1,4 +1,5 @@ import { z } from "zod"; + import { useFormWithSchema } from "../useFormWithSchema"; export const documentSchema = z.object({ diff --git a/apps/console/src/hooks/forms/useRiskForm.tsx b/apps/console/src/hooks/forms/useRiskForm.tsx index 19d05618e..49582dd5e 100644 --- a/apps/console/src/hooks/forms/useRiskForm.tsx +++ b/apps/console/src/hooks/forms/useRiskForm.tsx @@ -1,11 +1,13 @@ import { z } from "zod"; -import { useFormWithSchema } from "../useFormWithSchema"; import { graphql } from "relay-runtime"; +import { useFragment } from "react-relay"; + import type { useRiskFormFragment$data, useRiskFormFragment$key, } from "/__generated__/core/useRiskFormFragment.graphql"; -import { useFragment } from "react-relay"; + +import { useFormWithSchema } from "../useFormWithSchema"; const RiskFragment = graphql` fragment useRiskFormFragment on Risk { diff --git a/apps/console/src/hooks/forms/useVendorForm.tsx b/apps/console/src/hooks/forms/useVendorForm.tsx index 027af5154..8d6d26eab 100644 --- a/apps/console/src/hooks/forms/useVendorForm.tsx +++ b/apps/console/src/hooks/forms/useVendorForm.tsx @@ -1,12 +1,14 @@ import { z } from "zod"; -import { useFormWithSchema } from "../useFormWithSchema"; import { graphql } from "relay-runtime"; import { useFragment } from "react-relay"; -import type { useVendorFormFragment$key } from "/__generated__/core/useVendorFormFragment.graphql"; -import { useMutationWithToasts } from "../useMutationWithToasts"; import { useTranslate } from "@probo/i18n"; import { useEffect, useMemo } from "react"; +import type { useVendorFormFragment$key } from "/__generated__/core/useVendorFormFragment.graphql"; + +import { useMutationWithToasts } from "../useMutationWithToasts"; +import { useFormWithSchema } from "../useFormWithSchema"; + const schema = z.object({ name: z.string().min(1, "Name is required"), description: z.string().optional().nullable(), diff --git a/apps/console/src/hooks/graph/AssetGraph.ts b/apps/console/src/hooks/graph/AssetGraph.ts index 3a6d14fe9..94d12907b 100644 --- a/apps/console/src/hooks/graph/AssetGraph.ts +++ b/apps/console/src/hooks/graph/AssetGraph.ts @@ -3,6 +3,7 @@ import { useMutation } from "react-relay"; import { useConfirm } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; import { promisifyMutation, sprintf } from "@probo/helpers"; + import { useMutationWithToasts } from "../useMutationWithToasts"; export const assetsQuery = graphql` diff --git a/apps/console/src/hooks/graph/AuditGraph.ts b/apps/console/src/hooks/graph/AuditGraph.ts index eb4e79ad6..d0c9e4a9e 100644 --- a/apps/console/src/hooks/graph/AuditGraph.ts +++ b/apps/console/src/hooks/graph/AuditGraph.ts @@ -3,6 +3,7 @@ import { useMutation } from "react-relay"; import { useConfirm } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; import { promisifyMutation, sprintf } from "@probo/helpers"; + import { useMutationWithToasts } from "../useMutationWithToasts"; export const auditsQuery = graphql` diff --git a/apps/console/src/hooks/graph/ContinualImprovementGraph.ts b/apps/console/src/hooks/graph/ContinualImprovementGraph.ts index 07586045c..066936676 100644 --- a/apps/console/src/hooks/graph/ContinualImprovementGraph.ts +++ b/apps/console/src/hooks/graph/ContinualImprovementGraph.ts @@ -3,6 +3,7 @@ import { useMutation } from "react-relay"; import { useConfirm } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; import { promisifyMutation, sprintf } from "@probo/helpers"; + import { useMutationWithToasts } from "../useMutationWithToasts"; export const ContinualImprovementsConnectionKey diff --git a/apps/console/src/hooks/graph/DocumentGraph.ts b/apps/console/src/hooks/graph/DocumentGraph.ts index 62859aef2..8717f1223 100644 --- a/apps/console/src/hooks/graph/DocumentGraph.ts +++ b/apps/console/src/hooks/graph/DocumentGraph.ts @@ -1,11 +1,13 @@ import { useTranslate } from "@probo/i18n"; import { graphql } from "relay-runtime"; -import { useMutationWithToasts } from "../useMutationWithToasts"; + import type { DocumentGraphDeleteMutation } from "/__generated__/core/DocumentGraphDeleteMutation.graphql"; import type { DocumentGraphSendSigningNotificationsMutation } from "/__generated__/core/DocumentGraphSendSigningNotificationsMutation.graphql"; import type { DocumentGraphDeleteDraftMutation } from "/__generated__/core/DocumentGraphDeleteDraftMutation.graphql"; import type { DocumentGraphBulkExportDocumentsMutation } from "/__generated__/core/DocumentGraphBulkExportDocumentsMutation.graphql"; +import { useMutationWithToasts } from "../useMutationWithToasts"; + export const documentsQuery = graphql` query DocumentGraphListQuery($organizationId: ID!) { organization: node(id: $organizationId) { diff --git a/apps/console/src/hooks/graph/FrameworkGraph.ts b/apps/console/src/hooks/graph/FrameworkGraph.ts index 76f351f26..798754f02 100644 --- a/apps/console/src/hooks/graph/FrameworkGraph.ts +++ b/apps/console/src/hooks/graph/FrameworkGraph.ts @@ -1,10 +1,11 @@ import { graphql } from "relay-runtime"; -import { useMutationWithToasts } from "../useMutationWithToasts"; import { useCallback } from "react"; import { sprintf } from "@probo/helpers"; import { useTranslate } from "@probo/i18n"; import { useConfirm } from "@probo/ui"; +import { useMutationWithToasts } from "../useMutationWithToasts"; + export const connectionListKey = "FrameworksListQuery_frameworks"; export const frameworksQuery = graphql` diff --git a/apps/console/src/hooks/graph/MeasureGraph.ts b/apps/console/src/hooks/graph/MeasureGraph.ts index 49c25799d..896d469af 100644 --- a/apps/console/src/hooks/graph/MeasureGraph.ts +++ b/apps/console/src/hooks/graph/MeasureGraph.ts @@ -1,8 +1,10 @@ import { useTranslate } from "@probo/i18n"; import { graphql } from "relay-runtime"; -import { useMutationWithToasts } from "../useMutationWithToasts"; + import type { MeasureGraphDeleteMutation } from "/__generated__/core/MeasureGraphDeleteMutation.graphql"; +import { useMutationWithToasts } from "../useMutationWithToasts"; + export const measuresQuery = graphql` query MeasureGraphListQuery($organizationId: ID!) { organization: node(id: $organizationId) @required(action: THROW) { diff --git a/apps/console/src/hooks/graph/MeetingGraph.ts b/apps/console/src/hooks/graph/MeetingGraph.ts index f18631dd1..8c4f50a27 100644 --- a/apps/console/src/hooks/graph/MeetingGraph.ts +++ b/apps/console/src/hooks/graph/MeetingGraph.ts @@ -1,9 +1,11 @@ import { useTranslate } from "@probo/i18n"; import { graphql } from "relay-runtime"; -import { useMutationWithToasts } from "../useMutationWithToasts"; + import type { MeetingGraphDeleteMutation } from "/__generated__/core/MeetingGraphDeleteMutation.graphql"; import type { MeetingGraphUpdateMutation } from "/__generated__/core/MeetingGraphUpdateMutation.graphql"; +import { useMutationWithToasts } from "../useMutationWithToasts"; + export const meetingsQuery = graphql` query MeetingGraphListQuery($organizationId: ID!) { organization: node(id: $organizationId) { diff --git a/apps/console/src/hooks/graph/NonconformityGraph.ts b/apps/console/src/hooks/graph/NonconformityGraph.ts index 598f09b14..954806824 100644 --- a/apps/console/src/hooks/graph/NonconformityGraph.ts +++ b/apps/console/src/hooks/graph/NonconformityGraph.ts @@ -3,6 +3,7 @@ import { useMutation } from "react-relay"; import { useConfirm } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; import { promisifyMutation, sprintf } from "@probo/helpers"; + import { useMutationWithToasts } from "../useMutationWithToasts"; export const NonconformitiesConnectionKey diff --git a/apps/console/src/hooks/graph/ObligationGraph.ts b/apps/console/src/hooks/graph/ObligationGraph.ts index eaff7c394..cf587d6e4 100644 --- a/apps/console/src/hooks/graph/ObligationGraph.ts +++ b/apps/console/src/hooks/graph/ObligationGraph.ts @@ -3,6 +3,7 @@ import { useMutation } from "react-relay"; import { useConfirm } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; import { promisifyMutation } from "@probo/helpers"; + import { useMutationWithToasts } from "../useMutationWithToasts"; export const ObligationsConnectionKey = "ObligationsPage_obligations"; diff --git a/apps/console/src/hooks/graph/PeopleGraph.ts b/apps/console/src/hooks/graph/PeopleGraph.ts index 547e87fa3..f3bac238f 100644 --- a/apps/console/src/hooks/graph/PeopleGraph.ts +++ b/apps/console/src/hooks/graph/PeopleGraph.ts @@ -1,5 +1,4 @@ import { graphql } from "relay-runtime"; -import type { PeopleGraphQuery } from "/__generated__/core/PeopleGraphQuery.graphql"; import { useLazyLoadQuery, useMutation, @@ -8,10 +7,7 @@ import { type PreloadedQuery, } from "react-relay"; import { useMemo } from "react"; -import type { PeopleGraphPaginatedQuery } from "/__generated__/core/PeopleGraphPaginatedQuery.graphql"; -import type { PeopleGraphPaginatedFragment$key } from "/__generated__/core/PeopleGraphPaginatedFragment.graphql"; import { useConfirm, useToast } from "@probo/ui"; -import type { PeopleGraphDeleteMutation } from "/__generated__/core/PeopleGraphDeleteMutation.graphql"; import { promisifyMutation, sprintf, @@ -20,6 +16,11 @@ import { } from "@probo/helpers"; import { useTranslate } from "@probo/i18n"; +import type { PeopleGraphPaginatedQuery } from "/__generated__/core/PeopleGraphPaginatedQuery.graphql"; +import type { PeopleGraphPaginatedFragment$key } from "/__generated__/core/PeopleGraphPaginatedFragment.graphql"; +import type { PeopleGraphDeleteMutation } from "/__generated__/core/PeopleGraphDeleteMutation.graphql"; +import type { PeopleGraphQuery } from "/__generated__/core/PeopleGraphQuery.graphql"; + export const peopleQuery = graphql` query PeopleGraphQuery($organizationId: ID!, $filter: PeopleFilter) { organization: node(id: $organizationId) { diff --git a/apps/console/src/hooks/graph/ProcessingActivityGraph.ts b/apps/console/src/hooks/graph/ProcessingActivityGraph.ts index 8c8cbe901..952c8a62f 100644 --- a/apps/console/src/hooks/graph/ProcessingActivityGraph.ts +++ b/apps/console/src/hooks/graph/ProcessingActivityGraph.ts @@ -3,6 +3,7 @@ import { useMutation } from "react-relay"; import { useConfirm } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; import { promisifyMutation, sprintf } from "@probo/helpers"; + import { useMutationWithToasts } from "../useMutationWithToasts"; export const ProcessingActivitiesConnectionKey diff --git a/apps/console/src/hooks/graph/RightsRequestGraph.ts b/apps/console/src/hooks/graph/RightsRequestGraph.ts index 969376613..3fc75d406 100644 --- a/apps/console/src/hooks/graph/RightsRequestGraph.ts +++ b/apps/console/src/hooks/graph/RightsRequestGraph.ts @@ -3,6 +3,7 @@ import { useMutation } from "react-relay"; import { useConfirm } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; import { promisifyMutation, sprintf } from "@probo/helpers"; + import { useMutationWithToasts } from "../useMutationWithToasts"; export const RightsRequestsConnectionKey = "RightsRequestsPage_rightsRequests"; diff --git a/apps/console/src/hooks/graph/RiskGraph.ts b/apps/console/src/hooks/graph/RiskGraph.ts index d8d01185c..a38070889 100644 --- a/apps/console/src/hooks/graph/RiskGraph.ts +++ b/apps/console/src/hooks/graph/RiskGraph.ts @@ -1,15 +1,17 @@ import { graphql } from "relay-runtime"; import { useTranslate } from "@probo/i18n"; -import { useMutationWithToasts } from "../useMutationWithToasts.ts"; -import type { RiskGraphDeleteMutation } from "/__generated__/core/RiskGraphDeleteMutation.graphql.ts"; import { usePreloadedQuery, usePaginationFragment, type PreloadedQuery, } from "react-relay"; + +import type { RiskGraphDeleteMutation } from "/__generated__/core/RiskGraphDeleteMutation.graphql.ts"; import type { RiskGraphListQuery } from "/__generated__/core/RiskGraphListQuery.graphql.ts"; import type { RiskGraphFragment$key } from "/__generated__/core/RiskGraphFragment.graphql.ts"; +import { useMutationWithToasts } from "../useMutationWithToasts.ts"; + const deleteRiskMutation = graphql` mutation RiskGraphDeleteMutation( $input: DeleteRiskInput! diff --git a/apps/console/src/hooks/graph/SnapshotGraph.ts b/apps/console/src/hooks/graph/SnapshotGraph.ts index 48f93d08c..cfc20a77b 100644 --- a/apps/console/src/hooks/graph/SnapshotGraph.ts +++ b/apps/console/src/hooks/graph/SnapshotGraph.ts @@ -3,6 +3,7 @@ import { useMutation } from "react-relay"; import { useConfirm } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; import { promisifyMutation, sprintf } from "@probo/helpers"; + import { useMutationWithToasts } from "../useMutationWithToasts"; export const SnapshotsConnectionKey = "SnapshotsPage_snapshots"; diff --git a/apps/console/src/hooks/graph/StateOfApplicabilityGraph.ts b/apps/console/src/hooks/graph/StateOfApplicabilityGraph.ts index fa7834dab..730a23059 100644 --- a/apps/console/src/hooks/graph/StateOfApplicabilityGraph.ts +++ b/apps/console/src/hooks/graph/StateOfApplicabilityGraph.ts @@ -1,6 +1,4 @@ import { graphql } from "relay-runtime"; -import type { StateOfApplicabilityGraphPaginatedQuery } from "/__generated__/core/StateOfApplicabilityGraphPaginatedQuery.graphql"; -import type { StateOfApplicabilityGraphPaginatedFragment$key } from "/__generated__/core/StateOfApplicabilityGraphPaginatedFragment.graphql"; import { useMutation, usePaginationFragment, @@ -8,7 +6,6 @@ import { type PreloadedQuery, } from "react-relay"; import { useConfirm, useToast } from "@probo/ui"; -import type { StateOfApplicabilityGraphDeleteMutation } from "/__generated__/core/StateOfApplicabilityGraphDeleteMutation.graphql"; import { promisifyMutation, sprintf, @@ -17,6 +14,10 @@ import { } from "@probo/helpers"; import { useTranslate } from "@probo/i18n"; +import type { StateOfApplicabilityGraphDeleteMutation } from "/__generated__/core/StateOfApplicabilityGraphDeleteMutation.graphql"; +import type { StateOfApplicabilityGraphPaginatedFragment$key } from "/__generated__/core/StateOfApplicabilityGraphPaginatedFragment.graphql"; +import type { StateOfApplicabilityGraphPaginatedQuery } from "/__generated__/core/StateOfApplicabilityGraphPaginatedQuery.graphql"; + export const paginatedStateOfApplicabilityQuery = graphql` query StateOfApplicabilityGraphPaginatedQuery($organizationId: ID!) { organization: node(id: $organizationId) { diff --git a/apps/console/src/hooks/graph/TrustCenterAccessGraph.ts b/apps/console/src/hooks/graph/TrustCenterAccessGraph.ts index 815391bd6..5555fb3b9 100644 --- a/apps/console/src/hooks/graph/TrustCenterAccessGraph.ts +++ b/apps/console/src/hooks/graph/TrustCenterAccessGraph.ts @@ -1,5 +1,5 @@ -import { graphql } from "react-relay"; -import { useLazyLoadQuery, usePaginationFragment } from "react-relay"; +import { graphql, useLazyLoadQuery, usePaginationFragment } from "react-relay"; + import type { TrustCenterAccessGraphQuery } from "/__generated__/core/TrustCenterAccessGraphQuery.graphql"; import type { TrustCenterAccessGraph_accesses$data, diff --git a/apps/console/src/hooks/graph/TrustCenterAuditGraph.ts b/apps/console/src/hooks/graph/TrustCenterAuditGraph.ts index 1ed8909f6..8a064fee3 100644 --- a/apps/console/src/hooks/graph/TrustCenterAuditGraph.ts +++ b/apps/console/src/hooks/graph/TrustCenterAuditGraph.ts @@ -1,6 +1,7 @@ import { graphql } from "relay-runtime"; -import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; import { useTranslate } from "@probo/i18n"; + +import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; import type { TrustCenterAuditGraphUpdateMutation } from "/__generated__/core/TrustCenterAuditGraphUpdateMutation.graphql"; export const trustCenterAuditUpdateMutation = graphql` diff --git a/apps/console/src/hooks/graph/TrustCenterDocumentGraph.ts b/apps/console/src/hooks/graph/TrustCenterDocumentGraph.ts index 2b734c5f5..95ca8bc32 100644 --- a/apps/console/src/hooks/graph/TrustCenterDocumentGraph.ts +++ b/apps/console/src/hooks/graph/TrustCenterDocumentGraph.ts @@ -1,6 +1,7 @@ import { graphql } from "relay-runtime"; -import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; import { useTranslate } from "@probo/i18n"; + +import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; import type { TrustCenterDocumentGraphUpdateMutation } from "/__generated__/core/TrustCenterDocumentGraphUpdateMutation.graphql"; export const trustCenterDocumentsQuery = graphql` diff --git a/apps/console/src/hooks/graph/TrustCenterFileGraph.ts b/apps/console/src/hooks/graph/TrustCenterFileGraph.ts index f90572255..4dab3fcf7 100644 --- a/apps/console/src/hooks/graph/TrustCenterFileGraph.ts +++ b/apps/console/src/hooks/graph/TrustCenterFileGraph.ts @@ -1,4 +1,5 @@ import { graphql } from "relay-runtime"; + import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; export const createTrustCenterFileMutation = graphql` diff --git a/apps/console/src/hooks/graph/TrustCenterGraph.ts b/apps/console/src/hooks/graph/TrustCenterGraph.ts index f6bd7d639..dc7f0c636 100644 --- a/apps/console/src/hooks/graph/TrustCenterGraph.ts +++ b/apps/console/src/hooks/graph/TrustCenterGraph.ts @@ -1,4 +1,5 @@ import { graphql } from "relay-runtime"; + import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; import type { TrustCenterGraphUpdateMutation } from "/__generated__/core/TrustCenterGraphUpdateMutation.graphql"; diff --git a/apps/console/src/hooks/graph/TrustCenterReferenceGraph.ts b/apps/console/src/hooks/graph/TrustCenterReferenceGraph.ts index 0eab26ae7..b53e0be57 100644 --- a/apps/console/src/hooks/graph/TrustCenterReferenceGraph.ts +++ b/apps/console/src/hooks/graph/TrustCenterReferenceGraph.ts @@ -1,4 +1,5 @@ import { graphql } from "react-relay"; + import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; import type { TrustCenterReferenceGraphCreateMutation } from "/__generated__/core/TrustCenterReferenceGraphCreateMutation.graphql"; import type { TrustCenterReferenceGraphUpdateMutation } from "/__generated__/core/TrustCenterReferenceGraphUpdateMutation.graphql"; diff --git a/apps/console/src/hooks/graph/TrustCenterVendorGraph.ts b/apps/console/src/hooks/graph/TrustCenterVendorGraph.ts index c58bc8480..a005c4033 100644 --- a/apps/console/src/hooks/graph/TrustCenterVendorGraph.ts +++ b/apps/console/src/hooks/graph/TrustCenterVendorGraph.ts @@ -1,6 +1,7 @@ import { graphql } from "relay-runtime"; -import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; import { useTranslate } from "@probo/i18n"; + +import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; import type { TrustCenterVendorGraphUpdateMutation } from "/__generated__/core/TrustCenterVendorGraphUpdateMutation.graphql"; export const trustCenterVendorUpdateMutation = graphql` diff --git a/apps/console/src/hooks/graph/VendorGraph.ts b/apps/console/src/hooks/graph/VendorGraph.ts index e6effad8b..02fc60ced 100644 --- a/apps/console/src/hooks/graph/VendorGraph.ts +++ b/apps/console/src/hooks/graph/VendorGraph.ts @@ -1,14 +1,16 @@ import { useTranslate } from "@probo/i18n"; import { graphql } from "relay-runtime"; -import { useMutationWithToasts } from "../useMutationWithToasts.ts"; -import type { VendorGraphCreateMutation } from "/__generated__/core/VendorGraphCreateMutation.graphql.ts"; -import type { VendorGraphDeleteMutation } from "/__generated__/core/VendorGraphDeleteMutation.graphql.ts"; -import type { VendorGraphSelectQuery } from "/__generated__/core/VendorGraphSelectQuery.graphql.ts"; import { useMutation, useLazyLoadQuery } from "react-relay"; import { useConfirm } from "@probo/ui"; import { promisifyMutation, sprintf } from "@probo/helpers"; import { useMemo } from "react"; +import type { VendorGraphSelectQuery } from "/__generated__/core/VendorGraphSelectQuery.graphql.ts"; +import type { VendorGraphDeleteMutation } from "/__generated__/core/VendorGraphDeleteMutation.graphql.ts"; +import type { VendorGraphCreateMutation } from "/__generated__/core/VendorGraphCreateMutation.graphql.ts"; + +import { useMutationWithToasts } from "../useMutationWithToasts.ts"; + const createVendorMutation = graphql` mutation VendorGraphCreateMutation( $input: CreateVendorInput! diff --git a/apps/console/src/hooks/graph/usePaginatedMeasures.ts b/apps/console/src/hooks/graph/usePaginatedMeasures.ts index d00fe9682..1dadecf87 100644 --- a/apps/console/src/hooks/graph/usePaginatedMeasures.ts +++ b/apps/console/src/hooks/graph/usePaginatedMeasures.ts @@ -1,4 +1,5 @@ import { graphql, useLazyLoadQuery, usePaginationFragment } from "react-relay"; + import type { usePaginatedMeasuresQuery } from "/__generated__/core/usePaginatedMeasuresQuery.graphql"; import type { usePaginatedMeasuresFragment$key } from "/__generated__/core/usePaginatedMeasuresFragment.graphql"; diff --git a/apps/console/src/main.tsx b/apps/console/src/main.tsx index 487e6126c..ae0b0bb7c 100644 --- a/apps/console/src/main.tsx +++ b/apps/console/src/main.tsx @@ -1,8 +1,10 @@ +import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; import { createRoot } from "react-dom/client"; + import "./index.css"; + import { App } from "./App"; import { TranslatorProvider } from "./providers/TranslatorProvider"; -import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; const queryClient = new QueryClient({ defaultOptions: { diff --git a/apps/console/src/pages/DocumentSigningRequestsPage.tsx b/apps/console/src/pages/DocumentSigningRequestsPage.tsx index a0eb7e38a..c45297607 100644 --- a/apps/console/src/pages/DocumentSigningRequestsPage.tsx +++ b/apps/console/src/pages/DocumentSigningRequestsPage.tsx @@ -9,11 +9,12 @@ import { IconCircleProgress, IconCircleCheck, } from "@probo/ui"; -import { PDFPreview } from "../components/documents/PDFPreview"; import { useWindowSize } from "usehooks-ts"; -import clsx from "clsx"; +import { clsx } from "clsx"; import { sprintf } from "@probo/helpers"; +import { PDFPreview } from "../components/documents/PDFPreview"; + type Document = { document_version_id: string; title: string; diff --git a/apps/console/src/pages/iam/apiKeys/APIKeysPage.tsx b/apps/console/src/pages/iam/apiKeys/APIKeysPage.tsx index 7c1cdf26c..c5fcc43ca 100644 --- a/apps/console/src/pages/iam/apiKeys/APIKeysPage.tsx +++ b/apps/console/src/pages/iam/apiKeys/APIKeysPage.tsx @@ -1,6 +1,8 @@ import { graphql, usePreloadedQuery, type PreloadedQuery } from "react-relay"; import { useTranslate } from "@probo/i18n"; + import type { APIKeysPageQuery } from "/__generated__/iam/APIKeysPageQuery.graphql"; + import { PersonalAPIKeyList } from "./_components/PersonalAPIKeyList"; export const apiKeysPageQuery = graphql` diff --git a/apps/console/src/pages/iam/apiKeys/APIKeysPageLoader.tsx b/apps/console/src/pages/iam/apiKeys/APIKeysPageLoader.tsx index 964fb1ba6..e80b7dbbc 100644 --- a/apps/console/src/pages/iam/apiKeys/APIKeysPageLoader.tsx +++ b/apps/console/src/pages/iam/apiKeys/APIKeysPageLoader.tsx @@ -1,10 +1,12 @@ import { Suspense, useEffect } from "react"; import { useQueryLoader } from "react-relay"; import { CenteredLayoutSkeleton } from "@probo/ui"; -import { APIKeysPage, apiKeysPageQuery } from "./APIKeysPage"; + import type { APIKeysPageQuery } from "/__generated__/iam/APIKeysPageQuery.graphql"; import { IAMRelayProvider } from "/providers/IAMRelayProvider"; +import { APIKeysPage, apiKeysPageQuery } from "./APIKeysPage"; + function APIKeysPageLoaderInner() { const [queryRef, loadQuery] = useQueryLoader(apiKeysPageQuery); diff --git a/apps/console/src/pages/iam/apiKeys/_components/PersonalAPIKeyList.tsx b/apps/console/src/pages/iam/apiKeys/_components/PersonalAPIKeyList.tsx index fbc83b66c..390ed1c53 100644 --- a/apps/console/src/pages/iam/apiKeys/_components/PersonalAPIKeyList.tsx +++ b/apps/console/src/pages/iam/apiKeys/_components/PersonalAPIKeyList.tsx @@ -24,9 +24,11 @@ import { useDialogRef, useToast, } from "@probo/ui"; + import { useFormWithSchema } from "/hooks/useFormWithSchema"; import type { PersonalAPIKeyListFragment$key } from "/__generated__/iam/PersonalAPIKeyListFragment.graphql"; import type { PersonalAPIKeyListCreateMutation } from "/__generated__/iam/PersonalAPIKeyListCreateMutation.graphql"; + import { PersonalAPIKeysTable } from "./PersonalAPIKeysTable"; import { PersonalAPIKeyTokenDialog } from "./PersonalAPIKeyTokenDialog"; diff --git a/apps/console/src/pages/iam/apiKeys/_components/PersonalAPIKeyRow.tsx b/apps/console/src/pages/iam/apiKeys/_components/PersonalAPIKeyRow.tsx index 0aae81992..f56e21560 100644 --- a/apps/console/src/pages/iam/apiKeys/_components/PersonalAPIKeyRow.tsx +++ b/apps/console/src/pages/iam/apiKeys/_components/PersonalAPIKeyRow.tsx @@ -3,11 +3,13 @@ import { formatDate, formatError, type GraphQLError } from "@probo/helpers"; import { Button, Spinner, Td, Tr, useConfirm, useToast } from "@probo/ui"; import { graphql } from "relay-runtime"; import { useMutation, useFragment } from "react-relay"; +import { clsx } from "clsx"; +import { Suspense } from "react"; + import type { PersonalAPIKeyRowFragment$key } from "/__generated__/iam/PersonalAPIKeyRowFragment.graphql"; import type { PersonalAPIKeyRow_revokeMutation } from "/__generated__/iam/PersonalAPIKeyRow_revokeMutation.graphql"; -import clsx from "clsx"; + import { PersonalAPIKeyTokenAction } from "./PersonalAPIKeyTokenAction"; -import { Suspense } from "react"; const revokeMutation = graphql` mutation PersonalAPIKeyRow_revokeMutation( diff --git a/apps/console/src/pages/iam/apiKeys/_components/PersonalAPIKeyTokenAction.tsx b/apps/console/src/pages/iam/apiKeys/_components/PersonalAPIKeyTokenAction.tsx index 234d964dc..159778167 100644 --- a/apps/console/src/pages/iam/apiKeys/_components/PersonalAPIKeyTokenAction.tsx +++ b/apps/console/src/pages/iam/apiKeys/_components/PersonalAPIKeyTokenAction.tsx @@ -2,11 +2,13 @@ import { useTranslate } from "@probo/i18n"; import { Button, useDialogRef, useToast } from "@probo/ui"; import { formatError } from "@probo/helpers"; import { useRefetchableFragment } from "react-relay"; -import { PersonalAPIKeyTokenDialog } from "./PersonalAPIKeyTokenDialog"; -import { personalAPIKeyRowFragment } from "./PersonalAPIKeyRow"; + import type { PersonalAPIKeyRowFragment$key } from "/__generated__/iam/PersonalAPIKeyRowFragment.graphql"; import type { PersonalAPIKeyRowRefetchQuery } from "/__generated__/iam/PersonalAPIKeyRowRefetchQuery.graphql"; +import { PersonalAPIKeyTokenDialog } from "./PersonalAPIKeyTokenDialog"; +import { personalAPIKeyRowFragment } from "./PersonalAPIKeyRow"; + export function PersonalAPIKeyTokenAction(props: { fKey: PersonalAPIKeyRowFragment$key; disabled?: boolean; diff --git a/apps/console/src/pages/iam/apiKeys/_components/PersonalAPIKeysTable.tsx b/apps/console/src/pages/iam/apiKeys/_components/PersonalAPIKeysTable.tsx index 6c6df35c5..daf3b6cf8 100644 --- a/apps/console/src/pages/iam/apiKeys/_components/PersonalAPIKeysTable.tsx +++ b/apps/console/src/pages/iam/apiKeys/_components/PersonalAPIKeysTable.tsx @@ -1,8 +1,10 @@ import { useTranslate } from "@probo/i18n"; import { Table, Tbody, Th, Thead, Tr } from "@probo/ui"; -import { PersonalAPIKeyRow } from "./PersonalAPIKeyRow"; + import type { PersonalAPIKeyListFragment$data } from "/__generated__/iam/PersonalAPIKeyListFragment.graphql"; +import { PersonalAPIKeyRow } from "./PersonalAPIKeyRow"; + export function PersonalAPIKeysTable(props: { edges: PersonalAPIKeyListFragment$data["personalAPIKeys"]["edges"]; connectionId: string; diff --git a/apps/console/src/pages/iam/auth/AuthLayout.tsx b/apps/console/src/pages/iam/auth/AuthLayout.tsx index d352fc61a..cf867688b 100644 --- a/apps/console/src/pages/iam/auth/AuthLayout.tsx +++ b/apps/console/src/pages/iam/auth/AuthLayout.tsx @@ -1,5 +1,6 @@ import { Logo } from "@probo/ui"; import { Outlet } from "react-router"; + import { IAMRelayProvider } from "/providers/IAMRelayProvider"; export default function () { diff --git a/apps/console/src/pages/iam/auth/ForgotPasswordPage.tsx b/apps/console/src/pages/iam/auth/ForgotPasswordPage.tsx index d6a909164..7c15c0851 100644 --- a/apps/console/src/pages/iam/auth/ForgotPasswordPage.tsx +++ b/apps/console/src/pages/iam/auth/ForgotPasswordPage.tsx @@ -3,13 +3,14 @@ import { useTranslate } from "@probo/i18n"; import { Button, Field, useToast } from "@probo/ui"; import { useState } from "react"; import { Link } from "react-router"; -import { useFormWithSchema } from "/hooks/useFormWithSchema"; -import z from "zod"; +import { z } from "zod"; import { graphql } from "relay-runtime"; import { useMutation } from "react-relay"; -import type { ForgotPasswordPageMutation } from "/__generated__/iam/ForgotPasswordPageMutation.graphql"; import { formatError } from "@probo/helpers"; +import type { ForgotPasswordPageMutation } from "/__generated__/iam/ForgotPasswordPageMutation.graphql"; +import { useFormWithSchema } from "/hooks/useFormWithSchema"; + const sendInstructionsMutation = graphql` mutation ForgotPasswordPageMutation($input: ForgotPasswordInput!) { forgotPassword(input: $input) { diff --git a/apps/console/src/pages/iam/auth/ResetPasswordPage.tsx b/apps/console/src/pages/iam/auth/ResetPasswordPage.tsx index e9bd7f951..187726ce3 100644 --- a/apps/console/src/pages/iam/auth/ResetPasswordPage.tsx +++ b/apps/console/src/pages/iam/auth/ResetPasswordPage.tsx @@ -2,13 +2,14 @@ import { usePageTitle } from "@probo/hooks"; import { useTranslate } from "@probo/i18n"; import { Button, Field, useToast } from "@probo/ui"; import { Link, useNavigate, useSearchParams } from "react-router"; -import z from "zod"; -import { useFormWithSchema } from "/hooks/useFormWithSchema"; +import { z } from "zod"; import { graphql } from "relay-runtime"; import { useMutation } from "react-relay"; -import type { ResetPasswordPageMutation } from "/__generated__/iam/ResetPasswordPageMutation.graphql"; import { formatError, type GraphQLError } from "@probo/helpers"; +import type { ResetPasswordPageMutation } from "/__generated__/iam/ResetPasswordPageMutation.graphql"; +import { useFormWithSchema } from "/hooks/useFormWithSchema"; + const resetPasswordMutation = graphql` mutation ResetPasswordPageMutation($input: ResetPasswordInput!) { resetPassword(input: $input) { diff --git a/apps/console/src/pages/iam/auth/VerifyEmailPage.tsx b/apps/console/src/pages/iam/auth/VerifyEmailPage.tsx index 673afd556..e4ba6a598 100644 --- a/apps/console/src/pages/iam/auth/VerifyEmailPage.tsx +++ b/apps/console/src/pages/iam/auth/VerifyEmailPage.tsx @@ -2,12 +2,13 @@ import { usePageTitle } from "@probo/hooks"; import { useTranslate } from "@probo/i18n"; import { Button, Field, useToast } from "@probo/ui"; import { Link, useSearchParams } from "react-router"; -import { useFormWithSchema } from "/hooks/useFormWithSchema"; -import z from "zod"; +import { z } from "zod"; import { useState } from "react"; import { graphql } from "relay-runtime"; import { useMutation } from "react-relay"; import { formatError } from "@probo/helpers"; + +import { useFormWithSchema } from "/hooks/useFormWithSchema"; import type { VerifyEmailPageMutation } from "/__generated__/iam/VerifyEmailPageMutation.graphql"; const verifyEmailMutation = graphql` diff --git a/apps/console/src/pages/iam/auth/sign-in/PasswordSignInPage.tsx b/apps/console/src/pages/iam/auth/sign-in/PasswordSignInPage.tsx index fa6b6459f..ff30b0a22 100644 --- a/apps/console/src/pages/iam/auth/sign-in/PasswordSignInPage.tsx +++ b/apps/console/src/pages/iam/auth/sign-in/PasswordSignInPage.tsx @@ -4,9 +4,10 @@ import type { FormEventHandler } from "react"; import { useMutation } from "react-relay"; import { Link } from "react-router"; import { graphql } from "relay-runtime"; -import type { PasswordSignInPageMutation } from "/__generated__/iam/PasswordSignInPageMutation.graphql"; import { formatError, type GraphQLError } from "@probo/helpers"; +import type { PasswordSignInPageMutation } from "/__generated__/iam/PasswordSignInPageMutation.graphql"; + const signInMutation = graphql` mutation PasswordSignInPageMutation($input: SignInInput!) { signIn(input: $input) { diff --git a/apps/console/src/pages/iam/auth/sign-in/SSOSignInPage.tsx b/apps/console/src/pages/iam/auth/sign-in/SSOSignInPage.tsx index 19ac69afe..706d1c036 100644 --- a/apps/console/src/pages/iam/auth/sign-in/SSOSignInPage.tsx +++ b/apps/console/src/pages/iam/auth/sign-in/SSOSignInPage.tsx @@ -8,6 +8,7 @@ import { } from "react-relay"; import { Link, useNavigate } from "react-router"; import { graphql } from "relay-runtime"; + import type { SSOSignInPageQuery } from "/__generated__/iam/SSOSignInPageQuery.graphql"; const ssoAvailabilityQuery = graphql` diff --git a/apps/console/src/pages/iam/auth/sign-up/SignUpFromInvitationPage.tsx b/apps/console/src/pages/iam/auth/sign-up/SignUpFromInvitationPage.tsx index 742d03bdc..74216541b 100644 --- a/apps/console/src/pages/iam/auth/sign-up/SignUpFromInvitationPage.tsx +++ b/apps/console/src/pages/iam/auth/sign-up/SignUpFromInvitationPage.tsx @@ -2,12 +2,13 @@ import { usePageTitle } from "@probo/hooks"; import { useTranslate } from "@probo/i18n"; import { Button, Field, useToast } from "@probo/ui"; import { Link, useNavigate, useSearchParams } from "react-router"; -import z from "zod"; -import { useFormWithSchema } from "/hooks/useFormWithSchema"; +import { z } from "zod"; import { graphql } from "relay-runtime"; import { useMutation } from "react-relay"; import { formatError } from "@probo/helpers"; +import { useFormWithSchema } from "/hooks/useFormWithSchema"; + const signUpFromIvitationMutation = graphql` mutation SignUpFromInvitationPageMutation( $input: SignUpFromInvitationInput! diff --git a/apps/console/src/pages/iam/auth/sign-up/SignUpPage.tsx b/apps/console/src/pages/iam/auth/sign-up/SignUpPage.tsx index f12f31a30..d862cd748 100644 --- a/apps/console/src/pages/iam/auth/sign-up/SignUpPage.tsx +++ b/apps/console/src/pages/iam/auth/sign-up/SignUpPage.tsx @@ -2,12 +2,13 @@ import { usePageTitle } from "@probo/hooks"; import { useTranslate } from "@probo/i18n"; import { Button, Field, useToast } from "@probo/ui"; import { Link, useNavigate } from "react-router"; -import z from "zod"; -import { useFormWithSchema } from "/hooks/useFormWithSchema"; +import { z } from "zod"; import { graphql } from "relay-runtime"; import { useMutation } from "react-relay"; import { formatError } from "@probo/helpers"; +import { useFormWithSchema } from "/hooks/useFormWithSchema"; + const signUpMutation = graphql` mutation SignUpPageMutation($input: SignUpInput!) { signUp(input: $input) { diff --git a/apps/console/src/pages/iam/memberships/MembershipsPage.tsx b/apps/console/src/pages/iam/memberships/MembershipsPage.tsx index 0069107ec..1838c2f72 100644 --- a/apps/console/src/pages/iam/memberships/MembershipsPage.tsx +++ b/apps/console/src/pages/iam/memberships/MembershipsPage.tsx @@ -8,10 +8,12 @@ import { Input, } from "@probo/ui"; import { useMemo, useState } from "react"; +import { usePageTitle } from "@probo/hooks"; + +import type { MembershipsPageQuery } from "/__generated__/iam/MembershipsPageQuery.graphql"; + import { InvitationCard } from "./_components/InvitationCard"; import { MembershipCard } from "./_components/MembershipCard"; -import type { MembershipsPageQuery } from "/__generated__/iam/MembershipsPageQuery.graphql"; -import { usePageTitle } from "@probo/hooks"; export const membershipsPageQuery = graphql` query MembershipsPageQuery { diff --git a/apps/console/src/pages/iam/memberships/MembershipsPageLoader.tsx b/apps/console/src/pages/iam/memberships/MembershipsPageLoader.tsx index 41e7432ec..b79181349 100644 --- a/apps/console/src/pages/iam/memberships/MembershipsPageLoader.tsx +++ b/apps/console/src/pages/iam/memberships/MembershipsPageLoader.tsx @@ -1,10 +1,12 @@ import { useQueryLoader } from "react-relay"; import { Suspense, useEffect } from "react"; import { CenteredLayoutSkeleton } from "@probo/ui"; + import type { MembershipsPageQuery } from "/__generated__/iam/MembershipsPageQuery.graphql"; -import { MembershipsPage, membershipsPageQuery } from "./MembershipsPage"; import { IAMRelayProvider } from "/providers/IAMRelayProvider"; +import { MembershipsPage, membershipsPageQuery } from "./MembershipsPage"; + function MembershipsPageLoader() { const [queryRef, loadQuery] = useQueryLoader(membershipsPageQuery); diff --git a/apps/console/src/pages/iam/memberships/ViewerLayout.tsx b/apps/console/src/pages/iam/memberships/ViewerLayout.tsx index dae50383e..149cd6f65 100644 --- a/apps/console/src/pages/iam/memberships/ViewerLayout.tsx +++ b/apps/console/src/pages/iam/memberships/ViewerLayout.tsx @@ -1,8 +1,10 @@ import { graphql, usePreloadedQuery, type PreloadedQuery } from "react-relay"; import { Outlet } from "react-router"; import { Layout, Skeleton } from "@probo/ui"; -import type { ViewerLayoutQuery } from "/__generated__/iam/ViewerLayoutQuery.graphql"; import { Suspense } from "react"; + +import type { ViewerLayoutQuery } from "/__generated__/iam/ViewerLayoutQuery.graphql"; + import { ViewerDropdown } from "./_components/ViewerDropdown"; export const viewerLayoutQuery = graphql` diff --git a/apps/console/src/pages/iam/memberships/ViewerLayoutLoader.tsx b/apps/console/src/pages/iam/memberships/ViewerLayoutLoader.tsx index 1fd685d64..65a2d1fb1 100644 --- a/apps/console/src/pages/iam/memberships/ViewerLayoutLoader.tsx +++ b/apps/console/src/pages/iam/memberships/ViewerLayoutLoader.tsx @@ -1,8 +1,10 @@ import { useQueryLoader } from "react-relay"; import { Suspense, useEffect } from "react"; + import type { ViewerLayoutQuery } from "/__generated__/iam/ViewerLayoutQuery.graphql"; -import { ViewerLayout, viewerLayoutQuery } from "./ViewerLayout"; import { IAMRelayProvider } from "/providers/IAMRelayProvider"; + +import { ViewerLayout, viewerLayoutQuery } from "./ViewerLayout"; import { ViewerLayoutLoading } from "./ViewerLayoutLoading"; function ViewerLayoutLoader() { diff --git a/apps/console/src/pages/iam/memberships/_components/InvitationCard.tsx b/apps/console/src/pages/iam/memberships/_components/InvitationCard.tsx index 716be4301..d1a102b90 100644 --- a/apps/console/src/pages/iam/memberships/_components/InvitationCard.tsx +++ b/apps/console/src/pages/iam/memberships/_components/InvitationCard.tsx @@ -3,6 +3,7 @@ import { useTranslate } from "@probo/i18n"; import { Button, Card, useToast } from "@probo/ui"; import { graphql, type DataID } from "relay-runtime"; import { useFragment, useMutation } from "react-relay"; + import type { InvitationCardFragment$key } from "/__generated__/iam/InvitationCardFragment.graphql"; import type { InvitationCardMutation } from "/__generated__/iam/InvitationCardMutation.graphql"; diff --git a/apps/console/src/pages/iam/memberships/_components/MembershipCard.tsx b/apps/console/src/pages/iam/memberships/_components/MembershipCard.tsx index 8054f29f6..37a99756d 100644 --- a/apps/console/src/pages/iam/memberships/_components/MembershipCard.tsx +++ b/apps/console/src/pages/iam/memberships/_components/MembershipCard.tsx @@ -11,9 +11,10 @@ import { import { Link, useNavigate } from "react-router"; import { graphql } from "relay-runtime"; import { useFragment, useMutation } from "react-relay"; -import type { MembershipCardFragment$key } from "/__generated__/iam/MembershipCardFragment.graphql"; import { parseDate } from "@probo/helpers"; import { useCallback } from "react"; + +import type { MembershipCardFragment$key } from "/__generated__/iam/MembershipCardFragment.graphql"; import type { MembershipCard_assumeMutation } from "/__generated__/iam/MembershipCard_assumeMutation.graphql"; const fragment = graphql` diff --git a/apps/console/src/pages/iam/memberships/_components/ViewerDropdown.tsx b/apps/console/src/pages/iam/memberships/_components/ViewerDropdown.tsx index 3013b02ce..8675780f0 100644 --- a/apps/console/src/pages/iam/memberships/_components/ViewerDropdown.tsx +++ b/apps/console/src/pages/iam/memberships/_components/ViewerDropdown.tsx @@ -10,9 +10,10 @@ import { import { graphql } from "relay-runtime"; import { useFragment, useMutation } from "react-relay"; import { useTranslate } from "@probo/i18n"; -import type { ViewerDropdownFragment$key } from "/__generated__/iam/ViewerDropdownFragment.graphql"; import { formatError } from "@probo/helpers"; +import type { ViewerDropdownFragment$key } from "/__generated__/iam/ViewerDropdownFragment.graphql"; + export const fragment = graphql` fragment ViewerDropdownFragment on Identity { canListAPIKeys: permission(action: "iam:personal-api-key:list") diff --git a/apps/console/src/pages/iam/organizations/NewOrganizationPage.tsx b/apps/console/src/pages/iam/organizations/NewOrganizationPage.tsx index 0f6bf0f3f..44686d0a6 100644 --- a/apps/console/src/pages/iam/organizations/NewOrganizationPage.tsx +++ b/apps/console/src/pages/iam/organizations/NewOrganizationPage.tsx @@ -11,6 +11,7 @@ import { graphql, useMutation } from "react-relay"; import type { FormEventHandler } from "react"; import { Link, useLocation, useNavigate } from "react-router"; import { formatError } from "@probo/helpers"; + import type { NewOrganizationPageMutation } from "/__generated__/iam/NewOrganizationPageMutation.graphql"; import { IAMRelayProvider } from "/providers/IAMRelayProvider"; diff --git a/apps/console/src/pages/iam/organizations/ViewerMembershipLayout.tsx b/apps/console/src/pages/iam/organizations/ViewerMembershipLayout.tsx index 4051cc8cb..fe45ad8c0 100644 --- a/apps/console/src/pages/iam/organizations/ViewerMembershipLayout.tsx +++ b/apps/console/src/pages/iam/organizations/ViewerMembershipLayout.tsx @@ -1,15 +1,17 @@ import { graphql, usePreloadedQuery, type PreloadedQuery } from "react-relay"; import { Link, Outlet } from "react-router"; import { Badge, Button, IconPeopleAdd, Layout, Skeleton } from "@probo/ui"; -import { Sidebar } from "./_components/Sidebar"; -import { MembershipsDropdown } from "./_components/MembershipsDropdown"; -import type { ViewerMembershipLayoutQuery } from "/__generated__/iam/ViewerMembershipLayoutQuery.graphql"; -import { ViewerMembershipDropdown } from "./_components/ViewerMembershipDropdown"; import { Suspense } from "react"; import { useTranslate } from "@probo/i18n"; + +import type { ViewerMembershipLayoutQuery } from "/__generated__/iam/ViewerMembershipLayoutQuery.graphql"; import { CoreRelayProvider } from "/providers/CoreRelayProvider"; import { CurrentUser } from "/providers/CurrentUser"; +import { ViewerMembershipDropdown } from "./_components/ViewerMembershipDropdown"; +import { MembershipsDropdown } from "./_components/MembershipsDropdown"; +import { Sidebar } from "./_components/Sidebar"; + export const viewerMembershipLayoutQuery = graphql` query ViewerMembershipLayoutQuery( $organizationId: ID! diff --git a/apps/console/src/pages/iam/organizations/ViewerMembershipLayoutLoader.tsx b/apps/console/src/pages/iam/organizations/ViewerMembershipLayoutLoader.tsx index e90503050..b81c76048 100644 --- a/apps/console/src/pages/iam/organizations/ViewerMembershipLayoutLoader.tsx +++ b/apps/console/src/pages/iam/organizations/ViewerMembershipLayoutLoader.tsx @@ -1,13 +1,15 @@ import { useQueryLoader } from "react-relay"; import { Suspense, useEffect } from "react"; import { Skeleton } from "@probo/ui"; + import { useOrganizationId } from "/hooks/useOrganizationId"; import type { ViewerMembershipLayoutQuery } from "/__generated__/iam/ViewerMembershipLayoutQuery.graphql"; +import { IAMRelayProvider } from "/providers/IAMRelayProvider"; + import { ViewerMembershipLayout, viewerMembershipLayoutQuery, } from "./ViewerMembershipLayout"; -import { IAMRelayProvider } from "/providers/IAMRelayProvider"; function MembershipLayoutLoader() { const organizationId = useOrganizationId(); diff --git a/apps/console/src/pages/iam/organizations/_components/MembershipsDropdown.tsx b/apps/console/src/pages/iam/organizations/_components/MembershipsDropdown.tsx index 1b4594a81..bbcd6476c 100644 --- a/apps/console/src/pages/iam/organizations/_components/MembershipsDropdown.tsx +++ b/apps/console/src/pages/iam/organizations/_components/MembershipsDropdown.tsx @@ -14,10 +14,12 @@ import { } from "@probo/ui"; import { Suspense, useCallback, useState } from "react"; import { useTranslate } from "@probo/i18n"; -import type { MembershipsDropdownMenuQuery } from "/__generated__/iam/MembershipsDropdownMenuQuery.graphql"; import { Link, useLocation } from "react-router"; + +import type { MembershipsDropdownMenuQuery } from "/__generated__/iam/MembershipsDropdownMenuQuery.graphql"; import type { MembershipsDropdown_organizationFragment$key } from "/__generated__/iam/MembershipsDropdown_organizationFragment.graphql"; import type { MembershipsDropdown_viewerFragment$key } from "/__generated__/iam/MembershipsDropdown_viewerFragment.graphql"; + import { MembershipsDropdownMenu, membershipsDropdownMenuQuery, diff --git a/apps/console/src/pages/iam/organizations/_components/MembershipsDropdownMenu.tsx b/apps/console/src/pages/iam/organizations/_components/MembershipsDropdownMenu.tsx index 3c8a791a0..5449df065 100644 --- a/apps/console/src/pages/iam/organizations/_components/MembershipsDropdownMenu.tsx +++ b/apps/console/src/pages/iam/organizations/_components/MembershipsDropdownMenu.tsx @@ -1,6 +1,8 @@ import { graphql, usePreloadedQuery, type PreloadedQuery } from "react-relay"; -import type { MembershipsDropdownMenuQuery } from "/__generated__/iam/MembershipsDropdownMenuQuery.graphql"; import { useMemo } from "react"; + +import type { MembershipsDropdownMenuQuery } from "/__generated__/iam/MembershipsDropdownMenuQuery.graphql"; + import { MembershipsDropdownMenuItem } from "./MembershipsDropdownMenuItem"; export const membershipsDropdownMenuQuery = graphql` diff --git a/apps/console/src/pages/iam/organizations/_components/MembershipsDropdownMenuItem.tsx b/apps/console/src/pages/iam/organizations/_components/MembershipsDropdownMenuItem.tsx index 0968ee365..d1cb3b342 100644 --- a/apps/console/src/pages/iam/organizations/_components/MembershipsDropdownMenuItem.tsx +++ b/apps/console/src/pages/iam/organizations/_components/MembershipsDropdownMenuItem.tsx @@ -6,11 +6,12 @@ import { IconLock, } from "@probo/ui"; import { graphql } from "relay-runtime"; -import type { MembershipsDropdownMenuItemFragment$key } from "/__generated__/iam/MembershipsDropdownMenuItemFragment.graphql"; import { useFragment, useMutation } from "react-relay"; import { parseDate } from "@probo/helpers"; import { useCallback } from "react"; import { useNavigate } from "react-router"; + +import type { MembershipsDropdownMenuItemFragment$key } from "/__generated__/iam/MembershipsDropdownMenuItemFragment.graphql"; import type { MembershipsDropdownMenuItem_assumeMutation } from "/__generated__/iam/MembershipsDropdownMenuItem_assumeMutation.graphql"; const fragment = graphql` diff --git a/apps/console/src/pages/iam/organizations/_components/Sidebar.tsx b/apps/console/src/pages/iam/organizations/_components/Sidebar.tsx index 1234276f6..b0f6db4f5 100644 --- a/apps/console/src/pages/iam/organizations/_components/Sidebar.tsx +++ b/apps/console/src/pages/iam/organizations/_components/Sidebar.tsx @@ -22,9 +22,10 @@ import { SidebarItem, } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; -import { useOrganizationId } from "/hooks/useOrganizationId"; import { graphql } from "relay-runtime"; import { useFragment } from "react-relay"; + +import { useOrganizationId } from "/hooks/useOrganizationId"; import type { SidebarFragment$key } from "/__generated__/iam/SidebarFragment.graphql"; const fragment = graphql` diff --git a/apps/console/src/pages/iam/organizations/_components/ViewerMembershipDropdown.tsx b/apps/console/src/pages/iam/organizations/_components/ViewerMembershipDropdown.tsx index a1b35f54e..4129a779d 100644 --- a/apps/console/src/pages/iam/organizations/_components/ViewerMembershipDropdown.tsx +++ b/apps/console/src/pages/iam/organizations/_components/ViewerMembershipDropdown.tsx @@ -9,12 +9,13 @@ import { useToast, } from "@probo/ui"; import { graphql } from "relay-runtime"; -import { useOrganizationId } from "/hooks/useOrganizationId"; import { useFragment, useMutation } from "react-relay"; import { useTranslate } from "@probo/i18n"; -import type { ViewerMembershipDropdownFragment$key } from "/__generated__/iam/ViewerMembershipDropdownFragment.graphql"; import { formatError } from "@probo/helpers"; +import type { ViewerMembershipDropdownFragment$key } from "/__generated__/iam/ViewerMembershipDropdownFragment.graphql"; +import { useOrganizationId } from "/hooks/useOrganizationId"; + export const fragment = graphql` fragment ViewerMembershipDropdownFragment on Organization { viewerMembership @required(action: THROW) { diff --git a/apps/console/src/pages/iam/organizations/settings/GeneralSettingsPage.tsx b/apps/console/src/pages/iam/organizations/settings/GeneralSettingsPage.tsx index 57000349c..71d3a9f52 100644 --- a/apps/console/src/pages/iam/organizations/settings/GeneralSettingsPage.tsx +++ b/apps/console/src/pages/iam/organizations/settings/GeneralSettingsPage.tsx @@ -1,12 +1,14 @@ import { useTranslate } from "@probo/i18n"; import { Button, Card, IconTrashCan } from "@probo/ui"; import { useNavigate } from "react-router"; -import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; import { graphql } from "relay-runtime"; import { usePreloadedQuery, type PreloadedQuery } from "react-relay"; + +import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; import type { GeneralSettingsPageQuery } from "/__generated__/iam/GeneralSettingsPageQuery.graphql"; import type { GeneralSettingsPage_deleteMutation } from "/__generated__/iam/GeneralSettingsPage_deleteMutation.graphql"; import { DeleteOrganizationDialog } from "/components/organizations/DeleteOrganizationDialog"; + import { OrganizationForm } from "./_components/OrganizationForm"; export const generalSettingsPageQuery = graphql` diff --git a/apps/console/src/pages/iam/organizations/settings/GeneralSettingsPageLoader.tsx b/apps/console/src/pages/iam/organizations/settings/GeneralSettingsPageLoader.tsx index 55a502d20..bd6a2e247 100644 --- a/apps/console/src/pages/iam/organizations/settings/GeneralSettingsPageLoader.tsx +++ b/apps/console/src/pages/iam/organizations/settings/GeneralSettingsPageLoader.tsx @@ -1,12 +1,14 @@ -import { useOrganizationId } from "/hooks/useOrganizationId"; import { useQueryLoader } from "react-relay"; import { useEffect } from "react"; + +import { useOrganizationId } from "/hooks/useOrganizationId"; +import type { GeneralSettingsPageQuery } from "/__generated__/iam/GeneralSettingsPageQuery.graphql"; +import { IAMRelayProvider } from "/providers/IAMRelayProvider"; + import { GeneralSettingsPage, generalSettingsPageQuery, } from "./GeneralSettingsPage"; -import type { GeneralSettingsPageQuery } from "/__generated__/iam/GeneralSettingsPageQuery.graphql"; -import { IAMRelayProvider } from "/providers/IAMRelayProvider"; function GeneralSettingsPageLoader() { const organizationId = useOrganizationId(); diff --git a/apps/console/src/pages/iam/organizations/settings/MembersPage.tsx b/apps/console/src/pages/iam/organizations/settings/MembersPage.tsx index 3fc14244e..f88fe8e2c 100644 --- a/apps/console/src/pages/iam/organizations/settings/MembersPage.tsx +++ b/apps/console/src/pages/iam/organizations/settings/MembersPage.tsx @@ -1,13 +1,15 @@ import { usePreloadedQuery, type PreloadedQuery } from "react-relay"; import { ConnectionHandler, graphql } from "relay-runtime"; -import { MemberList } from "./_components/MemberList"; -import type { MembersPageQuery } from "/__generated__/iam/MembersPageQuery.graphql"; import { useTranslate } from "@probo/i18n"; import { Button, Card, TabBadge, TabItem, Tabs } from "@probo/ui"; import { useState } from "react"; + +import type { MembersPageQuery } from "/__generated__/iam/MembersPageQuery.graphql"; +import { useOrganizationId } from "/hooks/useOrganizationId"; + import { InvitationList } from "./_components/InvitationList"; import { InviteUserDialog } from "./_components/InviteUserDialog"; -import { useOrganizationId } from "/hooks/useOrganizationId"; +import { MemberList } from "./_components/MemberList"; export const membersPageQuery = graphql` query MembersPageQuery($organizationId: ID!) { diff --git a/apps/console/src/pages/iam/organizations/settings/MembersPageLoader.tsx b/apps/console/src/pages/iam/organizations/settings/MembersPageLoader.tsx index c90d2615a..0203d1780 100644 --- a/apps/console/src/pages/iam/organizations/settings/MembersPageLoader.tsx +++ b/apps/console/src/pages/iam/organizations/settings/MembersPageLoader.tsx @@ -1,10 +1,12 @@ import { useQueryLoader } from "react-relay"; -import { MembersPage, membersPageQuery } from "./MembersPage"; +import { useEffect } from "react"; + import { useOrganizationId } from "/hooks/useOrganizationId"; import { IAMRelayProvider } from "/providers/IAMRelayProvider"; -import { useEffect } from "react"; import type { MembersPageQuery } from "/__generated__/iam/MembersPageQuery.graphql"; +import { MembersPage, membersPageQuery } from "./MembersPage"; + function MembersPageLoader() { const organizationId = useOrganizationId(); const [queryRef, loadQuery] diff --git a/apps/console/src/pages/iam/organizations/settings/SAMLSettingsPage.tsx b/apps/console/src/pages/iam/organizations/settings/SAMLSettingsPage.tsx index 60f561c57..cbc6956d4 100644 --- a/apps/console/src/pages/iam/organizations/settings/SAMLSettingsPage.tsx +++ b/apps/console/src/pages/iam/organizations/settings/SAMLSettingsPage.tsx @@ -4,17 +4,19 @@ import { useQueryLoader, type PreloadedQuery, } from "react-relay"; -import type { SAMLSettingsPageQuery } from "/__generated__/iam/SAMLSettingsPageQuery.graphql"; import { Suspense, useState } from "react"; import { Breadcrumb, Button, Dialog, useDialogRef } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; + +import type { SAMLSettingsPageQuery } from "/__generated__/iam/SAMLSettingsPageQuery.graphql"; +import type { EditSAMLConfigurationFormQuery } from "/__generated__/iam/EditSAMLConfigurationFormQuery.graphql"; + import { SAMLConfigurationList } from "./_components/SAMLConfigurationList"; import { NewSAMLConfigurationForm } from "./_components/NewSAMLConfigurationForm"; import { EditSAMLConfigurationForm, samlConfigurationFormQuery, } from "./_components/EditSAMLConfigurationForm"; -import type { EditSAMLConfigurationFormQuery } from "/__generated__/iam/EditSAMLConfigurationFormQuery.graphql"; import { SAMLDomainVerifyDialog } from "./_components/SAMLDomainVerifyDialog"; export const samlSettingsPageQuery = graphql` diff --git a/apps/console/src/pages/iam/organizations/settings/SAMLSettingsPageLoader.tsx b/apps/console/src/pages/iam/organizations/settings/SAMLSettingsPageLoader.tsx index 6ba3d6342..6eccec2bf 100644 --- a/apps/console/src/pages/iam/organizations/settings/SAMLSettingsPageLoader.tsx +++ b/apps/console/src/pages/iam/organizations/settings/SAMLSettingsPageLoader.tsx @@ -1,10 +1,12 @@ import { useQueryLoader } from "react-relay"; -import { SAMLSettingsPage, samlSettingsPageQuery } from "./SAMLSettingsPage"; +import { useEffect } from "react"; + import { useOrganizationId } from "/hooks/useOrganizationId"; import { IAMRelayProvider } from "/providers/IAMRelayProvider"; -import { useEffect } from "react"; import type { SAMLSettingsPageQuery } from "/__generated__/iam/SAMLSettingsPageQuery.graphql"; +import { SAMLSettingsPage, samlSettingsPageQuery } from "./SAMLSettingsPage"; + function SAMLSettingsPageLoader() { const organizationId = useOrganizationId(); const [queryRef, loadQuery] = useQueryLoader( diff --git a/apps/console/src/pages/iam/organizations/settings/SCIMSettingsPage.tsx b/apps/console/src/pages/iam/organizations/settings/SCIMSettingsPage.tsx index b82992527..421615380 100644 --- a/apps/console/src/pages/iam/organizations/settings/SCIMSettingsPage.tsx +++ b/apps/console/src/pages/iam/organizations/settings/SCIMSettingsPage.tsx @@ -1,6 +1,8 @@ import { graphql, usePreloadedQuery, type PreloadedQuery } from "react-relay"; -import type { SCIMSettingsPageQuery } from "/__generated__/iam/SCIMSettingsPageQuery.graphql"; import { useTranslate } from "@probo/i18n"; + +import type { SCIMSettingsPageQuery } from "/__generated__/iam/SCIMSettingsPageQuery.graphql"; + import { SCIMConfiguration } from "./_components/SCIMConfiguration"; import { SCIMEventList } from "./_components/SCIMEventList"; diff --git a/apps/console/src/pages/iam/organizations/settings/SCIMSettingsPageLoader.tsx b/apps/console/src/pages/iam/organizations/settings/SCIMSettingsPageLoader.tsx index 156df8a00..6ed494329 100644 --- a/apps/console/src/pages/iam/organizations/settings/SCIMSettingsPageLoader.tsx +++ b/apps/console/src/pages/iam/organizations/settings/SCIMSettingsPageLoader.tsx @@ -1,10 +1,12 @@ import { useQueryLoader } from "react-relay"; -import { SCIMSettingsPage, scimSettingsPageQuery } from "./SCIMSettingsPage"; +import { useEffect } from "react"; + import { useOrganizationId } from "/hooks/useOrganizationId"; import { IAMRelayProvider } from "/providers/IAMRelayProvider"; -import { useEffect } from "react"; import type { SCIMSettingsPageQuery } from "/__generated__/iam/SCIMSettingsPageQuery.graphql"; +import { SCIMSettingsPage, scimSettingsPageQuery } from "./SCIMSettingsPage"; + function SCIMSettingsPageLoader() { const organizationId = useOrganizationId(); const [queryRef, loadQuery] = useQueryLoader( diff --git a/apps/console/src/pages/iam/organizations/settings/SettingsLayout.tsx b/apps/console/src/pages/iam/organizations/settings/SettingsLayout.tsx index e844a50a9..04a392ce0 100644 --- a/apps/console/src/pages/iam/organizations/settings/SettingsLayout.tsx +++ b/apps/console/src/pages/iam/organizations/settings/SettingsLayout.tsx @@ -9,9 +9,10 @@ import { Tabs, } from "@probo/ui"; import { Outlet } from "react-router"; -import { useOrganizationId } from "/hooks/useOrganizationId"; import { useTranslate } from "@probo/i18n"; +import { useOrganizationId } from "/hooks/useOrganizationId"; + export default function () { const organizationId = useOrganizationId(); const { __ } = useTranslate(); diff --git a/apps/console/src/pages/iam/organizations/settings/_components/EditMemberDialog.tsx b/apps/console/src/pages/iam/organizations/settings/_components/EditMemberDialog.tsx index 5f7a3b448..10add6743 100644 --- a/apps/console/src/pages/iam/organizations/settings/_components/EditMemberDialog.tsx +++ b/apps/console/src/pages/iam/organizations/settings/_components/EditMemberDialog.tsx @@ -12,6 +12,7 @@ import { } from "@probo/ui"; import { use, useState } from "react"; import { graphql } from "relay-runtime"; + import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; import { useOrganizationId } from "/hooks/useOrganizationId"; import type { MemberListItemFragment$data } from "/__generated__/iam/MemberListItemFragment.graphql"; diff --git a/apps/console/src/pages/iam/organizations/settings/_components/EditSAMLConfigurationForm.tsx b/apps/console/src/pages/iam/organizations/settings/_components/EditSAMLConfigurationForm.tsx index afa4e3c87..1b3d0259d 100644 --- a/apps/console/src/pages/iam/organizations/settings/_components/EditSAMLConfigurationForm.tsx +++ b/apps/console/src/pages/iam/organizations/settings/_components/EditSAMLConfigurationForm.tsx @@ -1,17 +1,19 @@ import { usePreloadedQuery, type PreloadedQuery } from "react-relay"; import { graphql } from "relay-runtime"; -import type { EditSAMLConfigurationForm_updateMutation } from "/__generated__/iam/EditSAMLConfigurationForm_updateMutation.graphql"; import { useCallback } from "react"; +import { formatError } from "@probo/helpers"; +import { useTranslate } from "@probo/i18n"; +import { useToast } from "@probo/ui"; + +import type { EditSAMLConfigurationForm_updateMutation } from "/__generated__/iam/EditSAMLConfigurationForm_updateMutation.graphql"; import type { EditSAMLConfigurationFormQuery } from "/__generated__/iam/EditSAMLConfigurationFormQuery.graphql"; import { useOrganizationId } from "/hooks/useOrganizationId"; +import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; + import { SAMLConfigurationForm, type SAMLConfigurationFormData, } from "./SAMLConfigurationForm"; -import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; -import { formatError } from "@probo/helpers"; -import { useTranslate } from "@probo/i18n"; -import { useToast } from "@probo/ui"; export const samlConfigurationFormQuery = graphql` query EditSAMLConfigurationFormQuery($samlConfigurationId: ID!) { diff --git a/apps/console/src/pages/iam/organizations/settings/_components/InvitationList.tsx b/apps/console/src/pages/iam/organizations/settings/_components/InvitationList.tsx index de3c66277..ee1c45389 100644 --- a/apps/console/src/pages/iam/organizations/settings/_components/InvitationList.tsx +++ b/apps/console/src/pages/iam/organizations/settings/_components/InvitationList.tsx @@ -1,18 +1,20 @@ import { Tbody, Td, Th, Thead, Tr } from "@probo/ui"; +import { useTranslate } from "@probo/i18n"; +import { ConnectionHandler, graphql, usePaginationFragment } from "react-relay"; +import { type ComponentProps } from "react"; + +import type { InvitationListFragment$key } from "/__generated__/iam/InvitationListFragment.graphql"; +import type { InvitationListFragment_RefetchQuery } from "/__generated__/iam/InvitationListFragment_RefetchQuery.graphql"; import { SortableTable, SortableTh, type Order, } from "/components/SortableTable"; -import { useTranslate } from "@probo/i18n"; -import { ConnectionHandler, graphql, usePaginationFragment } from "react-relay"; -import { InvitationListItem } from "./InvitationListItem"; -import type { InvitationListFragment$key } from "/__generated__/iam/InvitationListFragment.graphql"; -import type { InvitationListFragment_RefetchQuery } from "/__generated__/iam/InvitationListFragment_RefetchQuery.graphql"; -import { type ComponentProps } from "react"; import { useOrganizationId } from "/hooks/useOrganizationId"; import type { MembersPage_invitationsTotalCountFragment$key } from "/__generated__/iam/MembersPage_invitationsTotalCountFragment.graphql"; +import { InvitationListItem } from "./InvitationListItem"; + const fragment = graphql` fragment InvitationListFragment on Organization @refetchable(queryName: "InvitationListFragment_RefetchQuery") diff --git a/apps/console/src/pages/iam/organizations/settings/_components/InvitationListItem.tsx b/apps/console/src/pages/iam/organizations/settings/_components/InvitationListItem.tsx index b6f48238b..73ae6ae35 100644 --- a/apps/console/src/pages/iam/organizations/settings/_components/InvitationListItem.tsx +++ b/apps/console/src/pages/iam/organizations/settings/_components/InvitationListItem.tsx @@ -8,16 +8,18 @@ import { Tr, useConfirm, } from "@probo/ui"; -import clsx from "clsx"; +import { clsx } from "clsx"; import { useFragment } from "react-relay"; import { graphql } from "relay-runtime"; -import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; import { sprintf } from "@probo/helpers"; + +import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; import { useOrganizationId } from "/hooks/useOrganizationId"; import type { InvitationListItemFragment$key } from "/__generated__/iam/InvitationListItemFragment.graphql"; -import { invitationCountFragment } from "../MembersPage"; import type { MembersPage_invitationsTotalCountFragment$key } from "/__generated__/iam/MembersPage_invitationsTotalCountFragment.graphql"; +import { invitationCountFragment } from "../MembersPage"; + const fragment = graphql` fragment InvitationListItemFragment on Invitation { id diff --git a/apps/console/src/pages/iam/organizations/settings/_components/InviteUserDialog.tsx b/apps/console/src/pages/iam/organizations/settings/_components/InviteUserDialog.tsx index ea80986f4..2df097e80 100644 --- a/apps/console/src/pages/iam/organizations/settings/_components/InviteUserDialog.tsx +++ b/apps/console/src/pages/iam/organizations/settings/_components/InviteUserDialog.tsx @@ -12,16 +12,18 @@ import { } from "@probo/ui"; import { Controller } from "react-hook-form"; import { graphql } from "relay-runtime"; -import z from "zod"; +import { z } from "zod"; +import { use, type PropsWithChildren } from "react"; + import { useFormWithSchema } from "/hooks/useFormWithSchema"; import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; import { useOrganizationId } from "/hooks/useOrganizationId"; -import { use, type PropsWithChildren } from "react"; import { CurrentUser } from "/providers/CurrentUser"; import type { InviteUserDialogMutation } from "/__generated__/iam/InviteUserDialogMutation.graphql"; -import { invitationCountFragment } from "../MembersPage"; import type { MembersPage_invitationsTotalCountFragment$key } from "/__generated__/iam/MembersPage_invitationsTotalCountFragment.graphql"; +import { invitationCountFragment } from "../MembersPage"; + const inviteMutation = graphql` mutation InviteUserDialogMutation( $input: InviteMemberInput! diff --git a/apps/console/src/pages/iam/organizations/settings/_components/MemberList.tsx b/apps/console/src/pages/iam/organizations/settings/_components/MemberList.tsx index 7dfa418eb..344e3e4c3 100644 --- a/apps/console/src/pages/iam/organizations/settings/_components/MemberList.tsx +++ b/apps/console/src/pages/iam/organizations/settings/_components/MemberList.tsx @@ -1,11 +1,13 @@ import { graphql, usePaginationFragment } from "react-relay"; import { Tbody, Td, Th, Thead, Tr } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; +import type { ComponentProps } from "react"; + import { SortableTable, SortableTh } from "/components/SortableTable"; import type { MemberListFragment_RefetchQuery } from "/__generated__/iam/MemberListFragment_RefetchQuery.graphql"; -import { MemberListItem } from "./MemberListItem"; import type { MemberListFragment$key } from "/__generated__/iam/MemberListFragment.graphql"; -import type { ComponentProps } from "react"; + +import { MemberListItem } from "./MemberListItem"; const fragment = graphql` fragment MemberListFragment on Organization diff --git a/apps/console/src/pages/iam/organizations/settings/_components/MemberListItem.tsx b/apps/console/src/pages/iam/organizations/settings/_components/MemberListItem.tsx index f228fca26..c8d240c6f 100644 --- a/apps/console/src/pages/iam/organizations/settings/_components/MemberListItem.tsx +++ b/apps/console/src/pages/iam/organizations/settings/_components/MemberListItem.tsx @@ -9,14 +9,16 @@ import { Tr, useConfirm, } from "@probo/ui"; -import clsx from "clsx"; +import { clsx } from "clsx"; import { useState } from "react"; import { useFragment } from "react-relay"; import { graphql } from "relay-runtime"; +import { sprintf } from "@probo/helpers"; + import type { MemberListItemFragment$key } from "/__generated__/iam/MemberListItemFragment.graphql"; import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; import { useOrganizationId } from "/hooks/useOrganizationId"; -import { sprintf } from "@probo/helpers"; + import { EditMemberDialog } from "./EditMemberDialog"; const fragment = graphql` diff --git a/apps/console/src/pages/iam/organizations/settings/_components/NewSAMLConfigurationForm.tsx b/apps/console/src/pages/iam/organizations/settings/_components/NewSAMLConfigurationForm.tsx index 5e6aff9c1..cbe0377f0 100644 --- a/apps/console/src/pages/iam/organizations/settings/_components/NewSAMLConfigurationForm.tsx +++ b/apps/console/src/pages/iam/organizations/settings/_components/NewSAMLConfigurationForm.tsx @@ -1,15 +1,17 @@ import { ConnectionHandler, graphql } from "react-relay"; +import { useCallback } from "react"; +import { useToast } from "@probo/ui"; +import { formatError } from "@probo/helpers"; +import { useTranslate } from "@probo/i18n"; + +import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; +import { useOrganizationId } from "/hooks/useOrganizationId"; import type { NewSAMLConfigurationForm_createMutation } from "/__generated__/iam/NewSAMLConfigurationForm_createMutation.graphql"; + import { SAMLConfigurationForm, type SAMLConfigurationFormData, } from "./SAMLConfigurationForm"; -import { useOrganizationId } from "/hooks/useOrganizationId"; -import { useCallback } from "react"; -import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; -import { useToast } from "@probo/ui"; -import { formatError } from "@probo/helpers"; -import { useTranslate } from "@probo/i18n"; const createSAMLConfigurationMutation = graphql` mutation NewSAMLConfigurationForm_createMutation( diff --git a/apps/console/src/pages/iam/organizations/settings/_components/OrganizationForm.tsx b/apps/console/src/pages/iam/organizations/settings/_components/OrganizationForm.tsx index 40d349606..4dcd2a9ce 100644 --- a/apps/console/src/pages/iam/organizations/settings/_components/OrganizationForm.tsx +++ b/apps/console/src/pages/iam/organizations/settings/_components/OrganizationForm.tsx @@ -14,12 +14,13 @@ import { useDialogRef, } from "@probo/ui"; import { useState, type ChangeEventHandler } from "react"; -import { useFormWithSchema } from "/hooks/useFormWithSchema"; -import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; import { graphql } from "relay-runtime"; -import z from "zod"; +import { z } from "zod"; import { useTranslate } from "@probo/i18n"; import { useFragment } from "react-relay"; + +import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; +import { useFormWithSchema } from "/hooks/useFormWithSchema"; import type { OrganizationFormFragment$key } from "/__generated__/iam/OrganizationFormFragment.graphql"; const fragment = graphql` diff --git a/apps/console/src/pages/iam/organizations/settings/_components/SAMLConfigurationForm.tsx b/apps/console/src/pages/iam/organizations/settings/_components/SAMLConfigurationForm.tsx index 446fc344b..03c85d640 100644 --- a/apps/console/src/pages/iam/organizations/settings/_components/SAMLConfigurationForm.tsx +++ b/apps/console/src/pages/iam/organizations/settings/_components/SAMLConfigurationForm.tsx @@ -11,7 +11,8 @@ import { Textarea, } from "@probo/ui"; import { Controller } from "react-hook-form"; -import z from "zod"; +import { z } from "zod"; + import { useFormWithSchema } from "/hooks/useFormWithSchema"; const defaultValues: SAMLConfigurationFormData = { diff --git a/apps/console/src/pages/iam/organizations/settings/_components/SAMLConfigurationList.tsx b/apps/console/src/pages/iam/organizations/settings/_components/SAMLConfigurationList.tsx index ca88bfc62..d200078f3 100644 --- a/apps/console/src/pages/iam/organizations/settings/_components/SAMLConfigurationList.tsx +++ b/apps/console/src/pages/iam/organizations/settings/_components/SAMLConfigurationList.tsx @@ -12,6 +12,8 @@ import { } from "@probo/ui"; import { ConnectionHandler, graphql } from "relay-runtime"; import { useFragment } from "react-relay"; +import { useCopy } from "@probo/hooks"; + import type { SAMLConfigurationListFragment$data, SAMLConfigurationListFragment$key, @@ -20,7 +22,6 @@ import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; import type { SAMLConfigurationList_deleteMutation } from "/__generated__/iam/SAMLConfigurationList_deleteMutation.graphql"; import { useOrganizationId } from "/hooks/useOrganizationId"; import type { NodeOf } from "/types"; -import { useCopy } from "@probo/hooks"; const fragment = graphql` fragment SAMLConfigurationListFragment on Organization { diff --git a/apps/console/src/pages/iam/organizations/settings/_components/SCIMConfiguration.tsx b/apps/console/src/pages/iam/organizations/settings/_components/SCIMConfiguration.tsx index bf2d4f67a..c26d507d3 100644 --- a/apps/console/src/pages/iam/organizations/settings/_components/SCIMConfiguration.tsx +++ b/apps/console/src/pages/iam/organizations/settings/_components/SCIMConfiguration.tsx @@ -11,12 +11,13 @@ import { IconRotateCw, IconTrashCan, } from "@probo/ui"; +import { formatError } from "@probo/helpers"; + import type { SCIMConfigurationCreateMutation } from "/__generated__/iam/SCIMConfigurationCreateMutation.graphql"; import type { SCIMConfigurationDeleteMutation } from "/__generated__/iam/SCIMConfigurationDeleteMutation.graphql"; import type { SCIMConfigurationRegenerateTokenMutation } from "/__generated__/iam/SCIMConfigurationRegenerateTokenMutation.graphql"; import type { SCIMConfigurationFragment$key } from "/__generated__/iam/SCIMConfigurationFragment.graphql"; import { useOrganizationId } from "/hooks/useOrganizationId"; -import { formatError } from "@probo/helpers"; const SCIMConfigurationFragment = graphql` fragment SCIMConfigurationFragment on SCIMConfiguration { diff --git a/apps/console/src/pages/iam/organizations/settings/_components/SCIMEventList.tsx b/apps/console/src/pages/iam/organizations/settings/_components/SCIMEventList.tsx index b42a6ad7e..177dee690 100644 --- a/apps/console/src/pages/iam/organizations/settings/_components/SCIMEventList.tsx +++ b/apps/console/src/pages/iam/organizations/settings/_components/SCIMEventList.tsx @@ -1,9 +1,11 @@ import { graphql, usePaginationFragment } from "react-relay"; -import type { SCIMEventListFragment$key } from "/__generated__/iam/SCIMEventListFragment.graphql"; -import type { SCIMEventListPaginationQuery } from "/__generated__/iam/SCIMEventListPaginationQuery.graphql"; import { useTranslate } from "@probo/i18n"; import { Thead, Tbody, Tr, Th, Td } from "@probo/ui"; + +import type { SCIMEventListFragment$key } from "/__generated__/iam/SCIMEventListFragment.graphql"; +import type { SCIMEventListPaginationQuery } from "/__generated__/iam/SCIMEventListPaginationQuery.graphql"; import { SortableTable } from "/components/SortableTable"; + import { SCIMEventListItem } from "./SCIMEventListItem"; const SCIMEventListFragment = graphql` diff --git a/apps/console/src/pages/iam/organizations/settings/_components/SCIMEventListItem.tsx b/apps/console/src/pages/iam/organizations/settings/_components/SCIMEventListItem.tsx index a0a65ea06..d4a9e5a00 100644 --- a/apps/console/src/pages/iam/organizations/settings/_components/SCIMEventListItem.tsx +++ b/apps/console/src/pages/iam/organizations/settings/_components/SCIMEventListItem.tsx @@ -1,10 +1,11 @@ import { useState } from "react"; import { useFragment } from "react-relay"; import { graphql } from "relay-runtime"; -import type { SCIMEventListItemFragment$key } from "/__generated__/iam/SCIMEventListItemFragment.graphql"; import { Td, Tr, Badge, IconChevronDown, IconChevronRight } from "@probo/ui"; import { formatDate } from "@probo/helpers"; +import type { SCIMEventListItemFragment$key } from "/__generated__/iam/SCIMEventListItemFragment.graphql"; + const SCIMEventListItemFragment = graphql` fragment SCIMEventListItemFragment on SCIMEvent { id diff --git a/apps/console/src/pages/organizations/assets/AssetDetailsPage.tsx b/apps/console/src/pages/organizations/assets/AssetDetailsPage.tsx index 6eec8d24b..e5fe67ac0 100644 --- a/apps/console/src/pages/organizations/assets/AssetDetailsPage.tsx +++ b/apps/console/src/pages/organizations/assets/AssetDetailsPage.tsx @@ -19,12 +19,8 @@ import { type PreloadedQuery, } from "react-relay"; import { useParams } from "react-router"; -import z from "zod"; -import { - assetNodeQuery, - useDeleteAsset, - useUpdateAsset, -} from "../../../hooks/graph/AssetGraph"; +import { z } from "zod"; + import { SnapshotBanner } from "/components/SnapshotBanner"; import { ControlledField } from "/components/form/ControlledField"; import { PeopleSelectField } from "/components/form/PeopleSelectField"; @@ -33,6 +29,12 @@ import type { AssetGraphNodeQuery } from "/__generated__/core/AssetGraphNodeQuer import { useFormWithSchema } from "/hooks/useFormWithSchema"; import { useOrganizationId } from "/hooks/useOrganizationId"; +import { + assetNodeQuery, + useDeleteAsset, + useUpdateAsset, +} from "../../../hooks/graph/AssetGraph"; + const updateAssetSchema = z.object({ name: z.string().min(1, "Name is required"), amount: z.number().min(1, "Amount is required"), diff --git a/apps/console/src/pages/organizations/assets/AssetsPage.tsx b/apps/console/src/pages/organizations/assets/AssetsPage.tsx index aa16670be..93cd43220 100644 --- a/apps/console/src/pages/organizations/assets/AssetsPage.tsx +++ b/apps/console/src/pages/organizations/assets/AssetsPage.tsx @@ -8,15 +8,18 @@ import { type PreloadedQuery, } from "react-relay"; import { useParams } from "react-router"; -import { AssetsTable } from "../../../components/assets/AssetsTable"; -import { ReadOnlyAssetsTable } from "../../../components/assets/ReadOnlyAssetsTable"; + import type { AssetsPageFragment$key } from "/__generated__/core/AssetsPageFragment.graphql"; -import { CreateAssetDialog } from "./dialogs/CreateAssetDialog"; import { SnapshotBanner } from "/components/SnapshotBanner"; import { assetsQuery } from "/hooks/graph/AssetGraph"; import type { AssetGraphListQuery } from "/__generated__/core/AssetGraphListQuery.graphql"; import { useOrganizationId } from "/hooks/useOrganizationId"; +import { ReadOnlyAssetsTable } from "../../../components/assets/ReadOnlyAssetsTable"; +import { AssetsTable } from "../../../components/assets/AssetsTable"; + +import { CreateAssetDialog } from "./dialogs/CreateAssetDialog"; + const paginatedAssetsFragment = graphql` fragment AssetsPageFragment on Organization @refetchable(queryName: "AssetsListQuery") diff --git a/apps/console/src/pages/organizations/assets/dialogs/CreateAssetDialog.tsx b/apps/console/src/pages/organizations/assets/dialogs/CreateAssetDialog.tsx index b4b2decc9..6d5cbe0e6 100644 --- a/apps/console/src/pages/organizations/assets/dialogs/CreateAssetDialog.tsx +++ b/apps/console/src/pages/organizations/assets/dialogs/CreateAssetDialog.tsx @@ -9,7 +9,8 @@ import { Breadcrumb, } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; -import z from "zod"; +import { z } from "zod"; + import { useFormWithSchema } from "/hooks/useFormWithSchema"; import { ControlledField } from "/components/form/ControlledField"; import { PeopleSelectField } from "/components/form/PeopleSelectField"; diff --git a/apps/console/src/pages/organizations/audits/AuditDetailsPage.tsx b/apps/console/src/pages/organizations/audits/AuditDetailsPage.tsx index 6badda453..968f991c2 100644 --- a/apps/console/src/pages/organizations/audits/AuditDetailsPage.tsx +++ b/apps/console/src/pages/organizations/audits/AuditDetailsPage.tsx @@ -3,13 +3,6 @@ import { usePreloadedQuery, type PreloadedQuery, } from "react-relay"; -import { - auditNodeQuery, - useDeleteAudit, - useUpdateAudit, - useUploadAuditReport, - useDeleteAuditReport, -} from "../../../hooks/graph/AuditGraph"; import { ActionDropdown, Badge, @@ -28,10 +21,7 @@ import { FrameworkLogo, } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; -import { useOrganizationId } from "/hooks/useOrganizationId"; -import { ControlledField } from "/components/form/ControlledField"; -import { useFormWithSchema } from "/hooks/useFormWithSchema"; -import z from "zod"; +import { z } from "zod"; import { getAuditStateLabel, getAuditStateVariant, @@ -43,9 +33,21 @@ import { formatDate, type GraphQLError, } from "@probo/helpers"; -import type { AuditGraphNodeQuery } from "/__generated__/core/AuditGraphNodeQuery.graphql"; import { useNavigate } from "react-router"; +import { useOrganizationId } from "/hooks/useOrganizationId"; +import { ControlledField } from "/components/form/ControlledField"; +import { useFormWithSchema } from "/hooks/useFormWithSchema"; +import type { AuditGraphNodeQuery } from "/__generated__/core/AuditGraphNodeQuery.graphql"; + +import { + auditNodeQuery, + useDeleteAudit, + useUpdateAudit, + useUploadAuditReport, + useDeleteAuditReport, +} from "../../../hooks/graph/AuditGraph"; + const updateAuditSchema = z.object({ name: z.string().nullable().optional(), validFrom: z.string().optional(), diff --git a/apps/console/src/pages/organizations/audits/AuditsPage.tsx b/apps/console/src/pages/organizations/audits/AuditsPage.tsx index 5e5860b02..eb3dcb1e9 100644 --- a/apps/console/src/pages/organizations/audits/AuditsPage.tsx +++ b/apps/console/src/pages/organizations/audits/AuditsPage.tsx @@ -20,22 +20,25 @@ import { usePreloadedQuery, type PreloadedQuery, } from "react-relay"; -import { useOrganizationId } from "/hooks/useOrganizationId"; -import { CreateAuditDialog } from "./dialogs/CreateAuditDialog"; -import { useDeleteAudit, auditsQuery } from "../../../hooks/graph/AuditGraph"; -import type { AuditGraphListQuery } from "/__generated__/core/AuditGraphListQuery.graphql"; -import type { NodeOf } from "/types"; import { getAuditStateLabel, getAuditStateVariant, formatDate, } from "@probo/helpers"; + +import type { AuditGraphListQuery } from "/__generated__/core/AuditGraphListQuery.graphql"; +import type { NodeOf } from "/types"; +import { useOrganizationId } from "/hooks/useOrganizationId"; import type { AuditsPageFragment$data, AuditsPageFragment$key, } from "/__generated__/core/AuditsPageFragment.graphql"; import { SortableTable } from "/components/SortableTable"; +import { useDeleteAudit, auditsQuery } from "../../../hooks/graph/AuditGraph"; + +import { CreateAuditDialog } from "./dialogs/CreateAuditDialog"; + const paginatedAuditsFragment = graphql` fragment AuditsPageFragment on Organization @refetchable(queryName: "AuditsListQuery") diff --git a/apps/console/src/pages/organizations/audits/dialogs/CreateAuditDialog.tsx b/apps/console/src/pages/organizations/audits/dialogs/CreateAuditDialog.tsx index c062e11ff..1f0f9de42 100644 --- a/apps/console/src/pages/organizations/audits/dialogs/CreateAuditDialog.tsx +++ b/apps/console/src/pages/organizations/audits/dialogs/CreateAuditDialog.tsx @@ -12,10 +12,7 @@ import { useToast, } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; -import z from "zod"; -import { useFormWithSchema } from "/hooks/useFormWithSchema"; -import { ControlledField } from "/components/form/ControlledField"; -import { useCreateAudit } from "/hooks/graph/AuditGraph"; +import { z } from "zod"; import { auditStates, getAuditStateLabel, @@ -27,6 +24,10 @@ import { useLazyLoadQuery } from "react-relay"; import { graphql } from "relay-runtime"; import { Suspense } from "react"; import { Controller, type Control } from "react-hook-form"; + +import { useCreateAudit } from "/hooks/graph/AuditGraph"; +import { ControlledField } from "/components/form/ControlledField"; +import { useFormWithSchema } from "/hooks/useFormWithSchema"; import type { CreateAuditDialogFrameworksQuery } from "/__generated__/core/CreateAuditDialogFrameworksQuery.graphql"; const frameworksQuery = graphql` diff --git a/apps/console/src/pages/organizations/continualImprovements/ContinualImprovementDetailsPage.tsx b/apps/console/src/pages/organizations/continualImprovements/ContinualImprovementDetailsPage.tsx index 84ce5f6d4..ad85230c2 100644 --- a/apps/console/src/pages/organizations/continualImprovements/ContinualImprovementDetailsPage.tsx +++ b/apps/console/src/pages/organizations/continualImprovements/ContinualImprovementDetailsPage.tsx @@ -3,12 +3,6 @@ import { usePreloadedQuery, type PreloadedQuery, } from "react-relay"; -import { - continualImprovementNodeQuery, - useDeleteContinualImprovement, - useUpdateContinualImprovement, - ContinualImprovementsConnectionKey, -} from "../../../hooks/graph/ContinualImprovementGraph"; import { ActionDropdown, Badge, @@ -26,21 +20,29 @@ import { } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; import { useParams } from "react-router"; -import { useOrganizationId } from "/hooks/useOrganizationId"; -import { PeopleSelectField } from "/components/form/PeopleSelectField"; -import { useFormWithSchema } from "/hooks/useFormWithSchema"; import { Controller } from "react-hook-form"; import { formatError, type GraphQLError } from "@probo/helpers"; -import z from "zod"; +import { z } from "zod"; import { getStatusVariant, getStatusLabel, formatDatetime, validateSnapshotConsistency, } from "@probo/helpers"; + +import { useFormWithSchema } from "/hooks/useFormWithSchema"; +import { PeopleSelectField } from "/components/form/PeopleSelectField"; +import { useOrganizationId } from "/hooks/useOrganizationId"; import { SnapshotBanner } from "/components/SnapshotBanner"; import type { ContinualImprovementGraphNodeQuery } from "/__generated__/core/ContinualImprovementGraphNodeQuery.graphql"; +import { + continualImprovementNodeQuery, + useDeleteContinualImprovement, + useUpdateContinualImprovement, + ContinualImprovementsConnectionKey, +} from "../../../hooks/graph/ContinualImprovementGraph"; + const updateImprovementSchema = z.object({ referenceId: z.string().min(1, "Reference ID is required"), description: z.string().optional(), diff --git a/apps/console/src/pages/organizations/continualImprovements/ContinualImprovementsPage.tsx b/apps/console/src/pages/organizations/continualImprovements/ContinualImprovementsPage.tsx index d79dd8e37..99db0c835 100644 --- a/apps/console/src/pages/organizations/continualImprovements/ContinualImprovementsPage.tsx +++ b/apps/console/src/pages/organizations/continualImprovements/ContinualImprovementsPage.tsx @@ -25,14 +25,7 @@ import { useMutation, type PreloadedQuery, } from "react-relay"; -import { useOrganizationId } from "/hooks/useOrganizationId"; import { useParams } from "react-router"; -import { CreateContinualImprovementDialog } from "./dialogs/CreateContinualImprovementDialog"; -import { - deleteContinualImprovementMutation, - ContinualImprovementsConnectionKey, - continualImprovementsQuery, -} from "../../../hooks/graph/ContinualImprovementGraph"; import { sprintf, promisifyMutation, @@ -40,6 +33,8 @@ import { getStatusLabel, formatDate, } from "@probo/helpers"; + +import { useOrganizationId } from "/hooks/useOrganizationId"; import { SnapshotBanner } from "/components/SnapshotBanner"; import type { NodeOf } from "/types"; import type { @@ -48,6 +43,14 @@ import type { } from "/__generated__/core/ContinualImprovementsPageFragment.graphql"; import type { ContinualImprovementGraphListQuery } from "/__generated__/core/ContinualImprovementGraphListQuery.graphql"; +import { + deleteContinualImprovementMutation, + ContinualImprovementsConnectionKey, + continualImprovementsQuery, +} from "../../../hooks/graph/ContinualImprovementGraph"; + +import { CreateContinualImprovementDialog } from "./dialogs/CreateContinualImprovementDialog"; + interface ContinualImprovementsPageProps { queryRef: PreloadedQuery; } diff --git a/apps/console/src/pages/organizations/continualImprovements/dialogs/CreateContinualImprovementDialog.tsx b/apps/console/src/pages/organizations/continualImprovements/dialogs/CreateContinualImprovementDialog.tsx index 3db37da33..220a963e0 100644 --- a/apps/console/src/pages/organizations/continualImprovements/dialogs/CreateContinualImprovementDialog.tsx +++ b/apps/console/src/pages/organizations/continualImprovements/dialogs/CreateContinualImprovementDialog.tsx @@ -16,13 +16,15 @@ import { } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; import { z } from "zod"; -import { useFormWithSchema } from "/hooks/useFormWithSchema"; -import { useCreateContinualImprovement } from "../../../../hooks/graph/ContinualImprovementGraph"; -import { PeopleSelectField } from "/components/form/PeopleSelectField"; import { Controller } from "react-hook-form"; import { formatError, type GraphQLError } from "@probo/helpers"; import { formatDatetime } from "@probo/helpers"; +import { PeopleSelectField } from "/components/form/PeopleSelectField"; +import { useFormWithSchema } from "/hooks/useFormWithSchema"; + +import { useCreateContinualImprovement } from "../../../../hooks/graph/ContinualImprovementGraph"; + const schema = z.object({ referenceId: z.string().min(1, "Reference ID is required"), description: z.string().optional(), diff --git a/apps/console/src/pages/organizations/data/DataPage.tsx b/apps/console/src/pages/organizations/data/DataPage.tsx index 0b4a0d3a4..0fb96da65 100644 --- a/apps/console/src/pages/organizations/data/DataPage.tsx +++ b/apps/console/src/pages/organizations/data/DataPage.tsx @@ -22,11 +22,10 @@ import { type PreloadedQuery, } from "react-relay"; import { useParams } from "react-router"; -import { useOrganizationId } from "/hooks/useOrganizationId"; -import { CreateDatumDialog } from "./dialogs/CreateDatumDialog"; -import { useDeleteDatum, dataQuery } from "../../../hooks/graph/DatumGraph"; -import type { DatumGraphListQuery } from "/__generated__/core/DatumGraphListQuery.graphql"; import { faviconUrl } from "@probo/helpers"; + +import type { DatumGraphListQuery } from "/__generated__/core/DatumGraphListQuery.graphql"; +import { useOrganizationId } from "/hooks/useOrganizationId"; import type { NodeOf } from "/types"; import type { DataPageFragment$key, @@ -36,6 +35,10 @@ import type { DataListQuery } from "/__generated__/core/DataListQuery.graphql"; import { SortableTable } from "/components/SortableTable"; import { SnapshotBanner } from "/components/SnapshotBanner"; +import { useDeleteDatum, dataQuery } from "../../../hooks/graph/DatumGraph"; + +import { CreateDatumDialog } from "./dialogs/CreateDatumDialog"; + const paginatedDataFragment = graphql` fragment DataPageFragment on Organization @refetchable(queryName: "DataListQuery") diff --git a/apps/console/src/pages/organizations/data/DatumDetailsPage.tsx b/apps/console/src/pages/organizations/data/DatumDetailsPage.tsx index f371ad031..ff0c2ddc8 100644 --- a/apps/console/src/pages/organizations/data/DatumDetailsPage.tsx +++ b/apps/console/src/pages/organizations/data/DatumDetailsPage.tsx @@ -4,11 +4,6 @@ import { usePreloadedQuery, } from "react-relay"; import { useParams } from "react-router"; -import { - datumNodeQuery, - useDeleteDatum, - useUpdateDatum, -} from "/hooks/graph/DatumGraph"; import { ActionDropdown, Badge, @@ -20,14 +15,20 @@ import { Option, } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; +import { z } from "zod"; +import { validateSnapshotConsistency } from "@probo/helpers"; + +import { + datumNodeQuery, + useDeleteDatum, + useUpdateDatum, +} from "/hooks/graph/DatumGraph"; import { useOrganizationId } from "/hooks/useOrganizationId"; import { ControlledField } from "/components/form/ControlledField"; import { PeopleSelectField } from "/components/form/PeopleSelectField"; import { VendorsMultiSelectField } from "/components/form/VendorsMultiSelectField"; import { useFormWithSchema } from "/hooks/useFormWithSchema"; -import z from "zod"; import { SnapshotBanner } from "/components/SnapshotBanner"; -import { validateSnapshotConsistency } from "@probo/helpers"; import type { DatumGraphNodeQuery } from "/__generated__/core/DatumGraphNodeQuery.graphql"; const updateDatumSchema = z.object({ diff --git a/apps/console/src/pages/organizations/data/dialogs/CreateDatumDialog.tsx b/apps/console/src/pages/organizations/data/dialogs/CreateDatumDialog.tsx index 85ea21ae1..d03bd43e0 100644 --- a/apps/console/src/pages/organizations/data/dialogs/CreateDatumDialog.tsx +++ b/apps/console/src/pages/organizations/data/dialogs/CreateDatumDialog.tsx @@ -9,11 +9,13 @@ import { Breadcrumb, } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; -import z from "zod"; +import { z } from "zod"; + import { useFormWithSchema } from "/hooks/useFormWithSchema"; import { ControlledField } from "/components/form/ControlledField"; import { PeopleSelectField } from "/components/form/PeopleSelectField"; import { VendorsMultiSelectField } from "/components/form/VendorsMultiSelectField"; + import { useCreateDatum } from "../../../../hooks/graph/DatumGraph"; const schema = z.object({ diff --git a/apps/console/src/pages/organizations/documents/DocumentDetailPage.tsx b/apps/console/src/pages/organizations/documents/DocumentDetailPage.tsx index d05438275..226eec9ca 100644 --- a/apps/console/src/pages/organizations/documents/DocumentDetailPage.tsx +++ b/apps/console/src/pages/organizations/documents/DocumentDetailPage.tsx @@ -5,19 +5,7 @@ import { useFragment, usePreloadedQuery, } from "react-relay"; -import type { DocumentGraphNodeQuery } from "/__generated__/core/DocumentGraphNodeQuery.graphql"; -import { - documentNodeQuery, - useDeleteDocumentMutation, - useDeleteDraftDocumentVersionMutation, -} from "/hooks/graph/DocumentGraph"; import { usePageTitle } from "@probo/hooks"; -import type { - DocumentDetailPageDocumentFragment$data, - DocumentDetailPageDocumentFragment$key, -} from "/__generated__/core/DocumentDetailPageDocumentFragment.graphql"; -import type { DocumentDetailPageExportPDFMutation } from "/__generated__/core/DocumentDetailPageExportPDFMutation.graphql"; -import type { DocumentDetailPageUpdateMutation } from "/__generated__/core/DocumentDetailPageUpdateMutation.graphql"; import { useTranslate } from "@probo/i18n"; import { ActionDropdown, @@ -43,8 +31,6 @@ import { Tabs, useConfirm, } from "@probo/ui"; -import { useOrganizationId } from "/hooks/useOrganizationId"; -import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; import { getDocumentTypeLabel, getDocumentClassificationLabel, @@ -60,22 +46,38 @@ import { useNavigate, useParams, } from "react-router"; -import UpdateVersionDialog from "./dialogs/UpdateVersionDialog"; +import { use, useRef, useState } from "react"; +import { clsx } from "clsx"; +import { z } from "zod"; + import { PdfDownloadDialog, type PdfDownloadDialogRef, } from "/components/documents/PdfDownloadDialog"; -import { use, useRef, useState } from "react"; import type { NodeOf } from "/types.ts"; -import clsx from "clsx"; import { PeopleSelectField } from "/components/form/PeopleSelectField"; import { ControlledField } from "/components/form/ControlledField"; import { DocumentTypeOptions } from "/components/form/DocumentTypeOptions"; import { DocumentClassificationOptions } from "/components/form/DocumentClassificationOptions"; -import { z } from "zod"; +import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; +import { useOrganizationId } from "/hooks/useOrganizationId"; +import type { DocumentDetailPageUpdateMutation } from "/__generated__/core/DocumentDetailPageUpdateMutation.graphql"; +import type { DocumentDetailPageExportPDFMutation } from "/__generated__/core/DocumentDetailPageExportPDFMutation.graphql"; +import type { + DocumentDetailPageDocumentFragment$data, + DocumentDetailPageDocumentFragment$key, +} from "/__generated__/core/DocumentDetailPageDocumentFragment.graphql"; +import { + documentNodeQuery, + useDeleteDocumentMutation, + useDeleteDraftDocumentVersionMutation, +} from "/hooks/graph/DocumentGraph"; +import type { DocumentGraphNodeQuery } from "/__generated__/core/DocumentGraphNodeQuery.graphql"; import { useFormWithSchema } from "/hooks/useFormWithSchema"; import { CurrentUser } from "/providers/CurrentUser"; +import UpdateVersionDialog from "./dialogs/UpdateVersionDialog"; + type Props = { queryRef: PreloadedQuery; }; diff --git a/apps/console/src/pages/organizations/documents/DocumentsPage.tsx b/apps/console/src/pages/organizations/documents/DocumentsPage.tsx index 346d63b05..86a69617b 100644 --- a/apps/console/src/pages/organizations/documents/DocumentsPage.tsx +++ b/apps/console/src/pages/organizations/documents/DocumentsPage.tsx @@ -30,6 +30,14 @@ import { } from "react-relay"; import { use, useRef } from "react"; import { graphql } from "relay-runtime"; +import { useList, usePageTitle } from "@probo/hooks"; +import { + sprintf, + getDocumentTypeLabel, + getDocumentClassificationLabel, + formatDate, +} from "@probo/helpers"; + import type { DocumentGraphListQuery } from "/__generated__/core/DocumentGraphListQuery.graphql"; import { documentsQuery, @@ -39,24 +47,18 @@ import { useBulkExportDocumentsMutation, } from "/hooks/graph/DocumentGraph"; import type { DocumentsPageListFragment$key } from "/__generated__/core/DocumentsPageListFragment.graphql"; -import { useList, usePageTitle } from "@probo/hooks"; -import { - sprintf, - getDocumentTypeLabel, - getDocumentClassificationLabel, - formatDate, -} from "@probo/helpers"; -import { CreateDocumentDialog } from "./dialogs/CreateDocumentDialog"; import type { DocumentsPageRowFragment$key } from "/__generated__/core/DocumentsPageRowFragment.graphql"; import { SortableTable, SortableTh } from "/components/SortableTable"; -import { PublishDocumentsDialog } from "./dialogs/PublishDocumentsDialog.tsx"; -import { SignatureDocumentsDialog } from "./dialogs/SignatureDocumentsDialog.tsx"; import { BulkExportDialog, type BulkExportDialogRef, } from "/components/documents/BulkExportDialog"; import { CurrentUser } from "/providers/CurrentUser.tsx"; +import { CreateDocumentDialog } from "./dialogs/CreateDocumentDialog"; +import { PublishDocumentsDialog } from "./dialogs/PublishDocumentsDialog.tsx"; +import { SignatureDocumentsDialog } from "./dialogs/SignatureDocumentsDialog.tsx"; + const documentsFragment = graphql` fragment DocumentsPageListFragment on Organization @refetchable(queryName: "DocumentsListQuery") diff --git a/apps/console/src/pages/organizations/documents/dialogs/CreateDocumentDialog.tsx b/apps/console/src/pages/organizations/documents/dialogs/CreateDocumentDialog.tsx index b45ef2161..3fb4b2cdd 100644 --- a/apps/console/src/pages/organizations/documents/dialogs/CreateDocumentDialog.tsx +++ b/apps/console/src/pages/organizations/documents/dialogs/CreateDocumentDialog.tsx @@ -14,6 +14,8 @@ import { } from "@probo/ui"; import { type ReactNode } from "react"; import { graphql } from "relay-runtime"; +import type { z } from "zod"; + import { useOrganizationId } from "/hooks/useOrganizationId"; import { documentSchema, useDocumentForm } from "/hooks/forms/useDocumentForm"; import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; @@ -22,7 +24,6 @@ import type { CreateDocumentDialogMutation } from "/__generated__/core/CreateDoc import { ControlledField } from "/components/form/ControlledField"; import { DocumentTypeOptions } from "/components/form/DocumentTypeOptions"; import { DocumentClassificationOptions } from "/components/form/DocumentClassificationOptions"; -import type z from "zod"; type Props = { trigger?: ReactNode; diff --git a/apps/console/src/pages/organizations/documents/dialogs/PublishDocumentsDialog.tsx b/apps/console/src/pages/organizations/documents/dialogs/PublishDocumentsDialog.tsx index 54d1c2f31..942df3e98 100644 --- a/apps/console/src/pages/organizations/documents/dialogs/PublishDocumentsDialog.tsx +++ b/apps/console/src/pages/organizations/documents/dialogs/PublishDocumentsDialog.tsx @@ -9,10 +9,11 @@ import { } from "@probo/ui"; import { type ReactNode } from "react"; import { useTranslate } from "@probo/i18n"; -import z from "zod"; -import { useFormWithSchema } from "/hooks/useFormWithSchema.ts"; +import { z } from "zod"; import { graphql } from "relay-runtime"; import { sprintf } from "@probo/helpers"; + +import { useFormWithSchema } from "/hooks/useFormWithSchema.ts"; import { useMutationWithToasts } from "/hooks/useMutationWithToasts.ts"; import type { PublishDocumentsDialogMutation } from "/__generated__/core/PublishDocumentsDialogMutation.graphql.ts"; diff --git a/apps/console/src/pages/organizations/documents/dialogs/SignatureDocumentsDialog.tsx b/apps/console/src/pages/organizations/documents/dialogs/SignatureDocumentsDialog.tsx index 029dad4f4..c64853915 100644 --- a/apps/console/src/pages/organizations/documents/dialogs/SignatureDocumentsDialog.tsx +++ b/apps/console/src/pages/organizations/documents/dialogs/SignatureDocumentsDialog.tsx @@ -18,17 +18,18 @@ import { Suspense, type ReactNode } from "react"; import { useTranslate } from "@probo/i18n"; import { graphql } from "relay-runtime"; import { sprintf } from "@probo/helpers"; +import { z } from "zod"; +import { useList } from "@probo/hooks"; +import { useLazyLoadQuery, usePaginationFragment } from "react-relay"; + import { useMutationWithToasts } from "/hooks/useMutationWithToasts.ts"; import { useOrganizationId } from "/hooks/useOrganizationId.ts"; import type { SignatureDocumentsDialogMutation } from "/__generated__/core/SignatureDocumentsDialogMutation.graphql.ts"; import { useFormWithSchema } from "/hooks/useFormWithSchema.ts"; -import z from "zod"; import { paginatedPeopleFragment, paginatedPeopleQuery, } from "/hooks/graph/PeopleGraph.ts"; -import { useList } from "@probo/hooks"; -import { useLazyLoadQuery, usePaginationFragment } from "react-relay"; import type { PeopleGraphPaginatedFragment$key } from "/__generated__/core/PeopleGraphPaginatedFragment.graphql.ts"; import type { PeopleGraphPaginatedQuery } from "/__generated__/core/PeopleGraphPaginatedQuery.graphql.ts"; diff --git a/apps/console/src/pages/organizations/documents/dialogs/UpdateVersionDialog.tsx b/apps/console/src/pages/organizations/documents/dialogs/UpdateVersionDialog.tsx index c6d95c198..1ded6c1df 100644 --- a/apps/console/src/pages/organizations/documents/dialogs/UpdateVersionDialog.tsx +++ b/apps/console/src/pages/organizations/documents/dialogs/UpdateVersionDialog.tsx @@ -13,9 +13,10 @@ import { import { useEffect, type RefObject } from "react"; import { graphql } from "relay-runtime"; import { useMutation } from "react-relay"; +import { z } from "zod"; + import type { UpdateVersionDialogCreateMutation } from "/__generated__/core/UpdateVersionDialogCreateMutation.graphql"; import type { UpdateVersionDialogUpdateMutation } from "/__generated__/core/UpdateVersionDialogUpdateMutation.graphql"; -import { z } from "zod"; import { useFormWithSchema } from "/hooks/useFormWithSchema"; import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; import type { DocumentDetailPageDocumentFragment$data } from "/__generated__/core/DocumentDetailPageDocumentFragment.graphql"; diff --git a/apps/console/src/pages/organizations/documents/tabs/DocumentControlsTab.tsx b/apps/console/src/pages/organizations/documents/tabs/DocumentControlsTab.tsx index 5057987ca..95ae68184 100644 --- a/apps/console/src/pages/organizations/documents/tabs/DocumentControlsTab.tsx +++ b/apps/console/src/pages/organizations/documents/tabs/DocumentControlsTab.tsx @@ -1,7 +1,8 @@ -import { LinkedControlsCard } from "/components/controls/LinkedControlsCard"; import { useOutletContext } from "react-router"; import { graphql } from "relay-runtime"; import { useRefetchableFragment } from "react-relay"; + +import { LinkedControlsCard } from "/components/controls/LinkedControlsCard"; import type { DocumentControlsTabFragment$key } from "/__generated__/core/DocumentControlsTabFragment.graphql"; import { useMutationWithIncrement } from "/hooks/useMutationWithIncrement"; diff --git a/apps/console/src/pages/organizations/documents/tabs/DocumentDescriptionTab.tsx b/apps/console/src/pages/organizations/documents/tabs/DocumentDescriptionTab.tsx index afca04f66..a330598e1 100644 --- a/apps/console/src/pages/organizations/documents/tabs/DocumentDescriptionTab.tsx +++ b/apps/console/src/pages/organizations/documents/tabs/DocumentDescriptionTab.tsx @@ -1,7 +1,8 @@ import { useOutletContext } from "react-router"; +import { Markdown } from "@probo/ui"; + import type { DocumentDetailPageDocumentFragment$data } from "/__generated__/core/DocumentDetailPageDocumentFragment.graphql"; import type { NodeOf } from "/types"; -import { Markdown } from "@probo/ui"; export default function DocumentDescriptionTab() { const { version } = useOutletContext<{ diff --git a/apps/console/src/pages/organizations/documents/tabs/DocumentSignaturesTab.tsx b/apps/console/src/pages/organizations/documents/tabs/DocumentSignaturesTab.tsx index 94ac41fce..106f01ae4 100644 --- a/apps/console/src/pages/organizations/documents/tabs/DocumentSignaturesTab.tsx +++ b/apps/console/src/pages/organizations/documents/tabs/DocumentSignaturesTab.tsx @@ -9,14 +9,15 @@ import { } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; import { Suspense, useState, useEffect, useRef } from "react"; -import type { ItemOf, NodeOf } from "/types"; import { graphql, useFragment, useRefetchableFragment } from "react-relay"; +import { sprintf } from "@probo/helpers"; +import { useOutletContext } from "react-router"; + +import type { ItemOf, NodeOf } from "/types"; import { usePeople } from "/hooks/graph/PeopleGraph.ts"; import { useOrganizationId } from "/hooks/useOrganizationId.ts"; import { useMutationWithToasts } from "/hooks/useMutationWithToasts.ts"; -import { sprintf } from "@probo/helpers"; import type { DocumentDetailPageDocumentFragment$data } from "/__generated__/core/DocumentDetailPageDocumentFragment.graphql"; -import { useOutletContext } from "react-router"; import type { DocumentSignaturesTab_signature$key } from "/__generated__/core/DocumentSignaturesTab_signature.graphql.ts"; import type { DocumentSignaturesTab_version$key } from "/__generated__/core/DocumentSignaturesTab_version.graphql.ts"; import type { DocumentSignaturesTabRefetchQuery } from "/__generated__/core/DocumentSignaturesTabRefetchQuery.graphql"; diff --git a/apps/console/src/pages/organizations/employee/EmployeeDocumentSignaturePage.tsx b/apps/console/src/pages/organizations/employee/EmployeeDocumentSignaturePage.tsx index a2a3b624e..688504758 100644 --- a/apps/console/src/pages/organizations/employee/EmployeeDocumentSignaturePage.tsx +++ b/apps/console/src/pages/organizations/employee/EmployeeDocumentSignaturePage.tsx @@ -1,5 +1,5 @@ import { useTranslate } from "@probo/i18n"; -import { Card, Spinner } from "@probo/ui"; +import { Card, Spinner, useToast } from "@probo/ui"; import { usePreloadedQuery, useFragment, @@ -7,18 +7,19 @@ import { type PreloadedQuery, } from "react-relay"; import { graphql } from "react-relay"; -import type { EmployeeDocumentSignaturePageQuery } from "/__generated__/core/EmployeeDocumentSignaturePageQuery.graphql"; import { usePageTitle } from "@probo/hooks"; -import type { EmployeeDocumentSignaturePageSignMutation } from "/__generated__/core/EmployeeDocumentSignaturePageSignMutation.graphql"; -import type { EmployeeDocumentSignaturePageExportSignablePDFMutation } from "/__generated__/core/EmployeeDocumentSignaturePageExportSignablePDFMutation.graphql"; import { useNavigate } from "react-router"; -import { useOrganizationId } from "/hooks/useOrganizationId"; -import { PDFPreview } from "/components/documents/PDFPreview"; import { useWindowSize } from "usehooks-ts"; import { useState, useEffect, useRef } from "react"; -import type { EmployeeDocumentSignaturePageDocumentFragment$key } from "/__generated__/core/EmployeeDocumentSignaturePageDocumentFragment.graphql"; -import { useToast } from "@probo/ui"; import { formatError, type GraphQLError } from "@probo/helpers"; + +import type { EmployeeDocumentSignaturePageQuery } from "/__generated__/core/EmployeeDocumentSignaturePageQuery.graphql"; +import type { EmployeeDocumentSignaturePageSignMutation } from "/__generated__/core/EmployeeDocumentSignaturePageSignMutation.graphql"; +import type { EmployeeDocumentSignaturePageExportSignablePDFMutation } from "/__generated__/core/EmployeeDocumentSignaturePageExportSignablePDFMutation.graphql"; +import { useOrganizationId } from "/hooks/useOrganizationId"; +import { PDFPreview } from "/components/documents/PDFPreview"; +import type { EmployeeDocumentSignaturePageDocumentFragment$key } from "/__generated__/core/EmployeeDocumentSignaturePageDocumentFragment.graphql"; + import { VersionActions } from "./_components/VersionActions"; import { VersionRow } from "./_components/VersionRow"; diff --git a/apps/console/src/pages/organizations/employee/EmployeeDocumentSignaturePageLoader.tsx b/apps/console/src/pages/organizations/employee/EmployeeDocumentSignaturePageLoader.tsx index 013dcda9f..508dbb998 100644 --- a/apps/console/src/pages/organizations/employee/EmployeeDocumentSignaturePageLoader.tsx +++ b/apps/console/src/pages/organizations/employee/EmployeeDocumentSignaturePageLoader.tsx @@ -1,13 +1,15 @@ import { useQueryLoader } from "react-relay"; import { Suspense, useEffect } from "react"; -import { PageSkeleton } from "/components/skeletons/PageSkeleton"; import { useParams } from "react-router"; + +import { PageSkeleton } from "/components/skeletons/PageSkeleton"; import type { EmployeeDocumentSignaturePageQuery } from "/__generated__/core/EmployeeDocumentSignaturePageQuery.graphql"; +import { CoreRelayProvider } from "/providers/CoreRelayProvider"; + import { EmployeeDocumentSignaturePage, employeeDocumentSignaturePageQuery, } from "./EmployeeDocumentSignaturePage"; -import { CoreRelayProvider } from "/providers/CoreRelayProvider"; function EmployeeDocumentSignaturePageLoader() { const { documentId } = useParams(); diff --git a/apps/console/src/pages/organizations/employee/EmployeeDocumentsPage.tsx b/apps/console/src/pages/organizations/employee/EmployeeDocumentsPage.tsx index 4e2d91893..1980de07d 100644 --- a/apps/console/src/pages/organizations/employee/EmployeeDocumentsPage.tsx +++ b/apps/console/src/pages/organizations/employee/EmployeeDocumentsPage.tsx @@ -1,9 +1,11 @@ import { graphql, usePreloadedQuery, type PreloadedQuery } from "react-relay"; import { useTranslate } from "@probo/i18n"; import { PageHeader, Tbody, Thead, Tr, Th, Card } from "@probo/ui"; -import type { EmployeeDocumentsPageQuery } from "/__generated__/core/EmployeeDocumentsPageQuery.graphql"; import { usePageTitle } from "@probo/hooks"; + +import type { EmployeeDocumentsPageQuery } from "/__generated__/core/EmployeeDocumentsPageQuery.graphql"; import { useOrganizationId } from "/hooks/useOrganizationId"; + import { DocumentRow } from "./_components/DocumentRow"; export const employeeDocumentsPageQuery = graphql` diff --git a/apps/console/src/pages/organizations/employee/EmployeeDocumentsPageLoader.tsx b/apps/console/src/pages/organizations/employee/EmployeeDocumentsPageLoader.tsx index 753f1dfcd..c21f62741 100644 --- a/apps/console/src/pages/organizations/employee/EmployeeDocumentsPageLoader.tsx +++ b/apps/console/src/pages/organizations/employee/EmployeeDocumentsPageLoader.tsx @@ -1,13 +1,15 @@ import { useQueryLoader } from "react-relay"; import { Suspense, useEffect } from "react"; + import { PageSkeleton } from "/components/skeletons/PageSkeleton"; import { useOrganizationId } from "/hooks/useOrganizationId"; import type { EmployeeDocumentsPageQuery } from "/__generated__/core/EmployeeDocumentsPageQuery.graphql"; +import { CoreRelayProvider } from "/providers/CoreRelayProvider"; + import { EmployeeDocumentsPage, employeeDocumentsPageQuery, } from "./EmployeeDocumentsPage"; -import { CoreRelayProvider } from "/providers/CoreRelayProvider"; function EmployeeDocumentsPageLoader() { const organizationId = useOrganizationId(); diff --git a/apps/console/src/pages/organizations/employee/EmployeeLayoutLoader.tsx b/apps/console/src/pages/organizations/employee/EmployeeLayoutLoader.tsx index a39224433..634a5d82c 100644 --- a/apps/console/src/pages/organizations/employee/EmployeeLayoutLoader.tsx +++ b/apps/console/src/pages/organizations/employee/EmployeeLayoutLoader.tsx @@ -1,13 +1,15 @@ import { useQueryLoader } from "react-relay"; import { Suspense, useEffect } from "react"; import { Skeleton } from "@probo/ui"; + import { useOrganizationId } from "/hooks/useOrganizationId"; import { IAMRelayProvider } from "/providers/IAMRelayProvider"; +import type { ViewerMembershipLayoutQuery } from "/__generated__/iam/ViewerMembershipLayoutQuery.graphql"; + import { ViewerMembershipLayout, viewerMembershipLayoutQuery, } from "../../iam/organizations/ViewerMembershipLayout"; -import type { ViewerMembershipLayoutQuery } from "/__generated__/iam/ViewerMembershipLayoutQuery.graphql"; function EmployeeLayoutLoader() { const organizationId = useOrganizationId(); diff --git a/apps/console/src/pages/organizations/employee/_components/DocumentRow.tsx b/apps/console/src/pages/organizations/employee/_components/DocumentRow.tsx index 4e6ad7192..97b1a32aa 100644 --- a/apps/console/src/pages/organizations/employee/_components/DocumentRow.tsx +++ b/apps/console/src/pages/organizations/employee/_components/DocumentRow.tsx @@ -1,12 +1,12 @@ import { useTranslate } from "@probo/i18n"; import { Tr, Td, Badge } from "@probo/ui"; -import { useFragment } from "react-relay"; -import { graphql } from "react-relay"; +import { useFragment, graphql } from "react-relay"; import { getDocumentClassificationLabel, getDocumentTypeLabel, formatDate, } from "@probo/helpers"; + import type { DocumentRowFragment$key } from "/__generated__/core/DocumentRowFragment.graphql"; const fragment = graphql` diff --git a/apps/console/src/pages/organizations/employee/_components/VersionActions.tsx b/apps/console/src/pages/organizations/employee/_components/VersionActions.tsx index c6e118990..14eef9bdd 100644 --- a/apps/console/src/pages/organizations/employee/_components/VersionActions.tsx +++ b/apps/console/src/pages/organizations/employee/_components/VersionActions.tsx @@ -1,7 +1,7 @@ import { useTranslate } from "@probo/i18n"; import { Button, Spinner } from "@probo/ui"; -import { useFragment } from "react-relay"; -import { graphql } from "react-relay"; +import { useFragment, graphql } from "react-relay"; + import type { VersionActionsFragment$key } from "/__generated__/core/VersionActionsFragment.graphql"; const fragment = graphql` diff --git a/apps/console/src/pages/organizations/employee/_components/VersionRow.tsx b/apps/console/src/pages/organizations/employee/_components/VersionRow.tsx index 086f1d823..067389e71 100644 --- a/apps/console/src/pages/organizations/employee/_components/VersionRow.tsx +++ b/apps/console/src/pages/organizations/employee/_components/VersionRow.tsx @@ -1,8 +1,8 @@ import { useTranslate } from "@probo/i18n"; import { IconCircleCheck, IconRadioUnchecked } from "@probo/ui"; -import clsx from "clsx"; -import { useFragment } from "react-relay"; -import { graphql } from "react-relay"; +import { clsx } from "clsx"; +import { useFragment, graphql } from "react-relay"; + import type { VersionRowFragment$key } from "/__generated__/core/VersionRowFragment.graphql"; const fragment = graphql` diff --git a/apps/console/src/pages/organizations/frameworks/FrameworkControlPage.tsx b/apps/console/src/pages/organizations/frameworks/FrameworkControlPage.tsx index daa8cdba5..9d4a29d43 100644 --- a/apps/console/src/pages/organizations/frameworks/FrameworkControlPage.tsx +++ b/apps/console/src/pages/organizations/frameworks/FrameworkControlPage.tsx @@ -16,20 +16,22 @@ import { } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; import { formatError, type GraphQLError } from "@probo/helpers"; -import { LinkedMeasuresCard } from "/components/measures/LinkedMeasuresCard"; import { useNavigate, useOutletContext } from "react-router"; +import { promisifyMutation } from "@probo/helpers"; + +import { LinkedMeasuresCard } from "/components/measures/LinkedMeasuresCard"; import { useOrganizationId } from "/hooks/useOrganizationId"; import { LinkedDocumentsCard } from "/components/documents/LinkedDocumentsCard"; import { LinkedAuditsCard } from "/components/audits/LinkedAuditsCard"; import { LinkedObligationsCard } from "/components/obligations/LinkedObligationsCard"; import { LinkedSnapshotsCard } from "/components/snapshots/LinkedSnapshotsCard"; import { LinkedStatesOfApplicabilityCard } from "/components/states-of-applicability/LinkedStatesOfApplicabilityCard"; -import { FrameworkControlDialog } from "./dialogs/FrameworkControlDialog"; -import { promisifyMutation } from "@probo/helpers"; import type { FrameworkGraphControlNodeQuery } from "/__generated__/core/FrameworkGraphControlNodeQuery.graphql"; import { frameworkControlNodeQuery } from "/hooks/graph/FrameworkGraph"; import type { FrameworkDetailPageFragment$data } from "/__generated__/core/FrameworkDetailPageFragment.graphql"; +import { FrameworkControlDialog } from "./dialogs/FrameworkControlDialog"; + const attachStateOfApplicabilityMutation = graphql` mutation FrameworkControlPageAttachStateOfApplicabilityMutation( $input: CreateStateOfApplicabilityControlMappingInput! diff --git a/apps/console/src/pages/organizations/frameworks/FrameworkDetailPage.tsx b/apps/console/src/pages/organizations/frameworks/FrameworkDetailPage.tsx index ddd9e15bd..ad820a317 100644 --- a/apps/console/src/pages/organizations/frameworks/FrameworkDetailPage.tsx +++ b/apps/console/src/pages/organizations/frameworks/FrameworkDetailPage.tsx @@ -16,21 +16,23 @@ import { IconTrashCan, PageHeader, } from "@probo/ui"; +import { useTranslate } from "@probo/i18n"; +import { Navigate, Outlet, useNavigate, useParams } from "react-router"; + import { connectionListKey, frameworkNodeQuery, useDeleteFrameworkMutation, } from "/hooks/graph/FrameworkGraph"; -import { useTranslate } from "@probo/i18n"; -import { Navigate, Outlet, useNavigate, useParams } from "react-router"; import { useOrganizationId } from "/hooks/useOrganizationId"; import type { FrameworkGraphNodeQuery } from "/__generated__/core/FrameworkGraphNodeQuery.graphql"; import type { FrameworkDetailPageFragment$key } from "/__generated__/core/FrameworkDetailPageFragment.graphql"; import type { FrameworkDetailPageGenerateFrameworkStateOfApplicabilityMutation } from "/__generated__/core/FrameworkDetailPageGenerateFrameworkStateOfApplicabilityMutation.graphql"; import type { FrameworkDetailPageExportFrameworkMutation } from "/__generated__/core/FrameworkDetailPageExportFrameworkMutation.graphql"; +import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; + import { FrameworkFormDialog } from "./dialogs/FrameworkFormDialog"; import { FrameworkControlDialog } from "./dialogs/FrameworkControlDialog"; -import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; const frameworkDetailFragment = graphql` fragment FrameworkDetailPageFragment on Framework { diff --git a/apps/console/src/pages/organizations/frameworks/FrameworksPage.tsx b/apps/console/src/pages/organizations/frameworks/FrameworksPage.tsx index 50851dd78..9ffc3f2ba 100644 --- a/apps/console/src/pages/organizations/frameworks/FrameworksPage.tsx +++ b/apps/console/src/pages/organizations/frameworks/FrameworksPage.tsx @@ -19,15 +19,17 @@ import { usePreloadedQuery, type PreloadedQuery, } from "react-relay"; +import { Link } from "react-router"; +import { useState, type ChangeEventHandler } from "react"; + import type { FrameworkGraphListQuery } from "/__generated__/core/FrameworkGraphListQuery.graphql"; import { frameworksQuery, useDeleteFrameworkMutation, } from "/hooks/graph/FrameworkGraph"; -import { Link } from "react-router"; import type { FrameworksPageCardFragment$key } from "/__generated__/core/FrameworksPageCardFragment.graphql"; import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; -import { useState, type ChangeEventHandler } from "react"; + import { FrameworkFormDialog } from "./dialogs/FrameworkFormDialog"; type Props = { diff --git a/apps/console/src/pages/organizations/frameworks/dialogs/FrameworkControlDialog.tsx b/apps/console/src/pages/organizations/frameworks/dialogs/FrameworkControlDialog.tsx index 3643b19ed..5c0c40fb8 100644 --- a/apps/console/src/pages/organizations/frameworks/dialogs/FrameworkControlDialog.tsx +++ b/apps/console/src/pages/organizations/frameworks/dialogs/FrameworkControlDialog.tsx @@ -13,11 +13,12 @@ import type { ReactNode } from "react"; import { useTranslate } from "@probo/i18n"; import { graphql } from "relay-runtime"; import { useFragment } from "react-relay"; +import { z } from "zod"; +import { useEffect, useMemo } from "react"; + import type { FrameworkControlDialogFragment$key } from "/__generated__/core/FrameworkControlDialogFragment.graphql"; import { useFormWithSchema } from "/hooks/useFormWithSchema"; -import { z } from "zod"; import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; -import { useEffect, useMemo } from "react"; type Props = { children: ReactNode; diff --git a/apps/console/src/pages/organizations/frameworks/dialogs/FrameworkFormDialog.tsx b/apps/console/src/pages/organizations/frameworks/dialogs/FrameworkFormDialog.tsx index 2f4de97bf..21f7e95a2 100644 --- a/apps/console/src/pages/organizations/frameworks/dialogs/FrameworkFormDialog.tsx +++ b/apps/console/src/pages/organizations/frameworks/dialogs/FrameworkFormDialog.tsx @@ -1,5 +1,4 @@ import { graphql } from "relay-runtime"; -import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; import { useTranslate } from "@probo/i18n"; import { Breadcrumb, @@ -13,6 +12,8 @@ import { type DialogRef, } from "@probo/ui"; import { z } from "zod"; + +import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; import { useFormWithSchema } from "/hooks/useFormWithSchema"; const createFrameworkMutation = graphql` diff --git a/apps/console/src/pages/organizations/measures/MeasureDetailPage.tsx b/apps/console/src/pages/organizations/measures/MeasureDetailPage.tsx index 8fe81d379..e45a5ea95 100644 --- a/apps/console/src/pages/organizations/measures/MeasureDetailPage.tsx +++ b/apps/console/src/pages/organizations/measures/MeasureDetailPage.tsx @@ -1,5 +1,4 @@ import { Outlet, useNavigate, useParams } from "react-router"; -import { useOrganizationId } from "/hooks/useOrganizationId"; import { ActionDropdown, Breadcrumb, @@ -30,6 +29,14 @@ import { useLazyLoadQuery, usePreloadedQuery, } from "react-relay"; +import { + getMeasureStateLabel, + measureStates, + slugify, + sprintf, +} from "@probo/helpers"; +import { Suspense } from "react"; + import type { MeasureGraphNodeQuery } from "/__generated__/core/MeasureGraphNodeQuery.graphql"; import type { MeasureDetailPageTasksCountQuery } from "/__generated__/core/MeasureDetailPageTasksCountQuery.graphql"; import { @@ -38,14 +45,9 @@ import { useDeleteMeasureMutation, useUpdateMeasure, } from "/hooks/graph/MeasureGraph"; -import { - getMeasureStateLabel, - measureStates, - slugify, - sprintf, -} from "@probo/helpers"; +import { useOrganizationId } from "/hooks/useOrganizationId"; + import MeasureFormDialog from "./dialog/MeasureFormDialog"; -import { Suspense } from "react"; const tasksCountQuery = graphql` query MeasureDetailPageTasksCountQuery($measureId: ID!) { diff --git a/apps/console/src/pages/organizations/measures/MeasuresPage.tsx b/apps/console/src/pages/organizations/measures/MeasuresPage.tsx index 2df280a5f..90e52d22a 100644 --- a/apps/console/src/pages/organizations/measures/MeasuresPage.tsx +++ b/apps/console/src/pages/organizations/measures/MeasuresPage.tsx @@ -1,4 +1,3 @@ -import type { MeasureGraphListQuery } from "/__generated__/core/MeasureGraphListQuery.graphql"; import { useFragment, usePreloadedQuery, @@ -29,24 +28,27 @@ import { useDialogRef, } from "@probo/ui"; import { MeasureBadge } from "@probo/ui/src/Molecules/Badge/MeasureBadge"; +import { graphql } from "relay-runtime"; +import { groupBy, objectKeys, slugify, sprintf } from "@probo/helpers"; +import { useMemo, useRef, useState, type ChangeEventHandler } from "react"; +import { Link, useParams } from "react-router"; +import { usePageTitle } from "@probo/hooks"; + import { measuresQuery, useDeleteMeasureMutation, } from "/hooks/graph/MeasureGraph"; -import { graphql } from "relay-runtime"; import type { MeasuresPageFragment$data, MeasuresPageFragment$key, } from "/__generated__/core/MeasuresPageFragment.graphql"; -import { groupBy, objectKeys, slugify, sprintf } from "@probo/helpers"; -import { useMemo, useRef, useState, type ChangeEventHandler } from "react"; import type { NodeOf } from "/types"; import type { MeasuresPageImportMutation } from "/__generated__/core/MeasuresPageImportMutation.graphql"; import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; import { useOrganizationId } from "/hooks/useOrganizationId"; -import { Link, useParams } from "react-router"; +import type { MeasureGraphListQuery } from "/__generated__/core/MeasureGraphListQuery.graphql"; + import MeasureFormDialog from "./dialog/MeasureFormDialog"; -import { usePageTitle } from "@probo/hooks"; type Props = { queryRef: PreloadedQuery; diff --git a/apps/console/src/pages/organizations/measures/dialog/CreateEvidenceDialog.tsx b/apps/console/src/pages/organizations/measures/dialog/CreateEvidenceDialog.tsx index 84b96cbf5..3125c7f03 100644 --- a/apps/console/src/pages/organizations/measures/dialog/CreateEvidenceDialog.tsx +++ b/apps/console/src/pages/organizations/measures/dialog/CreateEvidenceDialog.tsx @@ -15,6 +15,7 @@ import { useTranslate } from "@probo/i18n"; import { graphql, useRelayEnvironment } from "react-relay"; import { useState } from "react"; import { z } from "zod"; + import { useFormWithSchema } from "/hooks/useFormWithSchema"; import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; import { updateStoreCounter } from "/hooks/useMutationWithIncrement"; diff --git a/apps/console/src/pages/organizations/measures/dialog/EvidenceDownloadDialog.tsx b/apps/console/src/pages/organizations/measures/dialog/EvidenceDownloadDialog.tsx index 0b22f4865..35713e502 100644 --- a/apps/console/src/pages/organizations/measures/dialog/EvidenceDownloadDialog.tsx +++ b/apps/console/src/pages/organizations/measures/dialog/EvidenceDownloadDialog.tsx @@ -2,9 +2,10 @@ import { Breadcrumb, Dialog, DialogContent, Spinner } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; import { Suspense, useEffect } from "react"; import { useLazyLoadQuery } from "react-relay"; +import { downloadFile } from "@probo/helpers"; + import type { EvidenceGraphFileQuery } from "/__generated__/core/EvidenceGraphFileQuery.graphql"; import { evidenceFileQuery } from "/hooks/graph/EvidenceGraph"; -import { downloadFile } from "@probo/helpers"; type Props = { evidenceId: string; diff --git a/apps/console/src/pages/organizations/measures/dialog/EvidencePreviewDialog.tsx b/apps/console/src/pages/organizations/measures/dialog/EvidencePreviewDialog.tsx index 6bb08b1a6..06d9d0e9c 100644 --- a/apps/console/src/pages/organizations/measures/dialog/EvidencePreviewDialog.tsx +++ b/apps/console/src/pages/organizations/measures/dialog/EvidencePreviewDialog.tsx @@ -12,6 +12,7 @@ import { import { useTranslate } from "@probo/i18n"; import { Suspense, useEffect } from "react"; import { useLazyLoadQuery } from "react-relay"; + import { evidenceFileQuery } from "/hooks/graph/EvidenceGraph.ts"; import type { EvidenceGraphFileQuery } from "/__generated__/core/EvidenceGraphFileQuery.graphql.ts"; diff --git a/apps/console/src/pages/organizations/measures/dialog/MeasureFormDialog.tsx b/apps/console/src/pages/organizations/measures/dialog/MeasureFormDialog.tsx index 02f352ae1..9d5ac345e 100644 --- a/apps/console/src/pages/organizations/measures/dialog/MeasureFormDialog.tsx +++ b/apps/console/src/pages/organizations/measures/dialog/MeasureFormDialog.tsx @@ -15,11 +15,12 @@ import type { ReactNode } from "react"; import { useTranslate } from "@probo/i18n"; import { Breadcrumb } from "@probo/ui"; import { graphql } from "relay-runtime"; -import type { MeasureFormDialogMeasureFragment$key } from "/__generated__/core/MeasureFormDialogMeasureFragment.graphql"; import { useFragment } from "react-relay"; import { z } from "zod"; -import { useFormWithSchema } from "/hooks/useFormWithSchema"; import { getMeasureStateLabel, measureStates } from "@probo/helpers"; + +import { useFormWithSchema } from "/hooks/useFormWithSchema"; +import type { MeasureFormDialogMeasureFragment$key } from "/__generated__/core/MeasureFormDialogMeasureFragment.graphql"; import { ControlledSelect } from "/components/form/ControlledField"; import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; import { useOrganizationId } from "/hooks/useOrganizationId"; diff --git a/apps/console/src/pages/organizations/measures/tabs/MeasureControlsTab.tsx b/apps/console/src/pages/organizations/measures/tabs/MeasureControlsTab.tsx index 366ec52e6..dc0debe4b 100644 --- a/apps/console/src/pages/organizations/measures/tabs/MeasureControlsTab.tsx +++ b/apps/console/src/pages/organizations/measures/tabs/MeasureControlsTab.tsx @@ -1,5 +1,6 @@ import { graphql, useRefetchableFragment } from "react-relay"; import { useOutletContext } from "react-router"; + import { LinkedControlsCard } from "/components/controls/LinkedControlsCard"; import type { MeasureControlsTabFragment$key } from "/__generated__/core/MeasureControlsTabFragment.graphql"; import { useMutationWithIncrement } from "/hooks/useMutationWithIncrement"; diff --git a/apps/console/src/pages/organizations/measures/tabs/MeasureEvidencesTab.tsx b/apps/console/src/pages/organizations/measures/tabs/MeasureEvidencesTab.tsx index 5a6f2eef0..f29bef6c7 100644 --- a/apps/console/src/pages/organizations/measures/tabs/MeasureEvidencesTab.tsx +++ b/apps/console/src/pages/organizations/measures/tabs/MeasureEvidencesTab.tsx @@ -1,5 +1,4 @@ import { useNavigate, useOutletContext, useParams } from "react-router"; -import type { MeasureEvidencesTabFragment$key } from "/__generated__/core/MeasureEvidencesTabFragment.graphql"; import { useTranslate } from "@probo/i18n"; import { usePageTitle } from "@probo/hooks"; import { @@ -23,17 +22,20 @@ import { usePaginationFragment, useRelayEnvironment, } from "react-relay"; +import { fileSize, fileType, sprintf, formatDate } from "@probo/helpers"; +import { useState } from "react"; + import { SortableTable } from "/components/SortableTable"; import type { MeasureEvidencesTabFragment_evidence$key } from "/__generated__/core/MeasureEvidencesTabFragment_evidence.graphql"; -import { fileSize, fileType, sprintf, formatDate } from "@probo/helpers"; -import { EvidencePreviewDialog } from "../dialog/EvidencePreviewDialog"; import { useOrganizationId } from "/hooks/useOrganizationId"; -import { CreateEvidenceDialog } from "../dialog/CreateEvidenceDialog"; -import { useState } from "react"; -import { EvidenceDownloadDialog } from "../dialog/EvidenceDownloadDialog"; +import type { MeasureEvidencesTabFragment$key } from "/__generated__/core/MeasureEvidencesTabFragment.graphql"; import { updateStoreCounter } from "/hooks/useMutationWithIncrement"; import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; +import { EvidenceDownloadDialog } from "../dialog/EvidenceDownloadDialog"; +import { CreateEvidenceDialog } from "../dialog/CreateEvidenceDialog"; +import { EvidencePreviewDialog } from "../dialog/EvidencePreviewDialog"; + export const evidencesFragment = graphql` fragment MeasureEvidencesTabFragment on Measure @refetchable(queryName: "MeasureEvidencesTabQuery") diff --git a/apps/console/src/pages/organizations/measures/tabs/MeasureRisksTab.tsx b/apps/console/src/pages/organizations/measures/tabs/MeasureRisksTab.tsx index 9144b6d56..44e419484 100644 --- a/apps/console/src/pages/organizations/measures/tabs/MeasureRisksTab.tsx +++ b/apps/console/src/pages/organizations/measures/tabs/MeasureRisksTab.tsx @@ -1,6 +1,7 @@ import { graphql, useFragment } from "react-relay"; -import type { MeasureRisksTabFragment$key } from "/__generated__/core/MeasureRisksTabFragment.graphql"; import { useOutletContext } from "react-router"; + +import type { MeasureRisksTabFragment$key } from "/__generated__/core/MeasureRisksTabFragment.graphql"; import { LinkedRisksCard } from "/components/risks/LinkedRisksCard"; import { useMutationWithIncrement } from "/hooks/useMutationWithIncrement"; diff --git a/apps/console/src/pages/organizations/measures/tabs/MeasureTasksTab.tsx b/apps/console/src/pages/organizations/measures/tabs/MeasureTasksTab.tsx index 034eb14ba..ff6a354ec 100644 --- a/apps/console/src/pages/organizations/measures/tabs/MeasureTasksTab.tsx +++ b/apps/console/src/pages/organizations/measures/tabs/MeasureTasksTab.tsx @@ -1,10 +1,11 @@ import { graphql } from "relay-runtime"; -import type { MeasureTasksTabQuery } from "/__generated__/core/MeasureTasksTabQuery.graphql"; import { useOutletContext } from "react-router"; import { useLazyLoadQuery } from "react-relay"; -import { TasksCard } from "/components/tasks/TasksCard"; import { Button, IconPlusLarge } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; + +import { TasksCard } from "/components/tasks/TasksCard"; +import type { MeasureTasksTabQuery } from "/__generated__/core/MeasureTasksTabQuery.graphql"; import TaskFormDialog from "/components/tasks/TaskFormDialog"; const tasksQuery = graphql` diff --git a/apps/console/src/pages/organizations/meetings/MeetingDetailPage.tsx b/apps/console/src/pages/organizations/meetings/MeetingDetailPage.tsx index 38b9c5144..b4ecfce6f 100644 --- a/apps/console/src/pages/organizations/meetings/MeetingDetailPage.tsx +++ b/apps/console/src/pages/organizations/meetings/MeetingDetailPage.tsx @@ -1,8 +1,6 @@ import type { PreloadedQuery } from "react-relay"; import { graphql, useFragment, usePreloadedQuery } from "react-relay"; -import type { MeetingGraphNodeQuery } from "/__generated__/core/MeetingGraphNodeQuery.graphql"; import { usePageTitle } from "@probo/hooks"; -import type { MeetingDetailPageMeetingFragment$key } from "/__generated__/core/MeetingDetailPageMeetingFragment.graphql"; import { useTranslate } from "@probo/i18n"; import { ActionDropdown, @@ -14,19 +12,23 @@ import { PageHeader, useConfirm, } from "@probo/ui"; -import { useOrganizationId } from "/hooks/useOrganizationId"; import { sprintf, formatDate } from "@probo/helpers"; import { Link, Outlet, useNavigate } from "react-router"; -import { - UpdateMeetingMinutesDialog, - type UpdateMeetingMinutesDialogRef, -} from "./dialogs/UpdateMeetingMinutesDialog"; import { useRef } from "react"; + +import { useOrganizationId } from "/hooks/useOrganizationId"; +import type { MeetingDetailPageMeetingFragment$key } from "/__generated__/core/MeetingDetailPageMeetingFragment.graphql"; +import type { MeetingGraphNodeQuery } from "/__generated__/core/MeetingGraphNodeQuery.graphql"; import { meetingNodeQuery, useDeleteMeetingMutation, } from "/hooks/graph/MeetingGraph"; +import { + UpdateMeetingMinutesDialog, + type UpdateMeetingMinutesDialogRef, +} from "./dialogs/UpdateMeetingMinutesDialog"; + const meetingFragment = graphql` fragment MeetingDetailPageMeetingFragment on Meeting { id diff --git a/apps/console/src/pages/organizations/meetings/MeetingsPage.tsx b/apps/console/src/pages/organizations/meetings/MeetingsPage.tsx index 5f1f5bf76..bd7e82b27 100644 --- a/apps/console/src/pages/organizations/meetings/MeetingsPage.tsx +++ b/apps/console/src/pages/organizations/meetings/MeetingsPage.tsx @@ -27,22 +27,24 @@ import { type PreloadedQuery, } from "react-relay"; import { graphql } from "relay-runtime"; -import type { MeetingGraphListQuery } from "/__generated__/core/MeetingGraphListQuery.graphql"; +import { usePageTitle } from "@probo/hooks"; +import { formatDate, sprintf } from "@probo/helpers"; +import { Link } from "react-router"; +import { useState, useRef } from "react"; + +import type { MeetingsPageRowFragment$key } from "/__generated__/core/MeetingsPageRowFragment.graphql"; +import { SortableTable, SortableTh } from "/components/SortableTable"; +import type { MeetingsPageListFragment$key } from "/__generated__/core/MeetingsPageListFragment.graphql"; import { meetingsQuery, useDeleteMeetingMutation, } from "/hooks/graph/MeetingGraph"; -import type { MeetingsPageListFragment$key } from "/__generated__/core/MeetingsPageListFragment.graphql"; -import { usePageTitle } from "@probo/hooks"; -import { formatDate, sprintf } from "@probo/helpers"; -import { CreateMeetingDialog } from "./dialogs/CreateMeetingDialog"; -import type { MeetingsPageRowFragment$key } from "/__generated__/core/MeetingsPageRowFragment.graphql"; -import { SortableTable, SortableTh } from "/components/SortableTable"; -import { Link } from "react-router"; -import { useState, useRef } from "react"; +import type { MeetingGraphListQuery } from "/__generated__/core/MeetingGraphListQuery.graphql"; import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; import type { MeetingsPage_UpdateSummaryMutation } from "/__generated__/core/MeetingsPage_UpdateSummaryMutation.graphql"; +import { CreateMeetingDialog } from "./dialogs/CreateMeetingDialog"; + const meetingsFragment = graphql` fragment MeetingsPageListFragment on Organization @refetchable(queryName: "MeetingsListQuery") diff --git a/apps/console/src/pages/organizations/meetings/dialogs/CreateMeetingDialog.tsx b/apps/console/src/pages/organizations/meetings/dialogs/CreateMeetingDialog.tsx index b19eb6119..c07fd7027 100644 --- a/apps/console/src/pages/organizations/meetings/dialogs/CreateMeetingDialog.tsx +++ b/apps/console/src/pages/organizations/meetings/dialogs/CreateMeetingDialog.tsx @@ -12,11 +12,12 @@ import { import { graphql } from "relay-runtime"; import { useMutation } from "react-relay"; import { z } from "zod"; +import { formatDatetime } from "@probo/helpers"; + import { useFormWithSchema } from "/hooks/useFormWithSchema"; import type { CreateMeetingDialogCreateMutation } from "/__generated__/core/CreateMeetingDialogCreateMutation.graphql"; import { useOrganizationId } from "/hooks/useOrganizationId"; import { PeopleMultiSelectField } from "/components/form/PeopleMultiSelectField"; -import { formatDatetime } from "@probo/helpers"; const createMeetingMutation = graphql` mutation CreateMeetingDialogCreateMutation( diff --git a/apps/console/src/pages/organizations/meetings/dialogs/UpdateMeetingMinutesDialog.tsx b/apps/console/src/pages/organizations/meetings/dialogs/UpdateMeetingMinutesDialog.tsx index 56d6b36f5..93db5f815 100644 --- a/apps/console/src/pages/organizations/meetings/dialogs/UpdateMeetingMinutesDialog.tsx +++ b/apps/console/src/pages/organizations/meetings/dialogs/UpdateMeetingMinutesDialog.tsx @@ -11,6 +11,7 @@ import { } from "@probo/ui"; import { forwardRef, useImperativeHandle } from "react"; import { z } from "zod"; + import { useFormWithSchema } from "/hooks/useFormWithSchema"; import { useUpdateMeetingMutation } from "/hooks/graph/MeetingGraph"; import type { MeetingDetailPageMeetingFragment$data } from "/__generated__/core/MeetingDetailPageMeetingFragment.graphql"; diff --git a/apps/console/src/pages/organizations/meetings/tabs/MeetingMinutesTab.tsx b/apps/console/src/pages/organizations/meetings/tabs/MeetingMinutesTab.tsx index f3d15ef26..966600e42 100644 --- a/apps/console/src/pages/organizations/meetings/tabs/MeetingMinutesTab.tsx +++ b/apps/console/src/pages/organizations/meetings/tabs/MeetingMinutesTab.tsx @@ -1,7 +1,8 @@ import { useOutletContext } from "react-router"; -import type { MeetingDetailPageMeetingFragment$data } from "/__generated__/core/MeetingDetailPageMeetingFragment.graphql"; import { Markdown } from "@probo/ui"; +import type { MeetingDetailPageMeetingFragment$data } from "/__generated__/core/MeetingDetailPageMeetingFragment.graphql"; + export default function MeetingMinutesTab() { const { meeting } = useOutletContext<{ meeting: MeetingDetailPageMeetingFragment$data; diff --git a/apps/console/src/pages/organizations/nonconformities/NonconformitiesPage.tsx b/apps/console/src/pages/organizations/nonconformities/NonconformitiesPage.tsx index 3a5d6e86d..b7372df32 100644 --- a/apps/console/src/pages/organizations/nonconformities/NonconformitiesPage.tsx +++ b/apps/console/src/pages/organizations/nonconformities/NonconformitiesPage.tsx @@ -25,13 +25,6 @@ import { ConnectionHandler, type PreloadedQuery, } from "react-relay"; -import { useOrganizationId } from "/hooks/useOrganizationId"; -import { CreateNonconformityDialog } from "./dialogs/CreateNonconformityDialog"; -import { - deleteNonconformityMutation, - NonconformitiesConnectionKey, - nonconformitiesQuery, -} from "../../../hooks/graph/NonconformityGraph"; import { sprintf, promisifyMutation, @@ -39,14 +32,24 @@ import { getStatusLabel, formatDate, } from "@probo/helpers"; -import { SnapshotBanner } from "/components/SnapshotBanner"; import { useParams } from "react-router"; + +import { SnapshotBanner } from "/components/SnapshotBanner"; +import { useOrganizationId } from "/hooks/useOrganizationId"; import type { NonconformitiesPageFragment$key, NonconformitiesPageFragment$data, } from "/__generated__/core/NonconformitiesPageFragment.graphql"; import type { NonconformityGraphListQuery } from "/__generated__/core/NonconformityGraphListQuery.graphql"; +import { + deleteNonconformityMutation, + NonconformitiesConnectionKey, + nonconformitiesQuery, +} from "../../../hooks/graph/NonconformityGraph"; + +import { CreateNonconformityDialog } from "./dialogs/CreateNonconformityDialog"; + type Nonconformity = NonconformitiesPageFragment$data["nonconformities"]["edges"][number]["node"]; diff --git a/apps/console/src/pages/organizations/nonconformities/NonconformityDetailsPage.tsx b/apps/console/src/pages/organizations/nonconformities/NonconformityDetailsPage.tsx index b0859ba5c..6cfe822fd 100644 --- a/apps/console/src/pages/organizations/nonconformities/NonconformityDetailsPage.tsx +++ b/apps/console/src/pages/organizations/nonconformities/NonconformityDetailsPage.tsx @@ -3,12 +3,6 @@ import { usePreloadedQuery, type PreloadedQuery, } from "react-relay"; -import { - nonconformityNodeQuery, - useDeleteNonconformity, - useUpdateNonconformity, - NonconformitiesConnectionKey, -} from "../../../hooks/graph/NonconformityGraph"; import { ActionDropdown, Badge, @@ -24,14 +18,8 @@ import { useToast, } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; -import { useOrganizationId } from "/hooks/useOrganizationId"; -import { ControlledField } from "/components/form/ControlledField"; -import { SnapshotBanner } from "/components/SnapshotBanner"; import { useParams } from "react-router"; -import { PeopleSelectField } from "/components/form/PeopleSelectField"; -import { AuditSelectField } from "/components/form/AuditSelectField"; -import { useFormWithSchema } from "/hooks/useFormWithSchema"; -import z from "zod"; +import { z } from "zod"; import { getStatusVariant, getStatusLabel, @@ -41,8 +29,22 @@ import { formatError, type GraphQLError, } from "@probo/helpers"; + +import { useOrganizationId } from "/hooks/useOrganizationId"; +import { ControlledField } from "/components/form/ControlledField"; +import { SnapshotBanner } from "/components/SnapshotBanner"; +import { PeopleSelectField } from "/components/form/PeopleSelectField"; +import { AuditSelectField } from "/components/form/AuditSelectField"; +import { useFormWithSchema } from "/hooks/useFormWithSchema"; import type { NonconformityGraphNodeQuery } from "/__generated__/core/NonconformityGraphNodeQuery.graphql"; +import { + nonconformityNodeQuery, + useDeleteNonconformity, + useUpdateNonconformity, + NonconformitiesConnectionKey, +} from "../../../hooks/graph/NonconformityGraph"; + const updateNonconformitySchema = z.object({ referenceId: z.string().min(1, "Reference ID is required"), description: z.string().optional(), diff --git a/apps/console/src/pages/organizations/nonconformities/dialogs/CreateNonconformityDialog.tsx b/apps/console/src/pages/organizations/nonconformities/dialogs/CreateNonconformityDialog.tsx index e40398b95..9bee60791 100644 --- a/apps/console/src/pages/organizations/nonconformities/dialogs/CreateNonconformityDialog.tsx +++ b/apps/console/src/pages/organizations/nonconformities/dialogs/CreateNonconformityDialog.tsx @@ -16,14 +16,16 @@ import { } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; import { z } from "zod"; -import { useFormWithSchema } from "/hooks/useFormWithSchema"; -import { useCreateNonconformity } from "../../../../hooks/graph/NonconformityGraph"; -import { PeopleSelectField } from "/components/form/PeopleSelectField"; -import { AuditSelectField } from "/components/form/AuditSelectField"; import { Controller } from "react-hook-form"; import { formatError, type GraphQLError } from "@probo/helpers"; import { formatDatetime, getStatusOptions } from "@probo/helpers"; +import { AuditSelectField } from "/components/form/AuditSelectField"; +import { PeopleSelectField } from "/components/form/PeopleSelectField"; +import { useFormWithSchema } from "/hooks/useFormWithSchema"; + +import { useCreateNonconformity } from "../../../../hooks/graph/NonconformityGraph"; + const schema = z.object({ referenceId: z.string().min(1, "Reference ID is required"), description: z.string().optional(), diff --git a/apps/console/src/pages/organizations/obligations/ObligationDetailsPage.tsx b/apps/console/src/pages/organizations/obligations/ObligationDetailsPage.tsx index 8a88bc612..fd26059f3 100644 --- a/apps/console/src/pages/organizations/obligations/ObligationDetailsPage.tsx +++ b/apps/console/src/pages/organizations/obligations/ObligationDetailsPage.tsx @@ -3,12 +3,6 @@ import { usePreloadedQuery, type PreloadedQuery, } from "react-relay"; -import { - obligationNodeQuery, - useDeleteObligation, - useUpdateObligation, - ObligationsConnectionKey, -} from "../../../hooks/graph/ObligationGraph"; import { ActionDropdown, Badge, @@ -26,12 +20,9 @@ import { } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; import { useParams } from "react-router"; -import { useOrganizationId } from "/hooks/useOrganizationId"; -import { PeopleSelectField } from "/components/form/PeopleSelectField"; -import { useFormWithSchema } from "/hooks/useFormWithSchema"; import { Controller } from "react-hook-form"; import { formatError, type GraphQLError } from "@probo/helpers"; -import z from "zod"; +import { z } from "zod"; import { getObligationStatusVariant, getObligationStatusLabel, @@ -40,9 +31,20 @@ import { validateSnapshotConsistency, getObligationTypeOptions, } from "@probo/helpers"; + +import { useFormWithSchema } from "/hooks/useFormWithSchema"; +import { PeopleSelectField } from "/components/form/PeopleSelectField"; +import { useOrganizationId } from "/hooks/useOrganizationId"; import { SnapshotBanner } from "/components/SnapshotBanner"; import type { ObligationGraphNodeQuery } from "/__generated__/core/ObligationGraphNodeQuery.graphql"; +import { + obligationNodeQuery, + useDeleteObligation, + useUpdateObligation, + ObligationsConnectionKey, +} from "../../../hooks/graph/ObligationGraph"; + const updateObligationSchema = z.object({ area: z.string().optional(), source: z.string().optional(), diff --git a/apps/console/src/pages/organizations/obligations/ObligationsPage.tsx b/apps/console/src/pages/organizations/obligations/ObligationsPage.tsx index 6b3b488d0..ca51b118a 100644 --- a/apps/console/src/pages/organizations/obligations/ObligationsPage.tsx +++ b/apps/console/src/pages/organizations/obligations/ObligationsPage.tsx @@ -25,18 +25,14 @@ import { type PreloadedQuery, } from "react-relay"; import { useParams } from "react-router"; -import { useOrganizationId } from "/hooks/useOrganizationId"; -import { CreateObligationDialog } from "./dialogs/CreateObligationDialog"; -import { - deleteObligationMutation, - obligationsQuery, -} from "../../../hooks/graph/ObligationGraph"; import { promisifyMutation, getObligationStatusVariant, getObligationStatusLabel, formatDate, } from "@probo/helpers"; + +import { useOrganizationId } from "/hooks/useOrganizationId"; import { SnapshotBanner } from "/components/SnapshotBanner"; import type { ObligationsPageFragment$key, @@ -44,6 +40,13 @@ import type { } from "/__generated__/core/ObligationsPageFragment.graphql"; import type { ObligationGraphListQuery } from "/__generated__/core/ObligationGraphListQuery.graphql"; +import { + deleteObligationMutation, + obligationsQuery, +} from "../../../hooks/graph/ObligationGraph"; + +import { CreateObligationDialog } from "./dialogs/CreateObligationDialog"; + type Obligation = ObligationsPageFragment$data["obligations"]["edges"][number]["node"]; diff --git a/apps/console/src/pages/organizations/obligations/dialogs/CreateObligationDialog.tsx b/apps/console/src/pages/organizations/obligations/dialogs/CreateObligationDialog.tsx index 72bd1ebed..2fa0013e8 100644 --- a/apps/console/src/pages/organizations/obligations/dialogs/CreateObligationDialog.tsx +++ b/apps/console/src/pages/organizations/obligations/dialogs/CreateObligationDialog.tsx @@ -16,13 +16,15 @@ import { } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; import { z } from "zod"; -import { useFormWithSchema } from "/hooks/useFormWithSchema"; -import { useCreateObligation } from "../../../../hooks/graph/ObligationGraph"; -import { PeopleSelectField } from "/components/form/PeopleSelectField"; import { Controller } from "react-hook-form"; import { formatError, type GraphQLError } from "@probo/helpers"; import { formatDatetime, getObligationStatusOptions, getObligationTypeOptions } from "@probo/helpers"; +import { PeopleSelectField } from "/components/form/PeopleSelectField"; +import { useFormWithSchema } from "/hooks/useFormWithSchema"; + +import { useCreateObligation } from "../../../../hooks/graph/ObligationGraph"; + const schema = z.object({ area: z.string().optional(), source: z.string().optional(), diff --git a/apps/console/src/pages/organizations/people/PeopleDetailPage.tsx b/apps/console/src/pages/organizations/people/PeopleDetailPage.tsx index 058a1584a..6e0ac994e 100644 --- a/apps/console/src/pages/organizations/people/PeopleDetailPage.tsx +++ b/apps/console/src/pages/organizations/people/PeopleDetailPage.tsx @@ -3,12 +3,6 @@ import { usePreloadedQuery, type PreloadedQuery, } from "react-relay"; -import type { PeopleGraphNodeQuery } from "/__generated__/core/PeopleGraphNodeQuery.graphql"; -import { - PeopleConnectionKey, - peopleNodeQuery, - useDeletePeople, -} from "/hooks/graph/PeopleGraph"; import { ActionDropdown, Avatar, @@ -19,9 +13,16 @@ import { Tabs, } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; -import { useOrganizationId } from "/hooks/useOrganizationId"; import { Outlet } from "react-router"; +import type { PeopleGraphNodeQuery } from "/__generated__/core/PeopleGraphNodeQuery.graphql"; +import { + PeopleConnectionKey, + peopleNodeQuery, + useDeletePeople, +} from "/hooks/graph/PeopleGraph"; +import { useOrganizationId } from "/hooks/useOrganizationId"; + type Props = { queryRef: PreloadedQuery; }; diff --git a/apps/console/src/pages/organizations/people/PeopleListPage.tsx b/apps/console/src/pages/organizations/people/PeopleListPage.tsx index bb5ce6c15..1265d63bf 100644 --- a/apps/console/src/pages/organizations/people/PeopleListPage.tsx +++ b/apps/console/src/pages/organizations/people/PeopleListPage.tsx @@ -14,21 +14,23 @@ import { IconCalendar2, } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; -import type { PeopleGraphPaginatedQuery } from "/__generated__/core/PeopleGraphPaginatedQuery.graphql"; import { type PreloadedQuery } from "react-relay"; +import { usePageTitle } from "@probo/hooks"; +import { getRole } from "@probo/helpers"; +import { useRef } from "react"; + +import type { PeopleGraphPaginatedQuery } from "/__generated__/core/PeopleGraphPaginatedQuery.graphql"; import { useDeletePeople, usePeopleQuery } from "/hooks/graph/PeopleGraph"; import { SortableTable, SortableTh } from "/components/SortableTable"; import type { PeopleGraphPaginatedFragment$data } from "/__generated__/core/PeopleGraphPaginatedFragment.graphql"; import type { NodeOf } from "/types"; -import { usePageTitle } from "@probo/hooks"; -import { getRole } from "@probo/helpers"; +import { useOrganizationId } from "/hooks/useOrganizationId"; + import { CreatePeopleDialog } from "./dialogs/CreatePeopleDialog"; import { SetEndOfContractDialog, type SetEndOfContractDialogRef, } from "./dialogs/SetEndOfContractDialog"; -import { useOrganizationId } from "/hooks/useOrganizationId"; -import { useRef } from "react"; type People = NodeOf; diff --git a/apps/console/src/pages/organizations/people/dialogs/CreatePeopleDialog.tsx b/apps/console/src/pages/organizations/people/dialogs/CreatePeopleDialog.tsx index 58805b5d3..eb188abed 100644 --- a/apps/console/src/pages/organizations/people/dialogs/CreatePeopleDialog.tsx +++ b/apps/console/src/pages/organizations/people/dialogs/CreatePeopleDialog.tsx @@ -10,11 +10,12 @@ import { useDialogRef, } from "@probo/ui"; import type { ReactNode } from "react"; -import { useOrganizationId } from "/hooks/useOrganizationId"; -import z from "zod"; +import { z } from "zod"; import { getRoles, peopleRoles } from "@probo/helpers"; -import { useFormWithSchema } from "/hooks/useFormWithSchema"; import { graphql } from "relay-runtime"; + +import { useFormWithSchema } from "/hooks/useFormWithSchema"; +import { useOrganizationId } from "/hooks/useOrganizationId"; import { ControlledField } from "/components/form/ControlledField"; import { EmailsField } from "/components/form/EmailsField"; import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; diff --git a/apps/console/src/pages/organizations/people/dialogs/SetEndOfContractDialog.tsx b/apps/console/src/pages/organizations/people/dialogs/SetEndOfContractDialog.tsx index 38a57c1c0..291704f98 100644 --- a/apps/console/src/pages/organizations/people/dialogs/SetEndOfContractDialog.tsx +++ b/apps/console/src/pages/organizations/people/dialogs/SetEndOfContractDialog.tsx @@ -12,6 +12,7 @@ import { import { forwardRef, useImperativeHandle } from "react"; import { z } from "zod"; import { formatDatetime, toDateInput } from "@probo/helpers"; + import { useFormWithSchema } from "/hooks/useFormWithSchema"; import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; import { updatePeopleMutation } from "/hooks/graph/PeopleGraph"; diff --git a/apps/console/src/pages/organizations/people/tabs/PeopleProfileTab.tsx b/apps/console/src/pages/organizations/people/tabs/PeopleProfileTab.tsx index 52d53a344..bdc91823f 100644 --- a/apps/console/src/pages/organizations/people/tabs/PeopleProfileTab.tsx +++ b/apps/console/src/pages/organizations/people/tabs/PeopleProfileTab.tsx @@ -1,13 +1,14 @@ -import z from "zod"; +import { z } from "zod"; import { peopleRoles, formatDatetime } from "@probo/helpers"; import { useOutletContext } from "react-router"; -import type { PeopleGraphNodeQuery$data } from "/__generated__/core/PeopleGraphNodeQuery.graphql"; import { useTranslate } from "@probo/i18n"; +import { Button, Card, Field, Input } from "@probo/ui"; + +import type { PeopleGraphNodeQuery$data } from "/__generated__/core/PeopleGraphNodeQuery.graphql"; import { useFormWithSchema } from "/hooks/useFormWithSchema"; import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; import type { PeopleGraphUpdateMutation } from "/__generated__/core/PeopleGraphUpdateMutation.graphql"; import { updatePeopleMutation } from "/hooks/graph/PeopleGraph"; -import { Button, Card, Field, Input } from "@probo/ui"; import { EmailsField } from "/components/form/EmailsField"; const schema = z.object({ diff --git a/apps/console/src/pages/organizations/people/tabs/PeopleRoleTab.tsx b/apps/console/src/pages/organizations/people/tabs/PeopleRoleTab.tsx index 946abb455..822f59bef 100644 --- a/apps/console/src/pages/organizations/people/tabs/PeopleRoleTab.tsx +++ b/apps/console/src/pages/organizations/people/tabs/PeopleRoleTab.tsx @@ -1,13 +1,13 @@ import { useTranslate } from "@probo/i18n"; -import { Button, Card, IconCheckmark1 } from "@probo/ui"; +import { Button, Card, IconCheckmark1, Option } from "@probo/ui"; import { type PropsWithChildren } from "react"; -import z from "zod"; +import { z } from "zod"; +import { getRoles, peopleRoles } from "@probo/helpers"; +import { useOutletContext } from "react-router"; + import { useFormWithSchema } from "/hooks/useFormWithSchema"; import { ControlledField } from "/components/form/ControlledField"; -import { Option } from "@probo/ui"; -import { getRoles, peopleRoles } from "@probo/helpers"; import type { PeopleGraphNodeQuery$data } from "/__generated__/core/PeopleGraphNodeQuery.graphql"; -import { useOutletContext } from "react-router"; import { updatePeopleMutation } from "/hooks/graph/PeopleGraph"; import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; import type { PeopleGraphUpdateMutation } from "/__generated__/core/PeopleGraphUpdateMutation.graphql"; diff --git a/apps/console/src/pages/organizations/processingActivities/ProcessingActivitiesPage.tsx b/apps/console/src/pages/organizations/processingActivities/ProcessingActivitiesPage.tsx index fe38df9d2..9b352175f 100644 --- a/apps/console/src/pages/organizations/processingActivities/ProcessingActivitiesPage.tsx +++ b/apps/console/src/pages/organizations/processingActivities/ProcessingActivitiesPage.tsx @@ -23,10 +23,6 @@ import { } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; import { usePageTitle } from "@probo/hooks"; -import { - getLawfulBasisLabel, - getResidualRiskLabel, -} from "../../../components/form/ProcessingActivityEnumOptions"; import { ConnectionHandler, graphql, @@ -35,20 +31,15 @@ import { useMutation, type PreloadedQuery, } from "react-relay"; -import { useOrganizationId } from "/hooks/useOrganizationId"; import { useParams } from "react-router"; -import { CreateProcessingActivityDialog } from "./dialogs/CreateProcessingActivityDialog"; -import { - deleteProcessingActivityMutation, - ProcessingActivitiesConnectionKey, - processingActivitiesQuery, -} from "../../../hooks/graph/ProcessingActivityGraph"; import { sprintf, promisifyMutation, downloadFile, toDateInput, } from "@probo/helpers"; +import { useState } from "react"; + import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; import { SnapshotBanner } from "/components/SnapshotBanner"; import type { NodeOf } from "/types"; @@ -64,9 +55,21 @@ import type { ProcessingActivitiesPageTIAFragment$key, ProcessingActivitiesPageTIAFragment$data, } from "/__generated__/core/ProcessingActivitiesPageTIAFragment.graphql"; -import { useState } from "react"; +import { useOrganizationId } from "/hooks/useOrganizationId"; import type { ProcessingActivityGraphListQuery } from "/__generated__/core/ProcessingActivityGraphListQuery.graphql"; +import { + deleteProcessingActivityMutation, + ProcessingActivitiesConnectionKey, + processingActivitiesQuery, +} from "../../../hooks/graph/ProcessingActivityGraph"; +import { + getLawfulBasisLabel, + getResidualRiskLabel, +} from "../../../components/form/ProcessingActivityEnumOptions"; + +import { CreateProcessingActivityDialog } from "./dialogs/CreateProcessingActivityDialog"; + interface ProcessingActivitiesPageProps { queryRef: PreloadedQuery; } diff --git a/apps/console/src/pages/organizations/processingActivities/ProcessingActivityDetailsPage.tsx b/apps/console/src/pages/organizations/processingActivities/ProcessingActivityDetailsPage.tsx index 81eb69b6e..9f3057d7b 100644 --- a/apps/console/src/pages/organizations/processingActivities/ProcessingActivityDetailsPage.tsx +++ b/apps/console/src/pages/organizations/processingActivities/ProcessingActivityDetailsPage.tsx @@ -3,19 +3,6 @@ import { usePreloadedQuery, type PreloadedQuery, } from "react-relay"; -import { - processingActivityNodeQuery, - useDeleteProcessingActivity, - useUpdateProcessingActivity, - useCreateDataProtectionImpactAssessment, - useUpdateDataProtectionImpactAssessment, - useDeleteDataProtectionImpactAssessment, - useCreateTransferImpactAssessment, - useUpdateTransferImpactAssessment, - useDeleteTransferImpactAssessment, - ProcessingActivitiesConnectionKey, - type ProcessingActivityDPIAResidualRisk, -} from "../../../hooks/graph/ProcessingActivityGraph"; import { ActionDropdown, Breadcrumb, @@ -34,20 +21,24 @@ import { TabItem, } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; -import { useOrganizationId } from "/hooks/useOrganizationId"; import { useParams } from "react-router"; -import { useFormWithSchema } from "/hooks/useFormWithSchema"; import { Controller, useForm } from "react-hook-form"; import { formatError, type GraphQLError } from "@probo/helpers"; -import z from "zod"; +import { z } from "zod"; import { validateSnapshotConsistency, formatDatetime, toDateInput, } from "@probo/helpers"; +import { useState, useEffect } from "react"; + +import { useOrganizationId } from "/hooks/useOrganizationId"; +import { useFormWithSchema } from "/hooks/useFormWithSchema"; import { SnapshotBanner } from "/components/SnapshotBanner"; import { VendorsMultiSelectField } from "/components/form/VendorsMultiSelectField"; import { PeopleSelectField } from "/components/form/PeopleSelectField"; +import type { ProcessingActivityGraphNodeQuery } from "/__generated__/core/ProcessingActivityGraphNodeQuery.graphql"; + import { SpecialOrCriminalDataOptions, LawfulBasisOptions, @@ -56,9 +47,19 @@ import { TransferImpactAssessmentOptions, RoleOptions, } from "../../../components/form/ProcessingActivityEnumOptions"; - -import type { ProcessingActivityGraphNodeQuery } from "/__generated__/core/ProcessingActivityGraphNodeQuery.graphql"; -import { useState, useEffect } from "react"; +import { + processingActivityNodeQuery, + useDeleteProcessingActivity, + useUpdateProcessingActivity, + useCreateDataProtectionImpactAssessment, + useUpdateDataProtectionImpactAssessment, + useDeleteDataProtectionImpactAssessment, + useCreateTransferImpactAssessment, + useUpdateTransferImpactAssessment, + useDeleteTransferImpactAssessment, + ProcessingActivitiesConnectionKey, + type ProcessingActivityDPIAResidualRisk, +} from "../../../hooks/graph/ProcessingActivityGraph"; const updateProcessingActivitySchema = z.object({ name: z.string().min(1, "Name is required"), diff --git a/apps/console/src/pages/organizations/processingActivities/dialogs/CreateProcessingActivityDialog.tsx b/apps/console/src/pages/organizations/processingActivities/dialogs/CreateProcessingActivityDialog.tsx index 3d8f2f8a8..fa0dba8d4 100644 --- a/apps/console/src/pages/organizations/processingActivities/dialogs/CreateProcessingActivityDialog.tsx +++ b/apps/console/src/pages/organizations/processingActivities/dialogs/CreateProcessingActivityDialog.tsx @@ -16,12 +16,14 @@ import { } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; import { z } from "zod"; -import { useFormWithSchema } from "/hooks/useFormWithSchema"; -import { useCreateProcessingActivity } from "../../../../hooks/graph/ProcessingActivityGraph"; import { Controller } from "react-hook-form"; +import { formatError, formatDatetime, type GraphQLError } from "@probo/helpers"; + +import { useFormWithSchema } from "/hooks/useFormWithSchema"; import { VendorsMultiSelectField } from "/components/form/VendorsMultiSelectField"; import { PeopleSelectField } from "/components/form/PeopleSelectField"; -import { formatError, formatDatetime, type GraphQLError } from "@probo/helpers"; + +import { useCreateProcessingActivity } from "../../../../hooks/graph/ProcessingActivityGraph"; import { SpecialOrCriminalDataOptions, LawfulBasisOptions, diff --git a/apps/console/src/pages/organizations/rightsRequests/RightsRequestDetailsPage.tsx b/apps/console/src/pages/organizations/rightsRequests/RightsRequestDetailsPage.tsx index 5c6b3ef84..a8982134b 100644 --- a/apps/console/src/pages/organizations/rightsRequests/RightsRequestDetailsPage.tsx +++ b/apps/console/src/pages/organizations/rightsRequests/RightsRequestDetailsPage.tsx @@ -3,12 +3,6 @@ import { usePreloadedQuery, type PreloadedQuery, } from "react-relay"; -import { - rightsRequestNodeQuery, - useDeleteRightsRequest, - useUpdateRightsRequest, - RightsRequestsConnectionKey, -} from "../../../hooks/graph/RightsRequestGraph"; import { ActionDropdown, Badge, @@ -25,8 +19,6 @@ import { Label, } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; -import { useOrganizationId } from "/hooks/useOrganizationId"; -import { useFormWithSchema } from "/hooks/useFormWithSchema"; import { Controller } from "react-hook-form"; import { formatError, @@ -39,9 +31,19 @@ import { getRightsRequestStateLabel, getRightsRequestStateOptions, } from "@probo/helpers"; -import z from "zod"; +import { z } from "zod"; + +import { useFormWithSchema } from "/hooks/useFormWithSchema"; +import { useOrganizationId } from "/hooks/useOrganizationId"; import type { RightsRequestGraphNodeQuery } from "/__generated__/core/RightsRequestGraphNodeQuery.graphql"; +import { + rightsRequestNodeQuery, + useDeleteRightsRequest, + useUpdateRightsRequest, + RightsRequestsConnectionKey, +} from "../../../hooks/graph/RightsRequestGraph"; + const updateRequestSchema = z.object({ requestType: z.enum(["ACCESS", "DELETION", "PORTABILITY"]), requestState: z.enum(["TODO", "IN_PROGRESS", "DONE"]), diff --git a/apps/console/src/pages/organizations/rightsRequests/RightsRequestsPage.tsx b/apps/console/src/pages/organizations/rightsRequests/RightsRequestsPage.tsx index 43f47f8ba..c99f05943 100644 --- a/apps/console/src/pages/organizations/rightsRequests/RightsRequestsPage.tsx +++ b/apps/console/src/pages/organizations/rightsRequests/RightsRequestsPage.tsx @@ -25,13 +25,6 @@ import { useMutation, type PreloadedQuery, } from "react-relay"; -import { useOrganizationId } from "/hooks/useOrganizationId"; -import { CreateRightsRequestDialog } from "./dialogs/CreateRightsRequestDialog"; -import { - deleteRightsRequestMutation, - RightsRequestsConnectionKey, - rightsRequestsQuery, -} from "../../../hooks/graph/RightsRequestGraph"; import { sprintf, promisifyMutation, @@ -40,6 +33,8 @@ import { getRightsRequestStateVariant, getRightsRequestStateLabel, } from "@probo/helpers"; + +import { useOrganizationId } from "/hooks/useOrganizationId"; import type { NodeOf } from "/types"; import type { RightsRequestsPageFragment$key, @@ -47,6 +42,14 @@ import type { } from "/__generated__/core/RightsRequestsPageFragment.graphql"; import type { RightsRequestGraphListQuery } from "/__generated__/core/RightsRequestGraphListQuery.graphql"; +import { + deleteRightsRequestMutation, + RightsRequestsConnectionKey, + rightsRequestsQuery, +} from "../../../hooks/graph/RightsRequestGraph"; + +import { CreateRightsRequestDialog } from "./dialogs/CreateRightsRequestDialog"; + interface RightsRequestsPageProps { queryRef: PreloadedQuery; } diff --git a/apps/console/src/pages/organizations/rightsRequests/dialogs/CreateRightsRequestDialog.tsx b/apps/console/src/pages/organizations/rightsRequests/dialogs/CreateRightsRequestDialog.tsx index ccd2bcd57..b84ec6c97 100644 --- a/apps/console/src/pages/organizations/rightsRequests/dialogs/CreateRightsRequestDialog.tsx +++ b/apps/console/src/pages/organizations/rightsRequests/dialogs/CreateRightsRequestDialog.tsx @@ -16,8 +16,6 @@ import { } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; import { z } from "zod"; -import { useFormWithSchema } from "/hooks/useFormWithSchema"; -import { useCreateRightsRequest } from "../../../../hooks/graph/RightsRequestGraph"; import { Controller } from "react-hook-form"; import { formatError, @@ -27,6 +25,10 @@ import { getRightsRequestStateOptions, } from "@probo/helpers"; +import { useFormWithSchema } from "/hooks/useFormWithSchema"; + +import { useCreateRightsRequest } from "../../../../hooks/graph/RightsRequestGraph"; + const schema = z.object({ requestType: z.enum(["ACCESS", "DELETION", "PORTABILITY"]), requestState: z.enum(["TODO", "IN_PROGRESS", "DONE"]), diff --git a/apps/console/src/pages/organizations/risks/FormRiskDialog.tsx b/apps/console/src/pages/organizations/risks/FormRiskDialog.tsx index c63cd5085..dae5c5ddf 100644 --- a/apps/console/src/pages/organizations/risks/FormRiskDialog.tsx +++ b/apps/console/src/pages/organizations/risks/FormRiskDialog.tsx @@ -16,11 +16,14 @@ import { useDialogRef, } from "@probo/ui"; import { useMemo, type ReactNode } from "react"; -import { useFetchQuery } from "/hooks/useFetchQuery"; import { graphql } from "relay-runtime"; +import { useToggle } from "@probo/hooks"; +import type { FieldErrors } from "react-hook-form"; +import { getRiskImpacts, getRiskLikelihoods } from "@probo/helpers"; + +import { useFetchQuery } from "/hooks/useFetchQuery"; import { PeopleSelectField } from "/components/form/PeopleSelectField"; import { useOrganizationId } from "/hooks/useOrganizationId"; -import { useToggle } from "@probo/hooks"; import { ControlledField, ControlledSelect, @@ -31,11 +34,9 @@ import { type RiskForm, type RiskKey, } from "/hooks/forms/useRiskForm"; -import type { FieldErrors } from "react-hook-form"; import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; import type { FormRiskDialogMutation } from "/__generated__/core/FormRiskDialogMutation.graphql"; import type { FormRiskDialogUpdateRiskMutation } from "/__generated__/core/FormRiskDialogUpdateRiskMutation.graphql"; -import { getRiskImpacts, getRiskLikelihoods } from "@probo/helpers"; type Props = { trigger?: ReactNode; diff --git a/apps/console/src/pages/organizations/risks/RiskDetailPage.tsx b/apps/console/src/pages/organizations/risks/RiskDetailPage.tsx index b29d44cd5..cab46f584 100644 --- a/apps/console/src/pages/organizations/risks/RiskDetailPage.tsx +++ b/apps/console/src/pages/organizations/risks/RiskDetailPage.tsx @@ -24,8 +24,8 @@ import { } from "@probo/helpers"; import { ConnectionHandler } from "relay-runtime"; import { usePreloadedQuery, type PreloadedQuery } from "react-relay"; -import FormRiskDialog from "./FormRiskDialog"; import { usePageTitle } from "@probo/hooks"; + import { useOrganizationId } from "/hooks/useOrganizationId"; import { riskNodeQuery, @@ -35,6 +35,8 @@ import { import type { RiskGraphNodeQuery } from "/__generated__/core/RiskGraphNodeQuery.graphql"; import { SnapshotBanner } from "/components/SnapshotBanner"; +import FormRiskDialog from "./FormRiskDialog"; + type Props = { queryRef: PreloadedQuery; }; diff --git a/apps/console/src/pages/organizations/risks/RisksPage.tsx b/apps/console/src/pages/organizations/risks/RisksPage.tsx index 8bec0d8d1..d4c5f9d57 100644 --- a/apps/console/src/pages/organizations/risks/RisksPage.tsx +++ b/apps/console/src/pages/organizations/risks/RisksPage.tsx @@ -17,19 +17,21 @@ import { useDialogRef, } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; -import FormRiskDialog from "./FormRiskDialog"; -import { useOrganizationId } from "/hooks/useOrganizationId"; import { usePageTitle } from "@probo/hooks"; import { getTreatment, sprintf } from "@probo/helpers"; +import type { PreloadedQuery } from "react-relay"; +import { useParams } from "react-router"; + +import { useOrganizationId } from "/hooks/useOrganizationId"; import type { NodeOf } from "/types"; import { useDeleteRiskMutation, useRisksQuery } from "/hooks/graph/RiskGraph"; import { SortableTable, SortableTh } from "/components/SortableTable"; -import type { PreloadedQuery } from "react-relay"; import type { RiskGraphListQuery } from "/__generated__/core/RiskGraphListQuery.graphql"; import type { RiskGraphFragment$data } from "/__generated__/core/RiskGraphFragment.graphql"; -import { useParams } from "react-router"; import { SnapshotBanner } from "/components/SnapshotBanner"; +import FormRiskDialog from "./FormRiskDialog"; + type Props = { queryRef: PreloadedQuery; }; diff --git a/apps/console/src/pages/organizations/risks/tabs/RiskControlsTab.tsx b/apps/console/src/pages/organizations/risks/tabs/RiskControlsTab.tsx index 4fe0210e4..0a6f99c05 100644 --- a/apps/console/src/pages/organizations/risks/tabs/RiskControlsTab.tsx +++ b/apps/console/src/pages/organizations/risks/tabs/RiskControlsTab.tsx @@ -2,6 +2,7 @@ import { graphql, useRefetchableFragment } from "react-relay"; import { useOutletContext } from "react-router"; import { Badge, Tbody, Td, Th, Thead, Tr } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; + import { useOrganizationId } from "/hooks/useOrganizationId"; import type { RiskControlsTabFragment$key } from "/__generated__/core/RiskControlsTabFragment.graphql"; import { SortableTable, SortableTh } from "/components/SortableTable"; diff --git a/apps/console/src/pages/organizations/risks/tabs/RiskDocumentsTab.tsx b/apps/console/src/pages/organizations/risks/tabs/RiskDocumentsTab.tsx index 09e9b3333..772de1f10 100644 --- a/apps/console/src/pages/organizations/risks/tabs/RiskDocumentsTab.tsx +++ b/apps/console/src/pages/organizations/risks/tabs/RiskDocumentsTab.tsx @@ -1,5 +1,6 @@ import { graphql, useFragment } from "react-relay"; import { useOutletContext } from "react-router"; + import { LinkedDocumentsCard } from "/components/documents/LinkedDocumentsCard"; import type { RiskDocumentsTabFragment$key } from "/__generated__/core/RiskDocumentsTabFragment.graphql"; import { useMutationWithIncrement } from "/hooks/useMutationWithIncrement"; diff --git a/apps/console/src/pages/organizations/risks/tabs/RiskMeasuresTab.tsx b/apps/console/src/pages/organizations/risks/tabs/RiskMeasuresTab.tsx index f08fdbad5..715604e83 100644 --- a/apps/console/src/pages/organizations/risks/tabs/RiskMeasuresTab.tsx +++ b/apps/console/src/pages/organizations/risks/tabs/RiskMeasuresTab.tsx @@ -1,6 +1,7 @@ import { graphql, useFragment } from "react-relay"; -import type { RiskMeasuresTabFragment$key } from "/__generated__/core/RiskMeasuresTabFragment.graphql"; import { useOutletContext } from "react-router"; + +import type { RiskMeasuresTabFragment$key } from "/__generated__/core/RiskMeasuresTabFragment.graphql"; import { LinkedMeasuresCard } from "/components/measures/LinkedMeasuresCard"; import { useMutationWithIncrement } from "/hooks/useMutationWithIncrement"; import type { RiskGraphNodeQuery$data } from "/__generated__/core/RiskGraphNodeQuery.graphql"; diff --git a/apps/console/src/pages/organizations/risks/tabs/RiskObligationsTab.tsx b/apps/console/src/pages/organizations/risks/tabs/RiskObligationsTab.tsx index 7724ee8bf..51ee44708 100644 --- a/apps/console/src/pages/organizations/risks/tabs/RiskObligationsTab.tsx +++ b/apps/console/src/pages/organizations/risks/tabs/RiskObligationsTab.tsx @@ -1,6 +1,7 @@ import { graphql, useFragment } from "react-relay"; -import type { RiskObligationsTabFragment$key } from "/__generated__/core/RiskObligationsTabFragment.graphql"; import { useOutletContext } from "react-router"; + +import type { RiskObligationsTabFragment$key } from "/__generated__/core/RiskObligationsTabFragment.graphql"; import { LinkedObligationsCard } from "/components/obligations/LinkedObligationsCard"; import { useMutationWithIncrement } from "/hooks/useMutationWithIncrement"; import type { RiskGraphNodeQuery$data } from "/__generated__/core/RiskGraphNodeQuery.graphql"; diff --git a/apps/console/src/pages/organizations/risks/tabs/RiskOverviewTab.tsx b/apps/console/src/pages/organizations/risks/tabs/RiskOverviewTab.tsx index 4d21db8d2..d3cc6e01b 100644 --- a/apps/console/src/pages/organizations/risks/tabs/RiskOverviewTab.tsx +++ b/apps/console/src/pages/organizations/risks/tabs/RiskOverviewTab.tsx @@ -1,9 +1,10 @@ import { useFragment } from "react-relay"; import { useOutletContext } from "react-router"; import { graphql } from "relay-runtime"; -import type { RiskOverviewTabFragment$key } from "/__generated__/core/RiskOverviewTabFragment.graphql"; import { RiskOverview } from "@probo/ui"; +import type { RiskOverviewTabFragment$key } from "/__generated__/core/RiskOverviewTabFragment.graphql"; + const overviewFragment = graphql` fragment RiskOverviewTabFragment on Risk { inherentLikelihood diff --git a/apps/console/src/pages/organizations/settings/DomainSettingsPage.tsx b/apps/console/src/pages/organizations/settings/DomainSettingsPage.tsx index 585fe360a..f6121dd88 100644 --- a/apps/console/src/pages/organizations/settings/DomainSettingsPage.tsx +++ b/apps/console/src/pages/organizations/settings/DomainSettingsPage.tsx @@ -1,10 +1,12 @@ import { usePreloadedQuery, type PreloadedQuery } from "react-relay"; import { graphql } from "relay-runtime"; -import type { DomainSettingsPageQuery } from "/__generated__/core/DomainSettingsPageQuery.graphql"; import { useTranslate } from "@probo/i18n"; +import { Button, Card, IconPlusLarge } from "@probo/ui"; + +import type { DomainSettingsPageQuery } from "/__generated__/core/DomainSettingsPageQuery.graphql"; + import { DomainCard } from "./_components/DomainCard"; import { NewDomainDialog } from "./_components/NewDomainDialog"; -import { Button, Card, IconPlusLarge } from "@probo/ui"; export const domainSettingsPageQuery = graphql` query DomainSettingsPageQuery($organizationId: ID!) { diff --git a/apps/console/src/pages/organizations/settings/DomainSettingsPageLoader.tsx b/apps/console/src/pages/organizations/settings/DomainSettingsPageLoader.tsx index 2237ff4ef..718c68151 100644 --- a/apps/console/src/pages/organizations/settings/DomainSettingsPageLoader.tsx +++ b/apps/console/src/pages/organizations/settings/DomainSettingsPageLoader.tsx @@ -1,12 +1,14 @@ import { Suspense, useEffect } from "react"; +import { useQueryLoader } from "react-relay"; + import { useOrganizationId } from "/hooks/useOrganizationId"; +import { CoreRelayProvider } from "/providers/CoreRelayProvider"; +import type { DomainSettingsPageQuery } from "/__generated__/core/DomainSettingsPageQuery.graphql"; + import { DomainSettingsPage, domainSettingsPageQuery, } from "./DomainSettingsPage"; -import { useQueryLoader } from "react-relay"; -import { CoreRelayProvider } from "/providers/CoreRelayProvider"; -import type { DomainSettingsPageQuery } from "/__generated__/core/DomainSettingsPageQuery.graphql"; function DomainSettingsPageLoader() { const organizationId = useOrganizationId(); diff --git a/apps/console/src/pages/organizations/settings/_components/DeleteDomainDialog.tsx b/apps/console/src/pages/organizations/settings/_components/DeleteDomainDialog.tsx index 3dd3f310d..95b15818d 100644 --- a/apps/console/src/pages/organizations/settings/_components/DeleteDomainDialog.tsx +++ b/apps/console/src/pages/organizations/settings/_components/DeleteDomainDialog.tsx @@ -11,6 +11,7 @@ import { } from "@probo/ui"; import { useState, type PropsWithChildren } from "react"; import { graphql } from "relay-runtime"; + import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; import { useOrganizationId } from "/hooks/useOrganizationId"; import type { DeleteDomainDialogMutation } from "/__generated__/core/DeleteDomainDialogMutation.graphql"; diff --git a/apps/console/src/pages/organizations/settings/_components/DomainCard.tsx b/apps/console/src/pages/organizations/settings/_components/DomainCard.tsx index f98c8ea34..c0cad68d1 100644 --- a/apps/console/src/pages/organizations/settings/_components/DomainCard.tsx +++ b/apps/console/src/pages/organizations/settings/_components/DomainCard.tsx @@ -1,5 +1,4 @@ import { Badge, Button, Card } from "@probo/ui"; -import { DomainDialog } from "./DomainDialog"; import { getCustomDomainStatusBadgeLabel, getCustomDomainStatusBadgeVariant, @@ -7,7 +6,10 @@ import { import { useTranslate } from "@probo/i18n"; import { graphql } from "relay-runtime"; import { useFragment } from "react-relay"; + import type { DomainCardFragment$key } from "/__generated__/core/DomainCardFragment.graphql"; + +import { DomainDialog } from "./DomainDialog"; import { DeleteDomainDialog } from "./DeleteDomainDialog"; const fragment = graphql` diff --git a/apps/console/src/pages/organizations/settings/_components/DomainDialog.tsx b/apps/console/src/pages/organizations/settings/_components/DomainDialog.tsx index 78789d53a..d5ad0488c 100644 --- a/apps/console/src/pages/organizations/settings/_components/DomainDialog.tsx +++ b/apps/console/src/pages/organizations/settings/_components/DomainDialog.tsx @@ -14,6 +14,7 @@ import { import type { PropsWithChildren } from "react"; import { useFragment } from "react-relay"; import { graphql } from "relay-runtime"; + import type { DomainDialogFragment$key } from "/__generated__/core/DomainDialogFragment.graphql"; const fragment = graphql` diff --git a/apps/console/src/pages/organizations/settings/_components/NewDomainDialog.tsx b/apps/console/src/pages/organizations/settings/_components/NewDomainDialog.tsx index 050392e18..aad6478ba 100644 --- a/apps/console/src/pages/organizations/settings/_components/NewDomainDialog.tsx +++ b/apps/console/src/pages/organizations/settings/_components/NewDomainDialog.tsx @@ -9,11 +9,12 @@ import { useDialogRef, } from "@probo/ui"; import { graphql } from "relay-runtime"; -import z from "zod"; +import { z } from "zod"; +import type { PropsWithChildren } from "react"; + import { useFormWithSchema } from "/hooks/useFormWithSchema"; import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; import { useOrganizationId } from "/hooks/useOrganizationId"; -import type { PropsWithChildren } from "react"; import type { NewDomainDialogMutation } from "/__generated__/core/NewDomainDialogMutation.graphql"; const createCustomDomainMutation = graphql` diff --git a/apps/console/src/pages/organizations/snapshots/SnapshotDetailPage.tsx b/apps/console/src/pages/organizations/snapshots/SnapshotDetailPage.tsx index 6b4d74cd9..97e6d0a32 100644 --- a/apps/console/src/pages/organizations/snapshots/SnapshotDetailPage.tsx +++ b/apps/console/src/pages/organizations/snapshots/SnapshotDetailPage.tsx @@ -1,11 +1,12 @@ import { useEffect } from "react"; import { useNavigate, useParams } from "react-router"; import { usePreloadedQuery, type PreloadedQuery } from "react-relay"; +import { getSnapshotTypeUrlPath } from "@probo/helpers"; + import { snapshotNodeQuery } from "/hooks/graph/SnapshotGraph"; import type { SnapshotGraphNodeQuery } from "/__generated__/core/SnapshotGraphNodeQuery.graphql"; import { useOrganizationId } from "/hooks/useOrganizationId"; import { PageError } from "/components/PageError"; -import { getSnapshotTypeUrlPath } from "@probo/helpers"; type Props = { queryRef: PreloadedQuery; diff --git a/apps/console/src/pages/organizations/snapshots/SnapshotsPage.tsx b/apps/console/src/pages/organizations/snapshots/SnapshotsPage.tsx index 1b47558be..005221351 100644 --- a/apps/console/src/pages/organizations/snapshots/SnapshotsPage.tsx +++ b/apps/console/src/pages/organizations/snapshots/SnapshotsPage.tsx @@ -1,4 +1,3 @@ -import type { SnapshotGraphListQuery } from "/__generated__/core/SnapshotGraphListQuery.graphql"; import { useFragment, usePreloadedQuery, @@ -25,17 +24,20 @@ import { Thead, Tr, } from "@probo/ui"; -import { snapshotsQuery, useDeleteSnapshot } from "/hooks/graph/SnapshotGraph"; import { graphql } from "relay-runtime"; +import { usePageTitle } from "@probo/hooks"; + +import { snapshotsQuery, useDeleteSnapshot } from "/hooks/graph/SnapshotGraph"; import type { SnapshotsPageFragment$data, SnapshotsPageFragment$key, } from "/__generated__/core/SnapshotsPageFragment.graphql"; import type { NodeOf } from "/types"; -import SnapshotFormDialog from "./dialog/SnapshotFormDialog"; -import { usePageTitle } from "@probo/hooks"; +import type { SnapshotGraphListQuery } from "/__generated__/core/SnapshotGraphListQuery.graphql"; import { useOrganizationId } from "/hooks/useOrganizationId"; +import SnapshotFormDialog from "./dialog/SnapshotFormDialog"; + type Props = { queryRef: PreloadedQuery; }; diff --git a/apps/console/src/pages/organizations/snapshots/dialog/SnapshotFormDialog.tsx b/apps/console/src/pages/organizations/snapshots/dialog/SnapshotFormDialog.tsx index f97b14367..a35235379 100644 --- a/apps/console/src/pages/organizations/snapshots/dialog/SnapshotFormDialog.tsx +++ b/apps/console/src/pages/organizations/snapshots/dialog/SnapshotFormDialog.tsx @@ -7,19 +7,19 @@ import { Label, PropertyRow, Textarea, - useDialogRef, + useDialogRef, Breadcrumb, } from "@probo/ui"; import type { ReactNode } from "react"; import { useTranslate } from "@probo/i18n"; -import { Breadcrumb } from "@probo/ui"; import { graphql } from "relay-runtime"; import { z } from "zod"; +import { snapshotTypes } from "@probo/helpers"; + import { useFormWithSchema } from "/hooks/useFormWithSchema"; import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; import { useOrganizationId } from "/hooks/useOrganizationId"; import { ControlledField } from "/components/form/ControlledField"; import { SnapshotTypeOptions } from "/components/form/SnapshotTypeOptions"; -import { snapshotTypes } from "@probo/helpers"; const snapshotCreateMutation = graphql` mutation SnapshotFormDialogCreateMutation( diff --git a/apps/console/src/pages/organizations/states-of-applicability/StateOfApplicabilityDetailPage.tsx b/apps/console/src/pages/organizations/states-of-applicability/StateOfApplicabilityDetailPage.tsx index 8e6231bdd..cb0575673 100644 --- a/apps/console/src/pages/organizations/states-of-applicability/StateOfApplicabilityDetailPage.tsx +++ b/apps/console/src/pages/organizations/states-of-applicability/StateOfApplicabilityDetailPage.tsx @@ -1,5 +1,4 @@ import { useNavigate, useParams } from "react-router"; -import { useOrganizationId } from "/hooks/useOrganizationId"; import { ActionDropdown, Breadcrumb, @@ -21,6 +20,11 @@ import { type PreloadedQuery, usePreloadedQuery, } from "react-relay"; +import { useState, Suspense } from "react"; +import { usePageTitle } from "@probo/hooks"; +import { formatDate, validateSnapshotConsistency } from "@probo/helpers"; +import { z } from "zod"; + import type { StateOfApplicabilityGraphNodeQuery } from "/__generated__/core/StateOfApplicabilityGraphNodeQuery.graphql"; import type { StateOfApplicabilityDetailPageExportMutation } from "/__generated__/core/StateOfApplicabilityDetailPageExportMutation.graphql"; import { @@ -29,16 +33,14 @@ import { useDeleteStateOfApplicability, updateStateOfApplicabilityMutation, } from "/hooks/graph/StateOfApplicabilityGraph"; -import { useState, Suspense } from "react"; -import { usePageTitle } from "@probo/hooks"; -import { formatDate, validateSnapshotConsistency } from "@probo/helpers"; import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; import { useFormWithSchema } from "/hooks/useFormWithSchema"; -import { z } from "zod"; -import StateOfApplicabilityControlsTab from "./tabs/StateOfApplicabilityControlsTab"; +import { useOrganizationId } from "/hooks/useOrganizationId"; import { SnapshotBanner } from "/components/SnapshotBanner"; import { PeopleSelectField } from "/components/form/PeopleSelectField"; +import StateOfApplicabilityControlsTab from "./tabs/StateOfApplicabilityControlsTab"; + const exportStateOfApplicabilityPDFMutation = graphql` mutation StateOfApplicabilityDetailPageExportMutation( $input: ExportStateOfApplicabilityPDFInput! diff --git a/apps/console/src/pages/organizations/states-of-applicability/StatesOfApplicabilityPage.tsx b/apps/console/src/pages/organizations/states-of-applicability/StatesOfApplicabilityPage.tsx index 416c4f8ac..63787dd5f 100644 --- a/apps/console/src/pages/organizations/states-of-applicability/StatesOfApplicabilityPage.tsx +++ b/apps/console/src/pages/organizations/states-of-applicability/StatesOfApplicabilityPage.tsx @@ -14,31 +14,33 @@ import { Table, } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; -import type { StateOfApplicabilityGraphPaginatedQuery } from "/__generated__/core/StateOfApplicabilityGraphPaginatedQuery.graphql"; import { usePreloadedQuery, type PreloadedQuery, usePaginationFragment, } from "react-relay"; +import { usePageTitle } from "@probo/hooks"; +import { useEffect } from "react"; +import { formatDate } from "@probo/helpers"; +import { useParams } from "react-router"; + +import { useOrganizationId } from "/hooks/useOrganizationId"; +import type { NodeOf } from "/types"; +import type { + StateOfApplicabilityGraphPaginatedFragment$data, + StateOfApplicabilityGraphPaginatedFragment$key, +} from "/__generated__/core/StateOfApplicabilityGraphPaginatedFragment.graphql"; import { useDeleteStateOfApplicability, paginatedStateOfApplicabilityFragment, paginatedStateOfApplicabilityQuery, } from "/hooks/graph/StateOfApplicabilityGraph"; -import type { - StateOfApplicabilityGraphPaginatedFragment$data, - StateOfApplicabilityGraphPaginatedFragment$key, -} from "/__generated__/core/StateOfApplicabilityGraphPaginatedFragment.graphql"; -import type { NodeOf } from "/types"; -import { usePageTitle } from "@probo/hooks"; -import { CreateStateOfApplicabilityDialog } from "./dialogs/CreateStateOfApplicabilityDialog"; -import { useEffect } from "react"; -import { useOrganizationId } from "/hooks/useOrganizationId"; -import { formatDate } from "@probo/helpers"; -import { useParams } from "react-router"; +import type { StateOfApplicabilityGraphPaginatedQuery } from "/__generated__/core/StateOfApplicabilityGraphPaginatedQuery.graphql"; import { SnapshotBanner } from "/components/SnapshotBanner"; import type { StateOfApplicabilityListQuery } from "/__generated__/core/StateOfApplicabilityListQuery.graphql"; +import { CreateStateOfApplicabilityDialog } from "./dialogs/CreateStateOfApplicabilityDialog"; + type StateOfApplicability = NodeOf< StateOfApplicabilityGraphPaginatedFragment$data["statesOfApplicability"] >; diff --git a/apps/console/src/pages/organizations/states-of-applicability/dialogs/CreateStateOfApplicabilityDialog.tsx b/apps/console/src/pages/organizations/states-of-applicability/dialogs/CreateStateOfApplicabilityDialog.tsx index 3ea3c078f..51864fb81 100644 --- a/apps/console/src/pages/organizations/states-of-applicability/dialogs/CreateStateOfApplicabilityDialog.tsx +++ b/apps/console/src/pages/organizations/states-of-applicability/dialogs/CreateStateOfApplicabilityDialog.tsx @@ -10,14 +10,15 @@ import { } from "@probo/ui"; import type { ReactNode } from "react"; import { useNavigate } from "react-router"; +import { z } from "zod"; +import { Suspense } from "react"; + import { useOrganizationId } from "/hooks/useOrganizationId"; -import z from "zod"; import { useFormWithSchema } from "/hooks/useFormWithSchema"; import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; import { createStateOfApplicabilityMutation } from "/hooks/graph/StateOfApplicabilityGraph"; import type { StateOfApplicabilityGraphCreateMutation } from "/__generated__/core/StateOfApplicabilityGraphCreateMutation.graphql"; import { PeopleSelectField } from "/components/form/PeopleSelectField"; -import { Suspense } from "react"; type Props = { children: ReactNode; diff --git a/apps/console/src/pages/organizations/states-of-applicability/dialogs/EditControlDialog.tsx b/apps/console/src/pages/organizations/states-of-applicability/dialogs/EditControlDialog.tsx index 49dd6bc43..60a672347 100644 --- a/apps/console/src/pages/organizations/states-of-applicability/dialogs/EditControlDialog.tsx +++ b/apps/console/src/pages/organizations/states-of-applicability/dialogs/EditControlDialog.tsx @@ -14,8 +14,9 @@ import { } from "@probo/ui"; import { forwardRef, useImperativeHandle, useState } from "react"; import { graphql } from "react-relay"; -import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; import { z } from "zod"; + +import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; import { useFormWithSchema } from "/hooks/useFormWithSchema"; const linkControlMutation = graphql` diff --git a/apps/console/src/pages/organizations/states-of-applicability/dialogs/LinkControlDialog.tsx b/apps/console/src/pages/organizations/states-of-applicability/dialogs/LinkControlDialog.tsx index 07e8741e7..d40467a3c 100644 --- a/apps/console/src/pages/organizations/states-of-applicability/dialogs/LinkControlDialog.tsx +++ b/apps/console/src/pages/organizations/states-of-applicability/dialogs/LinkControlDialog.tsx @@ -18,8 +18,8 @@ import { IconCheckmark1, } from "@probo/ui"; import { forwardRef, useImperativeHandle, useState, Suspense, useMemo } from "react"; -import { useLazyLoadQuery } from "react-relay"; -import { graphql } from "react-relay"; +import { useLazyLoadQuery, graphql } from "react-relay"; + import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; const linkControlQuery = graphql` diff --git a/apps/console/src/pages/organizations/states-of-applicability/tabs/StateOfApplicabilityControlsTab.tsx b/apps/console/src/pages/organizations/states-of-applicability/tabs/StateOfApplicabilityControlsTab.tsx index 75ca48496..d4398e8c3 100644 --- a/apps/console/src/pages/organizations/states-of-applicability/tabs/StateOfApplicabilityControlsTab.tsx +++ b/apps/console/src/pages/organizations/states-of-applicability/tabs/StateOfApplicabilityControlsTab.tsx @@ -15,9 +15,12 @@ import { DropdownItem, } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; +import { Suspense, useMemo, useRef } from "react"; + import { useOrganizationId } from "/hooks/useOrganizationId"; import type { StateOfApplicabilityControlsTabFragment$key } from "/__generated__/core/StateOfApplicabilityControlsTabFragment.graphql"; -import { Suspense, useMemo, useRef } from "react"; +import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; + import { LinkControlDialog, type LinkControlDialogRef, @@ -26,7 +29,6 @@ import { EditControlDialog, type EditControlDialogRef, } from "../dialogs/EditControlDialog"; -import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; export const controlsFragment = graphql` fragment StateOfApplicabilityControlsTabFragment on StateOfApplicability diff --git a/apps/console/src/pages/organizations/states-of-applicability/tabs/StateOfApplicabilityOverviewTab.tsx b/apps/console/src/pages/organizations/states-of-applicability/tabs/StateOfApplicabilityOverviewTab.tsx index b7dbb3d55..441947824 100644 --- a/apps/console/src/pages/organizations/states-of-applicability/tabs/StateOfApplicabilityOverviewTab.tsx +++ b/apps/console/src/pages/organizations/states-of-applicability/tabs/StateOfApplicabilityOverviewTab.tsx @@ -2,6 +2,7 @@ import { useOutletContext } from "react-router"; import { Card, Field } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; import { formatDate } from "@probo/helpers"; + import type { StateOfApplicabilityGraphNodeQuery$data } from "/__generated__/core/StateOfApplicabilityGraphNodeQuery.graphql"; type StateOfApplicabilityNode = NonNullable< diff --git a/apps/console/src/pages/organizations/tasks/TasksPage.tsx b/apps/console/src/pages/organizations/tasks/TasksPage.tsx index 141cb3459..d5f27fca7 100644 --- a/apps/console/src/pages/organizations/tasks/TasksPage.tsx +++ b/apps/console/src/pages/organizations/tasks/TasksPage.tsx @@ -5,11 +5,12 @@ import { type PreloadedQuery, } from "react-relay"; import { graphql } from "relay-runtime"; -import type { TaskGraphQuery } from "/__generated__/core/TaskGraphQuery.graphql"; import { useTranslate } from "@probo/i18n"; +import { usePageTitle } from "@probo/hooks"; + +import type { TaskGraphQuery } from "/__generated__/core/TaskGraphQuery.graphql"; import type { TasksPageFragment$key } from "/__generated__/core/TasksPageFragment.graphql"; import { tasksQuery } from "/hooks/graph/TaskGraph"; -import { usePageTitle } from "@probo/hooks"; import { TasksCard } from "/components/tasks/TasksCard"; import TaskFormDialog from "/components/tasks/TaskFormDialog"; diff --git a/apps/console/src/pages/organizations/trustCenter/TrustCenterAccessTab/TrustCenterAccessEditDialog.tsx b/apps/console/src/pages/organizations/trustCenter/TrustCenterAccessTab/TrustCenterAccessEditDialog.tsx index 6d43b9ecf..da8479ad2 100644 --- a/apps/console/src/pages/organizations/trustCenter/TrustCenterAccessTab/TrustCenterAccessEditDialog.tsx +++ b/apps/console/src/pages/organizations/trustCenter/TrustCenterAccessTab/TrustCenterAccessEditDialog.tsx @@ -17,20 +17,22 @@ import { type PreloadedQuery, useQueryLoader, } from "react-relay"; +import { useTranslate } from "@probo/i18n"; +import { z } from "zod"; +import { Suspense, useCallback, useEffect, useState } from "react"; + import type { TrustCenterAccessGraphLoadDocumentAccessesQuery } from "/__generated__/core/TrustCenterAccessGraphLoadDocumentAccessesQuery.graphql"; import { loadTrustCenterAccessDocumentAccessesQuery, updateTrustCenterAccessMutation, } from "/hooks/graph/TrustCenterAccessGraph"; -import { useTranslate } from "@probo/i18n"; -import z from "zod"; import { useFormWithSchema } from "/hooks/useFormWithSchema"; import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; -import { Suspense, useCallback, useEffect, useState } from "react"; -import { TrustCenterDocumentAccessList } from "./TrustCenterDocumentAccessList"; import type { TrustCenterAccessGraph_accesses$data } from "/__generated__/core/TrustCenterAccessGraph_accesses.graphql"; import type { NodeOf } from "/types"; +import { TrustCenterDocumentAccessList } from "./TrustCenterDocumentAccessList"; + interface TrustCenterAccessEditDialogProps { access: NodeOf; onClose: () => void; diff --git a/apps/console/src/pages/organizations/trustCenter/TrustCenterAccessTab/TrustCenterAccessItem.tsx b/apps/console/src/pages/organizations/trustCenter/TrustCenterAccessTab/TrustCenterAccessItem.tsx index 09fda7c61..afe89fed2 100644 --- a/apps/console/src/pages/organizations/trustCenter/TrustCenterAccessTab/TrustCenterAccessItem.tsx +++ b/apps/console/src/pages/organizations/trustCenter/TrustCenterAccessTab/TrustCenterAccessItem.tsx @@ -9,13 +9,15 @@ import { } from "@probo/ui"; import { formatDate } from "@probo/helpers"; import { useCallback, useState } from "react"; +import { useTranslate } from "@probo/i18n"; + import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; import { deleteTrustCenterAccessMutation } from "/hooks/graph/TrustCenterAccessGraph"; -import { useTranslate } from "@probo/i18n"; -import { TrustCenterAccessEditDialog } from "./TrustCenterAccessEditDialog"; import type { TrustCenterAccessGraph_accesses$data } from "/__generated__/core/TrustCenterAccessGraph_accesses.graphql"; import type { NodeOf } from "/types"; +import { TrustCenterAccessEditDialog } from "./TrustCenterAccessEditDialog"; + interface TrustCenterAccessItemProps { access: NodeOf; connectionId?: string; diff --git a/apps/console/src/pages/organizations/trustCenter/TrustCenterAccessTab/TrustCenterAccessTab.tsx b/apps/console/src/pages/organizations/trustCenter/TrustCenterAccessTab/TrustCenterAccessTab.tsx index e608a9c0b..eedeffb8e 100644 --- a/apps/console/src/pages/organizations/trustCenter/TrustCenterAccessTab/TrustCenterAccessTab.tsx +++ b/apps/console/src/pages/organizations/trustCenter/TrustCenterAccessTab/TrustCenterAccessTab.tsx @@ -18,19 +18,21 @@ import { import { useTranslate } from "@probo/i18n"; import { useOutletContext } from "react-router"; import { useState, useMemo } from "react"; -import z from "zod"; +import { z } from "zod"; + import { useTrustCenterAccesses, createTrustCenterAccessMutation, } from "/hooks/graph/TrustCenterAccessGraph"; import { useFormWithSchema } from "/hooks/useFormWithSchema"; import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; -import { TrustCenterAccessItem } from "./TrustCenterAccessItem"; import type { TrustCenterGraphQuery$data } from "/__generated__/core/TrustCenterGraphQuery.graphql"; import type { NodeOf } from "/types"; import type { TrustCenterAccessGraph_accesses$data } from "/__generated__/core/TrustCenterAccessGraph_accesses.graphql"; import type { TrustCenterAccessGraphCreateMutation } from "/__generated__/core/TrustCenterAccessGraphCreateMutation.graphql"; +import { TrustCenterAccessItem } from "./TrustCenterAccessItem"; + export default function TrustCenterAccessTab() { const { __ } = useTranslate(); const { organization } = useOutletContext(); diff --git a/apps/console/src/pages/organizations/trustCenter/TrustCenterAuditsTab.tsx b/apps/console/src/pages/organizations/trustCenter/TrustCenterAuditsTab.tsx index 9cd1dcbf6..fa3868228 100644 --- a/apps/console/src/pages/organizations/trustCenter/TrustCenterAuditsTab.tsx +++ b/apps/console/src/pages/organizations/trustCenter/TrustCenterAuditsTab.tsx @@ -1,6 +1,7 @@ import { Spinner } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; import { useOutletContext } from "react-router"; + import { TrustCenterAuditsCard } from "/components/trustCenter/TrustCenterAuditsCard"; import { useTrustCenterAuditUpdate } from "/hooks/graph/TrustCenterAuditGraph"; import type { TrustCenterGraphQuery$data } from "/__generated__/core/TrustCenterGraphQuery.graphql"; diff --git a/apps/console/src/pages/organizations/trustCenter/TrustCenterDocumentsTab.tsx b/apps/console/src/pages/organizations/trustCenter/TrustCenterDocumentsTab.tsx index dab09421b..063e01bc7 100644 --- a/apps/console/src/pages/organizations/trustCenter/TrustCenterDocumentsTab.tsx +++ b/apps/console/src/pages/organizations/trustCenter/TrustCenterDocumentsTab.tsx @@ -1,6 +1,7 @@ import { Spinner } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; import { useOutletContext } from "react-router"; + import { TrustCenterDocumentsCard } from "/components/trustCenter/TrustCenterDocumentsCard"; import { useUpdateDocumentVisibilityMutation } from "/hooks/graph/TrustCenterDocumentGraph"; import type { TrustCenterGraphQuery$data } from "/__generated__/core/TrustCenterGraphQuery.graphql"; diff --git a/apps/console/src/pages/organizations/trustCenter/TrustCenterFilesTab.tsx b/apps/console/src/pages/organizations/trustCenter/TrustCenterFilesTab.tsx index 78e94adc6..c856e91c0 100644 --- a/apps/console/src/pages/organizations/trustCenter/TrustCenterFilesTab.tsx +++ b/apps/console/src/pages/organizations/trustCenter/TrustCenterFilesTab.tsx @@ -14,8 +14,9 @@ import { import { useTranslate } from "@probo/i18n"; import { useOutletContext } from "react-router"; import { useState, useCallback } from "react"; -import z from "zod"; +import { z } from "zod"; import { getTrustCenterVisibilityOptions } from "@probo/helpers"; + import { useCreateTrustCenterFileMutation, useUpdateTrustCenterFileMutation, diff --git a/apps/console/src/pages/organizations/trustCenter/TrustCenterOverviewTab.tsx b/apps/console/src/pages/organizations/trustCenter/TrustCenterOverviewTab.tsx index 0b2fc2526..3acba63ad 100644 --- a/apps/console/src/pages/organizations/trustCenter/TrustCenterOverviewTab.tsx +++ b/apps/console/src/pages/organizations/trustCenter/TrustCenterOverviewTab.tsx @@ -9,13 +9,15 @@ import { IconTrashCan, } from "@probo/ui"; import { useOutletContext } from "react-router"; +import { useState } from "react"; + import { useUpdateTrustCenterMutation, useUploadTrustCenterNDAMutation, useDeleteTrustCenterNDAMutation, } from "/hooks/graph/TrustCenterGraph"; import type { TrustCenterGraphQuery$data } from "/__generated__/core/TrustCenterGraphQuery.graphql"; -import { useState } from "react"; + import { SlackConnections } from "../../../components/organizations/SlackConnection"; export default function TrustCenterOverviewTab() { diff --git a/apps/console/src/pages/organizations/trustCenter/TrustCenterPage.tsx b/apps/console/src/pages/organizations/trustCenter/TrustCenterPage.tsx index 4ccdefeb3..fdf91829b 100644 --- a/apps/console/src/pages/organizations/trustCenter/TrustCenterPage.tsx +++ b/apps/console/src/pages/organizations/trustCenter/TrustCenterPage.tsx @@ -14,10 +14,11 @@ import { IconPeopleAdd, } from "@probo/ui"; import { usePreloadedQuery, type PreloadedQuery } from "react-relay"; +import { Outlet } from "react-router"; + import { trustCenterQuery } from "/hooks/graph/TrustCenterGraph"; import type { TrustCenterGraphQuery } from "/__generated__/core/TrustCenterGraphQuery.graphql"; import { useOrganizationId } from "/hooks/useOrganizationId"; -import { Outlet } from "react-router"; type Props = { queryRef: PreloadedQuery; diff --git a/apps/console/src/pages/organizations/trustCenter/TrustCenterReferencesTab.tsx b/apps/console/src/pages/organizations/trustCenter/TrustCenterReferencesTab.tsx index 4ddbd3bbe..66c5a1302 100644 --- a/apps/console/src/pages/organizations/trustCenter/TrustCenterReferencesTab.tsx +++ b/apps/console/src/pages/organizations/trustCenter/TrustCenterReferencesTab.tsx @@ -1,4 +1,5 @@ import { useOutletContext } from "react-router"; + import { TrustCenterReferencesSection } from "/components/trustCenter/TrustCenterReferencesSection"; import type { TrustCenterGraphQuery$data } from "/__generated__/core/TrustCenterGraphQuery.graphql"; diff --git a/apps/console/src/pages/organizations/trustCenter/TrustCenterVendorsTab.tsx b/apps/console/src/pages/organizations/trustCenter/TrustCenterVendorsTab.tsx index 761f62fa9..bcde6b05b 100644 --- a/apps/console/src/pages/organizations/trustCenter/TrustCenterVendorsTab.tsx +++ b/apps/console/src/pages/organizations/trustCenter/TrustCenterVendorsTab.tsx @@ -1,6 +1,7 @@ import { Spinner } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; import { useOutletContext } from "react-router"; + import { TrustCenterVendorsCard } from "/components/trustCenter/TrustCenterVendorsCard"; import { useTrustCenterVendorUpdate } from "/hooks/graph/TrustCenterVendorGraph"; import type { TrustCenterVendorsCardFragment$key } from "/__generated__/core/TrustCenterVendorsCardFragment.graphql"; diff --git a/apps/console/src/pages/organizations/vendors/VendorDetailPage.tsx b/apps/console/src/pages/organizations/vendors/VendorDetailPage.tsx index bfa6d26d0..2b1c0f4e2 100644 --- a/apps/console/src/pages/organizations/vendors/VendorDetailPage.tsx +++ b/apps/console/src/pages/organizations/vendors/VendorDetailPage.tsx @@ -4,12 +4,6 @@ import { usePreloadedQuery, type PreloadedQuery, } from "react-relay"; -import type { VendorGraphNodeQuery } from "/__generated__/core/VendorGraphNodeQuery.graphql"; -import { - useDeleteVendor, - vendorConnectionKey, - vendorNodeQuery, -} from "/hooks/graph/VendorGraph"; import { ActionDropdown, Breadcrumb, @@ -22,14 +16,22 @@ import { Tabs, } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; -import { useOrganizationId } from "/hooks/useOrganizationId"; import { Outlet, useParams } from "react-router"; import { faviconUrl, validateSnapshotConsistency } from "@probo/helpers"; -import { ImportAssessmentDialog } from "./dialogs/ImportAssessmentDialog"; -import { complianceReportsFragment } from "./tabs/VendorComplianceTab"; + +import { useOrganizationId } from "/hooks/useOrganizationId"; +import { + useDeleteVendor, + vendorConnectionKey, + vendorNodeQuery, +} from "/hooks/graph/VendorGraph"; +import type { VendorGraphNodeQuery } from "/__generated__/core/VendorGraphNodeQuery.graphql"; import type { VendorComplianceTabFragment$key } from "/__generated__/core/VendorComplianceTabFragment.graphql"; import { SnapshotBanner } from "/components/SnapshotBanner"; +import { ImportAssessmentDialog } from "./dialogs/ImportAssessmentDialog"; +import { complianceReportsFragment } from "./tabs/VendorComplianceTab"; + type Props = { queryRef: PreloadedQuery; }; diff --git a/apps/console/src/pages/organizations/vendors/VendorsPage.tsx b/apps/console/src/pages/organizations/vendors/VendorsPage.tsx index 572d81ba4..25ddcbe53 100644 --- a/apps/console/src/pages/organizations/vendors/VendorsPage.tsx +++ b/apps/console/src/pages/organizations/vendors/VendorsPage.tsx @@ -20,11 +20,11 @@ import { usePreloadedQuery, type PreloadedQuery, } from "react-relay"; -import { useOrganizationId } from "/hooks/useOrganizationId"; import { useParams } from "react-router"; import { faviconUrl, formatDate } from "@probo/helpers"; + +import { useOrganizationId } from "/hooks/useOrganizationId"; import type { NodeOf } from "/types"; -import { CreateVendorDialog } from "./dialogs/CreateVendorDialog"; import { paginatedVendorsFragment, useDeleteVendor, @@ -38,6 +38,8 @@ import type { import { SortableTable, SortableTh } from "/components/SortableTable"; import { SnapshotBanner } from "/components/SnapshotBanner"; +import { CreateVendorDialog } from "./dialogs/CreateVendorDialog"; + type Vendor = NodeOf; type Props = { diff --git a/apps/console/src/pages/organizations/vendors/dialogs/CreateContactDialog.tsx b/apps/console/src/pages/organizations/vendors/dialogs/CreateContactDialog.tsx index a03f302cd..758ec1ee5 100644 --- a/apps/console/src/pages/organizations/vendors/dialogs/CreateContactDialog.tsx +++ b/apps/console/src/pages/organizations/vendors/dialogs/CreateContactDialog.tsx @@ -11,8 +11,9 @@ import { import { cleanFormData } from "@probo/helpers"; import { type ReactNode } from "react"; import { graphql } from "relay-runtime"; -import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; import { z } from "zod"; + +import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; import { useFormWithSchema } from "/hooks/useFormWithSchema"; type Props = { diff --git a/apps/console/src/pages/organizations/vendors/dialogs/CreateRiskAssessmentDialog.tsx b/apps/console/src/pages/organizations/vendors/dialogs/CreateRiskAssessmentDialog.tsx index 49397e678..d0b67f8d5 100644 --- a/apps/console/src/pages/organizations/vendors/dialogs/CreateRiskAssessmentDialog.tsx +++ b/apps/console/src/pages/organizations/vendors/dialogs/CreateRiskAssessmentDialog.tsx @@ -12,8 +12,9 @@ import { } from "@probo/ui"; import { type ReactNode } from "react"; import { graphql } from "relay-runtime"; -import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; import { z } from "zod"; + +import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; import { useFormWithSchema } from "/hooks/useFormWithSchema"; import { ControlledField } from "/components/form/ControlledField"; diff --git a/apps/console/src/pages/organizations/vendors/dialogs/CreateServiceDialog.tsx b/apps/console/src/pages/organizations/vendors/dialogs/CreateServiceDialog.tsx index f178b117e..25ecca529 100644 --- a/apps/console/src/pages/organizations/vendors/dialogs/CreateServiceDialog.tsx +++ b/apps/console/src/pages/organizations/vendors/dialogs/CreateServiceDialog.tsx @@ -11,8 +11,9 @@ import { import { cleanFormData } from "@probo/helpers"; import { type ReactNode } from "react"; import { graphql } from "relay-runtime"; -import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; import { z } from "zod"; + +import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; import { useFormWithSchema } from "/hooks/useFormWithSchema"; type Props = { diff --git a/apps/console/src/pages/organizations/vendors/dialogs/CreateVendorDialog.tsx b/apps/console/src/pages/organizations/vendors/dialogs/CreateVendorDialog.tsx index 53c9b2743..f18496b0b 100644 --- a/apps/console/src/pages/organizations/vendors/dialogs/CreateVendorDialog.tsx +++ b/apps/console/src/pages/organizations/vendors/dialogs/CreateVendorDialog.tsx @@ -9,12 +9,13 @@ import { IconPlusLarge, useDialogRef, } from "@probo/ui"; -import { useVendorSearch } from "/hooks/useVendorSearch"; import { faviconUrl } from "@probo/helpers"; import type { Vendor } from "@probo/vendors"; -import { useCreateVendorMutation } from "/hooks/graph/VendorGraph"; import { type ReactNode } from "react"; +import { useCreateVendorMutation } from "/hooks/graph/VendorGraph"; +import { useVendorSearch } from "/hooks/useVendorSearch"; + type Props = { children: ReactNode; organizationId: string; diff --git a/apps/console/src/pages/organizations/vendors/dialogs/DeleteBusinessAssociateAgreementDialog.tsx b/apps/console/src/pages/organizations/vendors/dialogs/DeleteBusinessAssociateAgreementDialog.tsx index faae7b655..9786e239e 100644 --- a/apps/console/src/pages/organizations/vendors/dialogs/DeleteBusinessAssociateAgreementDialog.tsx +++ b/apps/console/src/pages/organizations/vendors/dialogs/DeleteBusinessAssociateAgreementDialog.tsx @@ -9,6 +9,7 @@ import { import { useTranslate } from "@probo/i18n"; import { sprintf } from "@probo/helpers"; import { graphql } from "react-relay"; + import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; const deleteBusinessAssociateAgreementMutation = graphql` diff --git a/apps/console/src/pages/organizations/vendors/dialogs/DeleteDataPrivacyAgreementDialog.tsx b/apps/console/src/pages/organizations/vendors/dialogs/DeleteDataPrivacyAgreementDialog.tsx index 11a9f3eb0..91ceec78b 100644 --- a/apps/console/src/pages/organizations/vendors/dialogs/DeleteDataPrivacyAgreementDialog.tsx +++ b/apps/console/src/pages/organizations/vendors/dialogs/DeleteDataPrivacyAgreementDialog.tsx @@ -9,6 +9,7 @@ import { import { useTranslate } from "@probo/i18n"; import { sprintf } from "@probo/helpers"; import { graphql } from "react-relay"; + import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; const deleteDataPrivacyAgreementMutation = graphql` diff --git a/apps/console/src/pages/organizations/vendors/dialogs/EditBusinessAssociateAgreementDialog.tsx b/apps/console/src/pages/organizations/vendors/dialogs/EditBusinessAssociateAgreementDialog.tsx index 74e0038ec..91c26b4a9 100644 --- a/apps/console/src/pages/organizations/vendors/dialogs/EditBusinessAssociateAgreementDialog.tsx +++ b/apps/console/src/pages/organizations/vendors/dialogs/EditBusinessAssociateAgreementDialog.tsx @@ -11,6 +11,7 @@ import { import { useTranslate } from "@probo/i18n"; import { graphql } from "react-relay"; import { z } from "zod"; + import { useFormWithSchema } from "/hooks/useFormWithSchema"; import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; diff --git a/apps/console/src/pages/organizations/vendors/dialogs/EditContactDialog.tsx b/apps/console/src/pages/organizations/vendors/dialogs/EditContactDialog.tsx index ffffd3957..b5d46a4e3 100644 --- a/apps/console/src/pages/organizations/vendors/dialogs/EditContactDialog.tsx +++ b/apps/console/src/pages/organizations/vendors/dialogs/EditContactDialog.tsx @@ -11,8 +11,9 @@ import { import { cleanFormData } from "@probo/helpers"; import { useEffect } from "react"; import { graphql } from "relay-runtime"; -import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; import { z } from "zod"; + +import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; import { useFormWithSchema } from "/hooks/useFormWithSchema"; import type { VendorContactsTabFragment_contact$data } from "/__generated__/core/VendorContactsTabFragment_contact.graphql"; diff --git a/apps/console/src/pages/organizations/vendors/dialogs/EditDataPrivacyAgreementDialog.tsx b/apps/console/src/pages/organizations/vendors/dialogs/EditDataPrivacyAgreementDialog.tsx index 4442a061c..ca7c3602a 100644 --- a/apps/console/src/pages/organizations/vendors/dialogs/EditDataPrivacyAgreementDialog.tsx +++ b/apps/console/src/pages/organizations/vendors/dialogs/EditDataPrivacyAgreementDialog.tsx @@ -11,6 +11,7 @@ import { import { useTranslate } from "@probo/i18n"; import { graphql } from "react-relay"; import { z } from "zod"; + import { useFormWithSchema } from "/hooks/useFormWithSchema"; import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; diff --git a/apps/console/src/pages/organizations/vendors/dialogs/EditServiceDialog.tsx b/apps/console/src/pages/organizations/vendors/dialogs/EditServiceDialog.tsx index fa26aac2d..0c10e4f18 100644 --- a/apps/console/src/pages/organizations/vendors/dialogs/EditServiceDialog.tsx +++ b/apps/console/src/pages/organizations/vendors/dialogs/EditServiceDialog.tsx @@ -11,8 +11,9 @@ import { import { cleanFormData } from "@probo/helpers"; import { useEffect } from "react"; import { graphql } from "relay-runtime"; -import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; import { z } from "zod"; + +import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; import { useFormWithSchema } from "/hooks/useFormWithSchema"; type Props = { diff --git a/apps/console/src/pages/organizations/vendors/dialogs/ImportAssessmentDialog.tsx b/apps/console/src/pages/organizations/vendors/dialogs/ImportAssessmentDialog.tsx index c6de30374..07e5f095e 100644 --- a/apps/console/src/pages/organizations/vendors/dialogs/ImportAssessmentDialog.tsx +++ b/apps/console/src/pages/organizations/vendors/dialogs/ImportAssessmentDialog.tsx @@ -8,11 +8,12 @@ import { } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; import { z } from "zod"; -import { useFormWithSchema } from "/hooks/useFormWithSchema"; import { graphql } from "relay-runtime"; -import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; import type { ReactNode } from "react"; +import { useFormWithSchema } from "/hooks/useFormWithSchema"; +import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; + const schema = z.object({ url: z.string().url(), }); diff --git a/apps/console/src/pages/organizations/vendors/dialogs/UploadBusinessAssociateAgreementDialog.tsx b/apps/console/src/pages/organizations/vendors/dialogs/UploadBusinessAssociateAgreementDialog.tsx index 764a4e7d0..29f4f33e7 100644 --- a/apps/console/src/pages/organizations/vendors/dialogs/UploadBusinessAssociateAgreementDialog.tsx +++ b/apps/console/src/pages/organizations/vendors/dialogs/UploadBusinessAssociateAgreementDialog.tsx @@ -12,9 +12,10 @@ import { import { useTranslate } from "@probo/i18n"; import { graphql } from "react-relay"; import { z } from "zod"; +import { useState } from "react"; + import { useFormWithSchema } from "/hooks/useFormWithSchema"; import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; -import { useState } from "react"; const uploadBusinessAssociateAgreementMutation = graphql` mutation UploadBusinessAssociateAgreementDialogMutation( diff --git a/apps/console/src/pages/organizations/vendors/dialogs/UploadDataPrivacyAgreementDialog.tsx b/apps/console/src/pages/organizations/vendors/dialogs/UploadDataPrivacyAgreementDialog.tsx index 6b04b03dd..20f29f6c9 100644 --- a/apps/console/src/pages/organizations/vendors/dialogs/UploadDataPrivacyAgreementDialog.tsx +++ b/apps/console/src/pages/organizations/vendors/dialogs/UploadDataPrivacyAgreementDialog.tsx @@ -12,9 +12,10 @@ import { import { useTranslate } from "@probo/i18n"; import { graphql } from "react-relay"; import { z } from "zod"; +import { useState } from "react"; + import { useFormWithSchema } from "/hooks/useFormWithSchema"; import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; -import { useState } from "react"; const uploadDataPrivacyAgreementMutation = graphql` mutation UploadDataPrivacyAgreementDialogMutation( diff --git a/apps/console/src/pages/organizations/vendors/tabs/VendorCertificationsTab.tsx b/apps/console/src/pages/organizations/vendors/tabs/VendorCertificationsTab.tsx index ff05cd9ca..5b081aea2 100644 --- a/apps/console/src/pages/organizations/vendors/tabs/VendorCertificationsTab.tsx +++ b/apps/console/src/pages/organizations/vendors/tabs/VendorCertificationsTab.tsx @@ -9,7 +9,6 @@ import { IconPlusLarge, } from "@probo/ui"; import { Controller } from "react-hook-form"; -import { useVendorForm } from "/hooks/forms/useVendorForm"; import { useOutletContext, useParams } from "react-router"; import { certificationCategoryLabel, @@ -17,7 +16,9 @@ import { objectEntries, } from "@probo/helpers"; import { useState } from "react"; -import clsx from "clsx"; +import { clsx } from "clsx"; + +import { useVendorForm } from "/hooks/forms/useVendorForm"; import type { VendorGraphNodeQuery$data } from "/__generated__/core/VendorGraphNodeQuery.graphql"; /** diff --git a/apps/console/src/pages/organizations/vendors/tabs/VendorComplianceTab.tsx b/apps/console/src/pages/organizations/vendors/tabs/VendorComplianceTab.tsx index 53bb80664..390e011ed 100644 --- a/apps/console/src/pages/organizations/vendors/tabs/VendorComplianceTab.tsx +++ b/apps/console/src/pages/organizations/vendors/tabs/VendorComplianceTab.tsx @@ -1,6 +1,5 @@ import { useOutletContext, useParams } from "react-router"; import { graphql } from "relay-runtime"; -import type { VendorComplianceTabFragment$key } from "/__generated__/core/VendorComplianceTabFragment.graphql"; import { useTranslate } from "@probo/i18n"; import { usePageTitle } from "@probo/hooks"; import { @@ -16,13 +15,15 @@ import { useConfirm, } from "@probo/ui"; import { useFragment, useMutation, useRefetchableFragment } from "react-relay"; +import { sprintf, fileSize, formatDate } from "@probo/helpers"; +import type { ComponentProps } from "react"; + +import type { VendorComplianceTabFragment$key } from "/__generated__/core/VendorComplianceTabFragment.graphql"; import type { VendorComplianceTabFragment_report$key } from "/__generated__/core/VendorComplianceTabFragment_report.graphql"; import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; -import { sprintf, fileSize, formatDate } from "@probo/helpers"; import { SortableTable, SortableTh } from "/components/SortableTable"; import type { VendorGraphNodeQuery$data } from "/__generated__/core/VendorGraphNodeQuery.graphql"; import type { ComplianceReportListQuery } from "/__generated__/core/ComplianceReportListQuery.graphql"; -import type { ComponentProps } from "react"; export const complianceReportsFragment = graphql` fragment VendorComplianceTabFragment on Vendor diff --git a/apps/console/src/pages/organizations/vendors/tabs/VendorContactsTab.tsx b/apps/console/src/pages/organizations/vendors/tabs/VendorContactsTab.tsx index c40be1809..d3a53182d 100644 --- a/apps/console/src/pages/organizations/vendors/tabs/VendorContactsTab.tsx +++ b/apps/console/src/pages/organizations/vendors/tabs/VendorContactsTab.tsx @@ -1,6 +1,5 @@ import { useOutletContext, useParams } from "react-router"; import { graphql } from "relay-runtime"; -import type { VendorContactsTabFragment$key } from "/__generated__/core/VendorContactsTabFragment.graphql"; import { useTranslate } from "@probo/i18n"; import { usePageTitle } from "@probo/hooks"; import { @@ -19,19 +18,22 @@ import { useConfirm, } from "@probo/ui"; import { useFragment, useRefetchableFragment } from "react-relay"; +import { sprintf } from "@probo/helpers"; +import { useState, type ComponentProps } from "react"; + import type { VendorContactsTabFragment_contact$data, VendorContactsTabFragment_contact$key, } from "/__generated__/core/VendorContactsTabFragment_contact.graphql"; import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; -import { sprintf } from "@probo/helpers"; import { SortableTable, SortableTh } from "/components/SortableTable"; -import { CreateContactDialog } from "../dialogs/CreateContactDialog"; -import { EditContactDialog } from "../dialogs/EditContactDialog"; -import { useState, type ComponentProps } from "react"; +import type { VendorContactsTabFragment$key } from "/__generated__/core/VendorContactsTabFragment.graphql"; import type { VendorGraphNodeQuery$data } from "/__generated__/core/VendorGraphNodeQuery.graphql"; import type { VendorContactsListQuery } from "/__generated__/core/VendorContactsListQuery.graphql"; +import { CreateContactDialog } from "../dialogs/CreateContactDialog"; +import { EditContactDialog } from "../dialogs/EditContactDialog"; + export const vendorContactsFragment = graphql` fragment VendorContactsTabFragment on Vendor @refetchable(queryName: "VendorContactsListQuery") diff --git a/apps/console/src/pages/organizations/vendors/tabs/VendorOverviewTab.tsx b/apps/console/src/pages/organizations/vendors/tabs/VendorOverviewTab.tsx index 9d95403d5..1f66621bb 100644 --- a/apps/console/src/pages/organizations/vendors/tabs/VendorOverviewTab.tsx +++ b/apps/console/src/pages/organizations/vendors/tabs/VendorOverviewTab.tsx @@ -1,5 +1,4 @@ import { useTranslate } from "@probo/i18n"; -import { useVendorForm } from "/hooks/forms/useVendorForm"; import { useOutletContext, useParams } from "react-router"; import { Button, @@ -11,24 +10,27 @@ import { IconPencil, Option, } from "@probo/ui"; -import { PeopleSelectField } from "/components/form/PeopleSelectField"; -import { ControlledField } from "/components/form/ControlledField"; -import { CountriesField } from "/components/form/CountriesField"; -import { useOrganizationId } from "/hooks/useOrganizationId"; import { useMemo } from "react"; import { usePageTitle } from "@probo/hooks"; import { downloadFile, formatDate } from "@probo/helpers"; import { useFragment, graphql } from "react-relay"; +import type { VendorCategory } from "@probo/vendors"; + +import { useVendorForm } from "/hooks/forms/useVendorForm"; +import { PeopleSelectField } from "/components/form/PeopleSelectField"; +import { ControlledField } from "/components/form/ControlledField"; +import { CountriesField } from "/components/form/CountriesField"; +import { useOrganizationId } from "/hooks/useOrganizationId"; +import type { VendorOverviewTabBusinessAssociateAgreementFragment$key } from "/__generated__/core/VendorOverviewTabBusinessAssociateAgreementFragment.graphql"; +import type { VendorOverviewTabDataPrivacyAgreementFragment$key } from "/__generated__/core/VendorOverviewTabDataPrivacyAgreementFragment.graphql"; +import type { VendorGraphNodeQuery$data } from "/__generated__/core/VendorGraphNodeQuery.graphql"; + import { UploadBusinessAssociateAgreementDialog } from "../dialogs/UploadBusinessAssociateAgreementDialog"; import { DeleteBusinessAssociateAgreementDialog } from "../dialogs/DeleteBusinessAssociateAgreementDialog"; import { EditBusinessAssociateAgreementDialog } from "../dialogs/EditBusinessAssociateAgreementDialog"; import { UploadDataPrivacyAgreementDialog } from "../dialogs/UploadDataPrivacyAgreementDialog"; import { DeleteDataPrivacyAgreementDialog } from "../dialogs/DeleteDataPrivacyAgreementDialog"; import { EditDataPrivacyAgreementDialog } from "../dialogs/EditDataPrivacyAgreementDialog"; -import type { VendorOverviewTabBusinessAssociateAgreementFragment$key } from "/__generated__/core/VendorOverviewTabBusinessAssociateAgreementFragment.graphql"; -import type { VendorOverviewTabDataPrivacyAgreementFragment$key } from "/__generated__/core/VendorOverviewTabDataPrivacyAgreementFragment.graphql"; -import type { VendorCategory } from "@probo/vendors"; -import type { VendorGraphNodeQuery$data } from "/__generated__/core/VendorGraphNodeQuery.graphql"; const vendorBusinessAssociateAgreementFragment = graphql` fragment VendorOverviewTabBusinessAssociateAgreementFragment on Vendor { diff --git a/apps/console/src/pages/organizations/vendors/tabs/VendorRiskAssessmentTab.tsx b/apps/console/src/pages/organizations/vendors/tabs/VendorRiskAssessmentTab.tsx index 7c6037bea..3ca0799f9 100644 --- a/apps/console/src/pages/organizations/vendors/tabs/VendorRiskAssessmentTab.tsx +++ b/apps/console/src/pages/organizations/vendors/tabs/VendorRiskAssessmentTab.tsx @@ -1,6 +1,5 @@ import { useOutletContext, useParams } from "react-router"; import { graphql } from "relay-runtime"; -import type { VendorRiskAssessmentTabFragment$key } from "/__generated__/core/VendorRiskAssessmentTabFragment.graphql"; import { useTranslate } from "@probo/i18n"; import { usePageTitle } from "@probo/hooks"; import { @@ -17,14 +16,17 @@ import { } from "@probo/ui"; import { formatDate } from "@probo/helpers"; import { useFragment, useRefetchableFragment } from "react-relay"; -import type { VendorRiskAssessmentTabFragment_assessment$key } from "/__generated__/core/VendorRiskAssessmentTabFragment_assessment.graphql"; -import { SortableTable, SortableTh } from "/components/SortableTable"; -import { CreateRiskAssessmentDialog } from "../dialogs/CreateRiskAssessmentDialog"; -import clsx from "clsx"; +import { clsx } from "clsx"; import { useState, type ComponentProps } from "react"; + +import { SortableTable, SortableTh } from "/components/SortableTable"; +import type { VendorRiskAssessmentTabFragment_assessment$key } from "/__generated__/core/VendorRiskAssessmentTabFragment_assessment.graphql"; +import type { VendorRiskAssessmentTabFragment$key } from "/__generated__/core/VendorRiskAssessmentTabFragment.graphql"; import type { VendorGraphNodeQuery$data } from "/__generated__/core/VendorGraphNodeQuery.graphql"; import type { VendorRiskAssessmentTabQuery } from "/__generated__/core/VendorRiskAssessmentTabQuery.graphql"; +import { CreateRiskAssessmentDialog } from "../dialogs/CreateRiskAssessmentDialog"; + const riskAssessmentsFragment = graphql` fragment VendorRiskAssessmentTabFragment on Vendor @refetchable(queryName: "VendorRiskAssessmentTabQuery") diff --git a/apps/console/src/pages/organizations/vendors/tabs/VendorServicesTab.tsx b/apps/console/src/pages/organizations/vendors/tabs/VendorServicesTab.tsx index adb483bf3..f42eca618 100644 --- a/apps/console/src/pages/organizations/vendors/tabs/VendorServicesTab.tsx +++ b/apps/console/src/pages/organizations/vendors/tabs/VendorServicesTab.tsx @@ -1,6 +1,5 @@ import { useOutletContext, useParams } from "react-router"; import { graphql } from "relay-runtime"; -import type { VendorServicesTabFragment$key } from "/__generated__/core/VendorServicesTabFragment.graphql"; import { useTranslate } from "@probo/i18n"; import { usePageTitle } from "@probo/hooks"; import { @@ -19,19 +18,22 @@ import { useConfirm, } from "@probo/ui"; import { useFragment, useRefetchableFragment } from "react-relay"; +import { sprintf } from "@probo/helpers"; +import { useState, type ComponentProps } from "react"; + import type { VendorServicesTabFragment_service$data, VendorServicesTabFragment_service$key, } from "/__generated__/core/VendorServicesTabFragment_service.graphql"; import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; -import { sprintf } from "@probo/helpers"; import { SortableTable, SortableTh } from "/components/SortableTable"; -import { CreateServiceDialog } from "../dialogs/CreateServiceDialog"; -import { EditServiceDialog } from "../dialogs/EditServiceDialog"; -import { useState, type ComponentProps } from "react"; +import type { VendorServicesTabFragment$key } from "/__generated__/core/VendorServicesTabFragment.graphql"; import type { VendorGraphNodeQuery$data } from "/__generated__/core/VendorGraphNodeQuery.graphql"; import type { VendorServicesListQuery } from "/__generated__/core/VendorServicesListQuery.graphql"; +import { CreateServiceDialog } from "../dialogs/CreateServiceDialog"; +import { EditServiceDialog } from "../dialogs/EditServiceDialog"; + export const vendorServicesFragment = graphql` fragment VendorServicesTabFragment on Vendor @refetchable(queryName: "VendorServicesListQuery") diff --git a/apps/console/src/providers/CoreRelayProvider.tsx b/apps/console/src/providers/CoreRelayProvider.tsx index 5dbbfb2cd..76c5e9461 100644 --- a/apps/console/src/providers/CoreRelayProvider.tsx +++ b/apps/console/src/providers/CoreRelayProvider.tsx @@ -1,5 +1,6 @@ import type { ReactNode } from "react"; import { RelayEnvironmentProvider } from "react-relay"; + import { coreEnvironment } from "/environments"; export function CoreRelayProvider(props: { children: ReactNode }) { diff --git a/apps/console/src/providers/IAMRelayProvider.tsx b/apps/console/src/providers/IAMRelayProvider.tsx index 26f326d32..1432ddb18 100644 --- a/apps/console/src/providers/IAMRelayProvider.tsx +++ b/apps/console/src/providers/IAMRelayProvider.tsx @@ -1,5 +1,6 @@ import type { ReactNode } from "react"; import { RelayEnvironmentProvider } from "react-relay"; + import { iamEnvironment } from "/environments"; export function IAMRelayProvider(props: { children: ReactNode }) { diff --git a/apps/console/src/routes.tsx b/apps/console/src/routes.tsx index a011e1d88..876a5f841 100644 --- a/apps/console/src/routes.tsx +++ b/apps/console/src/routes.tsx @@ -4,6 +4,17 @@ import { redirect, useRouteError, } from "react-router"; +import { lazy } from "@probo/react-lazy"; +import { routeFromAppRoute, type AppRoute } from "@probo/routes"; +import { Role } from "@probo/helpers"; +import { + ForbiddenError, + UnAuthenticatedError, + UnauthorizedError, +} from "@probo/relay"; +import { use } from "react"; +import { CenteredLayout } from "@probo/ui"; + import { PageSkeleton } from "./components/skeletons/PageSkeleton.tsx"; import { riskRoutes } from "./routes/riskRoutes.ts"; import { measureRoutes } from "./routes/measureRoutes.ts"; @@ -25,18 +36,8 @@ import { continualImprovementRoutes } from "./routes/continualImprovementRoutes. import { rightsRequestRoutes } from "./routes/rightsRequestRoutes.ts"; import { processingActivityRoutes } from "./routes/processingActivityRoutes.ts"; import { statesOfApplicabilityRoutes } from "./routes/statesOfApplicabilityRoutes.ts"; -import { lazy } from "@probo/react-lazy"; -import { routeFromAppRoute, type AppRoute } from "@probo/routes"; -import { Role } from "@probo/helpers"; -import { - ForbiddenError, - UnAuthenticatedError, - UnauthorizedError, -} from "@probo/relay"; import { CurrentUser } from "./providers/CurrentUser.tsx"; -import { use } from "react"; import { ViewerLayoutLoading } from "./pages/iam/memberships/ViewerLayoutLoading.tsx"; -import { CenteredLayout } from "@probo/ui"; /** * Top level error boundary diff --git a/apps/console/src/routes/assetRoutes.ts b/apps/console/src/routes/assetRoutes.ts index 47c18121d..557e8c941 100644 --- a/apps/console/src/routes/assetRoutes.ts +++ b/apps/console/src/routes/assetRoutes.ts @@ -1,16 +1,18 @@ import { loadQuery } from "react-relay"; -import { coreEnvironment } from "/environments"; -import { PageSkeleton } from "/components/skeletons/PageSkeleton"; import { lazy } from "@probo/react-lazy"; -import { assetsQuery, assetNodeQuery } from "../hooks/graph/AssetGraph"; -import type { AssetGraphListQuery } from "/__generated__/core/AssetGraphListQuery.graphql"; -import type { AssetGraphNodeQuery } from "/__generated__/core/AssetGraphNodeQuery.graphql"; import { loaderFromQueryLoader, withQueryRef, type AppRoute, } from "@probo/routes"; +import { PageSkeleton } from "/components/skeletons/PageSkeleton"; +import { coreEnvironment } from "/environments"; +import type { AssetGraphListQuery } from "/__generated__/core/AssetGraphListQuery.graphql"; +import type { AssetGraphNodeQuery } from "/__generated__/core/AssetGraphNodeQuery.graphql"; + +import { assetsQuery, assetNodeQuery } from "../hooks/graph/AssetGraph"; + export const assetRoutes = [ { path: "assets", diff --git a/apps/console/src/routes/auditRoutes.ts b/apps/console/src/routes/auditRoutes.ts index 67e91ded6..f0c132571 100644 --- a/apps/console/src/routes/auditRoutes.ts +++ b/apps/console/src/routes/auditRoutes.ts @@ -1,16 +1,18 @@ import { loadQuery } from "react-relay"; -import { coreEnvironment } from "/environments"; -import { PageSkeleton } from "/components/skeletons/PageSkeleton"; import { lazy } from "@probo/react-lazy"; -import { auditsQuery, auditNodeQuery } from "../hooks/graph/AuditGraph"; -import type { AuditGraphListQuery } from "/__generated__/core/AuditGraphListQuery.graphql"; -import type { AuditGraphNodeQuery } from "/__generated__/core/AuditGraphNodeQuery.graphql"; import { loaderFromQueryLoader, withQueryRef, type AppRoute, } from "@probo/routes"; +import { coreEnvironment } from "/environments"; +import { PageSkeleton } from "/components/skeletons/PageSkeleton"; +import type { AuditGraphListQuery } from "/__generated__/core/AuditGraphListQuery.graphql"; +import type { AuditGraphNodeQuery } from "/__generated__/core/AuditGraphNodeQuery.graphql"; + +import { auditsQuery, auditNodeQuery } from "../hooks/graph/AuditGraph"; + export const auditRoutes = [ { path: "audits", diff --git a/apps/console/src/routes/continualImprovementRoutes.ts b/apps/console/src/routes/continualImprovementRoutes.ts index 779d0f6bd..802471803 100644 --- a/apps/console/src/routes/continualImprovementRoutes.ts +++ b/apps/console/src/routes/continualImprovementRoutes.ts @@ -1,18 +1,19 @@ import { loadQuery } from "react-relay"; +import { lazy } from "@probo/react-lazy"; +import { + loaderFromQueryLoader, + withQueryRef, + type AppRoute, +} from "@probo/routes"; + import { coreEnvironment } from "/environments"; import { PageSkeleton } from "/components/skeletons/PageSkeleton"; -import { lazy } from "@probo/react-lazy"; import { continualImprovementsQuery, continualImprovementNodeQuery, } from "/hooks/graph/ContinualImprovementGraph"; import type { ContinualImprovementGraphListQuery } from "/__generated__/core/ContinualImprovementGraphListQuery.graphql"; import type { ContinualImprovementGraphNodeQuery } from "/__generated__/core/ContinualImprovementGraphNodeQuery.graphql"; -import { - loaderFromQueryLoader, - withQueryRef, - type AppRoute, -} from "@probo/routes"; export const continualImprovementRoutes = [ { diff --git a/apps/console/src/routes/dataRoutes.ts b/apps/console/src/routes/dataRoutes.ts index b15ca79ec..dade13940 100644 --- a/apps/console/src/routes/dataRoutes.ts +++ b/apps/console/src/routes/dataRoutes.ts @@ -1,16 +1,18 @@ import { loadQuery } from "react-relay"; -import { coreEnvironment } from "/environments"; -import { PageSkeleton } from "/components/skeletons/PageSkeleton"; import { lazy } from "@probo/react-lazy"; -import { dataQuery, datumNodeQuery } from "../hooks/graph/DatumGraph"; -import type { DatumGraphListQuery } from "/__generated__/core/DatumGraphListQuery.graphql"; -import type { DatumGraphNodeQuery } from "/__generated__/core/DatumGraphNodeQuery.graphql"; import { loaderFromQueryLoader, withQueryRef, type AppRoute, } from "@probo/routes"; +import { coreEnvironment } from "/environments"; +import { PageSkeleton } from "/components/skeletons/PageSkeleton"; +import type { DatumGraphListQuery } from "/__generated__/core/DatumGraphListQuery.graphql"; +import type { DatumGraphNodeQuery } from "/__generated__/core/DatumGraphNodeQuery.graphql"; + +import { dataQuery, datumNodeQuery } from "../hooks/graph/DatumGraph"; + export const dataRoutes = [ { path: "data", diff --git a/apps/console/src/routes/documentsRoutes.ts b/apps/console/src/routes/documentsRoutes.ts index 1bc8e818b..4c18879ad 100644 --- a/apps/console/src/routes/documentsRoutes.ts +++ b/apps/console/src/routes/documentsRoutes.ts @@ -1,17 +1,17 @@ import { Fragment } from "react"; import { loadQuery } from "react-relay"; -import { coreEnvironment } from "/environments"; -import { documentsQuery } from "/hooks/graph/DocumentGraph"; -import { documentNodeQuery } from "/hooks/graph/DocumentGraph"; -import { PageSkeleton } from "/components/skeletons/PageSkeleton"; import { redirect, type LoaderFunctionArgs } from "react-router"; import { lazy } from "@probo/react-lazy"; -import { LinkCardSkeleton } from "/components/skeletons/LinkCardSkeleton"; import { loaderFromQueryLoader, withQueryRef, type AppRoute, } from "@probo/routes"; + +import { coreEnvironment } from "/environments"; +import { documentsQuery, documentNodeQuery } from "/hooks/graph/DocumentGraph"; +import { PageSkeleton } from "/components/skeletons/PageSkeleton"; +import { LinkCardSkeleton } from "/components/skeletons/LinkCardSkeleton"; import type { DocumentGraphListQuery } from "/__generated__/core/DocumentGraphListQuery.graphql"; import type { DocumentGraphNodeQuery } from "/__generated__/core/DocumentGraphNodeQuery.graphql"; diff --git a/apps/console/src/routes/frameworkRoutes.ts b/apps/console/src/routes/frameworkRoutes.ts index 8a9a80541..743cc664a 100644 --- a/apps/console/src/routes/frameworkRoutes.ts +++ b/apps/console/src/routes/frameworkRoutes.ts @@ -1,23 +1,25 @@ import { loadQuery } from "react-relay"; -import { PageSkeleton } from "/components/skeletons/PageSkeleton"; -import { coreEnvironment } from "/environments"; -import { - frameworksQuery, - frameworkNodeQuery, - frameworkControlNodeQuery, -} from "/hooks/graph/FrameworkGraph"; import { Fragment } from "react"; import { lazy } from "@probo/react-lazy"; -import { ControlSkeleton } from "../components/skeletons/ControlSkeleton"; import { loaderFromQueryLoader, withQueryRef, type AppRoute, } from "@probo/routes"; + +import { + frameworksQuery, + frameworkNodeQuery, + frameworkControlNodeQuery, +} from "/hooks/graph/FrameworkGraph"; +import { coreEnvironment } from "/environments"; +import { PageSkeleton } from "/components/skeletons/PageSkeleton"; import type { FrameworkGraphListQuery } from "/__generated__/core/FrameworkGraphListQuery.graphql"; import type { FrameworkGraphNodeQuery } from "/__generated__/core/FrameworkGraphNodeQuery.graphql"; import type { FrameworkGraphControlNodeQuery } from "/__generated__/core/FrameworkGraphControlNodeQuery.graphql"; +import { ControlSkeleton } from "../components/skeletons/ControlSkeleton"; + export const frameworkRoutes = [ { path: "frameworks", diff --git a/apps/console/src/routes/measureRoutes.ts b/apps/console/src/routes/measureRoutes.ts index 98965a515..595801e4b 100644 --- a/apps/console/src/routes/measureRoutes.ts +++ b/apps/console/src/routes/measureRoutes.ts @@ -1,16 +1,17 @@ import { Fragment } from "react"; import { loadQuery } from "react-relay"; -import { coreEnvironment } from "/environments"; -import { measureNodeQuery, measuresQuery } from "/hooks/graph/MeasureGraph"; -import { PageSkeleton } from "/components/skeletons/PageSkeleton"; import { redirect } from "react-router"; import { lazy } from "@probo/react-lazy"; -import { LinkCardSkeleton } from "/components/skeletons/LinkCardSkeleton"; import { loaderFromQueryLoader, withQueryRef, type AppRoute, } from "@probo/routes"; + +import { coreEnvironment } from "/environments"; +import { measureNodeQuery, measuresQuery } from "/hooks/graph/MeasureGraph"; +import { PageSkeleton } from "/components/skeletons/PageSkeleton"; +import { LinkCardSkeleton } from "/components/skeletons/LinkCardSkeleton"; import type { MeasureGraphListQuery } from "/__generated__/core/MeasureGraphListQuery.graphql"; import type { MeasureGraphNodeQuery } from "/__generated__/core/MeasureGraphNodeQuery.graphql"; diff --git a/apps/console/src/routes/meetingsRoutes.ts b/apps/console/src/routes/meetingsRoutes.ts index 91df52386..ee25e3c55 100644 --- a/apps/console/src/routes/meetingsRoutes.ts +++ b/apps/console/src/routes/meetingsRoutes.ts @@ -1,20 +1,20 @@ import { Fragment } from "react"; import { loadQuery } from "react-relay"; -import { coreEnvironment } from "/environments"; -import { meetingsQuery } from "/hooks/graph/MeetingGraph"; -import { meetingNodeQuery } from "/hooks/graph/MeetingGraph"; -import { PageSkeleton } from "/components/skeletons/PageSkeleton"; import { redirect, type LoaderFunctionArgs } from "react-router"; import { lazy } from "@probo/react-lazy"; -import { LinkCardSkeleton } from "/components/skeletons/LinkCardSkeleton"; -import type { MeetingGraphListQuery } from "/__generated__/core/MeetingGraphListQuery.graphql"; -import type { MeetingGraphNodeQuery } from "/__generated__/core/MeetingGraphNodeQuery.graphql"; import { loaderFromQueryLoader, withQueryRef, type AppRoute, } from "@probo/routes"; +import { coreEnvironment } from "/environments"; +import { meetingsQuery, meetingNodeQuery } from "/hooks/graph/MeetingGraph"; +import { PageSkeleton } from "/components/skeletons/PageSkeleton"; +import { LinkCardSkeleton } from "/components/skeletons/LinkCardSkeleton"; +import type { MeetingGraphListQuery } from "/__generated__/core/MeetingGraphListQuery.graphql"; +import type { MeetingGraphNodeQuery } from "/__generated__/core/MeetingGraphNodeQuery.graphql"; + const meetingTabs = (prefix: string) => { return [ { diff --git a/apps/console/src/routes/nonconformityRoutes.ts b/apps/console/src/routes/nonconformityRoutes.ts index e4d6cac84..43a10c41a 100644 --- a/apps/console/src/routes/nonconformityRoutes.ts +++ b/apps/console/src/routes/nonconformityRoutes.ts @@ -1,19 +1,21 @@ import { loadQuery } from "react-relay"; -import { coreEnvironment } from "/environments"; -import { PageSkeleton } from "/components/skeletons/PageSkeleton"; import { lazy } from "@probo/react-lazy"; -import { - nonconformitiesQuery, - nonconformityNodeQuery, -} from "../hooks/graph/NonconformityGraph"; -import type { NonconformityGraphListQuery } from "/__generated__/core/NonconformityGraphListQuery.graphql"; -import type { NonconformityGraphNodeQuery } from "/__generated__/core/NonconformityGraphNodeQuery.graphql"; import { loaderFromQueryLoader, withQueryRef, type AppRoute, } from "@probo/routes"; +import { coreEnvironment } from "/environments"; +import { PageSkeleton } from "/components/skeletons/PageSkeleton"; +import type { NonconformityGraphListQuery } from "/__generated__/core/NonconformityGraphListQuery.graphql"; +import type { NonconformityGraphNodeQuery } from "/__generated__/core/NonconformityGraphNodeQuery.graphql"; + +import { + nonconformitiesQuery, + nonconformityNodeQuery, +} from "../hooks/graph/NonconformityGraph"; + export const nonconformityRoutes = [ { path: "nonconformities", diff --git a/apps/console/src/routes/obligationRoutes.ts b/apps/console/src/routes/obligationRoutes.ts index c12841742..4802125a5 100644 --- a/apps/console/src/routes/obligationRoutes.ts +++ b/apps/console/src/routes/obligationRoutes.ts @@ -1,18 +1,19 @@ import { loadQuery } from "react-relay"; +import { lazy } from "@probo/react-lazy"; +import { + loaderFromQueryLoader, + withQueryRef, + type AppRoute, +} from "@probo/routes"; + import { coreEnvironment } from "/environments"; import { PageSkeleton } from "/components/skeletons/PageSkeleton"; -import { lazy } from "@probo/react-lazy"; import { obligationsQuery, obligationNodeQuery, } from "/hooks/graph/ObligationGraph"; import type { ObligationGraphListQuery } from "/__generated__/core/ObligationGraphListQuery.graphql"; import type { ObligationGraphNodeQuery } from "/__generated__/core/ObligationGraphNodeQuery.graphql"; -import { - loaderFromQueryLoader, - withQueryRef, - type AppRoute, -} from "@probo/routes"; export const obligationRoutes = [ { diff --git a/apps/console/src/routes/peopleRoutes.ts b/apps/console/src/routes/peopleRoutes.ts index 9cb8d23a4..8fbfca553 100644 --- a/apps/console/src/routes/peopleRoutes.ts +++ b/apps/console/src/routes/peopleRoutes.ts @@ -1,5 +1,11 @@ import { lazy } from "@probo/react-lazy"; import { loadQuery } from "react-relay"; +import { + loaderFromQueryLoader, + withQueryRef, + type AppRoute, +} from "@probo/routes"; + import { coreEnvironment } from "/environments"; import { PageSkeleton } from "/components/skeletons/PageSkeleton.tsx"; import { @@ -7,11 +13,6 @@ import { peopleNodeQuery, } from "/hooks/graph/PeopleGraph"; import { LinkCardSkeleton } from "/components/skeletons/LinkCardSkeleton"; -import { - loaderFromQueryLoader, - withQueryRef, - type AppRoute, -} from "@probo/routes"; import type { PeopleGraphPaginatedQuery } from "/__generated__/core/PeopleGraphPaginatedQuery.graphql"; import type { PeopleGraphNodeQuery } from "/__generated__/core/PeopleGraphNodeQuery.graphql"; diff --git a/apps/console/src/routes/processingActivityRoutes.ts b/apps/console/src/routes/processingActivityRoutes.ts index 3f0cad802..d0ada849c 100644 --- a/apps/console/src/routes/processingActivityRoutes.ts +++ b/apps/console/src/routes/processingActivityRoutes.ts @@ -1,16 +1,17 @@ import { loadQuery } from "react-relay"; -import { coreEnvironment } from "/environments"; -import { PageSkeleton } from "/components/skeletons/PageSkeleton"; import { lazy } from "@probo/react-lazy"; -import { - processingActivitiesQuery, - processingActivityNodeQuery, -} from "/hooks/graph/ProcessingActivityGraph"; import { loaderFromQueryLoader, withQueryRef, type AppRoute, } from "@probo/routes"; + +import { coreEnvironment } from "/environments"; +import { PageSkeleton } from "/components/skeletons/PageSkeleton"; +import { + processingActivitiesQuery, + processingActivityNodeQuery, +} from "/hooks/graph/ProcessingActivityGraph"; import type { ProcessingActivityGraphListQuery } from "/__generated__/core/ProcessingActivityGraphListQuery.graphql"; import type { ProcessingActivityGraphNodeQuery } from "/__generated__/core/ProcessingActivityGraphNodeQuery.graphql"; diff --git a/apps/console/src/routes/rightsRequestRoutes.ts b/apps/console/src/routes/rightsRequestRoutes.ts index 683a7ce35..6acdccc6c 100644 --- a/apps/console/src/routes/rightsRequestRoutes.ts +++ b/apps/console/src/routes/rightsRequestRoutes.ts @@ -1,18 +1,19 @@ import { loadQuery } from "react-relay"; +import { lazy } from "@probo/react-lazy"; +import { + loaderFromQueryLoader, + withQueryRef, + type AppRoute, +} from "@probo/routes"; + import { coreEnvironment } from "/environments"; import { PageSkeleton } from "/components/skeletons/PageSkeleton"; -import { lazy } from "@probo/react-lazy"; import { rightsRequestsQuery, rightsRequestNodeQuery, } from "/hooks/graph/RightsRequestGraph"; import type { RightsRequestGraphListQuery } from "/__generated__/core/RightsRequestGraphListQuery.graphql"; import type { RightsRequestGraphNodeQuery } from "/__generated__/core/RightsRequestGraphNodeQuery.graphql"; -import { - loaderFromQueryLoader, - withQueryRef, - type AppRoute, -} from "@probo/routes"; export const rightsRequestRoutes = [ { diff --git a/apps/console/src/routes/riskRoutes.ts b/apps/console/src/routes/riskRoutes.ts index 436a765d0..74f826090 100644 --- a/apps/console/src/routes/riskRoutes.ts +++ b/apps/console/src/routes/riskRoutes.ts @@ -1,18 +1,19 @@ import { Fragment } from "react"; import { loadQuery } from "react-relay"; -import { RisksPageSkeleton } from "/components/skeletons/RisksPageSkeleton.tsx"; -import { coreEnvironment } from "/environments"; -import { riskNodeQuery, risksQuery } from "/hooks/graph/RiskGraph"; -import { PageSkeleton } from "/components/skeletons/PageSkeleton"; import { redirect } from "react-router"; import { lazy } from "@probo/react-lazy"; -import { LinkCardSkeleton } from "/components/skeletons/LinkCardSkeleton"; -import type { RiskGraphNodeQuery } from "/__generated__/core/RiskGraphNodeQuery.graphql"; import { loaderFromQueryLoader, withQueryRef, type AppRoute, } from "@probo/routes"; + +import { RisksPageSkeleton } from "/components/skeletons/RisksPageSkeleton.tsx"; +import { coreEnvironment } from "/environments"; +import { riskNodeQuery, risksQuery } from "/hooks/graph/RiskGraph"; +import { PageSkeleton } from "/components/skeletons/PageSkeleton"; +import { LinkCardSkeleton } from "/components/skeletons/LinkCardSkeleton"; +import type { RiskGraphNodeQuery } from "/__generated__/core/RiskGraphNodeQuery.graphql"; import type { RiskGraphListQuery } from "/__generated__/core/RiskGraphListQuery.graphql"; export const riskRoutes = [ diff --git a/apps/console/src/routes/snapshotsRoutes.ts b/apps/console/src/routes/snapshotsRoutes.ts index bdbd536ca..bc015d1e2 100644 --- a/apps/console/src/routes/snapshotsRoutes.ts +++ b/apps/console/src/routes/snapshotsRoutes.ts @@ -1,16 +1,17 @@ import { loadQuery } from "react-relay"; -import { PageSkeleton } from "/components/skeletons/PageSkeleton"; -import { coreEnvironment } from "/environments"; -import { snapshotsQuery, snapshotNodeQuery } from "/hooks/graph/SnapshotGraph"; import { lazy } from "@probo/react-lazy"; -import type { SnapshotGraphListQuery } from "/__generated__/core/SnapshotGraphListQuery.graphql"; -import type { SnapshotGraphNodeQuery } from "/__generated__/core/SnapshotGraphNodeQuery.graphql"; import { loaderFromQueryLoader, withQueryRef, type AppRoute, } from "@probo/routes"; +import { PageSkeleton } from "/components/skeletons/PageSkeleton"; +import { coreEnvironment } from "/environments"; +import { snapshotsQuery, snapshotNodeQuery } from "/hooks/graph/SnapshotGraph"; +import type { SnapshotGraphListQuery } from "/__generated__/core/SnapshotGraphListQuery.graphql"; +import type { SnapshotGraphNodeQuery } from "/__generated__/core/SnapshotGraphNodeQuery.graphql"; + export const snapshotsRoutes = [ { path: "snapshots", diff --git a/apps/console/src/routes/statesOfApplicabilityRoutes.ts b/apps/console/src/routes/statesOfApplicabilityRoutes.ts index a9a0df1b7..5944e7e64 100644 --- a/apps/console/src/routes/statesOfApplicabilityRoutes.ts +++ b/apps/console/src/routes/statesOfApplicabilityRoutes.ts @@ -1,5 +1,7 @@ import { lazy } from "@probo/react-lazy"; import { loadQuery } from "react-relay"; +import { loaderFromQueryLoader, withQueryRef, type AppRoute } from "@probo/routes"; + import { coreEnvironment } from "/environments"; import { PageSkeleton } from "/components/skeletons/PageSkeleton.tsx"; import { @@ -8,7 +10,6 @@ import { } from "/hooks/graph/StateOfApplicabilityGraph"; import type { StateOfApplicabilityGraphPaginatedQuery } from "/__generated__/core/StateOfApplicabilityGraphPaginatedQuery.graphql"; import type { StateOfApplicabilityGraphNodeQuery } from "/__generated__/core/StateOfApplicabilityGraphNodeQuery.graphql"; -import { loaderFromQueryLoader, withQueryRef, type AppRoute } from "@probo/routes"; export const statesOfApplicabilityRoutes = [ { diff --git a/apps/console/src/routes/taskRoutes.ts b/apps/console/src/routes/taskRoutes.ts index d8d176b87..6ce52d9d0 100644 --- a/apps/console/src/routes/taskRoutes.ts +++ b/apps/console/src/routes/taskRoutes.ts @@ -1,13 +1,14 @@ import { lazy } from "@probo/react-lazy"; -import { PageSkeleton } from "/components/skeletons/PageSkeleton"; import { loadQuery } from "react-relay"; -import { coreEnvironment } from "/environments"; -import { tasksQuery } from "/hooks/graph/TaskGraph"; import { loaderFromQueryLoader, withQueryRef, type AppRoute, } from "@probo/routes"; + +import { PageSkeleton } from "/components/skeletons/PageSkeleton"; +import { coreEnvironment } from "/environments"; +import { tasksQuery } from "/hooks/graph/TaskGraph"; import type { TaskGraphQuery } from "/__generated__/core/TaskGraphQuery.graphql"; export const taskRoutes = [ { diff --git a/apps/console/src/routes/trustCenterRoutes.ts b/apps/console/src/routes/trustCenterRoutes.ts index b218a8fed..ebc03e747 100644 --- a/apps/console/src/routes/trustCenterRoutes.ts +++ b/apps/console/src/routes/trustCenterRoutes.ts @@ -1,16 +1,18 @@ import { loadQuery } from "react-relay"; -import { coreEnvironment } from "/environments"; -import { PageSkeleton } from "/components/skeletons/PageSkeleton"; -import { LinkCardSkeleton } from "/components/skeletons/LinkCardSkeleton"; import { lazy } from "@probo/react-lazy"; -import { trustCenterQuery } from "../hooks/graph/TrustCenterGraph"; -import type { TrustCenterGraphQuery } from "/__generated__/core/TrustCenterGraphQuery.graphql"; import { loaderFromQueryLoader, withQueryRef, type AppRoute, } from "@probo/routes"; +import { coreEnvironment } from "/environments"; +import { PageSkeleton } from "/components/skeletons/PageSkeleton"; +import { LinkCardSkeleton } from "/components/skeletons/LinkCardSkeleton"; +import type { TrustCenterGraphQuery } from "/__generated__/core/TrustCenterGraphQuery.graphql"; + +import { trustCenterQuery } from "../hooks/graph/TrustCenterGraph"; + export const trustCenterRoutes = [ { path: "trust-center", diff --git a/apps/console/src/routes/vendorRoutes.ts b/apps/console/src/routes/vendorRoutes.ts index e1738ad11..d97733db1 100644 --- a/apps/console/src/routes/vendorRoutes.ts +++ b/apps/console/src/routes/vendorRoutes.ts @@ -1,14 +1,15 @@ import { lazy } from "@probo/react-lazy"; import { loadQuery } from "react-relay"; -import { coreEnvironment } from "/environments"; -import { PageSkeleton } from "/components/skeletons/PageSkeleton"; -import { vendorNodeQuery, vendorsQuery } from "/hooks/graph/VendorGraph"; -import { LinkCardSkeleton } from "/components/skeletons/LinkCardSkeleton"; import { loaderFromQueryLoader, withQueryRef, type AppRoute, } from "@probo/routes"; + +import { coreEnvironment } from "/environments"; +import { PageSkeleton } from "/components/skeletons/PageSkeleton"; +import { vendorNodeQuery, vendorsQuery } from "/hooks/graph/VendorGraph"; +import { LinkCardSkeleton } from "/components/skeletons/LinkCardSkeleton"; import type { VendorGraphListQuery } from "/__generated__/core/VendorGraphListQuery.graphql"; import type { VendorGraphNodeQuery } from "/__generated__/core/VendorGraphNodeQuery.graphql"; diff --git a/apps/console/vite.config.ts b/apps/console/vite.config.ts index 97c8901e1..fda306d61 100644 --- a/apps/console/vite.config.ts +++ b/apps/console/vite.config.ts @@ -1,7 +1,8 @@ +import { fileURLToPath, URL } from "node:url"; + import { defineConfig } from "vite"; import react from "@vitejs/plugin-react"; import tailwindcss from "@tailwindcss/vite"; -import { fileURLToPath, URL } from "node:url"; // https://vite.dev/config/ export default defineConfig({ diff --git a/apps/trust/eslint.config.mjs b/apps/trust/eslint.config.mjs index 8e6a879b2..8183275ab 100644 --- a/apps/trust/eslint.config.mjs +++ b/apps/trust/eslint.config.mjs @@ -1,9 +1,12 @@ import { defineConfig } from "eslint/config"; import { configs } from "@probo/eslint-config"; +// import { createTypeScriptImportResolver } from "eslint-import-resolver-typescript"; +// import { importX } from "eslint-plugin-import-x"; export default defineConfig([ ...configs.base, ...configs.ts, + ...configs.imports, ...configs.react, configs.languageOptions.browser, ...configs.stylistic, diff --git a/apps/trust/src/App.tsx b/apps/trust/src/App.tsx index 6efc4ed96..f1281393a 100644 --- a/apps/trust/src/App.tsx +++ b/apps/trust/src/App.tsx @@ -1,7 +1,8 @@ import { RouterProvider } from "react-router"; -import { router } from "./routes"; import { Toasts } from "@probo/ui"; +import { router } from "./routes"; + export function App() { return ( <> diff --git a/apps/trust/src/components/AuditRow.tsx b/apps/trust/src/components/AuditRow.tsx index 8e61572ec..ba4aa88a6 100644 --- a/apps/trust/src/components/AuditRow.tsx +++ b/apps/trust/src/components/AuditRow.tsx @@ -1,5 +1,4 @@ import { graphql } from "relay-runtime"; -import type { AuditRowFragment$key } from "./__generated__/AuditRowFragment.graphql"; import { useFragment, useMutation } from "react-relay"; import { Breadcrumb, @@ -15,12 +14,15 @@ import { useToast, } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; -import type { AuditRowDownloadMutation } from "./__generated__/AuditRowDownloadMutation.graphql"; -import { useMutationWithToasts } from "/hooks/useMutationWithToast"; import { downloadFile, formatError } from "@probo/helpers"; import { type PropsWithChildren, use, useState } from "react"; import { useLocation } from "react-router"; + +import { useMutationWithToasts } from "/hooks/useMutationWithToast"; import { Viewer } from "/providers/Viewer"; + +import type { AuditRowDownloadMutation } from "./__generated__/AuditRowDownloadMutation.graphql"; +import type { AuditRowFragment$key } from "./__generated__/AuditRowFragment.graphql"; import type { AuditRow_requestAccessMutation } from "./__generated__/AuditRow_requestAccessMutation.graphql"; const requestAccessMutation = graphql` diff --git a/apps/trust/src/components/DocumentRow.tsx b/apps/trust/src/components/DocumentRow.tsx index b35448d7e..ebe322f3f 100644 --- a/apps/trust/src/components/DocumentRow.tsx +++ b/apps/trust/src/components/DocumentRow.tsx @@ -1,5 +1,4 @@ import { graphql } from "relay-runtime"; -import type { DocumentRowFragment$key } from "./__generated__/DocumentRowFragment.graphql"; import { useFragment, useMutation } from "react-relay"; import { Button, @@ -10,11 +9,14 @@ import { useToast, } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; -import type { DocumentRowDownloadMutation } from "./__generated__/DocumentRowDownloadMutation.graphql"; -import { useMutationWithToasts } from "/hooks/useMutationWithToast"; import { downloadFile, formatError } from "@probo/helpers"; import { use, useState } from "react"; + +import { useMutationWithToasts } from "/hooks/useMutationWithToast"; import { Viewer } from "/providers/Viewer"; + +import type { DocumentRowDownloadMutation } from "./__generated__/DocumentRowDownloadMutation.graphql"; +import type { DocumentRowFragment$key } from "./__generated__/DocumentRowFragment.graphql"; import type { DocumentRow_requestAccessMutation } from "./__generated__/DocumentRow_requestAccessMutation.graphql"; const requestAccessMutation = graphql` diff --git a/apps/trust/src/components/NDADialog.tsx b/apps/trust/src/components/NDADialog.tsx index 2d3cfff76..514005758 100644 --- a/apps/trust/src/components/NDADialog.tsx +++ b/apps/trust/src/components/NDADialog.tsx @@ -2,15 +2,17 @@ import { Button, Card, Field, Logo, Spinner } from "@probo/ui"; import { sprintf } from "@probo/helpers"; import { useTranslate } from "@probo/i18n"; import { use, useEffect } from "react"; -import { PDFPreview } from "./PDFPreview"; import { useWindowSize } from "usehooks-ts"; -import clsx from "clsx"; +import { clsx } from "clsx"; import { graphql } from "relay-runtime"; +import { z } from "zod"; + import { useMutationWithToasts } from "/hooks/useMutationWithToast"; -import z from "zod"; import { useFormWithSchema } from "/hooks/useFormWithSchema"; import { Viewer } from "/providers/Viewer"; +import { PDFPreview } from "./PDFPreview"; + const signMutation = graphql` mutation NDADialogSignMutation($input: AcceptNonDisclosureAgreementInput!) { acceptNonDisclosureAgreement(input: $input) { diff --git a/apps/trust/src/components/OrganizationSidebar.tsx b/apps/trust/src/components/OrganizationSidebar.tsx index 11da95967..7ddc5edd9 100644 --- a/apps/trust/src/components/OrganizationSidebar.tsx +++ b/apps/trust/src/components/OrganizationSidebar.tsx @@ -9,13 +9,15 @@ import { } from "@probo/ui"; import { use, type PropsWithChildren } from "react"; import { domain, formatError } from "@probo/helpers"; -import { AuditRowAvatar } from "./AuditRow"; -import { Viewer } from "/providers/Viewer"; import { graphql } from "relay-runtime"; import { useMutation } from "react-relay"; -import type { OrganizationSidebar_requestAllAccessesMutation } from "./__generated__/OrganizationSidebar_requestAllAccessesMutation.graphql"; + +import { Viewer } from "/providers/Viewer"; import type { TrustGraphCurrentQuery$data } from "/queries/__generated__/TrustGraphCurrentQuery.graphql"; +import type { OrganizationSidebar_requestAllAccessesMutation } from "./__generated__/OrganizationSidebar_requestAllAccessesMutation.graphql"; +import { AuditRowAvatar } from "./AuditRow"; + const requestAllAccessesMutation = graphql` mutation OrganizationSidebar_requestAllAccessesMutation { requestAllAccesses { diff --git a/apps/trust/src/components/Rows.tsx b/apps/trust/src/components/Rows.tsx index 20e3f4528..fec8523fb 100644 --- a/apps/trust/src/components/Rows.tsx +++ b/apps/trust/src/components/Rows.tsx @@ -1,5 +1,5 @@ import type { PropsWithChildren } from "react"; -import clsx from "clsx"; +import { clsx } from "clsx"; export function Rows({ children, diff --git a/apps/trust/src/components/Skeletons/MainSkeleton.tsx b/apps/trust/src/components/Skeletons/MainSkeleton.tsx index bab883625..fd75d06a5 100644 --- a/apps/trust/src/components/Skeletons/MainSkeleton.tsx +++ b/apps/trust/src/components/Skeletons/MainSkeleton.tsx @@ -1,8 +1,9 @@ import { Skeleton, TabLink, Tabs } from "@probo/ui"; -import { TabSkeleton } from "./TabSkeleton"; import { useTranslate } from "@probo/i18n"; import { getTrustCenterUrl } from "@probo/helpers"; +import { TabSkeleton } from "./TabSkeleton"; + export function MainSkeleton() { const { __ } = useTranslate(); return ( diff --git a/apps/trust/src/components/TrustCenterFileRow.tsx b/apps/trust/src/components/TrustCenterFileRow.tsx index 1d35f31a2..4d7bc2786 100644 --- a/apps/trust/src/components/TrustCenterFileRow.tsx +++ b/apps/trust/src/components/TrustCenterFileRow.tsx @@ -1,5 +1,4 @@ import { graphql } from "relay-runtime"; -import type { TrustCenterFileRowFragment$key } from "./__generated__/TrustCenterFileRowFragment.graphql"; import { useFragment, useMutation } from "react-relay"; import { Button, @@ -10,11 +9,14 @@ import { useToast, } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; -import type { TrustCenterFileRowDownloadMutation } from "./__generated__/TrustCenterFileRowDownloadMutation.graphql"; -import { useMutationWithToasts } from "/hooks/useMutationWithToast"; import { downloadFile, formatError } from "@probo/helpers"; import { use, useState } from "react"; + +import { useMutationWithToasts } from "/hooks/useMutationWithToast"; import { Viewer } from "/providers/Viewer"; + +import type { TrustCenterFileRowDownloadMutation } from "./__generated__/TrustCenterFileRowDownloadMutation.graphql"; +import type { TrustCenterFileRowFragment$key } from "./__generated__/TrustCenterFileRowFragment.graphql"; import type { TrustCenterFileRow_requestAccessMutation } from "./__generated__/TrustCenterFileRow_requestAccessMutation.graphql"; const requestAccessMutation = graphql` diff --git a/apps/trust/src/components/VendorRow.tsx b/apps/trust/src/components/VendorRow.tsx index adb8a143d..f09d6bba1 100644 --- a/apps/trust/src/components/VendorRow.tsx +++ b/apps/trust/src/components/VendorRow.tsx @@ -1,10 +1,11 @@ import { graphql } from "relay-runtime"; -import type { VendorRowFragment$key } from "./__generated__/VendorRowFragment.graphql"; import { useFragment } from "react-relay"; import { IconPin, IconShield } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; import { faviconUrl, getCountryName } from "@probo/helpers"; +import type { VendorRowFragment$key } from "./__generated__/VendorRowFragment.graphql"; + const vendorRowFragment = graphql` fragment VendorRowFragment on Vendor { id diff --git a/apps/trust/src/hooks/useTrustCenter.ts b/apps/trust/src/hooks/useTrustCenter.ts index 931ffef8a..2a10ef9dc 100644 --- a/apps/trust/src/hooks/useTrustCenter.ts +++ b/apps/trust/src/hooks/useTrustCenter.ts @@ -1,6 +1,7 @@ -import { TrustCenterContext } from "/providers/TrustCenterProvider"; import { useContext } from "react"; +import { TrustCenterContext } from "/providers/TrustCenterProvider"; + export function useTrustCenter(): { id: string; organization: { name: string }; diff --git a/apps/trust/src/layouts/MainLayout.tsx b/apps/trust/src/layouts/MainLayout.tsx index a35715ca3..dfad15515 100644 --- a/apps/trust/src/layouts/MainLayout.tsx +++ b/apps/trust/src/layouts/MainLayout.tsx @@ -1,10 +1,11 @@ import { type PreloadedQuery, usePreloadedQuery } from "react-relay"; -import type { TrustGraphCurrentQuery } from "/queries/__generated__/TrustGraphCurrentQuery.graphql.ts"; -import { currentTrustGraphQuery } from "/queries/TrustGraph.ts"; import { Logo, TabLink, Tabs } from "@probo/ui"; import { useTranslate } from "@probo/i18n"; -import { OrganizationSidebar } from "/components/OrganizationSidebar"; import { Outlet } from "react-router"; + +import type { TrustGraphCurrentQuery } from "/queries/__generated__/TrustGraphCurrentQuery.graphql.ts"; +import { currentTrustGraphQuery } from "/queries/TrustGraph.ts"; +import { OrganizationSidebar } from "/components/OrganizationSidebar"; import { NDADialog } from "/components/NDADialog"; import { TrustCenterProvider } from "/providers/TrustCenterProvider"; import { Viewer } from "/providers/Viewer"; diff --git a/apps/trust/src/main.tsx b/apps/trust/src/main.tsx index 021e50da2..3a7ba049b 100644 --- a/apps/trust/src/main.tsx +++ b/apps/trust/src/main.tsx @@ -1,10 +1,12 @@ import { StrictMode } from "react"; import { createRoot } from "react-dom/client"; +import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; + import "./index.css"; + import { App } from "./App"; import { RelayProvider } from "./providers/RelayProviders"; import { TranslatorProvider } from "./providers/TranslatorProvider"; -import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; const queryClient = new QueryClient({ defaultOptions: { diff --git a/apps/trust/src/pages/DocumentsPage.tsx b/apps/trust/src/pages/DocumentsPage.tsx index 357c225df..d0b5ffc11 100644 --- a/apps/trust/src/pages/DocumentsPage.tsx +++ b/apps/trust/src/pages/DocumentsPage.tsx @@ -1,10 +1,11 @@ import { type PreloadedQuery, usePreloadedQuery } from "react-relay"; -import { currentTrustDocumentsQuery } from "/queries/TrustGraph"; -import type { TrustGraphCurrentDocumentsQuery } from "/queries/__generated__/TrustGraphCurrentDocumentsQuery.graphql.ts"; import { groupBy, objectEntries } from "@probo/helpers"; -import { documentTypeLabel } from "/helpers/documents"; import { useTranslate } from "@probo/i18n"; import { Fragment } from "react"; + +import { currentTrustDocumentsQuery } from "/queries/TrustGraph"; +import type { TrustGraphCurrentDocumentsQuery } from "/queries/__generated__/TrustGraphCurrentDocumentsQuery.graphql.ts"; +import { documentTypeLabel } from "/helpers/documents"; import { DocumentRow } from "/components/DocumentRow"; import { TrustCenterFileRow } from "/components/TrustCenterFileRow"; import { Rows } from "/components/Rows.tsx"; diff --git a/apps/trust/src/pages/OverviewPage.tsx b/apps/trust/src/pages/OverviewPage.tsx index 66941e14e..9b5e9d65c 100644 --- a/apps/trust/src/pages/OverviewPage.tsx +++ b/apps/trust/src/pages/OverviewPage.tsx @@ -1,9 +1,5 @@ import { useFragment } from "react-relay"; import { graphql } from "relay-runtime"; -import type { - OverviewPageFragment$data, - OverviewPageFragment$key, -} from "./__generated__/OverviewPageFragment.graphql"; import { Link, useOutletContext } from "react-router"; import { groupBy, @@ -13,9 +9,10 @@ import { } from "@probo/helpers"; import { useTranslate } from "@probo/i18n"; import { Card, IconChevronRight } from "@probo/ui"; +import { Fragment } from "react"; + import { AuditRow } from "/components/AuditRow"; import { documentTypeLabel } from "/helpers/documents"; -import { Fragment } from "react"; import { DocumentRow } from "/components/DocumentRow"; import { TrustCenterFileRow } from "/components/TrustCenterFileRow"; import { VendorRow } from "/components/VendorRow"; @@ -23,6 +20,11 @@ import { RowHeader } from "/components/RowHeader.tsx"; import { Rows } from "/components/Rows.tsx"; import type { TrustGraphCurrentQuery$data } from "/queries/__generated__/TrustGraphCurrentQuery.graphql"; +import type { + OverviewPageFragment$data, + OverviewPageFragment$key, +} from "./__generated__/OverviewPageFragment.graphql"; + const overviewFragment = graphql` fragment OverviewPageFragment on TrustCenter { references(first: 14) { diff --git a/apps/trust/src/pages/SubprocessorsPage.tsx b/apps/trust/src/pages/SubprocessorsPage.tsx index 448cb3efc..67b993993 100644 --- a/apps/trust/src/pages/SubprocessorsPage.tsx +++ b/apps/trust/src/pages/SubprocessorsPage.tsx @@ -1,7 +1,8 @@ import { type PreloadedQuery, usePreloadedQuery } from "react-relay"; -import { currentTrustVendorsQuery } from "/queries/TrustGraph"; import { sprintf } from "@probo/helpers"; import { useTranslate } from "@probo/i18n"; + +import { currentTrustVendorsQuery } from "/queries/TrustGraph"; import type { TrustGraphCurrentVendorsQuery } from "/queries/__generated__/TrustGraphCurrentVendorsQuery.graphql"; import { VendorRow } from "/components/VendorRow"; import { Rows } from "/components/Rows.tsx"; diff --git a/apps/trust/src/pages/auth/ConnectPage.tsx b/apps/trust/src/pages/auth/ConnectPage.tsx index 1c06f4b5a..f987963d4 100644 --- a/apps/trust/src/pages/auth/ConnectPage.tsx +++ b/apps/trust/src/pages/auth/ConnectPage.tsx @@ -1,18 +1,20 @@ import { usePageTitle } from "@probo/hooks"; import { useTranslate } from "@probo/i18n"; import { Button, Field, useToast } from "@probo/ui"; -import { useFormWithSchema } from "/hooks/useFormWithSchema"; -import z from "zod"; +import { z } from "zod"; import { graphql } from "relay-runtime"; import { useMutation, usePreloadedQuery, type PreloadedQuery, } from "react-relay"; -import { AuthLayout } from "./AuthLayout"; -import type { ConnectPageMutation } from "./__generated__/ConnectPageMutation.graphql"; import { useEffect, useRef, useState } from "react"; + +import { useFormWithSchema } from "/hooks/useFormWithSchema"; + +import type { ConnectPageMutation } from "./__generated__/ConnectPageMutation.graphql"; import type { ConnectPageQuery } from "./__generated__/ConnectPageQuery.graphql"; +import { AuthLayout } from "./AuthLayout"; export const connectPageQuery = graphql` query ConnectPageQuery { diff --git a/apps/trust/src/pages/auth/ConnectPageLoader.tsx b/apps/trust/src/pages/auth/ConnectPageLoader.tsx index 3aa19f109..ea8d488d2 100644 --- a/apps/trust/src/pages/auth/ConnectPageLoader.tsx +++ b/apps/trust/src/pages/auth/ConnectPageLoader.tsx @@ -1,7 +1,9 @@ import { useQueryLoader } from "react-relay"; -import { ConnectPage, connectPageQuery } from "./ConnectPage"; import { Suspense, useEffect } from "react"; + import { RelayProvider } from "/providers/RelayProviders"; + +import { ConnectPage, connectPageQuery } from "./ConnectPage"; import type { ConnectPageQuery } from "./__generated__/ConnectPageQuery.graphql"; function ConnectPageLoader() { diff --git a/apps/trust/src/pages/auth/VerifyMagicLinkPage.tsx b/apps/trust/src/pages/auth/VerifyMagicLinkPage.tsx index 5a86cef5f..becea029a 100644 --- a/apps/trust/src/pages/auth/VerifyMagicLinkPage.tsx +++ b/apps/trust/src/pages/auth/VerifyMagicLinkPage.tsx @@ -2,14 +2,16 @@ import { usePageTitle } from "@probo/hooks"; import { useTranslate } from "@probo/i18n"; import { Button, Field, useToast } from "@probo/ui"; import { useSearchParams } from "react-router"; -import { useFormWithSchema } from "/hooks/useFormWithSchema"; -import z from "zod"; +import { z } from "zod"; import { useEffect, useRef } from "react"; import { graphql } from "relay-runtime"; import { useMutation } from "react-relay"; import { formatError } from "@probo/helpers"; -import type { VerifyMagicLinkPageMutation } from "./__generated__/VerifyMagicLinkPageMutation.graphql"; + +import { useFormWithSchema } from "/hooks/useFormWithSchema"; import { getPathPrefix } from "/utils/pathPrefix"; + +import type { VerifyMagicLinkPageMutation } from "./__generated__/VerifyMagicLinkPageMutation.graphql"; import { AuthLayout } from "./AuthLayout"; const verifyMagicLinkMutation = graphql` diff --git a/apps/trust/src/providers/RelayProviders.tsx b/apps/trust/src/providers/RelayProviders.tsx index 292e95758..920b2096d 100644 --- a/apps/trust/src/providers/RelayProviders.tsx +++ b/apps/trust/src/providers/RelayProviders.tsx @@ -6,9 +6,10 @@ import { } from "relay-runtime"; import type { PropsWithChildren } from "react"; import { RelayEnvironmentProvider } from "react-relay"; -import { getPathPrefix } from "/utils/pathPrefix"; import { makeFetchQuery } from "@probo/relay"; +import { getPathPrefix } from "/utils/pathPrefix"; + export class UnAuthenticatedError extends Error { constructor() { super("UNAUTHENTICATED"); diff --git a/apps/trust/src/providers/TranslatorProvider.tsx b/apps/trust/src/providers/TranslatorProvider.tsx index c32f80e65..8260f9cb0 100644 --- a/apps/trust/src/providers/TranslatorProvider.tsx +++ b/apps/trust/src/providers/TranslatorProvider.tsx @@ -1,4 +1,5 @@ import type { PropsWithChildren } from "react"; + import { TranslatorProvider as ProboTranslatorProvider } from "../../../../packages/i18n/TranslatorProvider"; // TODO : implement a way to retrieve translations strings diff --git a/apps/trust/src/providers/TrustCenterProvider.tsx b/apps/trust/src/providers/TrustCenterProvider.tsx index 469eba072..458ba67df 100644 --- a/apps/trust/src/providers/TrustCenterProvider.tsx +++ b/apps/trust/src/providers/TrustCenterProvider.tsx @@ -1,4 +1,5 @@ import { createContext, type ReactNode } from "react"; + import type { TrustGraphCurrentQuery$data } from "/queries/__generated__/TrustGraphCurrentQuery.graphql"; export const TrustCenterContext = createContext< diff --git a/apps/trust/src/routes.tsx b/apps/trust/src/routes.tsx index 388986aad..76f02b81b 100644 --- a/apps/trust/src/routes.tsx +++ b/apps/trust/src/routes.tsx @@ -1,8 +1,13 @@ import { createBrowserRouter, redirect, useRouteError } from "react-router"; import { Fragment, lazy } from "react"; -import { consoleEnvironment } from "./providers/RelayProviders.tsx"; import { loadQuery } from "react-relay"; -import { PageError } from "./components/PageError.tsx"; +import { + loaderFromQueryLoader, + routeFromAppRoute, + withQueryRef, + type AppRoute, +} from "@probo/routes"; + import { MainLayout } from "/layouts/MainLayout"; import { currentTrustGraphQuery, @@ -12,14 +17,11 @@ import { import { OverviewPage } from "/pages/OverviewPage"; import { DocumentsPage } from "/pages/DocumentsPage"; import { SubprocessorsPage } from "/pages/SubprocessorsPage"; + +import { PageError } from "./components/PageError.tsx"; +import { consoleEnvironment } from "./providers/RelayProviders.tsx"; import { TabSkeleton } from "./components/Skeletons/TabSkeleton.tsx"; import { MainSkeleton } from "./components/Skeletons/MainSkeleton.tsx"; -import { - loaderFromQueryLoader, - routeFromAppRoute, - withQueryRef, - type AppRoute, -} from "@probo/routes"; /** * Top level error boundary diff --git a/apps/trust/vite.config.ts b/apps/trust/vite.config.ts index a5901cdf3..68586424d 100644 --- a/apps/trust/vite.config.ts +++ b/apps/trust/vite.config.ts @@ -1,7 +1,8 @@ +import { fileURLToPath, URL } from "node:url"; + import { defineConfig } from "vite"; import react from "@vitejs/plugin-react"; import tailwindcss from "@tailwindcss/vite"; -import { fileURLToPath, URL } from "node:url"; // https://vite.dev/config/ export default defineConfig({ diff --git a/package-lock.json b/package-lock.json index 3afb22e34..351dd92ee 100644 --- a/package-lock.json +++ b/package-lock.json @@ -524,7 +524,6 @@ "version": "1.8.1", "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.8.1.tgz", "integrity": "sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg==", - "dev": true, "license": "MIT", "optional": true, "dependencies": { @@ -536,7 +535,6 @@ "version": "1.8.1", "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.8.1.tgz", "integrity": "sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==", - "dev": true, "license": "MIT", "optional": true, "dependencies": { @@ -547,7 +545,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.1.0.tgz", "integrity": "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==", - "dev": true, "license": "MIT", "optional": true, "dependencies": { @@ -2415,7 +2412,6 @@ "version": "0.2.12", "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz", "integrity": "sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==", - "dev": true, "license": "MIT", "optional": true, "dependencies": { @@ -5508,7 +5504,6 @@ "version": "0.10.1", "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz", "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==", - "dev": true, "license": "MIT", "optional": true, "dependencies": { @@ -5986,7 +5981,6 @@ "cpu": [ "arm" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -6000,7 +5994,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -6014,7 +6007,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -6028,7 +6020,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -6042,7 +6033,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -6056,7 +6046,6 @@ "cpu": [ "arm" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -6070,7 +6059,6 @@ "cpu": [ "arm" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -6084,7 +6072,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -6098,7 +6085,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -6112,7 +6098,6 @@ "cpu": [ "ppc64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -6126,7 +6111,6 @@ "cpu": [ "riscv64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -6140,7 +6124,6 @@ "cpu": [ "riscv64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -6154,7 +6137,6 @@ "cpu": [ "s390x" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -6168,7 +6150,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -6182,7 +6163,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -6196,7 +6176,6 @@ "cpu": [ "wasm32" ], - "dev": true, "license": "MIT", "optional": true, "dependencies": { @@ -6213,7 +6192,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -6227,7 +6205,6 @@ "cpu": [ "ia32" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -6241,7 +6218,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -7692,7 +7668,6 @@ "version": "1.4.4", "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.4.4.tgz", "integrity": "sha512-0D6qSQ5IkeRrGJFHRClzaMOenMeT0gErz3zIw3AprKMqhRN6LNU2jQOdkPG/FZ+8bCgXE1VidrgSzlBBDZRr8A==", - "dev": true, "license": "MIT", "engines": { "node": ">= 12.0.0" @@ -8587,7 +8562,6 @@ "version": "0.1.9", "resolved": "https://registry.npmjs.org/eslint-import-context/-/eslint-import-context-0.1.9.tgz", "integrity": "sha512-K9Hb+yRaGAGUbwjhFNHvSmmkZs9+zbuoe3kFQ4V1wYjrepUFYM2dZAfNtjbbj3qsPfUfsA68Bx/ICWQMi+C8Eg==", - "dev": true, "license": "MIT", "dependencies": { "get-tsconfig": "^4.10.1", @@ -8647,7 +8621,6 @@ "version": "4.16.1", "resolved": "https://registry.npmjs.org/eslint-plugin-import-x/-/eslint-plugin-import-x-4.16.1.tgz", "integrity": "sha512-vPZZsiOKaBAIATpFE2uMI4w5IRwdv/FpQ+qZZMR4E+PeOcM4OeoEbqxRMnywdxP19TyB/3h6QBB0EWon7letSQ==", - "dev": true, "license": "MIT", "dependencies": { "@typescript-eslint/types": "^8.35.0", @@ -9986,7 +9959,6 @@ "version": "4.13.0", "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.0.tgz", "integrity": "sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ==", - "dev": true, "license": "MIT", "dependencies": { "resolve-pkg-maps": "^1.0.0" @@ -13024,7 +12996,6 @@ "version": "0.3.4", "resolved": "https://registry.npmjs.org/napi-postinstall/-/napi-postinstall-0.3.4.tgz", "integrity": "sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==", - "dev": true, "license": "MIT", "bin": { "napi-postinstall": "lib/cli.js" @@ -14743,7 +14714,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", - "dev": true, "license": "MIT", "funding": { "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" @@ -15401,7 +15371,6 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/stable-hash-x/-/stable-hash-x-0.2.0.tgz", "integrity": "sha512-o3yWv49B/o4QZk5ZcsALc6t0+eCelPc44zZsLtCQnZPDwFpDYSWcDnrv2TtMmMbQ7uKo3J0HTURCqckw23czNQ==", - "dev": true, "license": "MIT", "engines": { "node": ">=12.0.0" @@ -17020,7 +16989,6 @@ "version": "1.11.1", "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.11.1.tgz", "integrity": "sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==", - "dev": true, "hasInstallScript": true, "license": "MIT", "dependencies": { @@ -18033,6 +18001,7 @@ "dependencies": { "@eslint/js": "^9.39.2", "@stylistic/eslint-plugin": "^5.7.0", + "eslint-plugin-import-x": "^4.16.1", "eslint-plugin-react": "^7.37.5", "eslint-plugin-react-hooks": "^7.0.1", "globals": "^17.0.0", diff --git a/packages/eslint-config/package.json b/packages/eslint-config/package.json index 272e5bfec..6b23dff28 100644 --- a/packages/eslint-config/package.json +++ b/packages/eslint-config/package.json @@ -25,6 +25,7 @@ "dependencies": { "@eslint/js": "^9.39.2", "@stylistic/eslint-plugin": "^5.7.0", + "eslint-plugin-import-x": "^4.16.1", "eslint-plugin-react": "^7.37.5", "eslint-plugin-react-hooks": "^7.0.1", "globals": "^17.0.0", diff --git a/packages/eslint-config/src/baseConfigs.ts b/packages/eslint-config/src/baseConfigs.ts index 03bf715a1..0955844e4 100644 --- a/packages/eslint-config/src/baseConfigs.ts +++ b/packages/eslint-config/src/baseConfigs.ts @@ -3,6 +3,5 @@ import type { Linter } from "eslint"; export const baseConfigs = [ { ignores: ["dist", "node_modules", "**/*.d.ts"] } satisfies Pick, - { files: ["**/*.js", "**/*.ts", "**/*.tsx"] } satisfies Pick, js.configs.recommended, ]; diff --git a/packages/eslint-config/src/importsConfigs.ts b/packages/eslint-config/src/importsConfigs.ts new file mode 100644 index 000000000..706ba11dd --- /dev/null +++ b/packages/eslint-config/src/importsConfigs.ts @@ -0,0 +1,35 @@ +import { createTypeScriptImportResolver } from "eslint-import-resolver-typescript"; +import { importX } from "eslint-plugin-import-x"; + +export const importsConfigs = [ + importX.flatConfigs.recommended, + { + rules: { + "import-x/order": [ + "error", + { + "groups": ["builtin", "external", "parent", "sibling", "index"], + "distinctGroup": true, + "newlines-between": "always", + "pathGroups": [ + { + // Aliases + pattern: "/**", + group: "external", + position: "after", + }, + ], + }, + ], + }, + }, + { + ...importX.flatConfigs.typescript, + settings: { + "import-x/resolver-next": createTypeScriptImportResolver({ + alwaysTryTypes: true, + project: "tsconfig.json", + }), + }, + }, +]; diff --git a/packages/eslint-config/src/index.ts b/packages/eslint-config/src/index.ts index 1c50f40f9..3fc895d23 100644 --- a/packages/eslint-config/src/index.ts +++ b/packages/eslint-config/src/index.ts @@ -3,9 +3,11 @@ import { browserLanguageOptionsConfig, nodeLanguageOptionsConfig } from "./langu import { tsConfigs } from "./tsConfigs.ts"; import { reactConfigs } from "./reactConfigs.ts"; import { stylisticConfigs } from "./stylisticConfigs.ts"; +import { importsConfigs } from "./importsConfigs.ts"; export const configs = { base: baseConfigs, + imports: importsConfigs, ts: tsConfigs, languageOptions: { browser: browserLanguageOptionsConfig, diff --git a/packages/eslint-config/src/tsConfigs.ts b/packages/eslint-config/src/tsConfigs.ts index a3549ab9f..f92db6437 100644 --- a/packages/eslint-config/src/tsConfigs.ts +++ b/packages/eslint-config/src/tsConfigs.ts @@ -1,8 +1,8 @@ import type { Linter } from "eslint"; -import tseslint from "typescript-eslint"; +import { configs } from "typescript-eslint"; export const tsConfigs = [ - ...tseslint.configs.recommendedTypeChecked, + ...configs.recommendedTypeChecked, { files: ["**/*.{ts,tsx}"], rules: { diff --git a/packages/ui/.storybook/main.ts b/packages/ui/.storybook/main.ts index 915e1e890..91ed6d649 100644 --- a/packages/ui/.storybook/main.ts +++ b/packages/ui/.storybook/main.ts @@ -1,7 +1,7 @@ -import type { StorybookConfig } from "@storybook/react-vite"; - import { join, dirname } from "path"; +import type { StorybookConfig } from "@storybook/react-vite"; + /** * This function is used to resolve the absolute path of a package. * It is needed in projects that use Yarn PnP or are set up within a monorepo. diff --git a/packages/ui/.storybook/preview.tsx b/packages/ui/.storybook/preview.tsx index d87cc1e6f..23ceaf942 100644 --- a/packages/ui/.storybook/preview.tsx +++ b/packages/ui/.storybook/preview.tsx @@ -1,9 +1,9 @@ import type { Preview } from "@storybook/react"; +import { BrowserRouter } from "react-router"; +import { useEffect } from "react"; import "../src/theme.css"; import "./preview.css"; -import { BrowserRouter } from "react-router"; -import { useEffect } from "react"; const preview: Preview = { parameters: { diff --git a/packages/ui/eslint.config.mjs b/packages/ui/eslint.config.mjs index d311e6da6..b9a5950dc 100644 --- a/packages/ui/eslint.config.mjs +++ b/packages/ui/eslint.config.mjs @@ -4,6 +4,7 @@ import { configs } from "@probo/eslint-config"; export default defineConfig([ ...configs.base, ...configs.ts, + ...configs.imports, ...configs.react, ...configs.stylistic, { diff --git a/packages/ui/src/Atoms/Avatar/Avatar.stories.tsx b/packages/ui/src/Atoms/Avatar/Avatar.stories.tsx index e7173d21c..11cc73367 100644 --- a/packages/ui/src/Atoms/Avatar/Avatar.stories.tsx +++ b/packages/ui/src/Atoms/Avatar/Avatar.stories.tsx @@ -1,6 +1,7 @@ -import { Avatar } from "./Avatar"; import type { Meta, StoryObj } from "@storybook/react"; +import { Avatar } from "./Avatar"; + export default { title: "Atoms/Avatar", component: Avatar, diff --git a/packages/ui/src/Atoms/Badge/Badge.stories.tsx b/packages/ui/src/Atoms/Badge/Badge.stories.tsx index f4d81aebb..f1cce23a7 100644 --- a/packages/ui/src/Atoms/Badge/Badge.stories.tsx +++ b/packages/ui/src/Atoms/Badge/Badge.stories.tsx @@ -1,6 +1,7 @@ -import { Badge } from "./Badge"; import type { Meta, StoryObj } from "@storybook/react"; +import { Badge } from "./Badge"; + export default { title: "Atoms/Badge", component: Badge, diff --git a/packages/ui/src/Atoms/Badge/Badge.tsx b/packages/ui/src/Atoms/Badge/Badge.tsx index fa1620157..5f3d80f37 100644 --- a/packages/ui/src/Atoms/Badge/Badge.tsx +++ b/packages/ui/src/Atoms/Badge/Badge.tsx @@ -1,5 +1,6 @@ import type { HTMLAttributes } from "react"; import { tv } from "tailwind-variants"; + import { Slot } from "../Slot"; type Props = { diff --git a/packages/ui/src/Atoms/Breadcrumb/Breadcrumb.stories.tsx b/packages/ui/src/Atoms/Breadcrumb/Breadcrumb.stories.tsx index 174a92ed0..fb1be216d 100644 --- a/packages/ui/src/Atoms/Breadcrumb/Breadcrumb.stories.tsx +++ b/packages/ui/src/Atoms/Breadcrumb/Breadcrumb.stories.tsx @@ -1,6 +1,7 @@ -import { Breadcrumb } from "./Breadcrumb"; import type { Meta, StoryObj } from "@storybook/react"; +import { Breadcrumb } from "./Breadcrumb"; + export default { title: "Atoms/Breadcrumb", component: Breadcrumb, diff --git a/packages/ui/src/Atoms/Breadcrumb/Breadcrumb.tsx b/packages/ui/src/Atoms/Breadcrumb/Breadcrumb.tsx index 110bf75e2..107d51a04 100644 --- a/packages/ui/src/Atoms/Breadcrumb/Breadcrumb.tsx +++ b/packages/ui/src/Atoms/Breadcrumb/Breadcrumb.tsx @@ -1,8 +1,9 @@ import clsx from "clsx"; import { Link } from "react-router"; -import { IconChevronRight } from "../Icons"; import { Fragment } from "react/jsx-runtime"; +import { IconChevronRight } from "../Icons"; + type Props = { items: (ItemProps | string)[]; }; diff --git a/packages/ui/src/Atoms/Button/Button.stories.tsx b/packages/ui/src/Atoms/Button/Button.stories.tsx index bb2046c2f..5dc607fda 100644 --- a/packages/ui/src/Atoms/Button/Button.stories.tsx +++ b/packages/ui/src/Atoms/Button/Button.stories.tsx @@ -1,7 +1,9 @@ -import { IconPlusLarge } from "../Icons"; -import { Button } from "./Button"; import type { Meta, StoryObj } from "@storybook/react"; +import { IconPlusLarge } from "../Icons"; + +import { Button } from "./Button"; + export default { title: "Atoms/Button", component: Button, diff --git a/packages/ui/src/Atoms/Button/Button.tsx b/packages/ui/src/Atoms/Button/Button.tsx index aa863622a..5488a8e5c 100644 --- a/packages/ui/src/Atoms/Button/Button.tsx +++ b/packages/ui/src/Atoms/Button/Button.tsx @@ -6,6 +6,7 @@ import type { } from "react"; import { Link } from "react-router"; import { tv, type VariantProps } from "tailwind-variants"; + import { Slot } from "../Slot"; export const button = tv({ diff --git a/packages/ui/src/Atoms/Card/Card.stories.tsx b/packages/ui/src/Atoms/Card/Card.stories.tsx index 3ef1f694e..d61a4d1bf 100644 --- a/packages/ui/src/Atoms/Card/Card.stories.tsx +++ b/packages/ui/src/Atoms/Card/Card.stories.tsx @@ -1,6 +1,7 @@ -import { Card } from "./Card"; import type { Meta, StoryObj } from "@storybook/react"; +import { Card } from "./Card"; + export default { title: "Atoms/Card", component: Card, diff --git a/packages/ui/src/Atoms/Card/Card.tsx b/packages/ui/src/Atoms/Card/Card.tsx index f934d5128..63dfeb515 100644 --- a/packages/ui/src/Atoms/Card/Card.tsx +++ b/packages/ui/src/Atoms/Card/Card.tsx @@ -1,5 +1,6 @@ import type { CSSProperties, PropsWithChildren } from "react"; import { tv } from "tailwind-variants"; + import { Slot } from "../Slot"; type Props = PropsWithChildren<{ diff --git a/packages/ui/src/Atoms/Checkbox/Checkbox.stories.tsx b/packages/ui/src/Atoms/Checkbox/Checkbox.stories.tsx index fffb3f926..388b8204e 100644 --- a/packages/ui/src/Atoms/Checkbox/Checkbox.stories.tsx +++ b/packages/ui/src/Atoms/Checkbox/Checkbox.stories.tsx @@ -1,6 +1,7 @@ -import { Checkbox } from "./Checkbox"; import type { Meta, StoryObj } from "@storybook/react"; +import { Checkbox } from "./Checkbox"; + export default { title: "Atoms/Checkbox", component: Checkbox, diff --git a/packages/ui/src/Atoms/Checkbox/Checkbox.tsx b/packages/ui/src/Atoms/Checkbox/Checkbox.tsx index 0d705d51f..7c9e9b2cf 100644 --- a/packages/ui/src/Atoms/Checkbox/Checkbox.tsx +++ b/packages/ui/src/Atoms/Checkbox/Checkbox.tsx @@ -1,5 +1,6 @@ import { useState } from "react"; import { tv } from "tailwind-variants"; + import { IconCheckmark1 } from "../Icons"; type Props = { diff --git a/packages/ui/src/Atoms/ControlItem/ControlItem.stories.tsx b/packages/ui/src/Atoms/ControlItem/ControlItem.stories.tsx index a690bd73e..fb7304ed9 100644 --- a/packages/ui/src/Atoms/ControlItem/ControlItem.stories.tsx +++ b/packages/ui/src/Atoms/ControlItem/ControlItem.stories.tsx @@ -1,6 +1,7 @@ -import { ControlItem } from "./ControlItem"; import type { Meta, StoryObj } from "@storybook/react"; +import { ControlItem } from "./ControlItem"; + export default { title: "Atoms/ControlItem", component: ControlItem, diff --git a/packages/ui/src/Atoms/DataTable/DataTable.tsx b/packages/ui/src/Atoms/DataTable/DataTable.tsx index e1e4accb9..f946c137c 100644 --- a/packages/ui/src/Atoms/DataTable/DataTable.tsx +++ b/packages/ui/src/Atoms/DataTable/DataTable.tsx @@ -4,8 +4,9 @@ import { type PropsWithChildren, type ReactNode, } from "react"; -import { Card } from "../Card/Card"; import clsx from "clsx"; + +import { Card } from "../Card/Card"; import { type AsChildProps, Slot } from "../Slot.tsx"; import { IconPlusLarge } from "../Icons"; diff --git a/packages/ui/src/Atoms/Dropdown/Dropdown.stories.tsx b/packages/ui/src/Atoms/Dropdown/Dropdown.stories.tsx index 5631291fa..b5fe48312 100644 --- a/packages/ui/src/Atoms/Dropdown/Dropdown.stories.tsx +++ b/packages/ui/src/Atoms/Dropdown/Dropdown.stories.tsx @@ -1,7 +1,9 @@ +import type { Meta, StoryObj } from "@storybook/react"; + import { Button } from "../Button/Button"; import { IconCircleQuestionmark1 } from "../Icons"; + import { Dropdown, DropdownItem, DropdownSeparator } from "./Dropdown"; -import type { Meta, StoryObj } from "@storybook/react"; export default { title: "Atoms/Dropdown", diff --git a/packages/ui/src/Atoms/Dropdown/Dropdown.tsx b/packages/ui/src/Atoms/Dropdown/Dropdown.tsx index 97ec76fb0..a876dc49f 100644 --- a/packages/ui/src/Atoms/Dropdown/Dropdown.tsx +++ b/packages/ui/src/Atoms/Dropdown/Dropdown.tsx @@ -1,8 +1,9 @@ import type { ComponentProps, FC, PropsWithChildren, ReactNode } from "react"; import * as DropdownMenu from "@radix-ui/react-dropdown-menu"; import { clsx } from "clsx"; -import type { IconProps } from "../Icons/type.ts"; import { tv } from "tailwind-variants"; + +import type { IconProps } from "../Icons/type.ts"; import { IconDotGrid1x3Horizontal } from "../Icons"; import { Button } from "../Button/Button.tsx"; diff --git a/packages/ui/src/Atoms/Dropzone/Dropzone.stories.tsx b/packages/ui/src/Atoms/Dropzone/Dropzone.stories.tsx index 3128d6c04..aaa51d621 100644 --- a/packages/ui/src/Atoms/Dropzone/Dropzone.stories.tsx +++ b/packages/ui/src/Atoms/Dropzone/Dropzone.stories.tsx @@ -1,6 +1,7 @@ -import { Dropzone } from "./Dropzone"; import type { Meta, StoryObj } from "@storybook/react"; +import { Dropzone } from "./Dropzone"; + export default { title: "Atoms/Dropzone", component: Dropzone, diff --git a/packages/ui/src/Atoms/Dropzone/Dropzone.tsx b/packages/ui/src/Atoms/Dropzone/Dropzone.tsx index b9187d276..0b57d4280 100644 --- a/packages/ui/src/Atoms/Dropzone/Dropzone.tsx +++ b/packages/ui/src/Atoms/Dropzone/Dropzone.tsx @@ -3,6 +3,7 @@ import { useTranslate } from "@probo/i18n"; import { useCallback } from "react"; import { useDropzone, type FileRejection } from "react-dropzone"; import { tv } from "tailwind-variants"; + import { IconPageCross, IconUpload } from "../Icons"; import { Spinner } from "../Spinner/Spinner"; diff --git a/packages/ui/src/Atoms/FrameworkLogo/FrameworkLogo.tsx b/packages/ui/src/Atoms/FrameworkLogo/FrameworkLogo.tsx index fbe9edd55..2bbd2f48c 100644 --- a/packages/ui/src/Atoms/FrameworkLogo/FrameworkLogo.tsx +++ b/packages/ui/src/Atoms/FrameworkLogo/FrameworkLogo.tsx @@ -1,4 +1,5 @@ import clsx from "clsx"; + import { Avatar } from "../Avatar/Avatar"; interface FrameworkLogoProps { diff --git a/packages/ui/src/Atoms/Icons/TaskStateIcon.stories.tsx b/packages/ui/src/Atoms/Icons/TaskStateIcon.stories.tsx index e6624374d..e900c86de 100644 --- a/packages/ui/src/Atoms/Icons/TaskStateIcon.stories.tsx +++ b/packages/ui/src/Atoms/Icons/TaskStateIcon.stories.tsx @@ -1,6 +1,7 @@ -import { TaskStateIcon } from "./TaskStateIcon"; import type { Meta, StoryObj } from "@storybook/react"; +import { TaskStateIcon } from "./TaskStateIcon"; + export default { title: "Atoms/TaskStateIcon", component: TaskStateIcon, diff --git a/packages/ui/src/Atoms/InfiniteScrollTrigger/InfiniteScrollTrigger.stories.tsx b/packages/ui/src/Atoms/InfiniteScrollTrigger/InfiniteScrollTrigger.stories.tsx index 551bf11de..e4471008c 100644 --- a/packages/ui/src/Atoms/InfiniteScrollTrigger/InfiniteScrollTrigger.stories.tsx +++ b/packages/ui/src/Atoms/InfiniteScrollTrigger/InfiniteScrollTrigger.stories.tsx @@ -1,6 +1,7 @@ -import { InfiniteScrollTrigger } from "./InfiniteScrollTrigger"; import type { Meta, StoryObj } from "@storybook/react"; +import { InfiniteScrollTrigger } from "./InfiniteScrollTrigger"; + export default { title: "Atoms/InfiniteScrollTrigger", component: InfiniteScrollTrigger, diff --git a/packages/ui/src/Atoms/InfiniteScrollTrigger/InfiniteScrollTrigger.tsx b/packages/ui/src/Atoms/InfiniteScrollTrigger/InfiniteScrollTrigger.tsx index 7994b8902..fe9b0793c 100644 --- a/packages/ui/src/Atoms/InfiniteScrollTrigger/InfiniteScrollTrigger.tsx +++ b/packages/ui/src/Atoms/InfiniteScrollTrigger/InfiniteScrollTrigger.tsx @@ -2,6 +2,7 @@ import { useEffect, type ReactNode } from "react"; import { useTranslate } from "@probo/i18n"; import { useRefSync } from "@probo/hooks"; import { useInView } from "react-intersection-observer"; + import { Spinner } from "../Spinner/Spinner"; type Props = { diff --git a/packages/ui/src/Atoms/Input/Input.stories.tsx b/packages/ui/src/Atoms/Input/Input.stories.tsx index c46543967..4b9200e1b 100644 --- a/packages/ui/src/Atoms/Input/Input.stories.tsx +++ b/packages/ui/src/Atoms/Input/Input.stories.tsx @@ -1,6 +1,7 @@ -import { Input } from "./Input"; import type { Meta, StoryObj } from "@storybook/react"; +import { Input } from "./Input"; + export default { title: "Atoms/Form/Input", component: Input, diff --git a/packages/ui/src/Atoms/Input/Input.tsx b/packages/ui/src/Atoms/Input/Input.tsx index ffcefb86d..1361c11ef 100644 --- a/packages/ui/src/Atoms/Input/Input.tsx +++ b/packages/ui/src/Atoms/Input/Input.tsx @@ -1,5 +1,6 @@ import { type InputHTMLAttributes, type FC, useState } from "react"; import { tv } from "tailwind-variants"; + import type { IconProps } from "../Icons/type"; type Props = { diff --git a/packages/ui/src/Atoms/Label/Label.stories.tsx b/packages/ui/src/Atoms/Label/Label.stories.tsx index fd68cef21..e356406aa 100644 --- a/packages/ui/src/Atoms/Label/Label.stories.tsx +++ b/packages/ui/src/Atoms/Label/Label.stories.tsx @@ -1,6 +1,7 @@ -import { Label } from "./Label"; import type { Meta, StoryObj } from "@storybook/react"; +import { Label } from "./Label"; + export default { title: "Atoms/Form/Label", component: Label, diff --git a/packages/ui/src/Atoms/Logo/Logo.stories.tsx b/packages/ui/src/Atoms/Logo/Logo.stories.tsx index 614d401cd..29fe0c868 100644 --- a/packages/ui/src/Atoms/Logo/Logo.stories.tsx +++ b/packages/ui/src/Atoms/Logo/Logo.stories.tsx @@ -1,4 +1,5 @@ import type { Meta, StoryObj } from "@storybook/react"; + import { Logo } from "./Logo"; const meta = { diff --git a/packages/ui/src/Atoms/Markdown/Markdown.stories.tsx b/packages/ui/src/Atoms/Markdown/Markdown.stories.tsx index b1f399099..4dd4bd0fe 100644 --- a/packages/ui/src/Atoms/Markdown/Markdown.stories.tsx +++ b/packages/ui/src/Atoms/Markdown/Markdown.stories.tsx @@ -1,6 +1,7 @@ -import { Markdown } from "./Markdown"; import type { Meta, StoryObj } from "@storybook/react"; +import { Markdown } from "./Markdown"; + export default { title: "Atoms/Markdown", component: Markdown, diff --git a/packages/ui/src/Atoms/PriorityLevel/PriorityLevel.stories.tsx b/packages/ui/src/Atoms/PriorityLevel/PriorityLevel.stories.tsx index 401b69e43..436a77476 100644 --- a/packages/ui/src/Atoms/PriorityLevel/PriorityLevel.stories.tsx +++ b/packages/ui/src/Atoms/PriorityLevel/PriorityLevel.stories.tsx @@ -1,6 +1,7 @@ -import { PriorityLevel } from "./PriorityLevel.tsx"; import type { Meta, StoryObj } from "@storybook/react"; +import { PriorityLevel } from "./PriorityLevel.tsx"; + export default { title: "Atoms/PriorityLevel", component: PriorityLevel, diff --git a/packages/ui/src/Atoms/PropertyRow/PropertyRow.stories.tsx b/packages/ui/src/Atoms/PropertyRow/PropertyRow.stories.tsx index 6d32987f8..200aceb54 100644 --- a/packages/ui/src/Atoms/PropertyRow/PropertyRow.stories.tsx +++ b/packages/ui/src/Atoms/PropertyRow/PropertyRow.stories.tsx @@ -1,7 +1,9 @@ -import { Select } from "../Select/Select"; -import { PropertyRow } from "./PropertyRow"; import type { Meta, StoryObj } from "@storybook/react"; +import { Select } from "../Select/Select"; + +import { PropertyRow } from "./PropertyRow"; + export default { title: "Atoms/PropertyRow", component: PropertyRow, diff --git a/packages/ui/src/Atoms/PropertyRow/PropertyRow.tsx b/packages/ui/src/Atoms/PropertyRow/PropertyRow.tsx index ae774b522..d055625ab 100644 --- a/packages/ui/src/Atoms/PropertyRow/PropertyRow.tsx +++ b/packages/ui/src/Atoms/PropertyRow/PropertyRow.tsx @@ -1,4 +1,5 @@ import { Children, type ReactNode } from "react"; + import { Label } from "../Label/Label"; type Props = { diff --git a/packages/ui/src/Atoms/Select/Select.stories.tsx b/packages/ui/src/Atoms/Select/Select.stories.tsx index d109d1f38..fd4ac05e2 100644 --- a/packages/ui/src/Atoms/Select/Select.stories.tsx +++ b/packages/ui/src/Atoms/Select/Select.stories.tsx @@ -1,6 +1,7 @@ -import { Select, Option } from "./Select"; import type { Meta, StoryObj } from "@storybook/react"; +import { Select, Option } from "./Select"; + export default { title: "Atoms/Form/Select", component: Select, diff --git a/packages/ui/src/Atoms/Select/Select.tsx b/packages/ui/src/Atoms/Select/Select.tsx index f4c2815b2..a87617c11 100644 --- a/packages/ui/src/Atoms/Select/Select.tsx +++ b/packages/ui/src/Atoms/Select/Select.tsx @@ -10,8 +10,6 @@ import { ItemText, } from "@radix-ui/react-select"; import * as ScrollArea from "@radix-ui/react-scroll-area"; -import { Input, input } from "../Input/Input.tsx"; -import { IconChevronGrabberVertical } from "../Icons/IconChevronGrabberVertical.tsx"; import { tv } from "tailwind-variants"; import { Children, @@ -20,6 +18,9 @@ import { type PropsWithChildren, type ReactNode, } from "react"; + +import { Input, input } from "../Input/Input.tsx"; +import { IconChevronGrabberVertical } from "../Icons/IconChevronGrabberVertical.tsx"; import { IconMagnifyingGlass } from "../Icons/IconMagnifyingGlass.tsx"; import { Spinner } from "../Spinner/Spinner.tsx"; diff --git a/packages/ui/src/Atoms/Sidebar/Sidebar.stories.tsx b/packages/ui/src/Atoms/Sidebar/Sidebar.stories.tsx index f22203258..20ae62039 100644 --- a/packages/ui/src/Atoms/Sidebar/Sidebar.stories.tsx +++ b/packages/ui/src/Atoms/Sidebar/Sidebar.stories.tsx @@ -1,8 +1,9 @@ import type { Meta, StoryObj } from "@storybook/react"; +import { IconBank } from "../Icons/IconBank.tsx"; + import { Sidebar } from "./Sidebar"; import { SidebarItem } from "./SidebarItem"; -import { IconBank } from "../Icons/IconBank.tsx"; const meta: Meta = { component: Sidebar, diff --git a/packages/ui/src/Atoms/Sidebar/Sidebar.tsx b/packages/ui/src/Atoms/Sidebar/Sidebar.tsx index 0e6f50883..5757f188f 100644 --- a/packages/ui/src/Atoms/Sidebar/Sidebar.tsx +++ b/packages/ui/src/Atoms/Sidebar/Sidebar.tsx @@ -5,6 +5,7 @@ import { useState, } from "react"; import { clsx } from "clsx"; + import { IconCollapse, IconExpand } from "../Icons"; import { Button } from "../Button/Button"; diff --git a/packages/ui/src/Atoms/Sidebar/SidebarItem.tsx b/packages/ui/src/Atoms/Sidebar/SidebarItem.tsx index 3e9c34ae3..422769e43 100644 --- a/packages/ui/src/Atoms/Sidebar/SidebarItem.tsx +++ b/packages/ui/src/Atoms/Sidebar/SidebarItem.tsx @@ -1,6 +1,7 @@ import type { FC, PropsWithChildren } from "react"; import { tv } from "tailwind-variants"; import { NavLink } from "react-router"; + import { useSidebarCollapsed } from "./Sidebar.tsx"; const sidebarItem = tv({ diff --git a/packages/ui/src/Atoms/Skeleton/Skeleton.stories.tsx b/packages/ui/src/Atoms/Skeleton/Skeleton.stories.tsx index 11b2f6b8c..0f3cbc31e 100644 --- a/packages/ui/src/Atoms/Skeleton/Skeleton.stories.tsx +++ b/packages/ui/src/Atoms/Skeleton/Skeleton.stories.tsx @@ -1,6 +1,7 @@ -import { Skeleton } from "./Skeleton"; import type { Meta, StoryObj } from "@storybook/react"; +import { Skeleton } from "./Skeleton"; + export default { title: "Atoms/Skeleton", component: Skeleton, diff --git a/packages/ui/src/Atoms/Spinner/Spinner.stories.tsx b/packages/ui/src/Atoms/Spinner/Spinner.stories.tsx index 6371b0f21..9e2bbc917 100644 --- a/packages/ui/src/Atoms/Spinner/Spinner.stories.tsx +++ b/packages/ui/src/Atoms/Spinner/Spinner.stories.tsx @@ -1,6 +1,7 @@ -import { Spinner } from "./Spinner"; import type { Meta, StoryObj } from "@storybook/react"; +import { Spinner } from "./Spinner"; + export default { title: "Atoms/Spinner", component: Spinner, diff --git a/packages/ui/src/Atoms/Table/Table.stories.tsx b/packages/ui/src/Atoms/Table/Table.stories.tsx index 3f06d7ae6..63db870f7 100644 --- a/packages/ui/src/Atoms/Table/Table.stories.tsx +++ b/packages/ui/src/Atoms/Table/Table.stories.tsx @@ -1,6 +1,7 @@ -import { Table, Tbody, Td, Th, Thead, Tr, TrButton } from "./Table"; import type { Meta, StoryObj } from "@storybook/react"; +import { Table, Tbody, Td, Th, Thead, Tr, TrButton } from "./Table"; + export default { title: "Atoms/Table", component: Table, diff --git a/packages/ui/src/Atoms/Table/Table.tsx b/packages/ui/src/Atoms/Table/Table.tsx index e64ebd9e6..0a1293a6f 100644 --- a/packages/ui/src/Atoms/Table/Table.tsx +++ b/packages/ui/src/Atoms/Table/Table.tsx @@ -7,9 +7,10 @@ import { type ThHTMLAttributes, useContext, } from "react"; -import { Card } from "../Card/Card"; import { Link } from "react-router"; import clsx from "clsx"; + +import { Card } from "../Card/Card"; import { IconPlusLarge } from "../Icons"; export function Table({ diff --git a/packages/ui/src/Atoms/Tabs/Tabs.stories.tsx b/packages/ui/src/Atoms/Tabs/Tabs.stories.tsx index 30f8cf750..59c2f29dc 100644 --- a/packages/ui/src/Atoms/Tabs/Tabs.stories.tsx +++ b/packages/ui/src/Atoms/Tabs/Tabs.stories.tsx @@ -1,6 +1,7 @@ -import { Tabs, TabLink, TabBadge } from "./Tabs"; import type { Meta, StoryObj } from "@storybook/react"; +import { Tabs, TabLink, TabBadge } from "./Tabs"; + export default { title: "Atoms/Tabs", component: Tabs, diff --git a/packages/ui/src/Atoms/Tabs/Tabs.tsx b/packages/ui/src/Atoms/Tabs/Tabs.tsx index c49d1d955..180393dc9 100644 --- a/packages/ui/src/Atoms/Tabs/Tabs.tsx +++ b/packages/ui/src/Atoms/Tabs/Tabs.tsx @@ -1,9 +1,10 @@ import type { HTMLAttributes, PropsWithChildren } from "react"; import { NavLink, type NavLinkProps } from "react-router"; import { Root, List } from "@radix-ui/react-tabs"; -import { Slot, type AsChildProps } from "../Slot"; import { tv } from "tailwind-variants"; +import { Slot, type AsChildProps } from "../Slot"; + const cls = tv({ slots: { wrapper: diff --git a/packages/ui/src/Atoms/Textarea/Textarea.stories.tsx b/packages/ui/src/Atoms/Textarea/Textarea.stories.tsx index 2762bc457..51c5382c8 100644 --- a/packages/ui/src/Atoms/Textarea/Textarea.stories.tsx +++ b/packages/ui/src/Atoms/Textarea/Textarea.stories.tsx @@ -1,6 +1,7 @@ -import { Textarea } from "./Textarea"; import type { Meta, StoryObj } from "@storybook/react"; +import { Textarea } from "./Textarea"; + export default { title: "Atoms/Form/Textarea", component: Textarea, diff --git a/packages/ui/src/Atoms/Textarea/Textarea.tsx b/packages/ui/src/Atoms/Textarea/Textarea.tsx index 2ab3b61a8..44ea70fad 100644 --- a/packages/ui/src/Atoms/Textarea/Textarea.tsx +++ b/packages/ui/src/Atoms/Textarea/Textarea.tsx @@ -5,9 +5,10 @@ import { useLayoutEffect, useCallback, } from "react"; -import { input } from "../Input/Input"; import clsx from "clsx"; +import { input } from "../Input/Input"; + type Props = TextareaHTMLAttributes & { variant?: "bordered" | "ghost" | "title"; autogrow?: boolean; diff --git a/packages/ui/src/Atoms/Toasts/Toasts.stories.tsx b/packages/ui/src/Atoms/Toasts/Toasts.stories.tsx index f00479fe5..8df2f806a 100644 --- a/packages/ui/src/Atoms/Toasts/Toasts.stories.tsx +++ b/packages/ui/src/Atoms/Toasts/Toasts.stories.tsx @@ -1,7 +1,9 @@ -import { Button } from "../Button/Button"; -import { Toast, Toasts, useToast } from "./Toasts"; import type { Meta, StoryObj } from "@storybook/react"; +import { Button } from "../Button/Button"; + +import { Toast, Toasts, useToast } from "./Toasts"; + export default { title: "Atoms/Toasts", component: Toasts, diff --git a/packages/ui/src/Foundation.stories.tsx b/packages/ui/src/Foundation.stories.tsx index 693898f28..05b87e1f6 100644 --- a/packages/ui/src/Foundation.stories.tsx +++ b/packages/ui/src/Foundation.stories.tsx @@ -1,7 +1,8 @@ import type { Meta, StoryObj } from "@storybook/react"; -import * as icons from "./Atoms/Icons"; import { objectKeys } from "@probo/helpers"; +import * as icons from "./Atoms/Icons"; + const meta = { title: "Foundations", } satisfies Meta; diff --git a/packages/ui/src/Layouts/CenteredLayout.stories.tsx b/packages/ui/src/Layouts/CenteredLayout.stories.tsx index 045bb81d8..189abc5a9 100644 --- a/packages/ui/src/Layouts/CenteredLayout.stories.tsx +++ b/packages/ui/src/Layouts/CenteredLayout.stories.tsx @@ -1,6 +1,7 @@ -import { CenteredLayout } from "./CenteredLayout"; import type { Meta, StoryObj } from "@storybook/react"; +import { CenteredLayout } from "./CenteredLayout"; + export default { title: "Layouts/CenteredLayout", component: CenteredLayout, diff --git a/packages/ui/src/Layouts/CenteredLayout.tsx b/packages/ui/src/Layouts/CenteredLayout.tsx index c4be8cd40..9803f8bc5 100644 --- a/packages/ui/src/Layouts/CenteredLayout.tsx +++ b/packages/ui/src/Layouts/CenteredLayout.tsx @@ -1,5 +1,6 @@ import type { PropsWithChildren } from "react"; import { Outlet } from "react-router"; + import { Skeleton } from "../Atoms/Skeleton/Skeleton"; export function CenteredLayout({ children }: PropsWithChildren) { diff --git a/packages/ui/src/Layouts/ErrorLayout.stories.tsx b/packages/ui/src/Layouts/ErrorLayout.stories.tsx index a109b971a..e91a7adfc 100644 --- a/packages/ui/src/Layouts/ErrorLayout.stories.tsx +++ b/packages/ui/src/Layouts/ErrorLayout.stories.tsx @@ -1,6 +1,7 @@ -import { ErrorLayout } from "./ErrorLayout"; import type { Meta, StoryObj } from "@storybook/react"; +import { ErrorLayout } from "./ErrorLayout"; + export default { title: "Layouts/ErrorLayout", component: ErrorLayout, diff --git a/packages/ui/src/Layouts/ErrorLayout.tsx b/packages/ui/src/Layouts/ErrorLayout.tsx index ecdde2a8f..1c88e63d4 100644 --- a/packages/ui/src/Layouts/ErrorLayout.tsx +++ b/packages/ui/src/Layouts/ErrorLayout.tsx @@ -1,4 +1,5 @@ import type { PropsWithChildren } from "react"; + import { IconCircleInfo } from "../Atoms/Icons"; type Props = PropsWithChildren<{ diff --git a/packages/ui/src/Layouts/Layout.stories.tsx b/packages/ui/src/Layouts/Layout.stories.tsx index 30dd1c766..f2aee2093 100644 --- a/packages/ui/src/Layouts/Layout.stories.tsx +++ b/packages/ui/src/Layouts/Layout.stories.tsx @@ -1,6 +1,7 @@ -import { Layout, Drawer } from "./Layout"; import type { Meta, StoryObj } from "@storybook/react"; +import { Layout, Drawer } from "./Layout"; + const meta = { title: "Layouts/Base", component: Layout, diff --git a/packages/ui/src/Layouts/Layout.tsx b/packages/ui/src/Layouts/Layout.tsx index c17345727..dcc65d12e 100644 --- a/packages/ui/src/Layouts/Layout.tsx +++ b/packages/ui/src/Layouts/Layout.tsx @@ -7,13 +7,14 @@ import { type ReactNode, useMemo, } from "react"; +import { createPortal } from "react-dom"; +import clsx from "clsx"; +import { Link } from "react-router"; + import { Sidebar } from "../Atoms/Sidebar/Sidebar.tsx"; import { Logo } from "../Atoms/Logo/Logo.tsx"; import { Toasts } from "../Atoms/Toasts/Toasts.tsx"; -import { createPortal } from "react-dom"; -import clsx from "clsx"; import { ConfirmDialog } from "../Molecules/Dialog/ConfirmDialog.tsx"; -import { Link } from "react-router"; type Props = PropsWithChildren<{ headerLeading?: ReactNode; diff --git a/packages/ui/src/Molecules/Badge/DocumentClassificationBadge.tsx b/packages/ui/src/Molecules/Badge/DocumentClassificationBadge.tsx index d50fbc1a6..e4d1cb52a 100644 --- a/packages/ui/src/Molecules/Badge/DocumentClassificationBadge.tsx +++ b/packages/ui/src/Molecules/Badge/DocumentClassificationBadge.tsx @@ -1,7 +1,8 @@ -import { Badge } from "../../Atoms/Badge/Badge"; import { getDocumentClassificationLabel } from "@probo/helpers"; import { useTranslate } from "@probo/i18n"; +import { Badge } from "../../Atoms/Badge/Badge"; + type Props = { classification: string; }; diff --git a/packages/ui/src/Molecules/Badge/DocumentTypeBadge.stories.tsx b/packages/ui/src/Molecules/Badge/DocumentTypeBadge.stories.tsx index df2b2f562..1d5ff0347 100644 --- a/packages/ui/src/Molecules/Badge/DocumentTypeBadge.stories.tsx +++ b/packages/ui/src/Molecules/Badge/DocumentTypeBadge.stories.tsx @@ -1,6 +1,7 @@ -import { DocumentTypeBadge } from "./DocumentTypeBadge"; import type { Meta, StoryObj } from "@storybook/react"; +import { DocumentTypeBadge } from "./DocumentTypeBadge"; + export default { title: "Molecules/Badges/DocumentTypeBadge", component: DocumentTypeBadge, diff --git a/packages/ui/src/Molecules/Badge/DocumentTypeBadge.tsx b/packages/ui/src/Molecules/Badge/DocumentTypeBadge.tsx index 529d52a23..2afc0dc81 100644 --- a/packages/ui/src/Molecules/Badge/DocumentTypeBadge.tsx +++ b/packages/ui/src/Molecules/Badge/DocumentTypeBadge.tsx @@ -1,7 +1,8 @@ -import { Badge } from "../../Atoms/Badge/Badge"; import { getDocumentTypeLabel } from "@probo/helpers"; import { useTranslate } from "@probo/i18n"; +import { Badge } from "../../Atoms/Badge/Badge"; + type Props = { type: string; }; diff --git a/packages/ui/src/Molecules/Badge/DocumentVersionBadge.stories.tsx b/packages/ui/src/Molecules/Badge/DocumentVersionBadge.stories.tsx index b03edf568..02084d338 100644 --- a/packages/ui/src/Molecules/Badge/DocumentVersionBadge.stories.tsx +++ b/packages/ui/src/Molecules/Badge/DocumentVersionBadge.stories.tsx @@ -1,6 +1,7 @@ -import { DocumentVersionBadge } from "./DocumentVersionBadge"; import type { Meta, StoryObj } from "@storybook/react"; +import { DocumentVersionBadge } from "./DocumentVersionBadge"; + export default { title: "Molecules/Badges/DocumentVersionBadge", component: DocumentVersionBadge, diff --git a/packages/ui/src/Molecules/Badge/DocumentVersionBadge.tsx b/packages/ui/src/Molecules/Badge/DocumentVersionBadge.tsx index 1dcd18368..269aaf849 100644 --- a/packages/ui/src/Molecules/Badge/DocumentVersionBadge.tsx +++ b/packages/ui/src/Molecules/Badge/DocumentVersionBadge.tsx @@ -1,4 +1,5 @@ import { useTranslate } from "@probo/i18n"; + import { Badge } from "../../Atoms/Badge/Badge.tsx"; type Props = { diff --git a/packages/ui/src/Molecules/Badge/MeasureBadge.stories.tsx b/packages/ui/src/Molecules/Badge/MeasureBadge.stories.tsx index 0beb3e335..6a9bb7154 100644 --- a/packages/ui/src/Molecules/Badge/MeasureBadge.stories.tsx +++ b/packages/ui/src/Molecules/Badge/MeasureBadge.stories.tsx @@ -1,6 +1,7 @@ -import { MeasureBadge } from "./MeasureBadge"; import type { Meta, StoryObj } from "@storybook/react"; +import { MeasureBadge } from "./MeasureBadge"; + export default { title: "Molecules/Badges/MeasureBadge", component: MeasureBadge, diff --git a/packages/ui/src/Molecules/Badge/MeasureBadge.tsx b/packages/ui/src/Molecules/Badge/MeasureBadge.tsx index 5b426fb3b..537ade3df 100644 --- a/packages/ui/src/Molecules/Badge/MeasureBadge.tsx +++ b/packages/ui/src/Molecules/Badge/MeasureBadge.tsx @@ -1,9 +1,10 @@ import { getMeasureStateLabel } from "@probo/helpers"; -import { Badge } from "../../Atoms/Badge/Badge"; import { useTranslate } from "@probo/i18n"; import type { ComponentProps } from "react"; import type { measureStates } from "@probo/helpers"; +import { Badge } from "../../Atoms/Badge/Badge"; + type Props = { state: (typeof measureStates)[number]; }; diff --git a/packages/ui/src/Molecules/Badge/RiskBadge.stories.tsx b/packages/ui/src/Molecules/Badge/RiskBadge.stories.tsx index 8af15fb94..e2a71c3dd 100644 --- a/packages/ui/src/Molecules/Badge/RiskBadge.stories.tsx +++ b/packages/ui/src/Molecules/Badge/RiskBadge.stories.tsx @@ -1,6 +1,7 @@ -import { RiskBadge } from "./RiskBadge"; import type { Meta, StoryObj } from "@storybook/react"; +import { RiskBadge } from "./RiskBadge"; + export default { title: "Molecules/Badges/RiskBadge", component: RiskBadge, diff --git a/packages/ui/src/Molecules/Badge/RiskBadge.tsx b/packages/ui/src/Molecules/Badge/RiskBadge.tsx index 1f4ae8d6d..c80fe8d57 100644 --- a/packages/ui/src/Molecules/Badge/RiskBadge.tsx +++ b/packages/ui/src/Molecules/Badge/RiskBadge.tsx @@ -1,4 +1,5 @@ import { useTranslate } from "@probo/i18n"; + import { Badge } from "../../Atoms/Badge/Badge"; type Props = { diff --git a/packages/ui/src/Molecules/Badge/SeverityBadge.stories.tsx b/packages/ui/src/Molecules/Badge/SeverityBadge.stories.tsx index 2294a0abf..d22b32565 100644 --- a/packages/ui/src/Molecules/Badge/SeverityBadge.stories.tsx +++ b/packages/ui/src/Molecules/Badge/SeverityBadge.stories.tsx @@ -1,6 +1,7 @@ -import { SeverityBadge } from "./SeverityBadge.tsx"; import type { Meta, StoryObj } from "@storybook/react"; +import { SeverityBadge } from "./SeverityBadge.tsx"; + export default { title: "Molecules/Badges/SeverityBadge", component: SeverityBadge, diff --git a/packages/ui/src/Molecules/Badge/SeverityBadge.tsx b/packages/ui/src/Molecules/Badge/SeverityBadge.tsx index 5bc858083..5e2227704 100644 --- a/packages/ui/src/Molecules/Badge/SeverityBadge.tsx +++ b/packages/ui/src/Molecules/Badge/SeverityBadge.tsx @@ -1,4 +1,5 @@ import { useTranslate } from "@probo/i18n"; + import { Badge } from "../../Atoms/Badge/Badge.tsx"; type Props = { diff --git a/packages/ui/src/Molecules/Combobox/Combobox.stories.tsx b/packages/ui/src/Molecules/Combobox/Combobox.stories.tsx index 05687cf31..fe6a93093 100644 --- a/packages/ui/src/Molecules/Combobox/Combobox.stories.tsx +++ b/packages/ui/src/Molecules/Combobox/Combobox.stories.tsx @@ -1,8 +1,9 @@ import { useState } from "react"; -import { Combobox, ComboboxItem } from "./Combobox"; import type { Meta, StoryObj } from "@storybook/react"; import { times } from "@probo/helpers"; +import { Combobox, ComboboxItem } from "./Combobox"; + export default { title: "Atoms/Combobox", component: Combobox, diff --git a/packages/ui/src/Molecules/Combobox/Combobox.tsx b/packages/ui/src/Molecules/Combobox/Combobox.tsx index c3b905b90..71d3d8f62 100644 --- a/packages/ui/src/Molecules/Combobox/Combobox.tsx +++ b/packages/ui/src/Molecules/Combobox/Combobox.tsx @@ -9,9 +9,10 @@ import { type PropsWithChildren, type ReactNode, } from "react"; +import { isEmpty } from "@probo/helpers"; + import { input } from "../../Atoms/Input/Input"; import { dropdown, dropdownItem } from "../../Atoms/Dropdown/Dropdown"; -import { isEmpty } from "@probo/helpers"; type Props = { children: ReactNode; diff --git a/packages/ui/src/Molecules/Dialog/ConfirmDialog.tsx b/packages/ui/src/Molecules/Dialog/ConfirmDialog.tsx index f6fd51a8d..7bd194611 100644 --- a/packages/ui/src/Molecules/Dialog/ConfirmDialog.tsx +++ b/packages/ui/src/Molecules/Dialog/ConfirmDialog.tsx @@ -8,12 +8,14 @@ import { Cancel, } from "@radix-ui/react-alert-dialog"; import { useCallback, useState, useMemo, type ComponentProps } from "react"; -import { Button } from "../../Atoms/Button/Button"; import { Root as Portal } from "@radix-ui/react-portal"; -import { dialog } from "./Dialog"; import { create } from "zustand"; import { combine } from "zustand/middleware"; +import { Button } from "../../Atoms/Button/Button"; + +import { dialog } from "./Dialog"; + type State = { title?: string; message: string | null; diff --git a/packages/ui/src/Molecules/Dialog/Dialog.stories.tsx b/packages/ui/src/Molecules/Dialog/Dialog.stories.tsx index 9931ec405..d03bdcf0b 100644 --- a/packages/ui/src/Molecules/Dialog/Dialog.stories.tsx +++ b/packages/ui/src/Molecules/Dialog/Dialog.stories.tsx @@ -1,7 +1,9 @@ -import { Button } from "../../Atoms/Button/Button"; -import { Dialog, DialogContent, DialogFooter } from "./Dialog"; import type { Meta, StoryObj } from "@storybook/react"; +import { Button } from "../../Atoms/Button/Button"; + +import { Dialog, DialogContent, DialogFooter } from "./Dialog"; + export default { title: "Atoms/Dialog", component: Dialog, diff --git a/packages/ui/src/Molecules/Dialog/Dialog.tsx b/packages/ui/src/Molecules/Dialog/Dialog.tsx index c5176d39e..0d6b26ae5 100644 --- a/packages/ui/src/Molecules/Dialog/Dialog.tsx +++ b/packages/ui/src/Molecules/Dialog/Dialog.tsx @@ -7,7 +7,6 @@ import { Title, Close, } from "@radix-ui/react-dialog"; -import { IconCrossLargeX } from "../../Atoms/Icons"; import { Children, cloneElement, @@ -21,11 +20,13 @@ import { type ReactNode, type RefObject, } from "react"; -import { Button } from "../../Atoms/Button/Button"; import { useTranslate } from "@probo/i18n"; import clsx from "clsx"; import { tv } from "tailwind-variants"; +import { Button } from "../../Atoms/Button/Button"; +import { IconCrossLargeX } from "../../Atoms/Icons"; + export const dialog = tv({ slots: { overlay: diff --git a/packages/ui/src/Molecules/DurationPicker/DurationPicker.stories.tsx b/packages/ui/src/Molecules/DurationPicker/DurationPicker.stories.tsx index 05e9a1292..48ba86adb 100644 --- a/packages/ui/src/Molecules/DurationPicker/DurationPicker.stories.tsx +++ b/packages/ui/src/Molecules/DurationPicker/DurationPicker.stories.tsx @@ -1,7 +1,8 @@ import { useState } from "react"; -import { DurationPicker } from "./DurationPicker"; import type { Meta, StoryObj } from "@storybook/react"; +import { DurationPicker } from "./DurationPicker"; + export default { title: "Molecules/DurationPicker", component: DurationPicker, diff --git a/packages/ui/src/Molecules/DurationPicker/DurationPicker.tsx b/packages/ui/src/Molecules/DurationPicker/DurationPicker.tsx index 9bb45ccfc..d3d4c9c57 100644 --- a/packages/ui/src/Molecules/DurationPicker/DurationPicker.tsx +++ b/packages/ui/src/Molecules/DurationPicker/DurationPicker.tsx @@ -1,9 +1,10 @@ import type { HTMLAttributes } from "react"; +import { useTranslate } from "@probo/i18n"; + import { Button } from "../../Atoms/Button/Button"; import { IconPlusLarge } from "../../Atoms/Icons"; import { Input } from "../../Atoms/Input/Input"; import { Option, Select } from "../../Atoms/Select/Select"; -import { useTranslate } from "@probo/i18n"; type Props = { value: string | null; diff --git a/packages/ui/src/Molecules/Field/Field.stories.tsx b/packages/ui/src/Molecules/Field/Field.stories.tsx index 20a07d183..e3e2327c6 100644 --- a/packages/ui/src/Molecules/Field/Field.stories.tsx +++ b/packages/ui/src/Molecules/Field/Field.stories.tsx @@ -1,6 +1,7 @@ -import { Field } from "./Field.tsx"; import type { Meta, StoryObj } from "@storybook/react"; +import { Field } from "./Field.tsx"; + export default { title: "Molecules/Field", component: Field, diff --git a/packages/ui/src/Molecules/Field/Field.tsx b/packages/ui/src/Molecules/Field/Field.tsx index 21ef65ea6..330e6b1ac 100644 --- a/packages/ui/src/Molecules/Field/Field.tsx +++ b/packages/ui/src/Molecules/Field/Field.tsx @@ -1,8 +1,9 @@ import { tv } from "tailwind-variants"; +import { type ComponentProps, type ReactNode } from "react"; + import { Label } from "../../Atoms/Label/Label"; import { Input } from "../../Atoms/Input/Input"; import { Textarea } from "../../Atoms/Textarea/Textarea"; -import { type ComponentProps, type ReactNode } from "react"; import { Select } from "../../Atoms/Select/Select"; type BaseProps = { diff --git a/packages/ui/src/Molecules/FileButton/FileButton.stories.tsx b/packages/ui/src/Molecules/FileButton/FileButton.stories.tsx index 8238e3fe8..9e0faf7f1 100644 --- a/packages/ui/src/Molecules/FileButton/FileButton.stories.tsx +++ b/packages/ui/src/Molecules/FileButton/FileButton.stories.tsx @@ -1,6 +1,7 @@ -import { FileButton } from "./FileButton"; import type { Meta, StoryObj } from "@storybook/react"; +import { FileButton } from "./FileButton"; + export default { title: "Molecules/FileButton", component: FileButton, diff --git a/packages/ui/src/Molecules/FileButton/FileButton.tsx b/packages/ui/src/Molecules/FileButton/FileButton.tsx index 309f1ccac..9930ab52e 100644 --- a/packages/ui/src/Molecules/FileButton/FileButton.tsx +++ b/packages/ui/src/Molecules/FileButton/FileButton.tsx @@ -4,6 +4,7 @@ import type { PropsWithChildren, RefObject, } from "react"; + import { button, Button } from "../../Atoms/Button/Button.tsx"; type Props = PropsWithChildren<{ diff --git a/packages/ui/src/Molecules/FrameworkSelector/FrameworkSelector.stories.tsx b/packages/ui/src/Molecules/FrameworkSelector/FrameworkSelector.stories.tsx index e082bfeb3..7d89f9e37 100644 --- a/packages/ui/src/Molecules/FrameworkSelector/FrameworkSelector.stories.tsx +++ b/packages/ui/src/Molecules/FrameworkSelector/FrameworkSelector.stories.tsx @@ -1,6 +1,7 @@ -import { FrameworkSelector } from "./FrameworkSelector"; import type { Meta, StoryObj } from "@storybook/react"; +import { FrameworkSelector } from "./FrameworkSelector"; + export default { title: "Molecules/FrameworkSelector", component: FrameworkSelector, diff --git a/packages/ui/src/Molecules/FrameworkSelector/FrameworkSelector.tsx b/packages/ui/src/Molecules/FrameworkSelector/FrameworkSelector.tsx index 178a4c1ef..9e1dd73fd 100644 --- a/packages/ui/src/Molecules/FrameworkSelector/FrameworkSelector.tsx +++ b/packages/ui/src/Molecules/FrameworkSelector/FrameworkSelector.tsx @@ -1,7 +1,8 @@ +import { useTranslate } from "@probo/i18n"; + import { Dropdown, DropdownItem } from "../../Atoms/Dropdown/Dropdown"; import { IconChevronDown, IconPlusLarge } from "../../Atoms/Icons"; import { Button } from "../../Atoms/Button/Button"; -import { useTranslate } from "@probo/i18n"; import { ISO27001 } from "../../Atoms/Frameworks/ISO27001"; import { SOC2 } from "../../Atoms/Frameworks/SOC2"; import { HIPAA } from "../../Atoms/Frameworks/HIPAA"; diff --git a/packages/ui/src/Molecules/MeasureImplementation/MeasureImplementation.stories.tsx b/packages/ui/src/Molecules/MeasureImplementation/MeasureImplementation.stories.tsx index b4ed1fccb..3b47745a5 100644 --- a/packages/ui/src/Molecules/MeasureImplementation/MeasureImplementation.stories.tsx +++ b/packages/ui/src/Molecules/MeasureImplementation/MeasureImplementation.stories.tsx @@ -1,7 +1,8 @@ -import { MeasureImplementation } from "./MeasureImplementation"; import type { Meta, StoryObj } from "@storybook/react"; import { times } from "@probo/helpers"; +import { MeasureImplementation } from "./MeasureImplementation"; + export default { title: "Molecules/MeasureImplementation", component: MeasureImplementation, diff --git a/packages/ui/src/Molecules/MeasureImplementation/MeasureImplementation.tsx b/packages/ui/src/Molecules/MeasureImplementation/MeasureImplementation.tsx index 75287377e..8ec9fe7c1 100644 --- a/packages/ui/src/Molecules/MeasureImplementation/MeasureImplementation.tsx +++ b/packages/ui/src/Molecules/MeasureImplementation/MeasureImplementation.tsx @@ -1,9 +1,10 @@ import type { ComponentProps } from "react"; -import type { MeasureBadge } from "../Badge/MeasureBadge.tsx"; import { useTranslate } from "@probo/i18n"; import { getMeasureStateLabel, measureStates } from "@probo/helpers"; import clsx from "clsx"; +import type { MeasureBadge } from "../Badge/MeasureBadge.tsx"; + type MeasureState = ComponentProps["state"]; type Props = { diff --git a/packages/ui/src/Molecules/PageHeader/PageHeader.stories.tsx b/packages/ui/src/Molecules/PageHeader/PageHeader.stories.tsx index 2340c37bb..96e6029e8 100644 --- a/packages/ui/src/Molecules/PageHeader/PageHeader.stories.tsx +++ b/packages/ui/src/Molecules/PageHeader/PageHeader.stories.tsx @@ -1,7 +1,9 @@ -import { Button } from "../../Atoms/Button/Button.tsx"; -import { PageHeader } from "./PageHeader"; import type { Meta, StoryObj } from "@storybook/react"; +import { Button } from "../../Atoms/Button/Button.tsx"; + +import { PageHeader } from "./PageHeader"; + export default { title: "Molecules/PageHeader", component: PageHeader, diff --git a/packages/ui/src/Molecules/Risks/RiskOverview.stories.tsx b/packages/ui/src/Molecules/Risks/RiskOverview.stories.tsx index a8aa0fd04..71ea49465 100644 --- a/packages/ui/src/Molecules/Risks/RiskOverview.stories.tsx +++ b/packages/ui/src/Molecules/Risks/RiskOverview.stories.tsx @@ -1,6 +1,7 @@ -import { RiskOverview } from "./RiskOverview"; import type { Meta, StoryObj } from "@storybook/react"; +import { RiskOverview } from "./RiskOverview"; + export default { title: "Molecules/Risks/RiskOverview", component: RiskOverview, diff --git a/packages/ui/src/Molecules/Risks/RiskOverview.tsx b/packages/ui/src/Molecules/Risks/RiskOverview.tsx index 44860e018..288188bf2 100644 --- a/packages/ui/src/Molecules/Risks/RiskOverview.tsx +++ b/packages/ui/src/Molecules/Risks/RiskOverview.tsx @@ -1,6 +1,4 @@ import { useTranslate } from "@probo/i18n"; -import { Card } from "../../Atoms/Card/Card"; -import { levelColors } from "./constants"; import { getRiskImpacts, getRiskLikelihoods, @@ -8,6 +6,10 @@ import { } from "@probo/helpers"; import clsx from "clsx"; +import { Card } from "../../Atoms/Card/Card"; + +import { levelColors } from "./constants"; + type Props = { type: "inherent" | "residual"; risk?: Risk; diff --git a/packages/ui/src/Molecules/Risks/RisksChart.stories.tsx b/packages/ui/src/Molecules/Risks/RisksChart.stories.tsx index 7e7b90ecc..bc27d8174 100644 --- a/packages/ui/src/Molecules/Risks/RisksChart.stories.tsx +++ b/packages/ui/src/Molecules/Risks/RisksChart.stories.tsx @@ -1,7 +1,8 @@ import { randomInt, times } from "@probo/helpers"; -import { RisksChart } from "./RisksChart"; import type { Meta, StoryObj } from "@storybook/react"; +import { RisksChart } from "./RisksChart"; + export default { title: "Molecules/Risks/RisksChart", component: RisksChart, diff --git a/packages/ui/src/Molecules/Risks/RisksChart.tsx b/packages/ui/src/Molecules/Risks/RisksChart.tsx index e9f001226..bee04537b 100644 --- a/packages/ui/src/Molecules/Risks/RisksChart.tsx +++ b/packages/ui/src/Molecules/Risks/RisksChart.tsx @@ -1,15 +1,17 @@ import clsx from "clsx"; -import { Card } from "../../Atoms/Card/Card"; import { useTranslate } from "@probo/i18n"; import { getRiskImpacts, getRiskLikelihoods, groupBy } from "@probo/helpers"; import { Fragment, useMemo } from "react"; +import { Link } from "react-router"; + import { Dropdown, DropdownItem, DropdownSeparator, } from "../../Atoms/Dropdown/Dropdown"; import { IconChevronRight, IconFire3 } from "../../Atoms/Icons"; -import { Link } from "react-router"; +import { Card } from "../../Atoms/Card/Card"; + import { levelColors } from "./constants"; type Props = { diff --git a/packages/ui/src/Molecules/Select/ImpactOptions.stories.tsx b/packages/ui/src/Molecules/Select/ImpactOptions.stories.tsx index 934e89c33..8be4d4f0a 100644 --- a/packages/ui/src/Molecules/Select/ImpactOptions.stories.tsx +++ b/packages/ui/src/Molecules/Select/ImpactOptions.stories.tsx @@ -1,7 +1,9 @@ -import { ImpactOptions } from "./ImpactOptions.tsx"; import type { Meta, StoryObj } from "@storybook/react"; + import { Select } from "../../Atoms/Select/Select.tsx"; +import { ImpactOptions } from "./ImpactOptions.tsx"; + export default { title: "Molecules/Select/ImpactSelect", component: ImpactOptions, diff --git a/packages/ui/src/Molecules/Select/ImpactOptions.tsx b/packages/ui/src/Molecules/Select/ImpactOptions.tsx index a341c6eb9..05eea4341 100644 --- a/packages/ui/src/Molecules/Select/ImpactOptions.tsx +++ b/packages/ui/src/Molecules/Select/ImpactOptions.tsx @@ -1,6 +1,7 @@ -import { Option } from "../../Atoms/Select/Select"; import { useTranslate } from "@probo/i18n"; +import { Option } from "../../Atoms/Select/Select"; + export function ImpactOptions() { const { __ } = useTranslate(); diff --git a/packages/ui/src/Molecules/Select/SentitivityOptions.stories.tsx b/packages/ui/src/Molecules/Select/SentitivityOptions.stories.tsx index ac3f6ce94..13d900f56 100644 --- a/packages/ui/src/Molecules/Select/SentitivityOptions.stories.tsx +++ b/packages/ui/src/Molecules/Select/SentitivityOptions.stories.tsx @@ -1,7 +1,9 @@ -import { SentitivityOptions } from "./SentitivityOptions.tsx"; import type { Meta, StoryObj } from "@storybook/react"; + import { Select } from "../../Atoms/Select/Select.tsx"; +import { SentitivityOptions } from "./SentitivityOptions.tsx"; + export default { title: "Molecules/Select/SentitivitySelect", component: SentitivityOptions, diff --git a/packages/ui/src/Molecules/Select/SentitivityOptions.tsx b/packages/ui/src/Molecules/Select/SentitivityOptions.tsx index ba2b893e1..7da63127a 100644 --- a/packages/ui/src/Molecules/Select/SentitivityOptions.tsx +++ b/packages/ui/src/Molecules/Select/SentitivityOptions.tsx @@ -1,6 +1,7 @@ -import { Option } from "../../Atoms/Select/Select"; import { useTranslate } from "@probo/i18n"; +import { Option } from "../../Atoms/Select/Select"; + export function SentitivityOptions() { const { __ } = useTranslate(); diff --git a/packages/ui/src/Molecules/Table/DataTable.stories.tsx b/packages/ui/src/Molecules/Table/DataTable.stories.tsx index ce403e092..c7db70151 100644 --- a/packages/ui/src/Molecules/Table/DataTable.stories.tsx +++ b/packages/ui/src/Molecules/Table/DataTable.stories.tsx @@ -1,11 +1,13 @@ import type { Meta, StoryObj } from "@storybook/react"; import { type FC, Fragment, useState } from "react"; +import { fn } from "@storybook/test"; + import { CellHead, DataTable, Row } from "../../Atoms/DataTable/DataTable.tsx"; +import { Badge } from "../../Atoms/Badge/Badge.tsx"; + import { EditableRow } from "./EditableRow.tsx"; import { TextCell } from "./TextCell.tsx"; -import { fn } from "@storybook/test"; import { SelectCell } from "./SelectCell.tsx"; -import { Badge } from "../../Atoms/Badge/Badge.tsx"; type Component = FC<{ onUpdate: (key: string, value: unknown) => void }>; diff --git a/packages/ui/src/Molecules/Table/EditableCell.tsx b/packages/ui/src/Molecules/Table/EditableCell.tsx index f64ace351..bbcbba0b4 100644 --- a/packages/ui/src/Molecules/Table/EditableCell.tsx +++ b/packages/ui/src/Molecules/Table/EditableCell.tsx @@ -7,8 +7,10 @@ import { useRef, useState, } from "react"; -import { Cell } from "../../Atoms/DataTable/DataTable.tsx"; import { focusSiblingElement } from "@probo/helpers"; + +import { Cell } from "../../Atoms/DataTable/DataTable.tsx"; + import { useEditableRowContext } from "./EditableRow.tsx"; export function useEditableCellRef() { diff --git a/packages/ui/src/Molecules/Table/EditableRow.tsx b/packages/ui/src/Molecules/Table/EditableRow.tsx index 2863b66c1..a9eaebfc6 100644 --- a/packages/ui/src/Molecules/Table/EditableRow.tsx +++ b/packages/ui/src/Molecules/Table/EditableRow.tsx @@ -5,6 +5,7 @@ import { useMemo, useRef, } from "react"; + import { Row } from "../../Atoms/DataTable/DataTable.tsx"; type Props = { diff --git a/packages/ui/src/Molecules/Table/SelectCell.tsx b/packages/ui/src/Molecules/Table/SelectCell.tsx index 50058ddc5..d7d209137 100644 --- a/packages/ui/src/Molecules/Table/SelectCell.tsx +++ b/packages/ui/src/Molecules/Table/SelectCell.tsx @@ -1,13 +1,15 @@ -import { EditableCell, useEditableCellRef } from "./EditableCell.tsx"; import { Command } from "cmdk"; import { Fragment, type ReactNode } from "react"; -import { getKey } from "./utils.ts"; import { useTranslate } from "@probo/i18n"; -import { useEditableRowContext } from "./EditableRow.tsx"; import { useStateWithRef } from "@probo/hooks"; import { tv } from "tailwind-variants"; + import { Badge } from "../../Atoms/Badge/Badge.tsx"; +import { useEditableRowContext } from "./EditableRow.tsx"; +import { getKey } from "./utils.ts"; +import { EditableCell, useEditableCellRef } from "./EditableCell.tsx"; + type Props = { name: string; items: T[]; diff --git a/packages/ui/src/Molecules/Table/TextCell.tsx b/packages/ui/src/Molecules/Table/TextCell.tsx index 8e2d69fda..243dace9f 100644 --- a/packages/ui/src/Molecules/Table/TextCell.tsx +++ b/packages/ui/src/Molecules/Table/TextCell.tsx @@ -1,5 +1,6 @@ -import { EditableCell, useEditableCellRef } from "./EditableCell.tsx"; import { type KeyboardEventHandler, useRef, useState } from "react"; + +import { EditableCell, useEditableCellRef } from "./EditableCell.tsx"; import { useEditableRowContext } from "./EditableRow.tsx"; type Props = { diff --git a/packages/ui/src/Molecules/UserDropdown/UserDropdown.stories.tsx b/packages/ui/src/Molecules/UserDropdown/UserDropdown.stories.tsx index 681d172fd..769b415c0 100644 --- a/packages/ui/src/Molecules/UserDropdown/UserDropdown.stories.tsx +++ b/packages/ui/src/Molecules/UserDropdown/UserDropdown.stories.tsx @@ -1,11 +1,13 @@ +import type { Meta, StoryObj } from "@storybook/react"; + import { DropdownSeparator } from "../../Atoms/Dropdown/Dropdown"; import { IconArrowBoxLeft, IconCircleQuestionmark, IconSettingsGear2, } from "../../Atoms/Icons"; + import { UserDropdown, UserDropdownItem } from "./UserDropdown"; -import type { Meta, StoryObj } from "@storybook/react"; export default { title: "Molecules/UserDropdown", diff --git a/packages/ui/src/Molecules/UserDropdown/UserDropdown.tsx b/packages/ui/src/Molecules/UserDropdown/UserDropdown.tsx index 3048753ba..cffb728cd 100644 --- a/packages/ui/src/Molecules/UserDropdown/UserDropdown.tsx +++ b/packages/ui/src/Molecules/UserDropdown/UserDropdown.tsx @@ -1,3 +1,6 @@ +import type { FC, PropsWithChildren } from "react"; +import { Link } from "react-router"; + import { Avatar } from "../../Atoms/Avatar/Avatar"; import { Button } from "../../Atoms/Button/Button"; import { @@ -6,9 +9,7 @@ import { DropdownSeparator, } from "../../Atoms/Dropdown/Dropdown"; import { IconChevronDown } from "../../Atoms/Icons"; -import type { FC, PropsWithChildren } from "react"; import type { IconProps } from "../../Atoms/Icons/type"; -import { Link } from "react-router"; type Props = PropsWithChildren<{ fullName: string; email: string }>;