chore(site): remove dead code (#9830)

This commit is contained in:
Bruno Quaresma
2023-09-26 10:05:24 -03:00
committed by GitHub
parent 93ef696b57
commit b0b9d32a2a
11 changed files with 20 additions and 316 deletions

View File

@ -79,7 +79,6 @@
"react-confetti": "6.1.0",
"react-date-range": "1.4.0",
"react-dom": "18.2.0",
"react-headless-tabs": "6.0.3",
"react-helmet-async": "1.3.0",
"react-markdown": "8.0.7",
"react-router-dom": "6.16.0",
@ -90,7 +89,7 @@
"remark-gfm": "3.0.1",
"rollup-plugin-visualizer": "5.9.0",
"semver": "7.5.3",
"sourcemapped-stacktrace": "1.1.11",
"ts-proto": "1.158.0",
"ts-prune": "0.10.3",
"tzdata": "1.0.30",
"ua-parser-js": "1.0.33",
@ -161,14 +160,12 @@
"msw": "1.3.0",
"prettier": "3.0.0",
"protobufjs": "7.2.4",
"resize-observer": "1.0.4",
"rxjs": "7.8.1",
"ssh2": "1.14.0",
"storybook": "7.4.0",
"storybook-addon-react-router-v6": "2.0.0",
"storybook-react-context": "0.6.0",
"ts-node": "10.9.1",
"ts-proto": "1.157.0",
"typescript": "5.2.2",
"vite-plugin-checker": "0.6.0",
"vite-plugin-turbosnap": "1.0.2"

78
site/pnpm-lock.yaml generated
View File

@ -153,9 +153,6 @@ dependencies:
react-dom:
specifier: 18.2.0
version: 18.2.0(react@18.2.0)
react-headless-tabs:
specifier: 6.0.3
version: 6.0.3(react-dom@18.2.0)(react@18.2.0)
react-helmet-async:
specifier: 1.3.0
version: 1.3.0(react-dom@18.2.0)(react@18.2.0)
@ -186,9 +183,9 @@ dependencies:
semver:
specifier: 7.5.3
version: 7.5.3
sourcemapped-stacktrace:
specifier: 1.1.11
version: 1.1.11
ts-proto:
specifier: 1.158.0
version: 1.158.0
ts-prune:
specifier: 0.10.3
version: 0.10.3
@ -395,9 +392,6 @@ devDependencies:
protobufjs:
specifier: 7.2.4
version: 7.2.4
resize-observer:
specifier: 1.0.4
version: 1.0.4
rxjs:
specifier: 7.8.1
version: 7.8.1
@ -416,9 +410,6 @@ devDependencies:
ts-node:
specifier: 10.9.1
version: 10.9.1(@swc/core@1.3.38)(@types/node@18.17.0)(typescript@5.2.2)
ts-proto:
specifier: 1.157.0
version: 1.157.0
typescript:
specifier: 5.2.2
version: 5.2.2
@ -3440,46 +3431,36 @@ packages:
/@protobufjs/aspromise@1.1.2:
resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==}
dev: true
/@protobufjs/base64@1.1.2:
resolution: {integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==}
dev: true
/@protobufjs/codegen@2.0.4:
resolution: {integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==}
dev: true
/@protobufjs/eventemitter@1.1.0:
resolution: {integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==}
dev: true
/@protobufjs/fetch@1.1.0:
resolution: {integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==}
dependencies:
'@protobufjs/aspromise': 1.1.2
'@protobufjs/inquire': 1.1.0
dev: true
/@protobufjs/float@1.0.2:
resolution: {integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==}
dev: true
/@protobufjs/inquire@1.1.0:
resolution: {integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==}
dev: true
/@protobufjs/path@1.1.2:
resolution: {integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==}
dev: true
/@protobufjs/pool@1.1.0:
resolution: {integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==}
dev: true
/@protobufjs/utf8@1.1.0:
resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==}
dev: true
/@radix-ui/number@1.0.1:
resolution: {integrity: sha512-T5gIdVO2mmPW3NNhjNgEP3cqMXjXL9UbO0BzWcXfvdBs+BohbQxvd/K5hSVKmn9/lbTdsQVKbUcP5WLCwvUbBg==}
@ -7024,7 +7005,7 @@ packages:
/case-anything@2.1.13:
resolution: {integrity: sha512-zlOQ80VrQ2Ue+ymH5OuM/DlDq64mEm+B9UTdHULv5osUMD6HalNTblf2b1u/m6QecjsnOkBpqVZ+XPwIVsy7Ng==}
engines: {node: '>=12.13'}
dev: true
dev: false
/ccount@2.0.1:
resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
@ -7687,7 +7668,7 @@ packages:
resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==}
engines: {node: '>=0.10'}
hasBin: true
dev: true
dev: false
/detect-libc@2.0.2:
resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==}
@ -7797,11 +7778,11 @@ packages:
engines: {node: '>=12'}
dev: true
/dprint-node@1.0.7:
resolution: {integrity: sha512-NTZOW9A7ipb0n7z7nC3wftvsbceircwVHSgzobJsEQa+7RnOMbhrfX5IflA6CtC4GA63DSAiHYXa4JKEy9F7cA==}
/dprint-node@1.0.8:
resolution: {integrity: sha512-iVKnUtYfGrYcW1ZAlfR/F59cUVL8QIhWoBJoSjkkdua/dkWIgjZfiLMeTjiB06X0ZLkQ0M2C1VbUj/CxkIf1zg==}
dependencies:
detect-libc: 1.0.3
dev: true
dev: false
/duplexify@3.7.1:
resolution: {integrity: sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==}
@ -10606,7 +10587,6 @@ packages:
/long@5.2.3:
resolution: {integrity: sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==}
dev: true
/longest-streak@3.1.0:
resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==}
@ -11888,7 +11868,6 @@ packages:
'@protobufjs/utf8': 1.1.0
'@types/node': 18.17.0
long: 5.2.3
dev: true
/proxy-addr@2.0.7:
resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==}
@ -12121,16 +12100,6 @@ packages:
resolution: {integrity: sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==}
dev: false
/react-headless-tabs@6.0.3(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-VBkN/P1Mpc/4WPcbl0Is+LvVzlqjWxX3G6kOxGQZX63zKaVpU0WP5NBS43JqqgZTG7nJ3JMYTHVXe79uTmRg7w==}
peerDependencies:
react: '>=16.8'
react-dom: '>=16.8'
dependencies:
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
/react-helmet-async@1.3.0(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==}
peerDependencies:
@ -12598,10 +12567,6 @@ packages:
resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==}
dev: false
/resize-observer@1.0.4:
resolution: {integrity: sha512-AQ2MdkWTng9d6JtjHvljiQR949qdae91pjSNugGGeOFzKIuLHvoZIYhUTjePla5hCFDwQHrnkciAIzjzdsTZew==}
dev: true
/resolve-cwd@3.0.0:
resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==}
engines: {node: '>=8'}
@ -12735,7 +12700,7 @@ packages:
/rxjs@7.8.1:
resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==}
dependencies:
tslib: 2.6.1
tslib: 2.6.2
dev: true
/sade@1.8.1:
@ -12971,12 +12936,6 @@ packages:
deprecated: Please use @jridgewell/sourcemap-codec instead
dev: false
/sourcemapped-stacktrace@1.1.11:
resolution: {integrity: sha512-O0pcWjJqzQFVsisPlPXuNawJHHg9N9UgpJ/aDmvi9+vnS3x1C0NhwkVFzzZ1VN0Xo+bekyweoqYvBw5ZBKiNnQ==}
dependencies:
source-map: 0.5.6
dev: false
/space-separated-tokens@1.1.5:
resolution: {integrity: sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==}
@ -13553,28 +13512,28 @@ packages:
yn: 3.1.1
dev: true
/ts-poet@6.5.0:
resolution: {integrity: sha512-44jURLT1HG6+NsDcadM826V6Ekux+wk07Go+MX5Gfx+8zcPKfUiFEtnjL9imuRVGSCRtloRLqw4bDGZVJYGZMQ==}
/ts-poet@6.6.0:
resolution: {integrity: sha512-4vEH/wkhcjRPFOdBwIh9ItO6jOoumVLRF4aABDX5JSNEubSqwOulihxQPqai+OkuygJm3WYMInxXQX4QwVNMuw==}
dependencies:
dprint-node: 1.0.7
dev: true
dprint-node: 1.0.8
dev: false
/ts-proto-descriptors@1.15.0:
resolution: {integrity: sha512-TYyJ7+H+7Jsqawdv+mfsEpZPTIj9siDHS6EMCzG/z3b/PZiphsX+mWtqFfFVe5/N0Th6V3elK9lQqjnrgTOfrg==}
dependencies:
long: 5.2.3
protobufjs: 7.2.4
dev: true
dev: false
/ts-proto@1.157.0:
resolution: {integrity: sha512-0f9rvHb+1aLG66UpFHh1QbZ5SMvKqV5EudUerHRF+C47g2wd8ZYXiVrK3VmsmLcNxmMrdi4vWgFNCH6qRg1SrA==}
/ts-proto@1.158.0:
resolution: {integrity: sha512-t5XcKYvdeeeinP4zBA+YXzRANMXacxPzqhs7hsmnD9RxfP1L+Ip858ii9Zdkp/UYW58N3q4wJKLdZfvnBmAk9w==}
hasBin: true
dependencies:
case-anything: 2.1.13
protobufjs: 7.2.4
ts-poet: 6.5.0
ts-poet: 6.6.0
ts-proto-descriptors: 1.15.0
dev: true
dev: false
/ts-prune@0.10.3:
resolution: {integrity: sha512-iS47YTbdIcvN8Nh/1BFyziyUqmjXz7GVzWu02RaZXqb+e/3Qe1B7IQ4860krOeCGUeJmterAlaM2FRH0Ue0hjw==}
@ -13602,6 +13561,7 @@ packages:
/tslib@2.6.1:
resolution: {integrity: sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==}
dev: false
/tslib@2.6.2:
resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}

