Add import order sorting rules

Signed-off-by: Émile Ré <emile@getprobo.com>
This commit is contained in:
Émile Ré
2026-01-22 20:38:37 +04:00
parent 56d17c4f3f
commit c168be6de0
352 changed files with 2119 additions and 2111 deletions

View File

@@ -1,5 +1,5 @@
import { defineConfig } from "eslint/config";
import { configs } from "@probo/eslint-config"; import { configs } from "@probo/eslint-config";
import { defineConfig } from "eslint/config";
export default defineConfig([ export default defineConfig([
...configs.base, ...configs.base,

View File

@@ -1,5 +1,5 @@
import { ConfirmDialog, Toasts } from "@probo/ui";
import { RouterProvider } from "react-router"; import { RouterProvider } from "react-router";
import { Toasts, ConfirmDialog } from "@probo/ui";
import { router } from "./routes"; import { router } from "./routes";

View File

@@ -1,8 +1,8 @@
import { useLocation, useRouteError } from "react-router";
import { IconPageCross } from "@probo/ui";
import { useTranslate } from "@probo/i18n"; import { useTranslate } from "@probo/i18n";
import { useEffect, useRef } from "react";
import { AuthenticationRequiredError } from "@probo/relay"; import { AuthenticationRequiredError } from "@probo/relay";
import { IconPageCross } from "@probo/ui";
import { useEffect, useRef } from "react";
import { useLocation, useRouteError } from "react-router";
const classNames = { const classNames = {
wrapper: "py-10 text-center space-y-2 ", wrapper: "py-10 text-center space-y-2 ",

View File

@@ -1,13 +1,13 @@
import { IconClock } from "@probo/ui";
import { useTranslate } from "@probo/i18n";
import { useLazyLoadQuery, graphql } from "react-relay";
import { useLocation } from "react-router";
import { import {
getSnapshotTypeUrlPath,
getSnapshotTypeLabel,
sprintf,
formatDate, formatDate,
getSnapshotTypeLabel,
getSnapshotTypeUrlPath,
sprintf,
} from "@probo/helpers"; } from "@probo/helpers";
import { useTranslate } from "@probo/i18n";
import { IconClock } from "@probo/ui";
import { graphql, useLazyLoadQuery } from "react-relay";
import { useLocation } from "react-router";
import type { SnapshotBannerQuery } from "/__generated__/core/SnapshotBannerQuery.graphql"; import type { SnapshotBannerQuery } from "/__generated__/core/SnapshotBannerQuery.graphql";

View File

@@ -9,11 +9,11 @@ import {
} from "@probo/ui"; } from "@probo/ui";
import { clsx } from "clsx"; import { clsx } from "clsx";
import { import {
type ComponentProps,
createContext, createContext,
startTransition, startTransition,
useContext, useContext,
useState, useState,
type ComponentProps,
} from "react"; } from "react";
import type { LoadMoreFn } from "react-relay"; import type { LoadMoreFn } from "react-relay";
import type { OperationType } from "relay-runtime"; import type { OperationType } from "relay-runtime";

View File

@@ -17,19 +17,19 @@ import {
import { useMutation } from "react-relay"; import { useMutation } from "react-relay";
import type { usePaginationFragmentHookType } from "react-relay/relay-hooks/usePaginationFragment"; import type { usePaginationFragmentHookType } from "react-relay/relay-hooks/usePaginationFragment";
import { Link } from "react-router"; import { Link } from "react-router";
import { z } from "zod";
import type { OperationType } from "relay-runtime"; import type { OperationType } from "relay-runtime";
import { z } from "zod";
import {
createAssetMutation,
deleteAssetMutation,
updateAssetMutation,
} from "/hooks/graph/AssetGraph";
import type { AssetGraphDeleteMutation } from "/__generated__/core/AssetGraphDeleteMutation.graphql"; import type { AssetGraphDeleteMutation } from "/__generated__/core/AssetGraphDeleteMutation.graphql";
import type { import type {
AssetsPageFragment$data, AssetsPageFragment$data,
AssetsPageFragment$key, AssetsPageFragment$key,
} from "/__generated__/core/AssetsPageFragment.graphql"; } from "/__generated__/core/AssetsPageFragment.graphql";
import {
createAssetMutation,
deleteAssetMutation,
updateAssetMutation,
} from "/hooks/graph/AssetGraph";
import { useOrganizationId } from "/hooks/useOrganizationId"; import { useOrganizationId } from "/hooks/useOrganizationId";
import { EditableTable } from "../table/EditableTable"; import { EditableTable } from "../table/EditableTable";

View File

@@ -1,16 +1,16 @@
import { Avatar, Badge, Tbody, Td, Th, Thead, Tr } from "@probo/ui";
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 { faviconUrl, getAssetTypeVariant } from "@probo/helpers";
import { useTranslate } from "@probo/i18n";
import { Avatar, Badge, Tbody, Td, Th, Thead, Tr } from "@probo/ui";
import type { usePaginationFragmentHookType } from "react-relay/relay-hooks/usePaginationFragment";
import { useParams } from "react-router";
import type { OperationType } from "relay-runtime";
import type { import type {
AssetsPageFragment$data, AssetsPageFragment$data,
AssetsPageFragment$key, AssetsPageFragment$key,
} from "/__generated__/core/AssetsPageFragment.graphql"; } from "/__generated__/core/AssetsPageFragment.graphql";
import type { NodeOf } from "/types";
import { useOrganizationId } from "/hooks/useOrganizationId"; import { useOrganizationId } from "/hooks/useOrganizationId";
import type { NodeOf } from "/types";
import { SortableTable } from "../SortableTable"; import { SortableTable } from "../SortableTable";

View File

@@ -1,27 +1,27 @@
import { graphql } from "relay-runtime"; import { getAuditStateVariant, sprintf } from "@probo/helpers";
import { useTranslate } from "@probo/i18n";
import { import {
Card,
IconPlusLarge,
Button,
Tr,
Td,
Table,
Thead,
Tbody,
Th,
IconChevronDown,
IconTrashCan,
Badge, Badge,
Button,
Card,
IconChevronDown,
IconPlusLarge,
IconTrashCan,
Table,
Tbody,
Td,
Th,
Thead,
Tr,
TrButton, TrButton,
} from "@probo/ui"; } from "@probo/ui";
import { useTranslate } from "@probo/i18n";
import { useFragment } from "react-relay";
import { useMemo, useState } from "react";
import { sprintf, getAuditStateVariant } from "@probo/helpers";
import { clsx } from "clsx"; import { clsx } from "clsx";
import { useMemo, useState } from "react";
import { useFragment } from "react-relay";
import { graphql } from "relay-runtime";
import { useOrganizationId } from "/hooks/useOrganizationId";
import type { LinkedAuditsCardFragment$key } from "/__generated__/core/LinkedAuditsCardFragment.graphql"; import type { LinkedAuditsCardFragment$key } from "/__generated__/core/LinkedAuditsCardFragment.graphql";
import { useOrganizationId } from "/hooks/useOrganizationId";
import { LinkedAuditsDialog } from "./LinkedAuditsDialog"; import { LinkedAuditsDialog } from "./LinkedAuditsDialog";

View File

@@ -1,9 +1,11 @@
import { getAuditStateVariant } from "@probo/helpers";
import { useTranslate } from "@probo/i18n";
import { import {
Badge,
Button, Button,
Dialog, Dialog,
DialogContent, DialogContent,
DialogFooter, DialogFooter,
Badge,
IconMagnifyingGlass, IconMagnifyingGlass,
IconPlusLarge, IconPlusLarge,
IconTrashCan, IconTrashCan,
@@ -11,19 +13,17 @@ import {
Input, Input,
Spinner, Spinner,
} from "@probo/ui"; } from "@probo/ui";
import { useTranslate } from "@probo/i18n"; import { type ReactNode, Suspense, useMemo, useState } from "react";
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 { useLazyLoadQuery, usePaginationFragment } from "react-relay";
import { graphql } from "relay-runtime";
import type { LinkedAuditsDialogQuery } from "/__generated__/core/LinkedAuditsDialogQuery.graphql";
import { useOrganizationId } from "/hooks/useOrganizationId";
import type { NodeOf } from "/types";
import type { import type {
LinkedAuditsDialogFragment$data, LinkedAuditsDialogFragment$data,
LinkedAuditsDialogFragment$key, LinkedAuditsDialogFragment$key,
} from "/__generated__/core/LinkedAuditsDialogFragment.graphql"; } from "/__generated__/core/LinkedAuditsDialogFragment.graphql";
import type { LinkedAuditsDialogQuery } from "/__generated__/core/LinkedAuditsDialogQuery.graphql";
import { useOrganizationId } from "/hooks/useOrganizationId";
import type { NodeOf } from "/types";
const auditsQuery = graphql` const auditsQuery = graphql`
query LinkedAuditsDialogQuery($organizationId: ID!) { query LinkedAuditsDialogQuery($organizationId: ID!) {

View File

@@ -1,18 +1,18 @@
import { graphql } from "relay-runtime"; import { useTranslate } from "@probo/i18n";
import { import {
Button,
Tr,
Td,
Thead,
Tbody,
Th,
IconTrashCan,
Badge, Badge,
Button,
IconTrashCan,
Tbody,
Td,
Th,
Thead,
Tr,
TrButton, TrButton,
} from "@probo/ui"; } from "@probo/ui";
import { useTranslate } from "@probo/i18n";
import { useFragment } from "react-relay";
import type { ComponentProps } from "react"; import type { ComponentProps } from "react";
import { useFragment } from "react-relay";
import { graphql } from "relay-runtime";
import type { LinkedControlsCardFragment$key } from "/__generated__/core/LinkedControlsCardFragment.graphql"; import type { LinkedControlsCardFragment$key } from "/__generated__/core/LinkedControlsCardFragment.graphql";
import { useOrganizationId } from "/hooks/useOrganizationId"; import { useOrganizationId } from "/hooks/useOrganizationId";

View File

@@ -1,3 +1,4 @@
import { useTranslate } from "@probo/i18n";
import { import {
Badge, Badge,
Button, Button,
@@ -11,25 +12,24 @@ import {
Spinner, Spinner,
} from "@probo/ui"; } from "@probo/ui";
import { import {
type ReactNode,
type RefObject,
Suspense, Suspense,
useEffect, useEffect,
useMemo, useMemo,
useRef, useRef,
useState, useState,
type ReactNode,
type RefObject,
} from "react"; } from "react";
import { useTranslate } from "@probo/i18n";
import { graphql } from "relay-runtime";
import { useLazyLoadQuery, usePaginationFragment } from "react-relay"; import { useLazyLoadQuery, usePaginationFragment } from "react-relay";
import { graphql } from "relay-runtime";
import { useDebounceCallback } from "usehooks-ts"; import { useDebounceCallback } from "usehooks-ts";
import { useOrganizationId } from "/hooks/useOrganizationId";
import type { LinkedControlsDialogQuery } from "/__generated__/core/LinkedControlsDialogQuery.graphql";
import type { import type {
LinkedControlsDialogFragment$data, LinkedControlsDialogFragment$data,
LinkedControlsDialogFragment$key, LinkedControlsDialogFragment$key,
} from "/__generated__/core/LinkedControlsDialogFragment.graphql"; } from "/__generated__/core/LinkedControlsDialogFragment.graphql";
import type { LinkedControlsDialogQuery } from "/__generated__/core/LinkedControlsDialogQuery.graphql";
import { useOrganizationId } from "/hooks/useOrganizationId";
import type { NodeOf } from "/types"; import type { NodeOf } from "/types";
const query = graphql` const query = graphql`

View File

@@ -1,17 +1,17 @@
import { sprintf } from "@probo/helpers";
import { useTranslate } from "@probo/i18n"; import { useTranslate } from "@probo/i18n";
import { import {
Button, Button,
Checkbox,
Dialog, Dialog,
DialogContent, DialogContent,
DialogFooter, DialogFooter,
Field, Field,
useDialogRef,
Spinner, Spinner,
Checkbox, useDialogRef,
} from "@probo/ui"; } from "@probo/ui";
import { type ReactNode, useImperativeHandle, forwardRef } from "react"; import { forwardRef, type ReactNode, useImperativeHandle } from "react";
import { z } from "zod"; import { z } from "zod";
import { sprintf } from "@probo/helpers";
import { useFormWithSchema } from "/hooks/useFormWithSchema"; import { useFormWithSchema } from "/hooks/useFormWithSchema";

View File

@@ -1,28 +1,28 @@
import { graphql } from "relay-runtime"; import { sprintf } from "@probo/helpers";
import { useTranslate } from "@probo/i18n";
import { import {
Card,
IconPlusLarge,
Button, Button,
Tr, Card,
Td,
Table,
Thead,
Tbody,
Th,
IconChevronDown,
IconTrashCan,
DocumentVersionBadge,
DocumentTypeBadge, DocumentTypeBadge,
DocumentVersionBadge,
IconChevronDown,
IconPlusLarge,
IconTrashCan,
Table,
Tbody,
Td,
Th,
Thead,
Tr,
TrButton, TrButton,
} from "@probo/ui"; } from "@probo/ui";
import { useTranslate } from "@probo/i18n";
import { useFragment } from "react-relay";
import { useMemo, useState } from "react";
import { sprintf } from "@probo/helpers";
import { clsx } from "clsx"; import { clsx } from "clsx";
import { useMemo, useState } from "react";
import { useFragment } from "react-relay";
import { graphql } from "relay-runtime";
import { useOrganizationId } from "/hooks/useOrganizationId";
import type { LinkedDocumentsCardFragment$key } from "/__generated__/core/LinkedDocumentsCardFragment.graphql"; import type { LinkedDocumentsCardFragment$key } from "/__generated__/core/LinkedDocumentsCardFragment.graphql";
import { useOrganizationId } from "/hooks/useOrganizationId";
import { LinkedDocumentDialog } from "./LinkedDocumentsDialog.tsx"; import { LinkedDocumentDialog } from "./LinkedDocumentsDialog.tsx";

View File

@@ -1,3 +1,4 @@
import { useTranslate } from "@probo/i18n";
import { import {
Button, Button,
Dialog, Dialog,
@@ -11,18 +12,17 @@ import {
Input, Input,
Spinner, Spinner,
} from "@probo/ui"; } from "@probo/ui";
import { useTranslate } from "@probo/i18n"; import { type ReactNode, Suspense, useMemo, useState } from "react";
import { Suspense, useMemo, useState, type ReactNode } from "react";
import { graphql } from "relay-runtime";
import { useLazyLoadQuery, usePaginationFragment } from "react-relay"; import { useLazyLoadQuery, usePaginationFragment } from "react-relay";
import { graphql } from "relay-runtime";
import type { LinkedDocumentsDialogQuery } from "/__generated__/core/LinkedDocumentsDialogQuery.graphql";
import { useOrganizationId } from "/hooks/useOrganizationId";
import type { NodeOf } from "/types";
import type { import type {
LinkedDocumentsDialogFragment$data, LinkedDocumentsDialogFragment$data,
LinkedDocumentsDialogFragment$key, LinkedDocumentsDialogFragment$key,
} from "/__generated__/core/LinkedDocumentsDialogFragment.graphql"; } from "/__generated__/core/LinkedDocumentsDialogFragment.graphql";
import type { LinkedDocumentsDialogQuery } from "/__generated__/core/LinkedDocumentsDialogQuery.graphql";
import { useOrganizationId } from "/hooks/useOrganizationId";
import type { NodeOf } from "/types";
const documentsQuery = graphql` const documentsQuery = graphql`
query LinkedDocumentsDialogQuery($organizationId: ID!) { query LinkedDocumentsDialogQuery($organizationId: ID!) {

View File

@@ -1,7 +1,4 @@
import { Document, Page, pdfjs } from "react-pdf"; import { times } from "@probo/helpers";
import "react-pdf/dist/Page/TextLayer.css";
import "react-pdf/dist/Page/AnnotationLayer.css";
import { type ComponentProps, useRef, useState } from "react";
import { import {
IconArrowInbox, IconArrowInbox,
IconChevronLeft, IconChevronLeft,
@@ -9,8 +6,12 @@ import {
IconPlusLarge, IconPlusLarge,
Spinner, Spinner,
} from "@probo/ui"; } from "@probo/ui";
import { times } from "@probo/helpers";
import { IconMinusLarge } from "@probo/ui/src/Atoms/Icons/IconMinusLarge.tsx"; import { IconMinusLarge } from "@probo/ui/src/Atoms/Icons/IconMinusLarge.tsx";
import { type ComponentProps, useRef, useState } from "react";
import { Document, Page, pdfjs } from "react-pdf";
import "react-pdf/dist/Page/TextLayer.css";
import "react-pdf/dist/Page/AnnotationLayer.css";
// Worker for PDF.js // Worker for PDF.js
pdfjs.GlobalWorkerOptions.workerSrc = `//unpkg.com/pdfjs-dist@${pdfjs.version}/build/pdf.worker.min.mjs`; pdfjs.GlobalWorkerOptions.workerSrc = `//unpkg.com/pdfjs-dist@${pdfjs.version}/build/pdf.worker.min.mjs`;

View File

@@ -1,15 +1,15 @@
import { useTranslate } from "@probo/i18n"; import { useTranslate } from "@probo/i18n";
import { import {
Button, Button,
Checkbox,
Dialog, Dialog,
DialogContent, DialogContent,
DialogFooter, DialogFooter,
Field, Field,
useDialogRef,
Spinner, Spinner,
Checkbox, useDialogRef,
} from "@probo/ui"; } from "@probo/ui";
import { type ReactNode, useImperativeHandle, forwardRef } from "react"; import { forwardRef, type ReactNode, useImperativeHandle } from "react";
import { z } from "zod"; import { z } from "zod";
import { useFormWithSchema } from "/hooks/useFormWithSchema"; import { useFormWithSchema } from "/hooks/useFormWithSchema";

View File

@@ -1,14 +1,14 @@
import { Field, Option, Select, Badge } from "@probo/ui"; import { getAuditStateLabel, getAuditStateVariant } from "@probo/helpers";
import { Suspense, type ComponentProps } from "react";
import { useTranslate } from "@probo/i18n"; import { useTranslate } from "@probo/i18n";
import { Badge, Field, Option, Select } from "@probo/ui";
import { type ComponentProps, Suspense } from "react";
import { import {
type Control, type Control,
Controller, Controller,
type FieldValues, type FieldValues,
type Path, type Path,
} from "react-hook-form"; } from "react-hook-form";
import { useLazyLoadQuery, graphql } from "react-relay"; import { graphql, useLazyLoadQuery } from "react-relay";
import { getAuditStateVariant, getAuditStateLabel } from "@probo/helpers";
import type { AuditSelectFieldQuery } from "/__generated__/core/AuditSelectFieldQuery.graphql"; import type { AuditSelectFieldQuery } from "/__generated__/core/AuditSelectFieldQuery.graphql";

View File

@@ -1,5 +1,5 @@
import type { ComponentProps } from "react";
import { Field, Select } from "@probo/ui"; import { Field, Select } from "@probo/ui";
import type { ComponentProps } from "react";
import { Controller, type FieldPath, type FieldValues } from "react-hook-form"; import { Controller, type FieldPath, type FieldValues } from "react-hook-form";
type Props< type Props<

View File

@@ -1,9 +1,9 @@
import { countries, type CountryCode, getCountryName, getCountryOptions } from "@probo/helpers";
import { useTranslate } from "@probo/i18n"; import { useTranslate } from "@probo/i18n";
import { useEffect, useState } from "react"; import { Badge, IconCrossLargeX, Input } from "@probo/ui";
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";
import { useEffect, useState } from "react";
import { type Control, Controller, type FieldPath, type FieldValues } from "react-hook-form";
type Props<T extends FieldValues = FieldValues> = { type Props<T extends FieldValues = FieldValues> = {
control: Control<T>; control: Control<T>;

View File

@@ -1,9 +1,9 @@
import { useTranslate } from "@probo/i18n";
import { Option } from "@probo/ui";
import { import {
documentClassifications, documentClassifications,
getDocumentClassificationLabel, getDocumentClassificationLabel,
} from "@probo/helpers"; } from "@probo/helpers";
import { useTranslate } from "@probo/i18n";
import { Option } from "@probo/ui";
export function DocumentClassificationOptions() { export function DocumentClassificationOptions() {
const { __ } = useTranslate(); const { __ } = useTranslate();

View File

@@ -1,6 +1,6 @@
import { documentTypes, getDocumentTypeLabel } from "@probo/helpers";
import { useTranslate } from "@probo/i18n"; import { useTranslate } from "@probo/i18n";
import { Option } from "@probo/ui"; import { Option } from "@probo/ui";
import { documentTypes, getDocumentTypeLabel } from "@probo/helpers";
export function DocumentTypeOptions() { export function DocumentTypeOptions() {
const { __ } = useTranslate(); const { __ } = useTranslate();

View File

@@ -1,7 +1,7 @@
import { Button, IconPlusLarge, IconTrashCan, Input, Label } from "@probo/ui";
import { useTranslate } from "@probo/i18n"; import { useTranslate } from "@probo/i18n";
import { useFieldArray } from "react-hook-form"; import { Button, IconPlusLarge, IconTrashCan, Input, Label } from "@probo/ui";
import type { ArrayPath, Control, FieldValue, FieldValues, Path, UseFormRegister } from "react-hook-form"; import type { ArrayPath, Control, FieldValue, FieldValues, Path, UseFormRegister } from "react-hook-form";
import { useFieldArray } from "react-hook-form";
type Props<TFieldValues extends FieldValues = FieldValues> = { type Props<TFieldValues extends FieldValues = FieldValues> = {
control: Control<TFieldValues>; control: Control<TFieldValues>;

View File

@@ -1,6 +1,6 @@
import { Field, Combobox, ComboboxItem } from "@probo/ui";
import { Suspense, useMemo, useState, type ComponentProps } from "react";
import { useTranslate } from "@probo/i18n"; import { useTranslate } from "@probo/i18n";
import { Combobox, ComboboxItem, Field } from "@probo/ui";
import { type ComponentProps, Suspense, useMemo, useState } from "react";
import { type Control, Controller, type FieldPath, type FieldValues } from "react-hook-form"; import { type Control, Controller, type FieldPath, type FieldValues } from "react-hook-form";
import { usePaginatedMeasures } from "/hooks/graph/usePaginatedMeasures"; import { usePaginatedMeasures } from "/hooks/graph/usePaginatedMeasures";

View File

@@ -1,6 +1,6 @@
import { Avatar, Field, Option, Select, Badge, Button, IconCrossLargeX } from "@probo/ui";
import { Suspense, useState, type ComponentProps } from "react";
import { useTranslate } from "@probo/i18n"; import { useTranslate } from "@probo/i18n";
import { Avatar, Badge, Button, Field, IconCrossLargeX, Option, Select } from "@probo/ui";
import { type ComponentProps, Suspense, useState } from "react";
import { type Control, Controller, type FieldValues, Path } from "react-hook-form"; import { type Control, Controller, type FieldValues, Path } from "react-hook-form";
import { usePeople } from "/hooks/graph/PeopleGraph.ts"; import { usePeople } from "/hooks/graph/PeopleGraph.ts";

View File

@@ -1,6 +1,6 @@
import { Avatar, Field, Option, Select } from "@probo/ui";
import { Suspense, type ComponentProps } from "react";
import { useTranslate } from "@probo/i18n"; import { useTranslate } from "@probo/i18n";
import { Avatar, Field, Option, Select } from "@probo/ui";
import { type ComponentProps, Suspense } from "react";
import { type Control, Controller, type FieldPath, type FieldValues } from "react-hook-form"; import { type Control, Controller, type FieldPath, type FieldValues } from "react-hook-form";
import { usePeople } from "/hooks/graph/PeopleGraph.ts"; import { usePeople } from "/hooks/graph/PeopleGraph.ts";

View File

@@ -2,9 +2,9 @@ import { useTranslate } from "@probo/i18n";
import { Option } from "@probo/ui"; import { Option } from "@probo/ui";
import type { import type {
ProcessingActivitySpecialOrCriminalDatum,
ProcessingActivityLawfulBasis,
ProcessingActivityDataProtectionImpactAssessment, ProcessingActivityDataProtectionImpactAssessment,
ProcessingActivityLawfulBasis,
ProcessingActivitySpecialOrCriminalDatum,
ProcessingActivityTransferImpactAssessment, ProcessingActivityTransferImpactAssessment,
} from "/__generated__/core/ProcessingActivityGraphCreateMutation.graphql"; } from "/__generated__/core/ProcessingActivityGraphCreateMutation.graphql";

View File

@@ -1,6 +1,6 @@
import { getSnapshotTypeLabel, snapshotTypes } from "@probo/helpers";
import { useTranslate } from "@probo/i18n"; import { useTranslate } from "@probo/i18n";
import { Option } from "@probo/ui"; import { Option } from "@probo/ui";
import { snapshotTypes, getSnapshotTypeLabel } from "@probo/helpers";
export function SnapshotTypeOptions() { export function SnapshotTypeOptions() {
const { __ } = useTranslate(); const { __ } = useTranslate();

View File

@@ -1,8 +1,8 @@
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, Path } from "react-hook-form";
import { faviconUrl } from "@probo/helpers"; import { faviconUrl } from "@probo/helpers";
import { useTranslate } from "@probo/i18n";
import { Avatar, Badge, Button, Field, IconCrossLargeX, Option, Select } from "@probo/ui";
import { type ComponentProps, Suspense, useState } from "react";
import { type Control, Controller, type FieldValues, Path } from "react-hook-form";
import { useVendors } from "/hooks/graph/VendorGraph.ts"; import { useVendors } from "/hooks/graph/VendorGraph.ts";

View File

@@ -1,27 +1,27 @@
import { graphql } from "relay-runtime"; import { sprintf } from "@probo/helpers";
import { useTranslate } from "@probo/i18n";
import { import {
Card,
IconPlusLarge,
Button, Button,
Tr, Card,
Td,
Table,
Thead,
Tbody,
Th,
IconChevronDown, IconChevronDown,
IconPlusLarge,
IconTrashCan, IconTrashCan,
Table,
Tbody,
Td,
Th,
Thead,
Tr,
TrButton, TrButton,
} from "@probo/ui"; } from "@probo/ui";
import { MeasureBadge } from "@probo/ui/src/Molecules/Badge/MeasureBadge"; import { MeasureBadge } from "@probo/ui/src/Molecules/Badge/MeasureBadge";
import { useTranslate } from "@probo/i18n";
import { useFragment } from "react-relay";
import { useMemo, useState } from "react";
import { sprintf } from "@probo/helpers";
import { clsx } from "clsx"; import { clsx } from "clsx";
import { useMemo, useState } from "react";
import { useFragment } from "react-relay";
import { graphql } from "relay-runtime";
import { useOrganizationId } from "/hooks/useOrganizationId";
import type { LinkedMeasuresCardFragment$key } from "/__generated__/core/LinkedMeasuresCardFragment.graphql"; import type { LinkedMeasuresCardFragment$key } from "/__generated__/core/LinkedMeasuresCardFragment.graphql";
import { useOrganizationId } from "/hooks/useOrganizationId";
import { LinkedMeasureDialog } from "./LinkedMeasuresDialog.tsx"; import { LinkedMeasureDialog } from "./LinkedMeasuresDialog.tsx";

View File

@@ -1,3 +1,4 @@
import { useTranslate } from "@probo/i18n";
import { import {
Badge, Badge,
Button, Button,
@@ -13,11 +14,10 @@ import {
Select, Select,
Spinner, Spinner,
} from "@probo/ui"; } from "@probo/ui";
import { useTranslate } from "@probo/i18n"; import { type ReactNode, Suspense, useMemo, useState } from "react";
import { Suspense, useMemo, useState, type ReactNode } from "react";
import { useOrganizationId } from "/hooks/useOrganizationId";
import { usePaginatedMeasures } from "/hooks/graph/usePaginatedMeasures"; import { usePaginatedMeasures } from "/hooks/graph/usePaginatedMeasures";
import { useOrganizationId } from "/hooks/useOrganizationId";
type Props = { type Props = {
children: ReactNode; children: ReactNode;

View File

@@ -1,29 +1,29 @@
import { graphql } from "relay-runtime";
import { import {
Card,
IconPlusLarge,
Button,
Tr,
Td,
Table,
Thead,
Tbody,
Th,
IconChevronDown,
IconTrashCan,
TrButton,
Badge,
} from "@probo/ui";
import { useTranslate } from "@probo/i18n";
import { useFragment } from "react-relay";
import { useMemo, useState } from "react";
import {
sprintf,
getObligationStatusVariant,
getObligationStatusLabel, getObligationStatusLabel,
getObligationStatusVariant,
sprintf,
} from "@probo/helpers"; } from "@probo/helpers";
import { useTranslate } from "@probo/i18n";
import {
Badge,
Button,
Card,
IconChevronDown,
IconPlusLarge,
IconTrashCan,
Table,
Tbody,
Td,
Th,
Thead,
Tr,
TrButton,
} from "@probo/ui";
import { clsx } from "clsx"; import { clsx } from "clsx";
import { useMemo, useState } from "react";
import { useFragment } from "react-relay";
import { useParams } from "react-router"; import { useParams } from "react-router";
import { graphql } from "relay-runtime";
import type { LinkedObligationsCardFragment$key } from "/__generated__/core/LinkedObligationsCardFragment.graphql"; import type { LinkedObligationsCardFragment$key } from "/__generated__/core/LinkedObligationsCardFragment.graphql";
import { useOrganizationId } from "/hooks/useOrganizationId"; import { useOrganizationId } from "/hooks/useOrganizationId";

View File

@@ -1,4 +1,10 @@
import { import {
getObligationStatusLabel,
getObligationStatusVariant,
} from "@probo/helpers";
import { useTranslate } from "@probo/i18n";
import {
Badge,
Button, Button,
Dialog, Dialog,
DialogContent, DialogContent,
@@ -9,24 +15,18 @@ import {
InfiniteScrollTrigger, InfiniteScrollTrigger,
Input, Input,
Spinner, Spinner,
Badge,
} from "@probo/ui"; } from "@probo/ui";
import { useTranslate } from "@probo/i18n"; import { type ReactNode, Suspense, useMemo, useState } from "react";
import {
getObligationStatusVariant,
getObligationStatusLabel,
} from "@probo/helpers";
import { Suspense, useMemo, useState, type ReactNode } from "react";
import { graphql } from "relay-runtime";
import { useLazyLoadQuery, usePaginationFragment } from "react-relay"; import { useLazyLoadQuery, usePaginationFragment } from "react-relay";
import { graphql } from "relay-runtime";
import type { LinkedObligationsDialogQuery } from "/__generated__/core/LinkedObligationsDialogQuery.graphql";
import { useOrganizationId } from "/hooks/useOrganizationId";
import type { NodeOf } from "/types";
import type { import type {
LinkedObligationsDialogFragment$data, LinkedObligationsDialogFragment$data,
LinkedObligationsDialogFragment$key, LinkedObligationsDialogFragment$key,
} from "/__generated__/core/LinkedObligationsDialogFragment.graphql"; } from "/__generated__/core/LinkedObligationsDialogFragment.graphql";
import type { LinkedObligationsDialogQuery } from "/__generated__/core/LinkedObligationsDialogQuery.graphql";
import { useOrganizationId } from "/hooks/useOrganizationId";
import type { NodeOf } from "/types";
const obligationsQuery = graphql` const obligationsQuery = graphql`
query LinkedObligationsDialogQuery($organizationId: ID!) { query LinkedObligationsDialogQuery($organizationId: ID!) {

View File

@@ -1,15 +1,15 @@
import { useState } from "react"; import { sprintf } from "@probo/helpers";
import { useTranslate } from "@probo/i18n";
import { import {
Button,
Dialog, Dialog,
DialogContent, DialogContent,
DialogFooter, DialogFooter,
Button,
Field, Field,
IconTrashCan, IconTrashCan,
useDialogRef, useDialogRef,
} from "@probo/ui"; } from "@probo/ui";
import { useTranslate } from "@probo/i18n"; import { useState } from "react";
import { sprintf } from "@probo/helpers";
type DeleteOrganizationDialogProps = { type DeleteOrganizationDialogProps = {
children: React.ReactNode; children: React.ReactNode;

View File

@@ -1,6 +1,6 @@
import { Badge, Button, Card } from "@probo/ui";
import { useTranslate } from "@probo/i18n";
import { sprintf } from "@probo/helpers"; import { sprintf } from "@probo/helpers";
import { useTranslate } from "@probo/i18n";
import { Badge, Button, Card } from "@probo/ui";
import type { TrustCenterGraphQuery$data } from "/__generated__/core/TrustCenterGraphQuery.graphql"; import type { TrustCenterGraphQuery$data } from "/__generated__/core/TrustCenterGraphQuery.graphql";

View File

@@ -1,4 +1,4 @@
import { graphql } from "relay-runtime"; import { useTranslate } from "@probo/i18n";
import { import {
Button, Button,
IconTrashCan, IconTrashCan,
@@ -11,8 +11,8 @@ import {
Tr, Tr,
TrButton, TrButton,
} from "@probo/ui"; } from "@probo/ui";
import { useTranslate } from "@probo/i18n";
import { useFragment } from "react-relay"; import { useFragment } from "react-relay";
import { graphql } from "relay-runtime";
import type { LinkedRisksCardFragment$key } from "/__generated__/core/LinkedRisksCardFragment.graphql"; import type { LinkedRisksCardFragment$key } from "/__generated__/core/LinkedRisksCardFragment.graphql";
import { useOrganizationId } from "/hooks/useOrganizationId"; import { useOrganizationId } from "/hooks/useOrganizationId";

View File

@@ -1,3 +1,4 @@
import { useTranslate } from "@probo/i18n";
import { import {
Badge, Badge,
Button, Button,
@@ -12,10 +13,9 @@ import {
Select, Select,
Spinner, Spinner,
} from "@probo/ui"; } from "@probo/ui";
import { useTranslate } from "@probo/i18n"; import { type ReactNode, Suspense, useMemo, useState } from "react";
import { Suspense, useMemo, useState, type ReactNode } from "react";
import { graphql } from "relay-runtime";
import { useLazyLoadQuery } from "react-relay"; import { useLazyLoadQuery } from "react-relay";
import { graphql } from "relay-runtime";
import type { LinkedRisksDialogQuery } from "/__generated__/core/LinkedRisksDialogQuery.graphql"; import type { LinkedRisksDialogQuery } from "/__generated__/core/LinkedRisksDialogQuery.graphql";
import { useOrganizationId } from "/hooks/useOrganizationId"; import { useOrganizationId } from "/hooks/useOrganizationId";

View File

@@ -1,5 +1,5 @@
import { ActionDropdown, Skeleton, Button, IconPencil } from "@probo/ui";
import { useTranslate } from "@probo/i18n"; import { useTranslate } from "@probo/i18n";
import { ActionDropdown, Button, IconPencil, Skeleton } from "@probo/ui";
/** /**
* Skeleton state for the framework control panel * Skeleton state for the framework control panel

View File

@@ -1,5 +1,5 @@
import { Button, IconPlusLarge, PageHeader, Skeleton } from "@probo/ui";
import { useTranslate } from "@probo/i18n"; import { useTranslate } from "@probo/i18n";
import { Button, IconPlusLarge, PageHeader, Skeleton } from "@probo/ui";
export function RisksPageSkeleton() { export function RisksPageSkeleton() {
const { __ } = useTranslate(); const { __ } = useTranslate();

View File

@@ -1,32 +1,32 @@
import { graphql } from "relay-runtime";
import { import {
Card, formatDate,
IconPlusLarge,
Button,
Tr,
Td,
Table,
Thead,
Tbody,
Th,
IconChevronDown,
IconTrashCan,
Badge,
TrButton,
} from "@probo/ui";
import { useTranslate } from "@probo/i18n";
import { useFragment } from "react-relay";
import { useMemo, useState } from "react";
import {
sprintf,
getSnapshotTypeLabel, getSnapshotTypeLabel,
getSnapshotTypeUrlPath, getSnapshotTypeUrlPath,
formatDate, sprintf,
} from "@probo/helpers"; } from "@probo/helpers";
import { useTranslate } from "@probo/i18n";
import {
Badge,
Button,
Card,
IconChevronDown,
IconPlusLarge,
IconTrashCan,
Table,
Tbody,
Td,
Th,
Thead,
Tr,
TrButton,
} from "@probo/ui";
import { clsx } from "clsx"; import { clsx } from "clsx";
import { useMemo, useState } from "react";
import { useFragment } from "react-relay";
import { graphql } from "relay-runtime";
import { useOrganizationId } from "/hooks/useOrganizationId";
import type { LinkedSnapshotsCardFragment$key } from "/__generated__/core/LinkedSnapshotsCardFragment.graphql"; import type { LinkedSnapshotsCardFragment$key } from "/__generated__/core/LinkedSnapshotsCardFragment.graphql";
import { useOrganizationId } from "/hooks/useOrganizationId";
import { LinkedSnapshotsDialog } from "./LinkedSnapshotsDialog"; import { LinkedSnapshotsDialog } from "./LinkedSnapshotsDialog";

View File

@@ -1,29 +1,29 @@
import { formatDate, getSnapshotTypeLabel } from "@probo/helpers";
import { useTranslate } from "@probo/i18n";
import { import {
Badge,
Button, Button,
Dialog, Dialog,
DialogContent, DialogContent,
DialogFooter, DialogFooter,
Badge,
InfiniteScrollTrigger,
Input,
Spinner,
IconMagnifyingGlass, IconMagnifyingGlass,
IconPlusLarge, IconPlusLarge,
IconTrashCan, IconTrashCan,
InfiniteScrollTrigger,
Input,
Spinner,
} from "@probo/ui"; } from "@probo/ui";
import { useTranslate } from "@probo/i18n"; import { type ReactNode, Suspense, useMemo, useState } from "react";
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 { useLazyLoadQuery, usePaginationFragment } from "react-relay";
import { graphql } from "relay-runtime";
import type { LinkedSnapshotsDialogQuery } from "/__generated__/core/LinkedSnapshotsDialogQuery.graphql";
import { useOrganizationId } from "/hooks/useOrganizationId";
import type { NodeOf } from "/types";
import type { import type {
LinkedSnapshotsDialogFragment$data, LinkedSnapshotsDialogFragment$data,
LinkedSnapshotsDialogFragment$key, LinkedSnapshotsDialogFragment$key,
} from "/__generated__/core/LinkedSnapshotsDialogFragment.graphql"; } from "/__generated__/core/LinkedSnapshotsDialogFragment.graphql";
import type { LinkedSnapshotsDialogQuery } from "/__generated__/core/LinkedSnapshotsDialogQuery.graphql";
import { useOrganizationId } from "/hooks/useOrganizationId";
import type { NodeOf } from "/types";
const snapshotsQuery = graphql` const snapshotsQuery = graphql`
query LinkedSnapshotsDialogQuery($organizationId: ID!) { query LinkedSnapshotsDialogQuery($organizationId: ID!) {

View File

@@ -1,27 +1,27 @@
import { graphql } from "relay-runtime";
import {
Card,
IconPlusLarge,
Button,
Tr,
Td,
Table,
Thead,
Tbody,
Th,
IconChevronDown,
IconTrashCan,
TrButton,
Badge,
} from "@probo/ui";
import { useTranslate } from "@probo/i18n";
import { useFragment } from "react-relay";
import { useMemo, useState, useEffect } from "react";
import { sprintf } from "@probo/helpers"; import { sprintf } from "@probo/helpers";
import { useTranslate } from "@probo/i18n";
import {
Badge,
Button,
Card,
IconChevronDown,
IconPlusLarge,
IconTrashCan,
Table,
Tbody,
Td,
Th,
Thead,
Tr,
TrButton,
} from "@probo/ui";
import { clsx } from "clsx"; import { clsx } from "clsx";
import { useEffect, useMemo, useState } from "react";
import { useFragment } from "react-relay";
import { graphql } from "relay-runtime";
import { useOrganizationId } from "/hooks/useOrganizationId";
import type { LinkedStatesOfApplicabilityCardFragment$key } from "/__generated__/core/LinkedStatesOfApplicabilityCardFragment.graphql"; import type { LinkedStatesOfApplicabilityCardFragment$key } from "/__generated__/core/LinkedStatesOfApplicabilityCardFragment.graphql";
import { useOrganizationId } from "/hooks/useOrganizationId";
import { LinkedStatesOfApplicabilityDialog } from "./LinkedStatesOfApplicabilityDialog"; import { LinkedStatesOfApplicabilityDialog } from "./LinkedStatesOfApplicabilityDialog";

View File

@@ -1,20 +1,20 @@
import { useTranslate } from "@probo/i18n"; import { useTranslate } from "@probo/i18n";
import { import {
Badge,
Button,
Checkbox,
Dialog, Dialog,
DialogContent, DialogContent,
DialogFooter, DialogFooter,
Button,
Checkbox,
Textarea, Textarea,
Badge,
} from "@probo/ui"; } from "@probo/ui";
import { Suspense, useState, useRef } from "react";
import type { ReactNode } from "react"; import type { ReactNode } from "react";
import { Suspense, useRef, useState } from "react";
import { useLazyLoadQuery } from "react-relay"; import { useLazyLoadQuery } from "react-relay";
import { graphql } from "relay-runtime"; import { graphql } from "relay-runtime";
import { useOrganizationId } from "/hooks/useOrganizationId";
import type { LinkedStatesOfApplicabilityDialogQuery } from "/__generated__/core/LinkedStatesOfApplicabilityDialogQuery.graphql"; import type { LinkedStatesOfApplicabilityDialogQuery } from "/__generated__/core/LinkedStatesOfApplicabilityDialogQuery.graphql";
import { useOrganizationId } from "/hooks/useOrganizationId";
const query = graphql` const query = graphql`
query LinkedStatesOfApplicabilityDialogQuery($organizationId: ID!) { query LinkedStatesOfApplicabilityDialogQuery($organizationId: ID!) {

View File

@@ -1,6 +1,4 @@
import type { GraphQLTaggedNode, OperationType } from "relay-runtime"; import { useToggle } from "@probo/hooks";
import type { KeyType, KeyTypeData } from "react-relay/relay-hooks/helpers";
import type { usePaginationFragmentHookType } from "react-relay/relay-hooks/usePaginationFragment";
import { import {
Button, Button,
Cell, Cell,
@@ -11,18 +9,20 @@ import {
RowButton, RowButton,
Spinner, Spinner,
} from "@probo/ui"; } from "@probo/ui";
import { z } from "zod";
import { type ReactNode } from "react";
import { useToggle } from "@probo/hooks";
import { clsx } from "clsx"; import { clsx } from "clsx";
import { type ReactNode } from "react";
import type { KeyType, KeyTypeData } from "react-relay/relay-hooks/helpers";
import type { usePaginationFragmentHookType } from "react-relay/relay-hooks/usePaginationFragment";
import type { GraphQLTaggedNode, OperationType } from "relay-runtime";
import { z } from "zod";
import { useStateWithSchema } from "/hooks/useStateWithSchema.ts"; import { defaultPageSize,
import { useMutateField } from "/hooks/useMutateField.tsx";
import {
SortableCellHead, SortableCellHead,
SortableDataTable, defaultPageSize, SortableDataTable,
} from "/components/table/SortableDataTable.tsx"; } from "/components/table/SortableDataTable.tsx";
import { useMutateField } from "/hooks/useMutateField.tsx";
import { useMutationWithToasts } from "/hooks/useMutationWithToasts.ts"; import { useMutationWithToasts } from "/hooks/useMutationWithToasts.ts";
import { useStateWithSchema } from "/hooks/useStateWithSchema.ts";
type ColumnDefinition = { label: string; field: string } | string; type ColumnDefinition = { label: string; field: string } | string;

View File

@@ -1,11 +1,11 @@
import { useStateWithRef } from "@probo/hooks"; import { useStateWithRef } from "@probo/hooks";
import { useTranslate } from "@probo/i18n"; import { useTranslate } from "@probo/i18n";
import { EditableCell, SelectValue, Spinner, selectCell } from "@probo/ui"; import { EditableCell, selectCell, SelectValue, Spinner } from "@probo/ui";
import { useEditableCellRef } from "@probo/ui/src/Molecules/Table/EditableCell.tsx"; import { useEditableCellRef } from "@probo/ui/src/Molecules/Table/EditableCell.tsx";
import { useEditableRowContext } from "@probo/ui/src/Molecules/Table/EditableRow.tsx"; import { useEditableRowContext } from "@probo/ui/src/Molecules/Table/EditableRow.tsx";
import { getKey } from "@probo/ui/src/Molecules/Table/utils.ts"; import { getKey } from "@probo/ui/src/Molecules/Table/utils.ts";
import { Command } from "cmdk"; import { Command } from "cmdk";
import { Suspense, type ReactNode } from "react"; import { type ReactNode, Suspense } from "react";
import { useLazyLoadQuery } from "react-relay"; import { useLazyLoadQuery } from "react-relay";
import type { import type {
GraphQLTaggedNode, GraphQLTaggedNode,

View File

@@ -1,7 +1,7 @@
import { Avatar } from "@probo/ui"; import { Avatar } from "@probo/ui";
import { GraphQLCell } from "/components/table/GraphQLCell.tsx";
import type { PeopleGraphQuery } from "/__generated__/core/PeopleGraphQuery.graphql.ts"; import type { PeopleGraphQuery } from "/__generated__/core/PeopleGraphQuery.graphql.ts";
import { GraphQLCell } from "/components/table/GraphQLCell.tsx";
import { peopleQuery } from "/hooks/graph/PeopleGraph.ts"; import { peopleQuery } from "/hooks/graph/PeopleGraph.ts";
type Props = { type Props = {

View File

@@ -1,9 +1,9 @@
import { Avatar, Badge, IconCrossLargeX } from "@probo/ui";
import { faviconUrl } from "@probo/helpers"; import { faviconUrl } from "@probo/helpers";
import { Avatar, Badge, IconCrossLargeX } from "@probo/ui";
import type { VendorGraphSelectQuery } from "/__generated__/core/VendorGraphSelectQuery.graphql.ts";
import { GraphQLCell } from "/components/table/GraphQLCell"; import { GraphQLCell } from "/components/table/GraphQLCell";
import { vendorsSelectQuery } from "/hooks/graph/VendorGraph"; import { vendorsSelectQuery } from "/hooks/graph/VendorGraph";
import type { VendorGraphSelectQuery } from "/__generated__/core/VendorGraphSelectQuery.graphql.ts";
type Vendor = { type Vendor = {
id: string; id: string;

View File

@@ -1,32 +1,32 @@
import { formatDatetime } from "@probo/helpers";
import { useTranslate } from "@probo/i18n";
import { import {
Button, Button,
Dialog, Dialog,
DialogContent, DialogContent,
DialogFooter, DialogFooter,
type DialogRef,
DurationPicker, DurationPicker,
Input, Input,
Label, Label,
PropertyRow, PropertyRow,
Textarea, Textarea,
useDialogRef, useDialogRef,
type DialogRef,
} from "@probo/ui"; } from "@probo/ui";
import type { ReactNode } from "react";
import { useTranslate } from "@probo/i18n";
import { Breadcrumb } from "@probo/ui"; import { Breadcrumb } from "@probo/ui";
import { graphql } from "relay-runtime"; import type { ReactNode } from "react";
import { useFragment, useRelayEnvironment } from "react-relay";
import { z } from "zod";
import { Controller } from "react-hook-form"; import { Controller } from "react-hook-form";
import { formatDatetime } from "@probo/helpers"; import { useFragment, useRelayEnvironment } from "react-relay";
import { graphql } from "relay-runtime";
import { z } from "zod";
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 type { TaskFormDialogFragment$key } from "/__generated__/core/TaskFormDialogFragment.graphql";
import { MeasureSelectField } from "/components/form/MeasureSelectField"; import { MeasureSelectField } from "/components/form/MeasureSelectField";
import { PeopleSelectField } from "/components/form/PeopleSelectField";
import { useFormWithSchema } from "/hooks/useFormWithSchema";
import { updateStoreCounter } from "/hooks/useMutationWithIncrement"; import { updateStoreCounter } from "/hooks/useMutationWithIncrement";
import { useMutationWithToasts } from "/hooks/useMutationWithToasts";
import { useOrganizationId } from "/hooks/useOrganizationId";
const taskFragment = graphql` const taskFragment = graphql`
fragment TaskFormDialogFragment on Task { fragment TaskFormDialogFragment on Task {

View File

@@ -1,4 +1,4 @@
import { promisifyMutation, formatDate, formatDuration } from "@probo/helpers"; import { formatDate, formatDuration, promisifyMutation } from "@probo/helpers";
import { usePageTitle } from "@probo/hooks"; import { usePageTitle } from "@probo/hooks";
import { useTranslate } from "@probo/i18n"; import { useTranslate } from "@probo/i18n";
import { import {
@@ -26,15 +26,15 @@ import {
} from "react-relay"; } from "react-relay";
import { Link, useLocation, useParams } from "react-router"; import { Link, useLocation, useParams } from "react-router";
import type { MeasureTasksTabQuery$data } from "/__generated__/core/MeasureTasksTabQuery.graphql";
import type { TaskFormDialogFragment$key } from "/__generated__/core/TaskFormDialogFragment.graphql";
import type { TasksCard_TaskRowFragment$key } from "/__generated__/core/TasksCard_TaskRowFragment.graphql";
import type { TasksPageFragment$data } from "/__generated__/core/TasksPageFragment.graphql";
import TaskFormDialog, { import TaskFormDialog, {
taskUpdateMutation, taskUpdateMutation,
} from "/components/tasks/TaskFormDialog"; } from "/components/tasks/TaskFormDialog";
import { updateStoreCounter } from "/hooks/useMutationWithIncrement"; import { updateStoreCounter } from "/hooks/useMutationWithIncrement";
import { useOrganizationId } from "/hooks/useOrganizationId"; import { useOrganizationId } from "/hooks/useOrganizationId";
import type { TasksCard_TaskRowFragment$key } from "/__generated__/core/TasksCard_TaskRowFragment.graphql";
import type { TasksPageFragment$data } from "/__generated__/core/TasksPageFragment.graphql";
import type { MeasureTasksTabQuery$data } from "/__generated__/core/MeasureTasksTabQuery.graphql";
import type { TaskFormDialogFragment$key } from "/__generated__/core/TaskFormDialogFragment.graphql";
type Props = { type Props = {
tasks: tasks:

View File

@@ -1,3 +1,5 @@
import { sprintf } from "@probo/helpers";
import { useTranslate } from "@probo/i18n";
import { import {
Button, Button,
Dialog, Dialog,
@@ -7,11 +9,9 @@ import {
Spinner, Spinner,
useDialogRef, useDialogRef,
} from "@probo/ui"; } from "@probo/ui";
import { useTranslate } from "@probo/i18n";
import { sprintf } from "@probo/helpers";
import { useMutationWithToasts } from "/hooks/useMutationWithToasts";
import { deleteTrustCenterReferenceMutation } from "/hooks/graph/TrustCenterReferenceGraph"; import { deleteTrustCenterReferenceMutation } from "/hooks/graph/TrustCenterReferenceGraph";
import { useMutationWithToasts } from "/hooks/useMutationWithToasts";
type Props = { type Props = {
children: React.ReactNode; children: React.ReactNode;

View File

@@ -1,30 +1,30 @@
import { graphql } from "relay-runtime";
import { import {
Button,
Tr,
Td,
Table,
Thead,
Tbody,
Th,
IconChevronDown,
Badge,
Field,
Option,
} from "@probo/ui";
import { useTranslate } from "@probo/i18n";
import { useFragment } from "react-relay";
import { useMemo, useState, useCallback } from "react";
import {
sprintf,
getAuditStateVariant,
getAuditStateLabel,
formatDate, formatDate,
getAuditStateLabel,
getAuditStateVariant,
getTrustCenterVisibilityOptions, getTrustCenterVisibilityOptions,
sprintf,
} from "@probo/helpers"; } from "@probo/helpers";
import { useTranslate } from "@probo/i18n";
import {
Badge,
Button,
Field,
IconChevronDown,
Option,
Table,
Tbody,
Td,
Th,
Thead,
Tr,
} from "@probo/ui";
import { useCallback, useMemo, useState } from "react";
import { useFragment } from "react-relay";
import { graphql } from "relay-runtime";
import { useOrganizationId } from "/hooks/useOrganizationId";
import type { TrustCenterAuditsCardFragment$key } from "/__generated__/core/TrustCenterAuditsCardFragment.graphql"; import type { TrustCenterAuditsCardFragment$key } from "/__generated__/core/TrustCenterAuditsCardFragment.graphql";
import { useOrganizationId } from "/hooks/useOrganizationId";
const trustCenterAuditFragment = graphql` const trustCenterAuditFragment = graphql`
fragment TrustCenterAuditsCardFragment on Audit { fragment TrustCenterAuditsCardFragment on Audit {

View File

@@ -1,23 +1,23 @@
import { graphql } from "relay-runtime"; import { getTrustCenterVisibilityOptions, sprintf } from "@probo/helpers";
import {
Button,
Tr,
Td,
Table,
Thead,
Tbody,
Th,
IconChevronDown,
DocumentVersionBadge,
DocumentTypeBadge,
Field,
Option,
Badge,
} from "@probo/ui";
import { useTranslate } from "@probo/i18n"; import { useTranslate } from "@probo/i18n";
import {
Badge,
Button,
DocumentTypeBadge,
DocumentVersionBadge,
Field,
IconChevronDown,
Option,
Table,
Tbody,
Td,
Th,
Thead,
Tr,
} from "@probo/ui";
import { useCallback, useMemo, useState } from "react";
import { useFragment } from "react-relay"; import { useFragment } from "react-relay";
import { useMemo, useState, useCallback } from "react"; import { graphql } from "relay-runtime";
import { sprintf, getTrustCenterVisibilityOptions } from "@probo/helpers";
import type { TrustCenterDocumentsCardFragment$key } from "/__generated__/core/TrustCenterDocumentsCardFragment.graphql"; import type { TrustCenterDocumentsCardFragment$key } from "/__generated__/core/TrustCenterDocumentsCardFragment.graphql";
import { useOrganizationId } from "/hooks/useOrganizationId"; import { useOrganizationId } from "/hooks/useOrganizationId";

View File

@@ -1,28 +1,28 @@
import { graphql } from "relay-runtime"; import { formatDate, getTrustCenterVisibilityOptions, sprintf } from "@probo/helpers";
import { useTranslate } from "@probo/i18n";
import { import {
Button,
Tr,
Td,
Table,
Thead,
Tbody,
Th,
IconChevronDown,
Field,
Option,
Badge, Badge,
Button,
Field,
IconArrowLink,
IconChevronDown,
IconPencil, IconPencil,
IconTrashCan, IconTrashCan,
IconArrowLink, Option,
Table,
Tbody,
Td,
Th,
Thead,
Tr,
} from "@probo/ui"; } from "@probo/ui";
import { useTranslate } from "@probo/i18n"; import { useCallback, useMemo, useState } from "react";
import { useFragment } from "react-relay"; import { useFragment } from "react-relay";
import { useMemo, useState, useCallback } from "react"; import { graphql } from "relay-runtime";
import { sprintf, getTrustCenterVisibilityOptions, formatDate } from "@probo/helpers";
import type { import type {
TrustCenterFilesCardFragment$key,
TrustCenterFilesCardFragment$data, TrustCenterFilesCardFragment$data,
TrustCenterFilesCardFragment$key,
} from "/__generated__/core/TrustCenterFilesCardFragment.graphql"; } from "/__generated__/core/TrustCenterFilesCardFragment.graphql";
const trustCenterFileFragment = graphql` const trustCenterFileFragment = graphql`

View File

@@ -10,14 +10,14 @@ import {
Textarea, Textarea,
useDialogRef, useDialogRef,
} from "@probo/ui"; } from "@probo/ui";
import { type ReactNode, useState, useImperativeHandle, forwardRef } from "react"; import { forwardRef, type ReactNode, useImperativeHandle, useState } from "react";
import { z } from "zod"; import { z } from "zod";
import { useFormWithSchema } from "/hooks/useFormWithSchema";
import { import {
useCreateTrustCenterReferenceMutation, useCreateTrustCenterReferenceMutation,
useUpdateTrustCenterReferenceMutation, useUpdateTrustCenterReferenceMutation,
} from "/hooks/graph/TrustCenterReferenceGraph"; } from "/hooks/graph/TrustCenterReferenceGraph";
import { useFormWithSchema } from "/hooks/useFormWithSchema";
const referenceSchema = z.object({ const referenceSchema = z.object({
name: z.string().min(1, "Name is required"), name: z.string().min(1, "Name is required"),

View File

@@ -1,36 +1,36 @@
import { useTranslate } from "@probo/i18n";
import { safeOpenUrl } from "@probo/helpers"; import { safeOpenUrl } from "@probo/helpers";
import { useTranslate } from "@probo/i18n";
import { import {
Avatar, Avatar,
Button, Button,
Table, IconArrowLink,
Thead, IconPencil,
Tbody,
Tr,
Th,
Td,
IconPlusLarge, IconPlusLarge,
IconTrashCan, IconTrashCan,
IconPencil, Table,
IconArrowLink, Tbody,
Td,
Th,
Thead,
Tr,
} from "@probo/ui"; } from "@probo/ui";
import { useRef, useState } from "react"; import { useRef, useState } from "react";
import { useLazyLoadQuery } from "react-relay"; import { useLazyLoadQuery } from "react-relay";
import type {
TrustCenterReferenceGraphQuery$data,
TrustCenterReferenceGraphQuery,
} from "/__generated__/core/TrustCenterReferenceGraphQuery.graphql";
import { import {
trustCenterReferencesQuery, trustCenterReferencesQuery,
useUpdateTrustCenterReferenceRankMutation, useUpdateTrustCenterReferenceRankMutation,
} from "/hooks/graph/TrustCenterReferenceGraph"; } from "/hooks/graph/TrustCenterReferenceGraph";
import type {
TrustCenterReferenceGraphQuery,
TrustCenterReferenceGraphQuery$data,
} from "/__generated__/core/TrustCenterReferenceGraphQuery.graphql";
import { DeleteTrustCenterReferenceDialog } from "./DeleteTrustCenterReferenceDialog";
import { import {
TrustCenterReferenceDialog, TrustCenterReferenceDialog,
type TrustCenterReferenceDialogRef, type TrustCenterReferenceDialogRef,
} from "./TrustCenterReferenceDialog"; } from "./TrustCenterReferenceDialog";
import { DeleteTrustCenterReferenceDialog } from "./DeleteTrustCenterReferenceDialog";
type Props = { type Props = {
trustCenterId: string; trustCenterId: string;

View File

@@ -1,24 +1,24 @@
import { graphql } from "relay-runtime";
import {
Button,
Tr,
Td,
Table,
Thead,
Tbody,
Th,
IconChevronDown,
IconCheckmark1,
IconCrossLargeX,
Badge,
} from "@probo/ui";
import { useTranslate } from "@probo/i18n";
import { useFragment } from "react-relay";
import { useMemo, useState } from "react";
import { sprintf } from "@probo/helpers"; import { sprintf } from "@probo/helpers";
import { useTranslate } from "@probo/i18n";
import {
Badge,
Button,
IconCheckmark1,
IconChevronDown,
IconCrossLargeX,
Table,
Tbody,
Td,
Th,
Thead,
Tr,
} from "@probo/ui";
import { useMemo, useState } from "react";
import { useFragment } from "react-relay";
import { graphql } from "relay-runtime";
import { useOrganizationId } from "/hooks/useOrganizationId";
import type { TrustCenterVendorsCardFragment$key } from "/__generated__/core/TrustCenterVendorsCardFragment.graphql"; import type { TrustCenterVendorsCardFragment$key } from "/__generated__/core/TrustCenterVendorsCardFragment.graphql";
import { useOrganizationId } from "/hooks/useOrganizationId";
const trustCenterVendorFragment = graphql` const trustCenterVendorFragment = graphql`
fragment TrustCenterVendorsCardFragment on Vendor { fragment TrustCenterVendorsCardFragment on Vendor {

View File

@@ -1,5 +1,5 @@
import { Environment, Network, RecordSource, Store } from "relay-runtime";
import { makeFetchQuery } from "@probo/relay"; import { makeFetchQuery } from "@probo/relay";
import { Environment, Network, RecordSource, Store } from "relay-runtime";
export const coreEnvironment = new Environment({ export const coreEnvironment = new Environment({
configName: "core", configName: "core",

View File

@@ -1,6 +1,6 @@
import { z } from "zod";
import { graphql } from "relay-runtime";
import { useFragment } from "react-relay"; import { useFragment } from "react-relay";
import { graphql } from "relay-runtime";
import { z } from "zod";
import type { import type {
useRiskFormFragment$data, useRiskFormFragment$data,

View File

@@ -1,13 +1,13 @@
import { z } from "zod";
import { graphql } from "relay-runtime";
import { useFragment } from "react-relay";
import { useTranslate } from "@probo/i18n"; import { useTranslate } from "@probo/i18n";
import { useEffect, useMemo } from "react"; import { useEffect, useMemo } from "react";
import { useFragment } from "react-relay";
import { graphql } from "relay-runtime";
import { z } from "zod";
import type { useVendorFormFragment$key } from "/__generated__/core/useVendorFormFragment.graphql"; import type { useVendorFormFragment$key } from "/__generated__/core/useVendorFormFragment.graphql";
import { useMutationWithToasts } from "../useMutationWithToasts";
import { useFormWithSchema } from "../useFormWithSchema"; import { useFormWithSchema } from "../useFormWithSchema";
import { useMutationWithToasts } from "../useMutationWithToasts";
const schema = z.object({ const schema = z.object({
name: z.string().min(1, "Name is required"), name: z.string().min(1, "Name is required"),

View File

@@ -1,8 +1,8 @@
import { graphql } from "relay-runtime";
import { useMutation } from "react-relay";
import { useConfirm } from "@probo/ui";
import { useTranslate } from "@probo/i18n";
import { promisifyMutation, sprintf } from "@probo/helpers"; import { promisifyMutation, sprintf } from "@probo/helpers";
import { useTranslate } from "@probo/i18n";
import { useConfirm } from "@probo/ui";
import { useMutation } from "react-relay";
import { graphql } from "relay-runtime";
import { useMutationWithToasts } from "../useMutationWithToasts"; import { useMutationWithToasts } from "../useMutationWithToasts";

View File

@@ -1,8 +1,8 @@
import { graphql } from "relay-runtime";
import { useMutation } from "react-relay";
import { useConfirm } from "@probo/ui";
import { useTranslate } from "@probo/i18n";
import { promisifyMutation, sprintf } from "@probo/helpers"; import { promisifyMutation, sprintf } from "@probo/helpers";
import { useTranslate } from "@probo/i18n";
import { useConfirm } from "@probo/ui";
import { useMutation } from "react-relay";
import { graphql } from "relay-runtime";
import { useMutationWithToasts } from "../useMutationWithToasts"; import { useMutationWithToasts } from "../useMutationWithToasts";

View File

@@ -1,8 +1,8 @@
import { graphql } from "relay-runtime";
import { useMutation } from "react-relay";
import { useConfirm } from "@probo/ui";
import { useTranslate } from "@probo/i18n";
import { promisifyMutation, sprintf } from "@probo/helpers"; import { promisifyMutation, sprintf } from "@probo/helpers";
import { useTranslate } from "@probo/i18n";
import { useConfirm } from "@probo/ui";
import { useMutation } from "react-relay";
import { graphql } from "relay-runtime";
import { useMutationWithToasts } from "../useMutationWithToasts"; import { useMutationWithToasts } from "../useMutationWithToasts";

View File

@@ -1,8 +1,8 @@
import { graphql } from "relay-runtime";
import { useMutation } from "react-relay";
import { useConfirm } from "@probo/ui";
import { useTranslate } from "@probo/i18n";
import { promisifyMutation, sprintf } from "@probo/helpers"; import { promisifyMutation, sprintf } from "@probo/helpers";
import { useTranslate } from "@probo/i18n";
import { useConfirm } from "@probo/ui";
import { useMutation } from "react-relay";
import { graphql } from "relay-runtime";
export const dataQuery = graphql` export const dataQuery = graphql`
query DatumGraphListQuery($organizationId: ID!, $snapshotId: ID = null) { query DatumGraphListQuery($organizationId: ID!, $snapshotId: ID = null) {

View File

@@ -1,10 +1,10 @@
import { useTranslate } from "@probo/i18n"; import { useTranslate } from "@probo/i18n";
import { graphql } from "relay-runtime"; import { graphql } from "relay-runtime";
import type { DocumentGraphBulkExportDocumentsMutation } from "/__generated__/core/DocumentGraphBulkExportDocumentsMutation.graphql";
import type { DocumentGraphDeleteDraftMutation } from "/__generated__/core/DocumentGraphDeleteDraftMutation.graphql";
import type { DocumentGraphDeleteMutation } from "/__generated__/core/DocumentGraphDeleteMutation.graphql"; import type { DocumentGraphDeleteMutation } from "/__generated__/core/DocumentGraphDeleteMutation.graphql";
import type { DocumentGraphSendSigningNotificationsMutation } from "/__generated__/core/DocumentGraphSendSigningNotificationsMutation.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"; import { useMutationWithToasts } from "../useMutationWithToasts";

View File

@@ -1,8 +1,8 @@
import { graphql } from "relay-runtime";
import { useCallback } from "react";
import { sprintf } from "@probo/helpers"; import { sprintf } from "@probo/helpers";
import { useTranslate } from "@probo/i18n"; import { useTranslate } from "@probo/i18n";
import { useConfirm } from "@probo/ui"; import { useConfirm } from "@probo/ui";
import { useCallback } from "react";
import { graphql } from "relay-runtime";
import { useMutationWithToasts } from "../useMutationWithToasts"; import { useMutationWithToasts } from "../useMutationWithToasts";

View File

@@ -1,8 +1,8 @@
import { graphql } from "relay-runtime";
import { useMutation } from "react-relay";
import { useConfirm } from "@probo/ui";
import { useTranslate } from "@probo/i18n";
import { promisifyMutation, sprintf } from "@probo/helpers"; import { promisifyMutation, sprintf } from "@probo/helpers";
import { useTranslate } from "@probo/i18n";
import { useConfirm } from "@probo/ui";
import { useMutation } from "react-relay";
import { graphql } from "relay-runtime";
import { useMutationWithToasts } from "../useMutationWithToasts"; import { useMutationWithToasts } from "../useMutationWithToasts";

View File

@@ -1,8 +1,8 @@
import { graphql } from "relay-runtime";
import { useMutation } from "react-relay";
import { useConfirm } from "@probo/ui";
import { useTranslate } from "@probo/i18n";
import { promisifyMutation } from "@probo/helpers"; import { promisifyMutation } from "@probo/helpers";
import { useTranslate } from "@probo/i18n";
import { useConfirm } from "@probo/ui";
import { useMutation } from "react-relay";
import { graphql } from "relay-runtime";
import { useMutationWithToasts } from "../useMutationWithToasts"; import { useMutationWithToasts } from "../useMutationWithToasts";

View File

@@ -1,24 +1,24 @@
import { graphql } from "relay-runtime";
import { import {
formatError,
type GraphQLError,
promisifyMutation,
sprintf,
} from "@probo/helpers";
import { useTranslate } from "@probo/i18n";
import { useConfirm, useToast } from "@probo/ui";
import { useMemo } from "react";
import {
type PreloadedQuery,
useLazyLoadQuery, useLazyLoadQuery,
useMutation, useMutation,
usePaginationFragment, usePaginationFragment,
usePreloadedQuery, usePreloadedQuery,
type PreloadedQuery,
} from "react-relay"; } from "react-relay";
import { useMemo } from "react"; import { graphql } from "relay-runtime";
import { useConfirm, useToast } from "@probo/ui";
import {
promisifyMutation,
sprintf,
formatError,
type GraphQLError,
} 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 { PeopleGraphDeleteMutation } from "/__generated__/core/PeopleGraphDeleteMutation.graphql";
import type { PeopleGraphPaginatedFragment$key } from "/__generated__/core/PeopleGraphPaginatedFragment.graphql";
import type { PeopleGraphPaginatedQuery } from "/__generated__/core/PeopleGraphPaginatedQuery.graphql";
import type { PeopleGraphQuery } from "/__generated__/core/PeopleGraphQuery.graphql"; import type { PeopleGraphQuery } from "/__generated__/core/PeopleGraphQuery.graphql";
export const peopleQuery = graphql` export const peopleQuery = graphql`

View File

@@ -1,8 +1,8 @@
import { graphql } from "relay-runtime";
import { useMutation } from "react-relay";
import { useConfirm } from "@probo/ui";
import { useTranslate } from "@probo/i18n";
import { promisifyMutation, sprintf } from "@probo/helpers"; import { promisifyMutation, sprintf } from "@probo/helpers";
import { useTranslate } from "@probo/i18n";
import { useConfirm } from "@probo/ui";
import { useMutation } from "react-relay";
import { graphql } from "relay-runtime";
import { useMutationWithToasts } from "../useMutationWithToasts"; import { useMutationWithToasts } from "../useMutationWithToasts";

View File

@@ -1,8 +1,8 @@
import { graphql } from "relay-runtime";
import { useMutation } from "react-relay";
import { useConfirm } from "@probo/ui";
import { useTranslate } from "@probo/i18n";
import { promisifyMutation, sprintf } from "@probo/helpers"; import { promisifyMutation, sprintf } from "@probo/helpers";
import { useTranslate } from "@probo/i18n";
import { useConfirm } from "@probo/ui";
import { useMutation } from "react-relay";
import { graphql } from "relay-runtime";
import { useMutationWithToasts } from "../useMutationWithToasts"; import { useMutationWithToasts } from "../useMutationWithToasts";

View File

@@ -1,14 +1,14 @@
import { graphql } from "relay-runtime";
import { useTranslate } from "@probo/i18n"; import { useTranslate } from "@probo/i18n";
import { import {
usePreloadedQuery,
usePaginationFragment,
type PreloadedQuery, type PreloadedQuery,
usePaginationFragment,
usePreloadedQuery,
} from "react-relay"; } from "react-relay";
import { graphql } from "relay-runtime";
import type { RiskGraphDeleteMutation } from "/__generated__/core/RiskGraphDeleteMutation.graphql.ts"; 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 type { RiskGraphFragment$key } from "/__generated__/core/RiskGraphFragment.graphql.ts";
import type { RiskGraphListQuery } from "/__generated__/core/RiskGraphListQuery.graphql.ts";
import { useMutationWithToasts } from "../useMutationWithToasts.ts"; import { useMutationWithToasts } from "../useMutationWithToasts.ts";

View File

@@ -1,8 +1,8 @@
import { graphql } from "relay-runtime";
import { useMutation } from "react-relay";
import { useConfirm } from "@probo/ui";
import { useTranslate } from "@probo/i18n";
import { promisifyMutation, sprintf } from "@probo/helpers"; import { promisifyMutation, sprintf } from "@probo/helpers";
import { useTranslate } from "@probo/i18n";
import { useConfirm } from "@probo/ui";
import { useMutation } from "react-relay";
import { graphql } from "relay-runtime";
import { useMutationWithToasts } from "../useMutationWithToasts"; import { useMutationWithToasts } from "../useMutationWithToasts";

View File

@@ -1,18 +1,18 @@
import { graphql } from "relay-runtime";
import { import {
formatError,
type GraphQLError,
promisifyMutation,
sprintf,
} from "@probo/helpers";
import { useTranslate } from "@probo/i18n";
import { useConfirm, useToast } from "@probo/ui";
import {
type PreloadedQuery,
useMutation, useMutation,
usePaginationFragment, usePaginationFragment,
usePreloadedQuery, usePreloadedQuery,
type PreloadedQuery,
} from "react-relay"; } from "react-relay";
import { useConfirm, useToast } from "@probo/ui"; import { graphql } from "relay-runtime";
import {
promisifyMutation,
sprintf,
formatError,
type GraphQLError,
} from "@probo/helpers";
import { useTranslate } from "@probo/i18n";
import type { StateOfApplicabilityGraphDeleteMutation } from "/__generated__/core/StateOfApplicabilityGraphDeleteMutation.graphql"; import type { StateOfApplicabilityGraphDeleteMutation } from "/__generated__/core/StateOfApplicabilityGraphDeleteMutation.graphql";
import type { StateOfApplicabilityGraphPaginatedFragment$key } from "/__generated__/core/StateOfApplicabilityGraphPaginatedFragment.graphql"; import type { StateOfApplicabilityGraphPaginatedFragment$key } from "/__generated__/core/StateOfApplicabilityGraphPaginatedFragment.graphql";

View File

@@ -1,10 +1,10 @@
import { graphql, useLazyLoadQuery, usePaginationFragment } from "react-relay"; import { graphql, useLazyLoadQuery, usePaginationFragment } from "react-relay";
import type { TrustCenterAccessGraphQuery } from "/__generated__/core/TrustCenterAccessGraphQuery.graphql";
import type { import type {
TrustCenterAccessGraph_accesses$data, TrustCenterAccessGraph_accesses$data,
TrustCenterAccessGraph_accesses$key, TrustCenterAccessGraph_accesses$key,
} from "/__generated__/core/TrustCenterAccessGraph_accesses.graphql"; } from "/__generated__/core/TrustCenterAccessGraph_accesses.graphql";
import type { TrustCenterAccessGraphQuery } from "/__generated__/core/TrustCenterAccessGraphQuery.graphql";
export const trustCenterAccessesPaginationFragment = graphql` export const trustCenterAccessesPaginationFragment = graphql`
fragment TrustCenterAccessGraph_accesses on TrustCenter fragment TrustCenterAccessGraph_accesses on TrustCenter

View File

@@ -1,8 +1,8 @@
import { graphql } from "relay-runtime";
import { useTranslate } from "@probo/i18n"; import { useTranslate } from "@probo/i18n";
import { graphql } from "relay-runtime";
import { useMutationWithToasts } from "/hooks/useMutationWithToasts";
import type { TrustCenterAuditGraphUpdateMutation } from "/__generated__/core/TrustCenterAuditGraphUpdateMutation.graphql"; import type { TrustCenterAuditGraphUpdateMutation } from "/__generated__/core/TrustCenterAuditGraphUpdateMutation.graphql";
import { useMutationWithToasts } from "/hooks/useMutationWithToasts";
export const trustCenterAuditUpdateMutation = graphql` export const trustCenterAuditUpdateMutation = graphql`
mutation TrustCenterAuditGraphUpdateMutation($input: UpdateAuditInput!) { mutation TrustCenterAuditGraphUpdateMutation($input: UpdateAuditInput!) {

View File

@@ -1,8 +1,8 @@
import { graphql } from "relay-runtime";
import { useTranslate } from "@probo/i18n"; import { useTranslate } from "@probo/i18n";
import { graphql } from "relay-runtime";
import { useMutationWithToasts } from "/hooks/useMutationWithToasts";
import type { TrustCenterDocumentGraphUpdateMutation } from "/__generated__/core/TrustCenterDocumentGraphUpdateMutation.graphql"; import type { TrustCenterDocumentGraphUpdateMutation } from "/__generated__/core/TrustCenterDocumentGraphUpdateMutation.graphql";
import { useMutationWithToasts } from "/hooks/useMutationWithToasts";
export const trustCenterDocumentsQuery = graphql` export const trustCenterDocumentsQuery = graphql`
query TrustCenterDocumentGraphQuery($organizationId: ID!) { query TrustCenterDocumentGraphQuery($organizationId: ID!) {

View File

@@ -1,7 +1,7 @@
import { graphql } from "relay-runtime"; import { graphql } from "relay-runtime";
import { useMutationWithToasts } from "/hooks/useMutationWithToasts";
import type { TrustCenterGraphUpdateMutation } from "/__generated__/core/TrustCenterGraphUpdateMutation.graphql"; import type { TrustCenterGraphUpdateMutation } from "/__generated__/core/TrustCenterGraphUpdateMutation.graphql";
import { useMutationWithToasts } from "/hooks/useMutationWithToasts";
export const trustCenterQuery = graphql` export const trustCenterQuery = graphql`
query TrustCenterGraphQuery($organizationId: ID!) { query TrustCenterGraphQuery($organizationId: ID!) {

View File

@@ -1,10 +1,10 @@
import { graphql } from "react-relay"; import { graphql } from "react-relay";
import { useMutationWithToasts } from "/hooks/useMutationWithToasts";
import type { TrustCenterReferenceGraphCreateMutation } from "/__generated__/core/TrustCenterReferenceGraphCreateMutation.graphql"; import type { TrustCenterReferenceGraphCreateMutation } from "/__generated__/core/TrustCenterReferenceGraphCreateMutation.graphql";
import type { TrustCenterReferenceGraphDeleteMutation } from "/__generated__/core/TrustCenterReferenceGraphDeleteMutation.graphql";
import type { TrustCenterReferenceGraphUpdateMutation } from "/__generated__/core/TrustCenterReferenceGraphUpdateMutation.graphql"; import type { TrustCenterReferenceGraphUpdateMutation } from "/__generated__/core/TrustCenterReferenceGraphUpdateMutation.graphql";
import type { TrustCenterReferenceGraphUpdateRankMutation } from "/__generated__/core/TrustCenterReferenceGraphUpdateRankMutation.graphql"; import type { TrustCenterReferenceGraphUpdateRankMutation } from "/__generated__/core/TrustCenterReferenceGraphUpdateRankMutation.graphql";
import type { TrustCenterReferenceGraphDeleteMutation } from "/__generated__/core/TrustCenterReferenceGraphDeleteMutation.graphql"; import { useMutationWithToasts } from "/hooks/useMutationWithToasts";
export const trustCenterReferencesQuery = graphql` export const trustCenterReferencesQuery = graphql`
query TrustCenterReferenceGraphQuery($trustCenterId: ID!) { query TrustCenterReferenceGraphQuery($trustCenterId: ID!) {

View File

@@ -1,8 +1,8 @@
import { graphql } from "relay-runtime";
import { useTranslate } from "@probo/i18n"; import { useTranslate } from "@probo/i18n";
import { graphql } from "relay-runtime";
import { useMutationWithToasts } from "/hooks/useMutationWithToasts";
import type { TrustCenterVendorGraphUpdateMutation } from "/__generated__/core/TrustCenterVendorGraphUpdateMutation.graphql"; import type { TrustCenterVendorGraphUpdateMutation } from "/__generated__/core/TrustCenterVendorGraphUpdateMutation.graphql";
import { useMutationWithToasts } from "/hooks/useMutationWithToasts";
export const trustCenterVendorUpdateMutation = graphql` export const trustCenterVendorUpdateMutation = graphql`
mutation TrustCenterVendorGraphUpdateMutation($input: UpdateVendorInput!) { mutation TrustCenterVendorGraphUpdateMutation($input: UpdateVendorInput!) {

View File

@@ -1,13 +1,13 @@
import { useTranslate } from "@probo/i18n";
import { graphql } from "relay-runtime";
import { useMutation, useLazyLoadQuery } from "react-relay";
import { useConfirm } from "@probo/ui";
import { promisifyMutation, sprintf } from "@probo/helpers"; import { promisifyMutation, sprintf } from "@probo/helpers";
import { useTranslate } from "@probo/i18n";
import { useConfirm } from "@probo/ui";
import { useMemo } from "react"; import { useMemo } from "react";
import { useLazyLoadQuery, useMutation } from "react-relay";
import { graphql } from "relay-runtime";
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 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 { useMutationWithToasts } from "../useMutationWithToasts.ts"; import { useMutationWithToasts } from "../useMutationWithToasts.ts";

View File

@@ -1,7 +1,7 @@
import { graphql, useLazyLoadQuery, usePaginationFragment } from "react-relay"; import { graphql, useLazyLoadQuery, usePaginationFragment } from "react-relay";
import type { usePaginatedMeasuresQuery } from "/__generated__/core/usePaginatedMeasuresQuery.graphql";
import type { usePaginatedMeasuresFragment$key } from "/__generated__/core/usePaginatedMeasuresFragment.graphql"; import type { usePaginatedMeasuresFragment$key } from "/__generated__/core/usePaginatedMeasuresFragment.graphql";
import type { usePaginatedMeasuresQuery } from "/__generated__/core/usePaginatedMeasuresQuery.graphql";
const measuresQuery = graphql` const measuresQuery = graphql`
query usePaginatedMeasuresQuery($organizationId: ID!) { query usePaginatedMeasuresQuery($organizationId: ID!) {

View File

@@ -1,6 +1,6 @@
import { zodResolver } from "@hookform/resolvers/zod";
import { useForm } from "react-hook-form"; import { useForm } from "react-hook-form";
import type { z, ZodTypeAny } from "zod"; import type { z, ZodTypeAny } from "zod";
import { zodResolver } from "@hookform/resolvers/zod";
export function useFormWithSchema<T extends ZodTypeAny>( export function useFormWithSchema<T extends ZodTypeAny>(
schema: T, schema: T,

View File

@@ -1,5 +1,5 @@
import type { GraphQLTaggedNode } from "relay-runtime";
import { useMutation } from "react-relay"; import { useMutation } from "react-relay";
import type { GraphQLTaggedNode } from "relay-runtime";
export type MutationFieldUpdate<T extends Record<string, unknown>, TKey extends keyof T> = ( export type MutationFieldUpdate<T extends Record<string, unknown>, TKey extends keyof T> = (
field: TKey, field: TKey,

View File

@@ -1,3 +1,6 @@
import { formatError, type GraphQLError } from "@probo/helpers";
import { useTranslate } from "@probo/i18n";
import { useToast } from "@probo/ui";
import { useCallback } from "react"; import { useCallback } from "react";
import { import {
useMutation, useMutation,
@@ -10,9 +13,6 @@ import {
type GraphQLTaggedNode, type GraphQLTaggedNode,
type MutationParameters, type MutationParameters,
} from "relay-runtime"; } from "relay-runtime";
import { useToast } from "@probo/ui";
import { useTranslate } from "@probo/i18n";
import { formatError, type GraphQLError } from "@probo/helpers";
const defaultOptions = { const defaultOptions = {
field: "totalCount", field: "totalCount",

View File

@@ -1,9 +1,9 @@
import { formatError, type GraphQLError } from "@probo/helpers";
import { useTranslate } from "@probo/i18n";
import { useToast } from "@probo/ui";
import { useCallback } from "react"; import { useCallback } from "react";
import { useMutation, type UseMutationConfig } from "react-relay"; import { useMutation, type UseMutationConfig } from "react-relay";
import { useToast } from "@probo/ui"; import type { GraphQLTaggedNode, MutationParameters } from "relay-runtime";
import { useTranslate } from "@probo/i18n";
import type { MutationParameters, GraphQLTaggedNode } from "relay-runtime";
import { formatError, type GraphQLError } from "@probo/helpers";
/** /**
* A decorated useMutation hook that emits toast notifications on success or error. * A decorated useMutation hook that emits toast notifications on success or error.

View File

@@ -1,5 +1,5 @@
import { z, ZodError, type ZodTypeAny } from "zod";
import { useCallback, useMemo, useState } from "react"; import { useCallback, useMemo, useState } from "react";
import { z, ZodError, type ZodTypeAny } from "zod";
export function useStateWithSchema<T extends ZodTypeAny>( export function useStateWithSchema<T extends ZodTypeAny>(
schema: T, schema: T,

View File

@@ -1,6 +1,6 @@
import { useEffect, useRef, useState } from "react";
import MiniSearch from "minisearch";
import type { Vendor } from "@probo/vendors"; import type { Vendor } from "@probo/vendors";
import MiniSearch from "minisearch";
import { useEffect, useRef, useState } from "react";
export function useVendorSearch() { export function useVendorSearch() {
const searchRef = useRef<(s: string) => Vendor[]>(() => []); const searchRef = useRef<(s: string) => Vendor[]>(() => []);

View File

@@ -1,7 +1,7 @@
import { Outlet } from "react-router";
import { Logo, Button, IconArrowBoxLeft, useToast } from "@probo/ui";
import { useTranslate } from "@probo/i18n"; import { useTranslate } from "@probo/i18n";
import { Button, IconArrowBoxLeft, Logo, useToast } from "@probo/ui";
import type { ReactNode } from "react"; import type { ReactNode } from "react";
import { Outlet } from "react-router";
type Props = { type Props = {
organizationName: string; organizationName: string;

View File

@@ -1,17 +1,17 @@
import { useEffect, useState } from "react"; import { sprintf } from "@probo/helpers";
import { useSearchParams } from "react-router";
import { useTranslate } from "@probo/i18n"; import { useTranslate } from "@probo/i18n";
import { import {
Button, Button,
Card, Card,
IconCircleCheck,
IconCircleProgress,
Logo, Logo,
Spinner, Spinner,
IconCircleProgress,
IconCircleCheck,
} from "@probo/ui"; } from "@probo/ui";
import { useWindowSize } from "usehooks-ts";
import { clsx } from "clsx"; import { clsx } from "clsx";
import { sprintf } from "@probo/helpers"; import { useEffect, useState } from "react";
import { useSearchParams } from "react-router";
import { useWindowSize } from "usehooks-ts";
import { PDFPreview } from "../components/documents/PDFPreview"; import { PDFPreview } from "../components/documents/PDFPreview";

View File

@@ -1,5 +1,5 @@
import { graphql, usePreloadedQuery, type PreloadedQuery } from "react-relay";
import { useTranslate } from "@probo/i18n"; import { useTranslate } from "@probo/i18n";
import { graphql, type PreloadedQuery, usePreloadedQuery } from "react-relay";
import type { APIKeysPageQuery } from "/__generated__/iam/APIKeysPageQuery.graphql"; import type { APIKeysPageQuery } from "/__generated__/iam/APIKeysPageQuery.graphql";

View File

@@ -1,6 +1,6 @@
import { CenteredLayoutSkeleton } from "@probo/ui";
import { Suspense, useEffect } from "react"; import { Suspense, useEffect } from "react";
import { useQueryLoader } from "react-relay"; import { useQueryLoader } from "react-relay";
import { CenteredLayoutSkeleton } from "@probo/ui";
import type { APIKeysPageQuery } from "/__generated__/iam/APIKeysPageQuery.graphql"; import type { APIKeysPageQuery } from "/__generated__/iam/APIKeysPageQuery.graphql";
import { IAMRelayProvider } from "/providers/IAMRelayProvider"; import { IAMRelayProvider } from "/providers/IAMRelayProvider";

View File

@@ -1,14 +1,5 @@
import { useState } from "react";
import { Controller } from "react-hook-form";
import {
ConnectionHandler,
graphql,
useFragment,
useMutation,
} from "react-relay";
import { z } from "zod";
import { useTranslate } from "@probo/i18n";
import { formatError } from "@probo/helpers"; import { formatError } from "@probo/helpers";
import { useTranslate } from "@probo/i18n";
import { import {
Breadcrumb, Breadcrumb,
Button, Button,
@@ -24,10 +15,19 @@ import {
useDialogRef, useDialogRef,
useToast, useToast,
} from "@probo/ui"; } from "@probo/ui";
import { useState } from "react";
import { Controller } from "react-hook-form";
import {
ConnectionHandler,
graphql,
useFragment,
useMutation,
} from "react-relay";
import { z } from "zod";
import { useFormWithSchema } from "/hooks/useFormWithSchema";
import type { PersonalAPIKeyListFragment$key } from "/__generated__/iam/PersonalAPIKeyListFragment.graphql";
import type { PersonalAPIKeyListCreateMutation } from "/__generated__/iam/PersonalAPIKeyListCreateMutation.graphql"; import type { PersonalAPIKeyListCreateMutation } from "/__generated__/iam/PersonalAPIKeyListCreateMutation.graphql";
import type { PersonalAPIKeyListFragment$key } from "/__generated__/iam/PersonalAPIKeyListFragment.graphql";
import { useFormWithSchema } from "/hooks/useFormWithSchema";
import { PersonalAPIKeysTable } from "./PersonalAPIKeysTable"; import { PersonalAPIKeysTable } from "./PersonalAPIKeysTable";
import { PersonalAPIKeyTokenDialog } from "./PersonalAPIKeyTokenDialog"; import { PersonalAPIKeyTokenDialog } from "./PersonalAPIKeyTokenDialog";

View File

@@ -1,13 +1,13 @@
import { useTranslate } from "@probo/i18n";
import { formatDate, formatError, type GraphQLError } from "@probo/helpers"; import { formatDate, formatError, type GraphQLError } from "@probo/helpers";
import { useTranslate } from "@probo/i18n";
import { Button, Spinner, Td, Tr, useConfirm, useToast } from "@probo/ui"; 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 { clsx } from "clsx";
import { Suspense } from "react"; import { Suspense } from "react";
import { useFragment, useMutation } from "react-relay";
import { graphql } from "relay-runtime";
import type { PersonalAPIKeyRowFragment$key } from "/__generated__/iam/PersonalAPIKeyRowFragment.graphql";
import type { PersonalAPIKeyRow_revokeMutation } from "/__generated__/iam/PersonalAPIKeyRow_revokeMutation.graphql"; import type { PersonalAPIKeyRow_revokeMutation } from "/__generated__/iam/PersonalAPIKeyRow_revokeMutation.graphql";
import type { PersonalAPIKeyRowFragment$key } from "/__generated__/iam/PersonalAPIKeyRowFragment.graphql";
import { PersonalAPIKeyTokenAction } from "./PersonalAPIKeyTokenAction"; import { PersonalAPIKeyTokenAction } from "./PersonalAPIKeyTokenAction";

View File

@@ -1,13 +1,13 @@
import { formatError } from "@probo/helpers";
import { useTranslate } from "@probo/i18n"; import { useTranslate } from "@probo/i18n";
import { Button, useDialogRef, useToast } from "@probo/ui"; import { Button, useDialogRef, useToast } from "@probo/ui";
import { formatError } from "@probo/helpers";
import { useRefetchableFragment } from "react-relay"; import { useRefetchableFragment } from "react-relay";
import type { PersonalAPIKeyRowFragment$key } from "/__generated__/iam/PersonalAPIKeyRowFragment.graphql"; import type { PersonalAPIKeyRowFragment$key } from "/__generated__/iam/PersonalAPIKeyRowFragment.graphql";
import type { PersonalAPIKeyRowRefetchQuery } from "/__generated__/iam/PersonalAPIKeyRowRefetchQuery.graphql"; import type { PersonalAPIKeyRowRefetchQuery } from "/__generated__/iam/PersonalAPIKeyRowRefetchQuery.graphql";
import { PersonalAPIKeyTokenDialog } from "./PersonalAPIKeyTokenDialog";
import { personalAPIKeyRowFragment } from "./PersonalAPIKeyRow"; import { personalAPIKeyRowFragment } from "./PersonalAPIKeyRow";
import { PersonalAPIKeyTokenDialog } from "./PersonalAPIKeyTokenDialog";
export function PersonalAPIKeyTokenAction(props: { export function PersonalAPIKeyTokenAction(props: {
fKey: PersonalAPIKeyRowFragment$key; fKey: PersonalAPIKeyRowFragment$key;

View File

@@ -1,3 +1,5 @@
import { useCopy } from "@probo/hooks";
import { useTranslate } from "@probo/i18n";
import { import {
Breadcrumb, Breadcrumb,
Button, Button,
@@ -5,8 +7,6 @@ import {
DialogContent, DialogContent,
DialogFooter, DialogFooter,
} from "@probo/ui"; } from "@probo/ui";
import { useTranslate } from "@probo/i18n";
import { useCopy } from "@probo/hooks";
export function PersonalAPIKeyTokenDialog(props: { export function PersonalAPIKeyTokenDialog(props: {
dialogRef: React.RefObject<{ open: () => void; close: () => void } | null>; dialogRef: React.RefObject<{ open: () => void; close: () => void } | null>;

View File

@@ -1,12 +1,12 @@
import { formatError } from "@probo/helpers";
import { usePageTitle } from "@probo/hooks"; import { usePageTitle } from "@probo/hooks";
import { useTranslate } from "@probo/i18n"; import { useTranslate } from "@probo/i18n";
import { Button, Field, useToast } from "@probo/ui"; import { Button, Field, useToast } from "@probo/ui";
import { useState } from "react"; import { useState } from "react";
import { Link } from "react-router";
import { z } from "zod";
import { graphql } from "relay-runtime";
import { useMutation } from "react-relay"; import { useMutation } from "react-relay";
import { formatError } from "@probo/helpers"; import { Link } from "react-router";
import { graphql } from "relay-runtime";
import { z } from "zod";
import type { ForgotPasswordPageMutation } from "/__generated__/iam/ForgotPasswordPageMutation.graphql"; import type { ForgotPasswordPageMutation } from "/__generated__/iam/ForgotPasswordPageMutation.graphql";
import { useFormWithSchema } from "/hooks/useFormWithSchema"; import { useFormWithSchema } from "/hooks/useFormWithSchema";

View File

@@ -1,11 +1,11 @@
import { formatError, type GraphQLError } from "@probo/helpers";
import { usePageTitle } from "@probo/hooks"; import { usePageTitle } from "@probo/hooks";
import { useTranslate } from "@probo/i18n"; import { useTranslate } from "@probo/i18n";
import { Button, Field, useToast } from "@probo/ui"; import { Button, Field, useToast } from "@probo/ui";
import { Link, useNavigate, useSearchParams } from "react-router";
import { z } from "zod";
import { graphql } from "relay-runtime";
import { useMutation } from "react-relay"; import { useMutation } from "react-relay";
import { formatError, type GraphQLError } from "@probo/helpers"; import { Link, useNavigate, useSearchParams } from "react-router";
import { graphql } from "relay-runtime";
import { z } from "zod";
import type { ResetPasswordPageMutation } from "/__generated__/iam/ResetPasswordPageMutation.graphql"; import type { ResetPasswordPageMutation } from "/__generated__/iam/ResetPasswordPageMutation.graphql";
import { useFormWithSchema } from "/hooks/useFormWithSchema"; import { useFormWithSchema } from "/hooks/useFormWithSchema";

View File

@@ -1,15 +1,15 @@
import { formatError } from "@probo/helpers";
import { usePageTitle } from "@probo/hooks"; import { usePageTitle } from "@probo/hooks";
import { useTranslate } from "@probo/i18n"; import { useTranslate } from "@probo/i18n";
import { Button, Field, useToast } from "@probo/ui"; import { Button, Field, useToast } from "@probo/ui";
import { Link, useSearchParams } from "react-router";
import { z } from "zod";
import { useState } from "react"; import { useState } from "react";
import { graphql } from "relay-runtime";
import { useMutation } from "react-relay"; import { useMutation } from "react-relay";
import { formatError } from "@probo/helpers"; import { Link, useSearchParams } from "react-router";
import { graphql } from "relay-runtime";
import { z } from "zod";
import { useFormWithSchema } from "/hooks/useFormWithSchema";
import type { VerifyEmailPageMutation } from "/__generated__/iam/VerifyEmailPageMutation.graphql"; import type { VerifyEmailPageMutation } from "/__generated__/iam/VerifyEmailPageMutation.graphql";
import { useFormWithSchema } from "/hooks/useFormWithSchema";
const verifyEmailMutation = graphql` const verifyEmailMutation = graphql`
mutation VerifyEmailPageMutation($input: VerifyEmailInput!) { mutation VerifyEmailPageMutation($input: VerifyEmailInput!) {

View File

@@ -1,10 +1,10 @@
import { formatError, type GraphQLError } from "@probo/helpers";
import { useTranslate } from "@probo/i18n"; import { useTranslate } from "@probo/i18n";
import { Button, Field, IconChevronLeft, useToast } from "@probo/ui"; import { Button, Field, IconChevronLeft, useToast } from "@probo/ui";
import type { FormEventHandler } from "react"; import type { FormEventHandler } from "react";
import { useMutation } from "react-relay"; import { useMutation } from "react-relay";
import { Link } from "react-router"; import { Link } from "react-router";
import { graphql } from "relay-runtime"; import { graphql } from "relay-runtime";
import { formatError, type GraphQLError } from "@probo/helpers";
import type { PasswordSignInPageMutation } from "/__generated__/iam/PasswordSignInPageMutation.graphql"; import type { PasswordSignInPageMutation } from "/__generated__/iam/PasswordSignInPageMutation.graphql";

View File

@@ -1,10 +1,10 @@
import { useTranslate } from "@probo/i18n"; import { useTranslate } from "@probo/i18n";
import { Button, Field, IconChevronLeft, useToast } from "@probo/ui"; import { Button, Field, IconChevronLeft, useToast } from "@probo/ui";
import { useEffect, useState, type FormEventHandler } from "react"; import { type FormEventHandler, useEffect, useState } from "react";
import { import {
type PreloadedQuery,
usePreloadedQuery, usePreloadedQuery,
useQueryLoader, useQueryLoader,
type PreloadedQuery,
} from "react-relay"; } from "react-relay";
import { Link, useNavigate } from "react-router"; import { Link, useNavigate } from "react-router";
import { graphql } from "relay-runtime"; import { graphql } from "relay-runtime";

View File

@@ -1,11 +1,11 @@
import { formatError } from "@probo/helpers";
import { usePageTitle } from "@probo/hooks"; import { usePageTitle } from "@probo/hooks";
import { useTranslate } from "@probo/i18n"; import { useTranslate } from "@probo/i18n";
import { Button, Field, useToast } from "@probo/ui"; import { Button, Field, useToast } from "@probo/ui";
import { Link, useNavigate, useSearchParams } from "react-router";
import { z } from "zod";
import { graphql } from "relay-runtime";
import { useMutation } from "react-relay"; import { useMutation } from "react-relay";
import { formatError } from "@probo/helpers"; import { Link, useNavigate, useSearchParams } from "react-router";
import { graphql } from "relay-runtime";
import { z } from "zod";
import { useFormWithSchema } from "/hooks/useFormWithSchema"; import { useFormWithSchema } from "/hooks/useFormWithSchema";

Some files were not shown because too many files have changed in this diff Show More