From 33557b1db70f1f676ee5c32373730a67cad0d8a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antti=20M=C3=A4ki?= Date: Fri, 10 Oct 2025 09:49:22 +0300 Subject: [PATCH 1/8] Sort imports for a slight improvement in clarity --- .../cyberstorm-remix/app/p/packageListing.tsx | 109 +++++++++--------- 1 file changed, 55 insertions(+), 54 deletions(-) diff --git a/apps/cyberstorm-remix/app/p/packageListing.tsx b/apps/cyberstorm-remix/app/p/packageListing.tsx index a93c36daa..879ff4929 100644 --- a/apps/cyberstorm-remix/app/p/packageListing.tsx +++ b/apps/cyberstorm-remix/app/p/packageListing.tsx @@ -1,14 +1,47 @@ -import type { - LoaderFunctionArgs, - ShouldRevalidateFunctionArgs, -} from "react-router"; +import { + memo, + type ReactElement, + Suspense, + useEffect, + useMemo, + useReducer, + useRef, + useState, +} from "react"; import { Await, Outlet, useLoaderData, useLocation, useOutletContext, + type LoaderFunctionArgs, + type ShouldRevalidateFunctionArgs, } from "react-router"; +import { useHydrated } from "remix-utils/use-hydrated"; +import { + faUsers, + faHandHoldingHeart, + faDownload, + faThumbsUp, + faWarning, + faCaretRight, + faScaleBalanced, + faCog, +} from "@fortawesome/free-solid-svg-icons"; +import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; +import { faArrowUpRight, faLips } from "@fortawesome/pro-solid-svg-icons"; + +import { CopyButton } from "app/commonComponents/CopyButton/CopyButton"; +import { PageHeader } from "app/commonComponents/PageHeader/PageHeader"; +import TeamMembers from "app/p/components/TeamMembers/TeamMembers"; +import { type OutletContextShape } from "app/root"; +import { useStrongForm } from "cyberstorm/utils/StrongForm/useStrongForm"; +import { isPromise } from "cyberstorm/utils/typeChecks"; +import { + getPublicEnvVariables, + getSessionTools, +} from "cyberstorm/security/publicEnvVariables"; + import { Drawer, Heading, @@ -23,65 +56,33 @@ import { SkeletonBox, Tabs, } from "@thunderstore/cyberstorm"; -import "./packageListing.css"; -import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; -import { - fetchPackagePermissions, - packageListingApprove, - packageListingReject, - packageListingReport, - type PackageListingReportRequestData, - type RequestConfig, -} from "@thunderstore/thunderstore-api"; -import { ThunderstoreLogo } from "@thunderstore/cyberstorm/src/svg/svg"; -import { - faUsers, - faHandHoldingHeart, - faDownload, - faThumbsUp, - faWarning, - faCaretRight, - faScaleBalanced, - faCog, -} from "@fortawesome/free-solid-svg-icons"; -import TeamMembers from "./components/TeamMembers/TeamMembers"; -import { - memo, - type ReactElement, - Suspense, - useEffect, - useMemo, - useReducer, - useRef, - useState, -} from "react"; -import { useHydrated } from "remix-utils/use-hydrated"; -import { PackageLikeAction } from "@thunderstore/cyberstorm-forms"; -import { PageHeader } from "~/commonComponents/PageHeader/PageHeader"; -import { faArrowUpRight, faLips } from "@fortawesome/pro-solid-svg-icons"; import { RelativeTime } from "@thunderstore/cyberstorm/src/components/RelativeTime/RelativeTime"; +import type { SelectOption } from "@thunderstore/cyberstorm/src/newComponents/Select/Select"; +import { useToast } from "@thunderstore/cyberstorm/src/newComponents/Toast/Provider"; import { formatFileSize, formatInteger, formatToDisplayName, } from "@thunderstore/cyberstorm/src/utils/utils"; -import { DapperTs } from "@thunderstore/dapper-ts"; -import { type OutletContextShape } from "~/root"; -import { CopyButton } from "~/commonComponents/CopyButton/CopyButton"; -import { - getPublicEnvVariables, - getSessionTools, -} from "cyberstorm/security/publicEnvVariables"; -import { useToast } from "@thunderstore/cyberstorm/src/newComponents/Toast/Provider"; -import { ApiAction } from "@thunderstore/ts-api-react-actions"; +import { ThunderstoreLogo } from "@thunderstore/cyberstorm/src/svg/svg"; +import { PackageLikeAction } from "@thunderstore/cyberstorm-forms"; import type { TagVariants } from "@thunderstore/cyberstorm-theme/src/components"; -import type { SelectOption } from "@thunderstore/cyberstorm/src/newComponents/Select/Select"; -import { useStrongForm } from "cyberstorm/utils/StrongForm/useStrongForm"; -import { getPackageListingDetails } from "@thunderstore/dapper-ts/src/methods/packageListings"; +import { DapperTs } from "@thunderstore/dapper-ts"; +import type { CurrentUser } from "@thunderstore/dapper/types"; import { getCommunity } from "@thunderstore/dapper-ts/src/methods/communities"; +import { getPackageListingDetails } from "@thunderstore/dapper-ts/src/methods/packageListings"; import { getTeamDetails } from "@thunderstore/dapper-ts/src/methods/team"; -import type { CurrentUser } from "@thunderstore/dapper/types"; -import { isPromise } from "cyberstorm/utils/typeChecks"; +import { + fetchPackagePermissions, + packageListingApprove, + packageListingReject, + packageListingReport, + type PackageListingReportRequestData, + type RequestConfig, +} from "@thunderstore/thunderstore-api"; +import { ApiAction } from "@thunderstore/ts-api-react-actions"; + +import "./packageListing.css"; type PackageListingOutletContext = OutletContextShape & { packageDownloadUrl?: string; From 7fadeba9a2fd1634df6b7933826d672831fefbf3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antti=20M=C3=A4ki?= Date: Fri, 10 Oct 2025 10:02:04 +0300 Subject: [PATCH 2/8] Sort Cyberstorm package exports There seemed to be some system where components were grouped by their import path, but then that system wasn't actually followed in all cases. In addition to fixing this issue, sort the exports alphabetically by their paths within the group. --- packages/cyberstorm/src/index.ts | 102 +++++++++++++++---------------- 1 file changed, 51 insertions(+), 51 deletions(-) diff --git a/packages/cyberstorm/src/index.ts b/packages/cyberstorm/src/index.ts index bbc3582b0..7399039ce 100644 --- a/packages/cyberstorm/src/index.ts +++ b/packages/cyberstorm/src/index.ts @@ -1,17 +1,6 @@ import { config } from "@fortawesome/fontawesome-svg-core"; config.autoAddCss = false; -export { CodeBox, type CodeBoxProps } from "./components/CodeBox/CodeBox"; -export * as EmptyState from "./newComponents/EmptyState"; - -export { CyberstormLink } from "./components/Links/Links"; -export { ValidationBar } from "./components/ValidationBar/ValidationBar"; -export { - TextAreaInput, - type TextAreaInputProps, -} from "./components/TextAreaInput/TextAreaInput"; -export { Tooltip, type TooltipProps } from "./newComponents/Tooltip/Tooltip"; - // primitiveComponents export { Actionable, @@ -37,34 +26,60 @@ export { } from "./primitiveComponents/Input/Input"; export { type PrimitiveComponentDefaultProps } from "./primitiveComponents/utils/utils"; +// components +export { CodeBox, type CodeBoxProps } from "./components/CodeBox/CodeBox"; +export { + LinkingProvider, + type LinkLibrary, + LinkingContext, + type ThunderstoreLinkProps, + thunderstoreLinkProps, +} from "./components/Links/LinkingProvider"; +export { CyberstormLink } from "./components/Links/Links"; +export { + TextAreaInput, + type TextAreaInputProps, +} from "./components/TextAreaInput/TextAreaInput"; +export { ValidationBar } from "./components/ValidationBar/ValidationBar"; + // newComponents -export { Avatar as NewAvatar } from "./newComponents/Avatar/Avatar"; -export { Menu } from "./newComponents/Menu/Menu"; -export { Drawer } from "./newComponents/Drawer/Drawer"; -export { Modal, type ModalProps } from "./newComponents/Modal/Modal"; -export { Heading } from "./newComponents/Heading/Heading"; -export { CardCommunity } from "./newComponents/Card/CardCommunity/CardCommunity"; -export { CardPackage } from "./newComponents/Card/CardPackage/CardPackage"; +export { AdContainer } from "./newComponents/AdContainer/AdContainer"; export { - Link as NewLink, - type LinkProps as NewLinkProps, - type CyberstormLinkProps as NewCyberstormLinkProps, -} from "./newComponents/Link/Link"; -export { Button as NewButton } from "./newComponents/Button/Button"; -export { CycleButton } from "./newComponents/CycleButton/CycleButton"; + Alert as NewAlert, + type AlertProps as NewAlertProps, +} from "./newComponents/Alert/Alert"; +export { Avatar as NewAvatar } from "./newComponents/Avatar/Avatar"; export { BreadCrumbs as NewBreadCrumbs, BreadCrumbsLink as NewBreadCrumbsLink, } from "./newComponents/BreadCrumbs/BreadCrumbs"; -export { Toast } from "./newComponents/Toast/Toast"; -export { - TextInput as NewTextInput, - type TextInputProps as NewTextInputProps, -} from "./newComponents/TextInput/TextInput"; +export { Button as NewButton } from "./newComponents/Button/Button"; +export { CardCommunity } from "./newComponents/Card/CardCommunity/CardCommunity"; +export { CardPackage } from "./newComponents/Card/CardPackage/CardPackage"; export { CodeInput, type CodeInputProps, } from "./newComponents/CodeInput/CodeInput"; +export { CycleButton } from "./newComponents/CycleButton/CycleButton"; +export { Drawer } from "./newComponents/Drawer/Drawer"; +export { + DropDown as NewDropDown, + DropDownItem as NewDropDownItem, + DropDownDivider as NewDropDownDivider, +} from "./newComponents/DropDown/DropDown"; +export * as EmptyState from "./newComponents/EmptyState"; +export { Heading } from "./newComponents/Heading/Heading"; +export { Icon as NewIcon } from "./newComponents/Icon/Icon"; +export { Image } from "./newComponents/Image/Image"; +export { + Link as NewLink, + type LinkProps as NewLinkProps, + type CyberstormLinkProps as NewCyberstormLinkProps, +} from "./newComponents/Link/Link"; +export { Menu } from "./newComponents/Menu/Menu"; +export { MetaItem as NewMetaItem } from "./newComponents/MetaItem/MetaItem"; +export { Modal, type ModalProps } from "./newComponents/Modal/Modal"; +export { Pagination as NewPagination } from "./newComponents/Pagination/Pagination"; export { Select as NewSelect, type SelectProps as NewSelectProps, @@ -74,23 +89,14 @@ export { type SelectSearchProps as NewSelectSearchProps, type SelectOption as NewSelectOption, } from "./newComponents/SelectSearch/SelectSearch"; +export { SkeletonBox } from "./newComponents/SkeletonBox/SkeletonBox"; export { Switch as NewSwitch } from "./newComponents/Switch/Switch"; -export { Icon as NewIcon } from "./newComponents/Icon/Icon"; export { Tag as NewTag } from "./newComponents/Tag/Tag"; export { - Alert as NewAlert, - type AlertProps as NewAlertProps, -} from "./newComponents/Alert/Alert"; -export { MetaItem as NewMetaItem } from "./newComponents/MetaItem/MetaItem"; -export { Pagination as NewPagination } from "./newComponents/Pagination/Pagination"; -export { - DropDown as NewDropDown, - DropDownItem as NewDropDownItem, - DropDownDivider as NewDropDownDivider, -} from "./newComponents/DropDown/DropDown"; -export { Image } from "./newComponents/Image/Image"; -export { AdContainer } from "./newComponents/AdContainer/AdContainer"; -export { Tabs } from "./newComponents/Tabs/Tabs"; + TextInput as NewTextInput, + type TextInputProps as NewTextInputProps, +} from "./newComponents/TextInput/TextInput"; +export { Toast } from "./newComponents/Toast/Toast"; export { Table as NewTable, TableSort as NewTableSort, @@ -99,15 +105,9 @@ export { type TableRows as NewTableRows, type TableLabels as NewTableLabels, } from "./newComponents/Table/Table"; -export { SkeletonBox } from "./newComponents/SkeletonBox/SkeletonBox"; +export { Tabs } from "./newComponents/Tabs/Tabs"; +export { Tooltip, type TooltipProps } from "./newComponents/Tooltip/Tooltip"; // Utils export { isNode, isRecord, isStringArray } from "./utils/type_guards"; export { range, formatToDisplayName } from "./utils/utils"; -export { - LinkingProvider, - type LinkLibrary, - LinkingContext, - type ThunderstoreLinkProps, - thunderstoreLinkProps, -} from "./components/Links/LinkingProvider"; From 0ae23c0d04d93d90e3f6a9bd33576487602c5d21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antti=20M=C3=A4ki?= Date: Fri, 10 Oct 2025 10:10:26 +0300 Subject: [PATCH 3/8] @thunderstore/cyberstorm: export RelativeTime --- apps/cyberstorm-remix/app/p/packageListing.tsx | 2 +- packages/cyberstorm/src/index.ts | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/cyberstorm-remix/app/p/packageListing.tsx b/apps/cyberstorm-remix/app/p/packageListing.tsx index 879ff4929..c6062d511 100644 --- a/apps/cyberstorm-remix/app/p/packageListing.tsx +++ b/apps/cyberstorm-remix/app/p/packageListing.tsx @@ -53,10 +53,10 @@ import { NewSelect, NewTag, NewTextInput, + RelativeTime, SkeletonBox, Tabs, } from "@thunderstore/cyberstorm"; -import { RelativeTime } from "@thunderstore/cyberstorm/src/components/RelativeTime/RelativeTime"; import type { SelectOption } from "@thunderstore/cyberstorm/src/newComponents/Select/Select"; import { useToast } from "@thunderstore/cyberstorm/src/newComponents/Toast/Provider"; import { diff --git a/packages/cyberstorm/src/index.ts b/packages/cyberstorm/src/index.ts index 7399039ce..6beef4fab 100644 --- a/packages/cyberstorm/src/index.ts +++ b/packages/cyberstorm/src/index.ts @@ -36,6 +36,7 @@ export { thunderstoreLinkProps, } from "./components/Links/LinkingProvider"; export { CyberstormLink } from "./components/Links/Links"; +export { RelativeTime } from "./components/RelativeTime/RelativeTime"; export { TextAreaInput, type TextAreaInputProps, From 9e1012160038e449f8ef85ef039d0c2f9ce8d3fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antti=20M=C3=A4ki?= Date: Fri, 10 Oct 2025 10:27:36 +0300 Subject: [PATCH 4/8] @thunderstore/cyberstorm: define and export SelectOption once Both Select and SelectSearch defined SelectOption, but only one of them exported it. Perhaps this was an attempt to avoid naming conflict, but in practice it forces @thunderstorm/cyberstorm-remix to either import using a direct path (breaking the separation of packages) or use the SelectOption defined in the sister component. Neither is ideal, so the type is now defined once in a helper file and imported/exported from there for everyone to use. --- .../cyberstorm-remix/app/p/packageListing.tsx | 2 +- .../teams/team/tabs/Members/Members.tsx | 2 +- .../SelectSearch.stories.tsx | 20 +++++++++---------- packages/cyberstorm/src/index.ts | 2 +- .../src/newComponents/Select/Select.tsx | 7 +------ .../SelectSearch/SelectSearch.tsx | 9 ++------- packages/cyberstorm/src/utils/types.ts | 7 +++++++ 7 files changed, 23 insertions(+), 26 deletions(-) create mode 100644 packages/cyberstorm/src/utils/types.ts diff --git a/apps/cyberstorm-remix/app/p/packageListing.tsx b/apps/cyberstorm-remix/app/p/packageListing.tsx index c6062d511..ae95d449f 100644 --- a/apps/cyberstorm-remix/app/p/packageListing.tsx +++ b/apps/cyberstorm-remix/app/p/packageListing.tsx @@ -54,10 +54,10 @@ import { NewTag, NewTextInput, RelativeTime, + type SelectOption, SkeletonBox, Tabs, } from "@thunderstore/cyberstorm"; -import type { SelectOption } from "@thunderstore/cyberstorm/src/newComponents/Select/Select"; import { useToast } from "@thunderstore/cyberstorm/src/newComponents/Toast/Provider"; import { formatFileSize, diff --git a/apps/cyberstorm-remix/app/settings/teams/team/tabs/Members/Members.tsx b/apps/cyberstorm-remix/app/settings/teams/team/tabs/Members/Members.tsx index 4a63fe661..e38493a14 100644 --- a/apps/cyberstorm-remix/app/settings/teams/team/tabs/Members/Members.tsx +++ b/apps/cyberstorm-remix/app/settings/teams/team/tabs/Members/Members.tsx @@ -10,6 +10,7 @@ import { NewSelect, NewTable, NewTextInput, + type SelectOption, } from "@thunderstore/cyberstorm"; import { type LoaderFunctionArgs } from "react-router"; import { useLoaderData, useOutletContext, useRevalidator } from "react-router"; @@ -27,7 +28,6 @@ import { ApiAction } from "@thunderstore/ts-api-react-actions"; import { DapperTs } from "@thunderstore/dapper-ts"; import { getSessionTools } from "cyberstorm/security/publicEnvVariables"; import { useToast } from "@thunderstore/cyberstorm/src/newComponents/Toast/Provider"; -import { type SelectOption } from "@thunderstore/cyberstorm/src/newComponents/Select/Select"; import { useStrongForm } from "cyberstorm/utils/StrongForm/useStrongForm"; import { useReducer, useState } from "react"; diff --git a/apps/storybook/src/stories/cyberstormComponents/SelectSearch.stories.tsx b/apps/storybook/src/stories/cyberstormComponents/SelectSearch.stories.tsx index cb6582075..e03c5915b 100644 --- a/apps/storybook/src/stories/cyberstormComponents/SelectSearch.stories.tsx +++ b/apps/storybook/src/stories/cyberstormComponents/SelectSearch.stories.tsx @@ -1,16 +1,16 @@ import type { Meta, StoryObj } from "@storybook/react-vite"; import "@thunderstore/cyberstorm-theme"; -import { NewSelectSearch } from "@thunderstore/cyberstorm"; +import { + NewSelectSearch, + type NewSelectSearchProps, + type SelectOption, +} from "@thunderstore/cyberstorm"; import { useState } from "react"; import { SelectSearchModifiersList, SelectSearchSizesList, SelectSearchVariantsList, } from "@thunderstore/cyberstorm-theme/src/components"; -import type { - SelectOption, - SelectSearchProps, -} from "@thunderstore/cyberstorm/src/newComponents/SelectSearch/SelectSearch"; const meta = { title: "Cyberstorm/SelectSearch", @@ -48,7 +48,7 @@ export const Single: Story = { render: (args) => , }; -function SingleComponent(props: { args: SelectSearchProps }) { +function SingleComponent(props: { args: NewSelectSearchProps }) { const { args } = props; const [val, setVal] = useState(undefined); const [val2, setVal2] = useState(args.options[1]); @@ -75,7 +75,7 @@ export const Multiple: Story = { render: (args) => , }; -function MultipleComponent(props: { args: SelectSearchProps }) { +function MultipleComponent(props: { args: NewSelectSearchProps }) { const { args } = props; const [val, setVal] = useState[] | undefined>(undefined); const [val2, setVal2] = useState[] | undefined>( @@ -94,7 +94,7 @@ export const Variants: Story = { render: (args) => , }; -function VariantsComponent(props: { args: SelectSearchProps }) { +function VariantsComponent(props: { args: NewSelectSearchProps }) { const { args } = props; const [val, setVal] = useState<{ value: string; label?: string } | undefined>( undefined @@ -131,7 +131,7 @@ export const Sizes: Story = { render: (args) => , }; -function SizesComponent(props: { args: SelectSearchProps }) { +function SizesComponent(props: { args: NewSelectSearchProps }) { const { args } = props; const [val, setVal] = useState(undefined); const sizes = SelectSearchSizesList.map((size) => ( @@ -162,7 +162,7 @@ export const Modifiers: Story = { render: (args) => , }; -function ModifiersComponent(props: { args: SelectSearchProps }) { +function ModifiersComponent(props: { args: NewSelectSearchProps }) { const { args } = props; const [val, setVal] = useState(undefined); const modifiers = SelectSearchModifiersList.map((modifier) => ( diff --git a/packages/cyberstorm/src/index.ts b/packages/cyberstorm/src/index.ts index 6beef4fab..66670364d 100644 --- a/packages/cyberstorm/src/index.ts +++ b/packages/cyberstorm/src/index.ts @@ -88,7 +88,6 @@ export { export { SelectSearch as NewSelectSearch, type SelectSearchProps as NewSelectSearchProps, - type SelectOption as NewSelectOption, } from "./newComponents/SelectSearch/SelectSearch"; export { SkeletonBox } from "./newComponents/SkeletonBox/SkeletonBox"; export { Switch as NewSwitch } from "./newComponents/Switch/Switch"; @@ -111,4 +110,5 @@ export { Tooltip, type TooltipProps } from "./newComponents/Tooltip/Tooltip"; // Utils export { isNode, isRecord, isStringArray } from "./utils/type_guards"; +export type { SelectOption } from "./utils/types"; export { range, formatToDisplayName } from "./utils/utils"; diff --git a/packages/cyberstorm/src/newComponents/Select/Select.tsx b/packages/cyberstorm/src/newComponents/Select/Select.tsx index b159fba3d..541cd84df 100644 --- a/packages/cyberstorm/src/newComponents/Select/Select.tsx +++ b/packages/cyberstorm/src/newComponents/Select/Select.tsx @@ -11,6 +11,7 @@ import { Trigger, Viewport, } from "@radix-ui/react-select"; +import type { SelectOption } from "../../utils/types"; import { classnames, componentClasses } from "../../utils/utils"; import { NewButton, NewIcon } from "../.."; import { @@ -19,12 +20,6 @@ import { type SelectVariants, } from "@thunderstore/cyberstorm-theme/src/components"; -export type SelectOption = { - value: T; - label?: string; - leftIcon?: ReactElement; -}; - type _SelectProps = { variant?: "default" | "accent" | "wide"; defaultOpen?: boolean; diff --git a/packages/cyberstorm/src/newComponents/SelectSearch/SelectSearch.tsx b/packages/cyberstorm/src/newComponents/SelectSearch/SelectSearch.tsx index d7cb2a02c..437288f83 100644 --- a/packages/cyberstorm/src/newComponents/SelectSearch/SelectSearch.tsx +++ b/packages/cyberstorm/src/newComponents/SelectSearch/SelectSearch.tsx @@ -1,5 +1,6 @@ -import React, { type ReactNode } from "react"; +import React from "react"; import "./SelectSearch.css"; +import type { SelectOption } from "../../utils/types"; import { classnames, componentClasses } from "../../utils/utils"; import { NewIcon, NewTag } from "../../index"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; @@ -14,12 +15,6 @@ import { type SelectSearchModifiers, } from "@thunderstore/cyberstorm-theme/src/components"; -export type SelectOption = { - value: T; - label?: string; - leftIcon?: ReactNode; -}; - export type SelectSearchProps = | { multiple?: false; diff --git a/packages/cyberstorm/src/utils/types.ts b/packages/cyberstorm/src/utils/types.ts new file mode 100644 index 000000000..6f4ffb9bc --- /dev/null +++ b/packages/cyberstorm/src/utils/types.ts @@ -0,0 +1,7 @@ +import { type ReactNode } from "react"; + +export type SelectOption = { + value: T; + label?: string; + leftIcon?: ReactNode; +}; From 36cabdd744360f3e6dd5ab460341307ae20839cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antti=20M=C3=A4ki?= Date: Fri, 10 Oct 2025 10:41:29 +0300 Subject: [PATCH 5/8] @thunderstore/cyberstorm: export useToast --- apps/cyberstorm-remix/app/p/packageEdit.tsx | 2 +- apps/cyberstorm-remix/app/p/packageListing.tsx | 2 +- apps/cyberstorm-remix/app/p/tabs/Wiki/WikiNewPage.tsx | 2 +- apps/cyberstorm-remix/app/p/tabs/Wiki/WikiPageEdit.tsx | 2 +- apps/cyberstorm-remix/app/settings/teams/Teams.tsx | 2 +- .../app/settings/teams/team/tabs/Members/Members.tsx | 2 +- .../app/settings/teams/team/tabs/Profile/Profile.tsx | 3 +-- .../teams/team/tabs/ServiceAccounts/ServiceAccounts.tsx | 2 +- .../app/settings/teams/team/tabs/Settings/Settings.tsx | 2 +- apps/cyberstorm-remix/app/settings/user/Account/Account.tsx | 2 +- .../app/settings/user/Connections/Connections.tsx | 3 +-- apps/cyberstorm-remix/app/upload/upload.tsx | 2 +- packages/cyberstorm-forms/src/useFormToaster.ts | 2 +- packages/cyberstorm/src/index.ts | 1 + 14 files changed, 14 insertions(+), 15 deletions(-) diff --git a/apps/cyberstorm-remix/app/p/packageEdit.tsx b/apps/cyberstorm-remix/app/p/packageEdit.tsx index 6744501ca..920a0e45b 100644 --- a/apps/cyberstorm-remix/app/p/packageEdit.tsx +++ b/apps/cyberstorm-remix/app/p/packageEdit.tsx @@ -6,6 +6,7 @@ import { NewIcon, NewSelectSearch, NewTag, + useToast, } from "@thunderstore/cyberstorm"; import "./packageEdit.css"; import { @@ -25,7 +26,6 @@ import { import { PageHeader } from "~/commonComponents/PageHeader/PageHeader"; import { useStrongForm } from "cyberstorm/utils/StrongForm/useStrongForm"; import { useReducer } from "react"; -import { useToast } from "@thunderstore/cyberstorm/src/newComponents/Toast/Provider"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faBan, faCheck } from "@fortawesome/pro-solid-svg-icons"; import { ApiAction } from "@thunderstore/ts-api-react-actions"; diff --git a/apps/cyberstorm-remix/app/p/packageListing.tsx b/apps/cyberstorm-remix/app/p/packageListing.tsx index ae95d449f..55e72da83 100644 --- a/apps/cyberstorm-remix/app/p/packageListing.tsx +++ b/apps/cyberstorm-remix/app/p/packageListing.tsx @@ -57,8 +57,8 @@ import { type SelectOption, SkeletonBox, Tabs, + useToast, } from "@thunderstore/cyberstorm"; -import { useToast } from "@thunderstore/cyberstorm/src/newComponents/Toast/Provider"; import { formatFileSize, formatInteger, diff --git a/apps/cyberstorm-remix/app/p/tabs/Wiki/WikiNewPage.tsx b/apps/cyberstorm-remix/app/p/tabs/Wiki/WikiNewPage.tsx index 7851b5d74..8f611d8da 100644 --- a/apps/cyberstorm-remix/app/p/tabs/Wiki/WikiNewPage.tsx +++ b/apps/cyberstorm-remix/app/p/tabs/Wiki/WikiNewPage.tsx @@ -11,8 +11,8 @@ import { NewButton, NewTextInput, Tabs, + useToast, } from "@thunderstore/cyberstorm"; -import { useToast } from "@thunderstore/cyberstorm/src/newComponents/Toast/Provider"; import { useStrongForm } from "cyberstorm/utils/StrongForm/useStrongForm"; import { useReducer, useState } from "react"; import { diff --git a/apps/cyberstorm-remix/app/p/tabs/Wiki/WikiPageEdit.tsx b/apps/cyberstorm-remix/app/p/tabs/Wiki/WikiPageEdit.tsx index bc2dab132..435ee3802 100644 --- a/apps/cyberstorm-remix/app/p/tabs/Wiki/WikiPageEdit.tsx +++ b/apps/cyberstorm-remix/app/p/tabs/Wiki/WikiPageEdit.tsx @@ -18,8 +18,8 @@ import { NewLink, NewTextInput, Tabs, + useToast, } from "@thunderstore/cyberstorm"; -import { useToast } from "@thunderstore/cyberstorm/src/newComponents/Toast/Provider"; import { useStrongForm } from "cyberstorm/utils/StrongForm/useStrongForm"; import { useReducer, useState } from "react"; import { diff --git a/apps/cyberstorm-remix/app/settings/teams/Teams.tsx b/apps/cyberstorm-remix/app/settings/teams/Teams.tsx index 2089fe39a..5c81469c9 100644 --- a/apps/cyberstorm-remix/app/settings/teams/Teams.tsx +++ b/apps/cyberstorm-remix/app/settings/teams/Teams.tsx @@ -9,12 +9,12 @@ import { NewLink, NewTable, NewTextInput, + useToast, } from "@thunderstore/cyberstorm"; import { faPlus } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { useReducer, useState } from "react"; import { PageHeader } from "~/commonComponents/PageHeader/PageHeader"; -import { useToast } from "@thunderstore/cyberstorm/src/newComponents/Toast/Provider"; import { type RequestConfig, teamCreate, diff --git a/apps/cyberstorm-remix/app/settings/teams/team/tabs/Members/Members.tsx b/apps/cyberstorm-remix/app/settings/teams/team/tabs/Members/Members.tsx index e38493a14..477c406eb 100644 --- a/apps/cyberstorm-remix/app/settings/teams/team/tabs/Members/Members.tsx +++ b/apps/cyberstorm-remix/app/settings/teams/team/tabs/Members/Members.tsx @@ -11,6 +11,7 @@ import { NewTable, NewTextInput, type SelectOption, + useToast, } from "@thunderstore/cyberstorm"; import { type LoaderFunctionArgs } from "react-router"; import { useLoaderData, useOutletContext, useRevalidator } from "react-router"; @@ -27,7 +28,6 @@ import { TableSort } from "@thunderstore/cyberstorm/src/newComponents/Table/Tabl import { ApiAction } from "@thunderstore/ts-api-react-actions"; import { DapperTs } from "@thunderstore/dapper-ts"; import { getSessionTools } from "cyberstorm/security/publicEnvVariables"; -import { useToast } from "@thunderstore/cyberstorm/src/newComponents/Toast/Provider"; import { useStrongForm } from "cyberstorm/utils/StrongForm/useStrongForm"; import { useReducer, useState } from "react"; diff --git a/apps/cyberstorm-remix/app/settings/teams/team/tabs/Profile/Profile.tsx b/apps/cyberstorm-remix/app/settings/teams/team/tabs/Profile/Profile.tsx index 606565a62..18252986b 100644 --- a/apps/cyberstorm-remix/app/settings/teams/team/tabs/Profile/Profile.tsx +++ b/apps/cyberstorm-remix/app/settings/teams/team/tabs/Profile/Profile.tsx @@ -9,10 +9,9 @@ import { type OutletContextShape } from "~/root"; import "./Profile.css"; import { DapperTs } from "@thunderstore/dapper-ts"; import { getSessionTools } from "cyberstorm/security/publicEnvVariables"; -import { useToast } from "@thunderstore/cyberstorm/src/newComponents/Toast/Provider"; import { useStrongForm } from "cyberstorm/utils/StrongForm/useStrongForm"; import { useReducer } from "react"; -import { NewButton, NewTextInput } from "@thunderstore/cyberstorm"; +import { NewButton, NewTextInput, useToast } from "@thunderstore/cyberstorm"; export async function clientLoader({ params }: LoaderFunctionArgs) { if (params.namespaceId) { diff --git a/apps/cyberstorm-remix/app/settings/teams/team/tabs/ServiceAccounts/ServiceAccounts.tsx b/apps/cyberstorm-remix/app/settings/teams/team/tabs/ServiceAccounts/ServiceAccounts.tsx index 62fd6402a..bbc0009dc 100644 --- a/apps/cyberstorm-remix/app/settings/teams/team/tabs/ServiceAccounts/ServiceAccounts.tsx +++ b/apps/cyberstorm-remix/app/settings/teams/team/tabs/ServiceAccounts/ServiceAccounts.tsx @@ -8,6 +8,7 @@ import { NewTextInput, Heading, CodeBox, + useToast, } from "@thunderstore/cyberstorm"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faPlus, faTrash } from "@fortawesome/free-solid-svg-icons"; @@ -25,7 +26,6 @@ import { type OutletContextShape } from "../../../../../root"; import { useReducer, useState } from "react"; import { DapperTs } from "@thunderstore/dapper-ts"; import { getSessionTools } from "cyberstorm/security/publicEnvVariables"; -import { useToast } from "@thunderstore/cyberstorm/src/newComponents/Toast/Provider"; import { ApiAction } from "@thunderstore/ts-api-react-actions"; import { useStrongForm } from "cyberstorm/utils/StrongForm/useStrongForm"; diff --git a/apps/cyberstorm-remix/app/settings/teams/team/tabs/Settings/Settings.tsx b/apps/cyberstorm-remix/app/settings/teams/team/tabs/Settings/Settings.tsx index a028d2ddd..bd1cb6879 100644 --- a/apps/cyberstorm-remix/app/settings/teams/team/tabs/Settings/Settings.tsx +++ b/apps/cyberstorm-remix/app/settings/teams/team/tabs/Settings/Settings.tsx @@ -6,13 +6,13 @@ import { NewIcon, NewLink, NewTextInput, + useToast, } from "@thunderstore/cyberstorm"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faTrashCan } from "@fortawesome/free-solid-svg-icons"; import { useNavigate, useOutletContext, useParams } from "react-router"; import { type OutletContextShape } from "~/root"; -import { useToast } from "@thunderstore/cyberstorm/src/newComponents/Toast/Provider"; import { type RequestConfig, teamDisband, diff --git a/apps/cyberstorm-remix/app/settings/user/Account/Account.tsx b/apps/cyberstorm-remix/app/settings/user/Account/Account.tsx index 2e0fd86cb..0860d52ef 100644 --- a/apps/cyberstorm-remix/app/settings/user/Account/Account.tsx +++ b/apps/cyberstorm-remix/app/settings/user/Account/Account.tsx @@ -5,12 +5,12 @@ import { NewButton, NewIcon, NewTextInput, + useToast, } from "@thunderstore/cyberstorm"; import { faTrashCan } from "@fortawesome/pro-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { NotLoggedIn } from "~/commonComponents/NotLoggedIn/NotLoggedIn"; import { type OutletContextShape } from "~/root"; -import { useToast } from "@thunderstore/cyberstorm/src/newComponents/Toast/Provider"; import { useStrongForm } from "cyberstorm/utils/StrongForm/useStrongForm"; import { useReducer } from "react"; import { userDelete } from "@thunderstore/thunderstore-api"; diff --git a/apps/cyberstorm-remix/app/settings/user/Connections/Connections.tsx b/apps/cyberstorm-remix/app/settings/user/Connections/Connections.tsx index 560c4e6d1..1f2911831 100644 --- a/apps/cyberstorm-remix/app/settings/user/Connections/Connections.tsx +++ b/apps/cyberstorm-remix/app/settings/user/Connections/Connections.tsx @@ -1,9 +1,8 @@ -import { NewLink } from "@thunderstore/cyberstorm"; +import { NewLink, useToast } from "@thunderstore/cyberstorm"; import { useOutletContext } from "react-router"; import { buildAuthLoginUrl } from "cyberstorm/utils/ThunderstoreAuth"; -import { useToast } from "@thunderstore/cyberstorm/src/newComponents/Toast/Provider"; import { userLinkedAccountDisconnect } from "../../../../../../packages/thunderstore-api/src"; import { Connection } from "~/commonComponents/Connection/Connection"; diff --git a/apps/cyberstorm-remix/app/upload/upload.tsx b/apps/cyberstorm-remix/app/upload/upload.tsx index e259ffb4e..1376f55c9 100644 --- a/apps/cyberstorm-remix/app/upload/upload.tsx +++ b/apps/cyberstorm-remix/app/upload/upload.tsx @@ -9,6 +9,7 @@ import { NewTable, NewTableSort, NewTag, + useToast, } from "@thunderstore/cyberstorm"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { PageHeader } from "../commonComponents/PageHeader/PageHeader"; @@ -43,7 +44,6 @@ import { type PackageSubmissionRequestData } from "@thunderstore/thunderstore-ap import { type OutletContextShape } from "../root"; import { useStrongForm } from "cyberstorm/utils/StrongForm/useStrongForm"; import { postPackageSubmissionMetadata } from "@thunderstore/dapper-ts/src/methods/package"; -import { useToast } from "@thunderstore/cyberstorm/src/newComponents/Toast/Provider"; import { faCheckCircle } from "@fortawesome/free-solid-svg-icons"; import { classnames } from "@thunderstore/cyberstorm/src/utils/utils"; import { diff --git a/packages/cyberstorm-forms/src/useFormToaster.ts b/packages/cyberstorm-forms/src/useFormToaster.ts index bd97edcd0..bbbc1cfad 100644 --- a/packages/cyberstorm-forms/src/useFormToaster.ts +++ b/packages/cyberstorm-forms/src/useFormToaster.ts @@ -1,4 +1,4 @@ -import { useToast } from "@thunderstore/cyberstorm/src/newComponents/Toast/Provider"; +import { useToast } from "@thunderstore/cyberstorm"; export type UseFormToasterArgs = { diff --git a/packages/cyberstorm/src/index.ts b/packages/cyberstorm/src/index.ts index 66670364d..91742ea25 100644 --- a/packages/cyberstorm/src/index.ts +++ b/packages/cyberstorm/src/index.ts @@ -96,6 +96,7 @@ export { TextInput as NewTextInput, type TextInputProps as NewTextInputProps, } from "./newComponents/TextInput/TextInput"; +export { useToast } from "./newComponents/Toast/Provider"; export { Toast } from "./newComponents/Toast/Toast"; export { Table as NewTable, From c78fa0e9ea707134ddf5d7dad594aaf0ca37caa6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antti=20M=C3=A4ki?= Date: Fri, 10 Oct 2025 10:51:55 +0300 Subject: [PATCH 6/8] @thunderstore/cyberstorm: export all utils used by other packages Ideally @thunderstore/cyberstorm would only export the components and tightly coupled things. If these helper functions are used by multiple packages in the repo, they should probably reside in their own neat package. But just exporting them properly is better than nothing. --- apps/cyberstorm-remix/app/p/packageEdit.tsx | 2 +- apps/cyberstorm-remix/app/p/packageListing.tsx | 6 ++---- packages/cyberstorm/src/index.ts | 7 ++++++- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/apps/cyberstorm-remix/app/p/packageEdit.tsx b/apps/cyberstorm-remix/app/p/packageEdit.tsx index 920a0e45b..d28203b68 100644 --- a/apps/cyberstorm-remix/app/p/packageEdit.tsx +++ b/apps/cyberstorm-remix/app/p/packageEdit.tsx @@ -6,6 +6,7 @@ import { NewIcon, NewSelectSearch, NewTag, + formatToDisplayName, useToast, } from "@thunderstore/cyberstorm"; import "./packageEdit.css"; @@ -16,7 +17,6 @@ import { type PackageListingUpdateRequestData, packageUnlist, } from "@thunderstore/thunderstore-api"; -import { formatToDisplayName } from "@thunderstore/cyberstorm/src/utils/utils"; import { DapperTs } from "@thunderstore/dapper-ts"; import { type OutletContextShape } from "~/root"; import { diff --git a/apps/cyberstorm-remix/app/p/packageListing.tsx b/apps/cyberstorm-remix/app/p/packageListing.tsx index 55e72da83..06bcc80b2 100644 --- a/apps/cyberstorm-remix/app/p/packageListing.tsx +++ b/apps/cyberstorm-remix/app/p/packageListing.tsx @@ -57,13 +57,11 @@ import { type SelectOption, SkeletonBox, Tabs, - useToast, -} from "@thunderstore/cyberstorm"; -import { formatFileSize, formatInteger, formatToDisplayName, -} from "@thunderstore/cyberstorm/src/utils/utils"; + useToast, +} from "@thunderstore/cyberstorm"; import { ThunderstoreLogo } from "@thunderstore/cyberstorm/src/svg/svg"; import { PackageLikeAction } from "@thunderstore/cyberstorm-forms"; import type { TagVariants } from "@thunderstore/cyberstorm-theme/src/components"; diff --git a/packages/cyberstorm/src/index.ts b/packages/cyberstorm/src/index.ts index 91742ea25..99dc5af17 100644 --- a/packages/cyberstorm/src/index.ts +++ b/packages/cyberstorm/src/index.ts @@ -112,4 +112,9 @@ export { Tooltip, type TooltipProps } from "./newComponents/Tooltip/Tooltip"; // Utils export { isNode, isRecord, isStringArray } from "./utils/type_guards"; export type { SelectOption } from "./utils/types"; -export { range, formatToDisplayName } from "./utils/utils"; +export { + range, + formatFileSize, + formatInteger, + formatToDisplayName, +} from "./utils/utils"; From d9919379b0a8e7cb34bbd2decba8dee4a92a5537 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antti=20M=C3=A4ki?= Date: Fri, 10 Oct 2025 11:20:41 +0300 Subject: [PATCH 7/8] @thunderstore/cyberstorm: export SVG logos --- .../app/commonComponents/Footer/Footer.tsx | 4 ++-- .../app/commonComponents/Navigation/Navigation.tsx | 14 ++++++-------- apps/cyberstorm-remix/app/p/packageListing.tsx | 2 +- .../app/settings/user/Connections/Connections.tsx | 3 +-- packages/cyberstorm/src/index.ts | 6 ++++++ 5 files changed, 16 insertions(+), 13 deletions(-) diff --git a/apps/cyberstorm-remix/app/commonComponents/Footer/Footer.tsx b/apps/cyberstorm-remix/app/commonComponents/Footer/Footer.tsx index 2d694f543..37318e8e1 100644 --- a/apps/cyberstorm-remix/app/commonComponents/Footer/Footer.tsx +++ b/apps/cyberstorm-remix/app/commonComponents/Footer/Footer.tsx @@ -2,13 +2,13 @@ import "./Footer.css"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faDiscord, faGithub } from "@fortawesome/free-brands-svg-icons"; import { faBoltLightning } from "@fortawesome/free-solid-svg-icons"; -import { ThunderstoreLogoHorizontal } from "@thunderstore/cyberstorm/src/svg/svg"; import { Heading, NewButton, NewIcon, NewLink, -} from "@thunderstore/cyberstorm/src"; + ThunderstoreLogoHorizontal, +} from "@thunderstore/cyberstorm"; import { faArrowUpRight } from "@fortawesome/pro-solid-svg-icons"; const AD_IMAGE_SRC = "/cyberstorm-static/images/tsmm_screenshot.png"; diff --git a/apps/cyberstorm-remix/app/commonComponents/Navigation/Navigation.tsx b/apps/cyberstorm-remix/app/commonComponents/Navigation/Navigation.tsx index a1fe7817b..4d274cf0e 100644 --- a/apps/cyberstorm-remix/app/commonComponents/Navigation/Navigation.tsx +++ b/apps/cyberstorm-remix/app/commonComponents/Navigation/Navigation.tsx @@ -13,21 +13,19 @@ import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import "./MobileNavigation.css"; import "./Navigation.css"; import { - Menu, - NewLink, - NewIcon, Heading, + Menu, + Modal, NewButton, NewDropDown, - NewDropDownItem, - Modal, NewDropDownDivider, + NewDropDownItem, NewAvatar, -} from "@thunderstore/cyberstorm"; -import { + NewIcon, + NewLink, OverwolfLogo, ThunderstoreLogo, -} from "@thunderstore/cyberstorm/src/svg/svg"; +} from "@thunderstore/cyberstorm"; import { type CurrentUser } from "@thunderstore/dapper/types"; import { diff --git a/apps/cyberstorm-remix/app/p/packageListing.tsx b/apps/cyberstorm-remix/app/p/packageListing.tsx index 06bcc80b2..6b76f9cbe 100644 --- a/apps/cyberstorm-remix/app/p/packageListing.tsx +++ b/apps/cyberstorm-remix/app/p/packageListing.tsx @@ -57,12 +57,12 @@ import { type SelectOption, SkeletonBox, Tabs, + ThunderstoreLogo, formatFileSize, formatInteger, formatToDisplayName, useToast, } from "@thunderstore/cyberstorm"; -import { ThunderstoreLogo } from "@thunderstore/cyberstorm/src/svg/svg"; import { PackageLikeAction } from "@thunderstore/cyberstorm-forms"; import type { TagVariants } from "@thunderstore/cyberstorm-theme/src/components"; import { DapperTs } from "@thunderstore/dapper-ts"; diff --git a/apps/cyberstorm-remix/app/settings/user/Connections/Connections.tsx b/apps/cyberstorm-remix/app/settings/user/Connections/Connections.tsx index 1f2911831..bdf9bea79 100644 --- a/apps/cyberstorm-remix/app/settings/user/Connections/Connections.tsx +++ b/apps/cyberstorm-remix/app/settings/user/Connections/Connections.tsx @@ -1,4 +1,4 @@ -import { NewLink, useToast } from "@thunderstore/cyberstorm"; +import { NewLink, OverwolfLogo, useToast } from "@thunderstore/cyberstorm"; import { useOutletContext } from "react-router"; import { buildAuthLoginUrl } from "cyberstorm/utils/ThunderstoreAuth"; @@ -8,7 +8,6 @@ import { userLinkedAccountDisconnect } from "../../../../../../packages/thunders import { Connection } from "~/commonComponents/Connection/Connection"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faGithub, faDiscord } from "@fortawesome/free-brands-svg-icons"; -import { OverwolfLogo } from "@thunderstore/cyberstorm/src/svg/svg"; import { type ReactElement } from "react"; import { type OutletContextShape } from "~/root"; import { ApiAction } from "@thunderstore/ts-api-react-actions"; diff --git a/packages/cyberstorm/src/index.ts b/packages/cyberstorm/src/index.ts index 99dc5af17..d25c72c76 100644 --- a/packages/cyberstorm/src/index.ts +++ b/packages/cyberstorm/src/index.ts @@ -118,3 +118,9 @@ export { formatInteger, formatToDisplayName, } from "./utils/utils"; + +export { + OverwolfLogo, + ThunderstoreLogo, + ThunderstoreLogoHorizontal, +} from "./svg/svg"; From 3b7b5532641b8a0248833e56e79e3e0ee1e85aa3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antti=20M=C3=A4ki?= Date: Fri, 10 Oct 2025 11:37:26 +0300 Subject: [PATCH 8/8] @thunderstore/cyberstorm-remix: fix Dapper type usage in packageListing --- .../cyberstorm-remix/app/p/packageListing.tsx | 21 ++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/apps/cyberstorm-remix/app/p/packageListing.tsx b/apps/cyberstorm-remix/app/p/packageListing.tsx index 6b76f9cbe..3e5a0864d 100644 --- a/apps/cyberstorm-remix/app/p/packageListing.tsx +++ b/apps/cyberstorm-remix/app/p/packageListing.tsx @@ -65,11 +65,8 @@ import { } from "@thunderstore/cyberstorm"; import { PackageLikeAction } from "@thunderstore/cyberstorm-forms"; import type { TagVariants } from "@thunderstore/cyberstorm-theme/src/components"; -import { DapperTs } from "@thunderstore/dapper-ts"; import type { CurrentUser } from "@thunderstore/dapper/types"; -import { getCommunity } from "@thunderstore/dapper-ts/src/methods/communities"; -import { getPackageListingDetails } from "@thunderstore/dapper-ts/src/methods/packageListings"; -import { getTeamDetails } from "@thunderstore/dapper-ts/src/methods/team"; +import { DapperTs, type DapperTsInterface } from "@thunderstore/dapper-ts"; import { fetchPackagePermissions, packageListingApprove, @@ -943,8 +940,8 @@ function ReportPackageForm(props: { ReportPackageForm.displayName = "ReportPackageForm"; function packageTags( - listing: Awaited>, - community: Awaited> + listing: Awaited>, + community: Awaited> ) { return listing.categories.map((category) => { return ( @@ -964,8 +961,8 @@ function packageTags( } function packageBoxes( - listing: Awaited>, - community: Awaited>, + listing: Awaited>, + community: Awaited>, domain: string ) { const pt = packageTags(listing, community); @@ -1018,7 +1015,7 @@ function packageBoxes( // TODO: Enable when APIs are available function managementTools( packagePermissions: Awaited>, - listing: Awaited>, + listing: Awaited>, toast: ReturnType, requestConfig: () => RequestConfig ) { @@ -1109,8 +1106,8 @@ function likeAction( } const Actions = memo(function Actions(props: { - team: Awaited>; - listing: Awaited>; + team: Awaited>; + listing: Awaited>; isLiked: boolean; currentUser: CurrentUser | undefined; likeUpdateTrigger: () => Promise; @@ -1189,7 +1186,7 @@ const Actions = memo(function Actions(props: { function packageMeta( lastUpdated: ReactElement | undefined, firstUploaded: ReactElement | undefined, - listing: Awaited> + listing: Awaited> ) { return (