View File

@ -1,130 +0,0 @@
import ListItem from "@mui/material/ListItem";
import { makeStyles } from "@mui/styles";
import CheckIcon from "@mui/icons-material/Check";
import { FC } from "react";
import { NavLink } from "react-router-dom";
import { ellipsizeText } from "utils/ellipsizeText";
import { Typography } from "components/Typography/Typography";
type BorderedMenuRowVariant = "narrow" | "wide";
interface BorderedMenuRowProps {
/** `true` indicates this row is currently selected */
active?: boolean;
/** Optional description that appears beneath the title */
description?: string;
/** URL path */
path: string;
/** Required title of this row */
title: string;
/** Defaults to `"wide"` */
variant?: BorderedMenuRowVariant;
/** Callback fired when this row is clicked */
onClick?: () => void;
}
export const BorderedMenuRow: FC<
React.PropsWithChildren<BorderedMenuRowProps>
> = ({ active, description, path, title, variant, onClick }) => {
const styles = useStyles();
return (
<NavLink className={styles.link} to={path}>
<ListItem
classes={{ gutters: styles.rootGutters }}
className={styles.root}
data-status={active ? "active" : "inactive"}
onClick={onClick}
>
<div className={styles.content} data-variant={variant}>
<div className={styles.contentTop}>
<Typography className={styles.title}>{title}</Typography>
{active && <CheckIcon className={styles.checkMark} />}
</div>
{description && (
<Typography
className={styles.description}
color="textSecondary"
variant="caption"
>
{ellipsizeText(description)}
</Typography>
)}
</div>
</ListItem>
</NavLink>
);
};
const iconSize = 20;
const useStyles = makeStyles((theme) => ({
root: {
cursor: "pointer",
padding: `0 ${theme.spacing(1)}`,
"&:hover": {
backgroundColor: "unset",
"& $content": {
backgroundColor: theme.palette.background.default,
},
},
"&[data-status='active']": {
color: theme.palette.secondary.dark,
"& .BorderedMenuRow-description": {
color: theme.palette.text.primary,
},
"& .BorderedMenuRow-icon": {
color: theme.palette.secondary.dark,
},
},
},
rootGutters: {
padding: `0 ${theme.spacing(1.5)}`,
},
content: {
borderRadius: theme.shape.borderRadius,
display: "flex",
flexDirection: "column",
padding: theme.spacing(2),
width: 320,
"&[data-variant='narrow']": {
width: 268,
},
},
contentTop: {
alignItems: "center",
display: "flex",
},
icon: {
color: theme.palette.text.secondary,
height: iconSize,
width: iconSize,
"& path": {
fill: theme.palette.text.secondary,
},
},
link: {
textDecoration: "none",
color: "inherit",
},
title: {
fontSize: 16,
fontWeight: 500,
lineHeight: 1.5,
marginLeft: theme.spacing(2),
},
checkMark: {
height: iconSize,
marginLeft: "auto",
width: iconSize,
},
description: {
marginLeft: theme.spacing(4.5),
marginTop: theme.spacing(0.5),
},
}));

View File

@ -1,12 +0,0 @@
import SvgIcon, { SvgIconProps } from "@mui/material/SvgIcon";
export const BuildingIcon = (props: SvgIconProps): JSX.Element => (
<SvgIcon {...props} viewBox="0 0 24 24">
<path
fillRule="evenodd"
clipRule="evenodd"
d="M2.96387 1.15222H17.3405V11.2377H21V22.8479L17.3405 22.8479L10.9364 22.8479H9.36801L2.96387 22.8479V1.15222ZM10.9364 21.2795V19.4498H9.36801V21.2795H4.53223V2.72058H15.7722V11.2377H15.7721V12.806H15.7722V21.2795H10.9364ZM17.3405 12.806V21.2795H19.4317V12.806H17.3405ZM9.10661 4.81173H6.62337V6.38009H9.10661V4.81173ZM11.1978 4.81173H13.681V6.38009H11.1978V4.81173ZM9.10661 8.47124H6.62337V10.0396H9.10661V8.47124ZM11.1978 8.47124H13.681V10.0396H11.1978V8.47124ZM9.10661 12.1307H6.62337V13.6991H9.10661V12.1307ZM11.1978 12.1307H13.681V13.6991H11.1978V12.1307ZM9.10661 15.7903H6.62337V17.3586H9.10661V15.7903ZM11.1978 15.7903H13.681V17.3586H11.1978V15.7903Z"
fill="currentColor"
/>
</SvgIcon>
);

View File

@ -1,12 +0,0 @@
import SvgIcon, { SvgIconProps } from "@mui/material/SvgIcon";
export const CloseIcon = (props: SvgIconProps) => (
<SvgIcon {...props} viewBox="0 0 31 31">
<path
d="M29.5 1.5l-28 28M29.5 29.5l-28-28"
stroke="currentcolor"
strokeMiterlimit="10"
strokeLinecap="square"
/>
</SvgIcon>
);

View File

@ -1,30 +0,0 @@
import SvgIcon, { SvgIconProps } from "@mui/material/SvgIcon";
export const UsersOutlinedIcon = (props: SvgIconProps) => (
<SvgIcon {...props} viewBox="0 0 20 20">
<svg
width="20"
height="20"
viewBox="0 0 20 20"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M18.75 18.75H17.5V15.625V15.625C17.498 13.8999 16.1001 12.502 14.375 12.5V11.25C16.7901 11.2527 18.7473 13.2099 18.75 15.625L18.75 18.75Z"
fill="#677693"
/>
<path
d="M13.75 18.75H12.5V15.625V15.6251C12.498 13.9001 11.1002 12.5021 9.3751 12.5H5.625C3.89995 12.502 2.50203 13.9 2.5 15.625V18.75H1.25V15.625L1.25 15.6251C1.25277 13.21 3.20982 11.2529 5.62489 11.25H9.37489C11.79 11.2528 13.7471 13.2099 13.7499 15.625L13.75 18.75Z"
fill="#677693"
/>
<path
d="M12.5 1.25V2.5C14.2259 2.5 15.625 3.89911 15.625 5.625C15.625 7.35089 14.2259 8.75 12.5 8.75V10C14.9162 10 16.875 8.04124 16.875 5.625C16.875 3.20876 14.9162 1.25 12.5 1.25Z"
fill="#677693"
/>
<path
d="M7.5 2.5C9.22589 2.5 10.625 3.89911 10.625 5.625C10.625 7.35089 9.22589 8.75 7.5 8.75C5.77411 8.75 4.375 7.35089 4.375 5.625V5.625C4.375 3.89911 5.77411 2.5 7.5 2.5V2.5ZM7.5 1.25H7.5C5.08376 1.25 3.125 3.20876 3.125 5.625C3.125 8.04124 5.08376 10 7.5 10C9.91624 10 11.875 8.04124 11.875 5.625C11.875 3.20876 9.91624 1.25 7.5 1.25L7.5 1.25Z"
fill="#677693"
/>
</svg>
</SvgIcon>
);

View File

@ -14,10 +14,6 @@ import { colors } from "theme/colors";
import { darcula } from "react-syntax-highlighter/dist/cjs/styles/prism";
import { combineClasses } from "utils/combineClasses";
export interface MarkdownProps {
children: string;
}
export const Markdown: FC<{ children: string; className?: string }> = ({
children,
className,

View File

@ -9,10 +9,6 @@ import {
TableToolbar,
} from "components/TableToolbar/TableToolbar";
export const Language = {
activeUsersFilterName: "Active users",
allUsersFilterName: "All users",
};
export interface UsersPageViewProps {
users?: TypesGen.User[];
count?: number;

View File

@ -1,5 +1,4 @@
export const borderRadius = 8;
export const borderRadiusSm = 6;
export const MONOSPACE_FONT_FAMILY =
"'IBM Plex Mono', 'Lucida Console', 'Lucida Sans Typewriter', 'Liberation Mono', 'Monaco', 'Courier New', Courier, monospace";
export const BODY_FONT_FAMILY = `"Inter", sans-serif`;
@ -7,5 +6,4 @@ export const navHeight = 62;
export const containerWidth = 1380;
export const containerWidthMedium = 1080;
export const sidePadding = 24;
export const CardPadding = 20;
export const dashboardContentBottomPadding = 8 * 6;

View File

@ -8,10 +8,6 @@ export const BUTTON_MD_HEIGHT = 36;
export const BUTTON_SM_HEIGHT = 32;
export type PaletteIndex = keyof Theme["palette"];
export type PaletteStatusIndex = Extract<
PaletteIndex,
"error" | "warning" | "info" | "success"
>;
export let dark = createTheme({
palette: {

View File

@ -1,55 +0,0 @@
import { assign, createMachine } from "xstate";
import * as TypeGen from "api/typesGenerated";
import * as API from "api/api";
export interface AuthMethodsContext {
authMethods?: TypeGen.AuthMethods;
error?: unknown;
}
export const authMethodsXService = createMachine(
{
id: "authMethods",
predictableActionArguments: true,
tsTypes: {} as import("./authMethodsXService.typegen").Typegen0,
schema: {
context: {} as AuthMethodsContext,
services: {} as {
getAuthMethods: {
data: TypeGen.AuthMethods;
};
},
},
context: {},
initial: "gettingAuthMethods",
states: {
gettingAuthMethods: {
invoke: {
src: "getAuthMethods",
onDone: {
target: "idle",
actions: ["assignAuthMethods"],
},
onError: {
target: "idle",
actions: ["setError"],
},
},
},
idle: {},
},
},
{
actions: {
assignAuthMethods: assign({
authMethods: (_, event) => event.data,
}),
setError: assign({
error: (_, event) => event.data,
}),
},
services: {
getAuthMethods: () => API.getAuthMethods(),
},
},
);