diff --git a/biome.json b/biome.json index bcc74e911b..4d004c2e27 100644 --- a/biome.json +++ b/biome.json @@ -5,14 +5,17 @@ "**/*.js", "**/*.json", "**/*.ts", + "**/*.tsx", "!engine/artifacts", "!engine/sdks", "!engine/sdks/typescript/api-full", "!engine/sdks/typescript/runner-protocol", - "!frontend", + "!frontend/packages", + "!examples", "!rivetkit-openapi/openapi.json", "!scripts", - "!website" + "!website", + "!**/*.gen.*" ], "ignoreUnknown": true }, diff --git a/frontend/packages/components/src/actors/actor-config-tab.tsx b/frontend/packages/components/src/actors/actor-config-tab.tsx index 2a05406888..7238a737ee 100644 --- a/frontend/packages/components/src/actors/actor-config-tab.tsx +++ b/frontend/packages/components/src/actors/actor-config-tab.tsx @@ -1,5 +1,5 @@ import { Button, DocsSheet, ScrollArea } from "@rivet-gg/components"; -import { Icon, faBooks } from "@rivet-gg/icons"; +import { faBooks, Icon } from "@rivet-gg/icons"; import type { ActorAtom } from "./actor-context"; import { ActorGeneral } from "./actor-general"; import { ActorNetwork } from "./actor-network"; diff --git a/frontend/packages/components/src/actors/actor-details-settings-button.tsx b/frontend/packages/components/src/actors/actor-details-settings-button.tsx index 9e4684bd40..d0ac562cc5 100644 --- a/frontend/packages/components/src/actors/actor-details-settings-button.tsx +++ b/frontend/packages/components/src/actors/actor-details-settings-button.tsx @@ -6,7 +6,7 @@ import { DropdownMenuTrigger, WithTooltip, } from "@rivet-gg/components"; -import { Icon, faCog } from "@rivet-gg/icons"; +import { faCog, Icon } from "@rivet-gg/icons"; import { useActorDetailsSettings } from "./actor-details-settings"; export function ActorDetailsSettingsButton() { diff --git a/frontend/packages/components/src/actors/actor-details-settings.tsx b/frontend/packages/components/src/actors/actor-details-settings.tsx index 622ce862e4..49677005ca 100644 --- a/frontend/packages/components/src/actors/actor-details-settings.tsx +++ b/frontend/packages/components/src/actors/actor-details-settings.tsx @@ -1,8 +1,8 @@ import { + createContext, type Dispatch, type ReactNode, type SetStateAction, - createContext, useContext, } from "react"; import { useLocalStorage } from "usehooks-ts"; diff --git a/frontend/packages/components/src/actors/actor-download-logs-button.tsx b/frontend/packages/components/src/actors/actor-download-logs-button.tsx index a261529c32..9c22e6e7db 100644 --- a/frontend/packages/components/src/actors/actor-download-logs-button.tsx +++ b/frontend/packages/components/src/actors/actor-download-logs-button.tsx @@ -1,5 +1,5 @@ import { Button, WithTooltip } from "@rivet-gg/components"; -import { Icon, faSave } from "@rivet-gg/icons"; +import { faSave, Icon } from "@rivet-gg/icons"; import { useAtomValue } from "jotai"; import type { ActorAtom } from "./actor-context"; import type { LogsTypeFilter } from "./actor-logs"; diff --git a/frontend/packages/components/src/actors/actor-editable-state.tsx b/frontend/packages/components/src/actors/actor-editable-state.tsx index e54e474548..d6c6e15774 100644 --- a/frontend/packages/components/src/actors/actor-editable-state.tsx +++ b/frontend/packages/components/src/actors/actor-editable-state.tsx @@ -4,7 +4,7 @@ import { EditorView, JsonCode, } from "@rivet-gg/components/code-mirror"; -import { Icon, faRotateLeft, faSave } from "@rivet-gg/icons"; +import { faRotateLeft, faSave, Icon } from "@rivet-gg/icons"; import { AnimatePresence, motion } from "framer-motion"; import { useMemo, useRef, useState } from "react"; import { ActorStateChangeIndicator } from "./actor-state-change-indicator"; diff --git a/frontend/packages/components/src/actors/actor-general.tsx b/frontend/packages/components/src/actors/actor-general.tsx index b9269fb39e..564d149bf5 100644 --- a/frontend/packages/components/src/actors/actor-general.tsx +++ b/frontend/packages/components/src/actors/actor-general.tsx @@ -1,4 +1,4 @@ -import { Dd, DiscreteCopyButton, Dl, Dt, Flex, cn } from "@rivet-gg/components"; +import { cn, Dd, DiscreteCopyButton, Dl, Dt, Flex } from "@rivet-gg/components"; import { formatISO } from "date-fns"; import equal from "fast-deep-equal"; import { useAtomValue } from "jotai"; diff --git a/frontend/packages/components/src/actors/actor-logs.tsx b/frontend/packages/components/src/actors/actor-logs.tsx index 11427cab70..b4e54c63b1 100644 --- a/frontend/packages/components/src/actors/actor-logs.tsx +++ b/frontend/packages/components/src/actors/actor-logs.tsx @@ -193,7 +193,11 @@ export function filterLogs({ typeFilter, filter, logs, -}: { typeFilter: LogsTypeFilter; filter: string; logs: Logs }) { +}: { + typeFilter: LogsTypeFilter; + filter: string; + logs: Logs; +}) { const output = logs?.filter((log) => { if (typeFilter === "errors") { return log.level === "error"; diff --git a/frontend/packages/components/src/actors/actor-metrics-tab.tsx b/frontend/packages/components/src/actors/actor-metrics-tab.tsx index edc11a6618..33f469f695 100644 --- a/frontend/packages/components/src/actors/actor-metrics-tab.tsx +++ b/frontend/packages/components/src/actors/actor-metrics-tab.tsx @@ -1,7 +1,7 @@ import { Button, ScrollArea } from "@rivet-gg/components"; -import { Icon, faBooks } from "@rivet-gg/icons"; -import { ActorMetrics } from "./actor-metrics"; +import { faBooks, Icon } from "@rivet-gg/icons"; import type { ActorAtom } from "./actor-context"; +import { ActorMetrics } from "./actor-metrics"; interface ActorMetricsTabProps { actor: ActorAtom; @@ -22,4 +22,4 @@ export function ActorMetricsTab(props: ActorMetricsTabProps) { ); -} \ No newline at end of file +} diff --git a/frontend/packages/components/src/actors/actor-metrics.tsx b/frontend/packages/components/src/actors/actor-metrics.tsx index 947d1166dc..851165ed85 100644 --- a/frontend/packages/components/src/actors/actor-metrics.tsx +++ b/frontend/packages/components/src/actors/actor-metrics.tsx @@ -1,17 +1,26 @@ +import { useQuery } from "@tanstack/react-query"; +import equal from "fast-deep-equal"; import { useAtomValue, useSetAtom } from "jotai"; import { selectAtom } from "jotai/utils"; -import equal from "fast-deep-equal"; -import { useState, useMemo } from "react"; +import { useMemo, useState } from "react"; +import { actorMetricsQueryOptions } from "@/domains/project/queries/actors/query-options"; +import { Button } from "../ui/button"; +import { Flex } from "../ui/flex"; +import { + Select, + SelectContent, + SelectItem, + SelectTrigger, + SelectValue, +} from "../ui/select"; +import { Dd, Dl, Dt } from "../ui/typography"; import type { Actor, ActorAtom } from "./actor-context"; +import { + actorEnvironmentAtom, + actorMetricsTimeWindowAtom, +} from "./actor-context"; import { ActorCpuStats } from "./actor-cpu-stats"; import { ActorMemoryStats } from "./actor-memory-stats"; -import { Dd, Dl, Dt } from "../ui/typography"; -import { Button } from "../ui/button"; -import { Flex } from "../ui/flex"; -import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "../ui/select"; -import { actorMetricsTimeWindowAtom, actorEnvironmentAtom } from "./actor-context"; -import { useQuery } from "@tanstack/react-query"; -import { actorMetricsQueryOptions } from "@/domains/project/queries/actors/query-options"; const selector = (a: Actor) => ({ metrics: a.metrics, @@ -42,16 +51,19 @@ export function ActorMetrics({ actor }: ActorMetricsProps) { ); const defaultMetricsData = useAtomValue(metrics); const [showAdvanced, setShowAdvanced] = useState(false); - + const timeWindowMs = useAtomValue(actorMetricsTimeWindowAtom); const setTimeWindowMs = useSetAtom(actorMetricsTimeWindowAtom); const environment = useAtomValue(actorEnvironmentAtom); - - const currentTimeWindow = timeWindowOptions.find(option => option.milliseconds === timeWindowMs) || timeWindowOptions[1]; + + const currentTimeWindow = + timeWindowOptions.find( + (option) => option.milliseconds === timeWindowMs, + ) || timeWindowOptions[1]; const [timeWindow, setTimeWindow] = useState(currentTimeWindow.value); const isActorRunning = status === "running"; - + // Create a query for time window-specific metrics const { data: customMetricsData, status: customMetricsStatus } = useQuery({ ...actorMetricsQueryOptions( @@ -61,23 +73,27 @@ export function ActorMetrics({ actor }: ActorMetricsProps) { actorId: id, timeWindowMs: timeWindowMs, }, - { refetchInterval: 5000 } + { refetchInterval: 5000 }, ), enabled: !!environment && !!id, }); - + // Use custom metrics if available, otherwise fall back to default - const metricsData = customMetricsData ? { - metrics: customMetricsData.metrics, - rawData: customMetricsData.rawData, - interval: customMetricsData.interval, - status: customMetricsStatus, - updatedAt: Date.now(), - } : defaultMetricsData; + const metricsData = customMetricsData + ? { + metrics: customMetricsData.metrics, + rawData: customMetricsData.rawData, + interval: customMetricsData.interval, + status: customMetricsStatus, + updatedAt: Date.now(), + } + : defaultMetricsData; const handleTimeWindowChange = (value: string) => { setTimeWindow(value); - const selectedOption = timeWindowOptions.find(option => option.value === value); + const selectedOption = timeWindowOptions.find( + (option) => option.value === value, + ); if (selectedOption) { setTimeWindowMs(selectedOption.milliseconds); } @@ -150,9 +166,7 @@ export function ActorMetrics({ actor }: ActorMetricsProps) { return `${Math.min(cpuRate, 100).toFixed(2)}%`; }, [metricsData, isActorRunning]); - const calculateMemoryPercentage = ( - usage: number | null | undefined, - ) => { + const calculateMemoryPercentage = (usage: number | null | undefined) => { if ( !isActorRunning || usage === null || @@ -192,15 +206,16 @@ export function ActorMetrics({ actor }: ActorMetricsProps) { ); } - const memoryPercentage = calculateMemoryPercentage( - data.memory_usage_bytes, - ); + const memoryPercentage = calculateMemoryPercentage(data.memory_usage_bytes); return (

Container Metrics

- @@ -222,7 +237,8 @@ export function ActorMetrics({ actor }: ActorMetricsProps) {
{cpuPercentage} {metricsData.rawData?.cpu_usage_seconds_total && - metricsData.rawData.cpu_usage_seconds_total.length > 0 ? ( + metricsData.rawData.cpu_usage_seconds_total.length > + 0 ? ( {metricsData.rawData?.memory_usage_bytes && - metricsData.rawData.memory_usage_bytes.length > 0 ? ( + metricsData.rawData.memory_usage_bytes.length > + 0 ? ( @@ -369,9 +388,17 @@ export function ActorMetrics({ actor }: ActorMetricsProps) {

Resource Limits

Memory Limit
-
{resources?.memory ? `${resources.memory} MB` : "n/a"}
+
+ {resources?.memory + ? `${resources.memory} MB` + : "n/a"} +
CPU Limit
-
{resources?.cpu ? `${resources.cpu / 1000} cores` : "n/a"}
+
+ {resources?.cpu + ? `${resources.cpu / 1000} cores` + : "n/a"} +
@@ -537,9 +564,7 @@ export function ActorMetrics({ actor }: ActorMetricsProps) {
Close Wait
- {formatNumber( - data.network_tcp_usage_closewait, - )} + {formatNumber(data.network_tcp_usage_closewait)}
Closing
@@ -701,4 +726,4 @@ export function ActorMetrics({ actor }: ActorMetricsProps) { )}
); -} \ No newline at end of file +} diff --git a/frontend/packages/components/src/actors/actor-network.tsx b/frontend/packages/components/src/actors/actor-network.tsx index 3bb466ad99..e7adb7a4cc 100644 --- a/frontend/packages/components/src/actors/actor-network.tsx +++ b/frontend/packages/components/src/actors/actor-network.tsx @@ -1,14 +1,14 @@ import { Button, + cn, Dd, DiscreteCopyButton, Dl, DocsSheet, Dt, Flex, - cn, } from "@rivet-gg/components"; -import { Icon, faBooks } from "@rivet-gg/icons"; +import { faBooks, Icon } from "@rivet-gg/icons"; import { useAtomValue } from "jotai"; import { selectAtom } from "jotai/utils"; import { Fragment } from "react"; diff --git a/frontend/packages/components/src/actors/actor-not-found.tsx b/frontend/packages/components/src/actors/actor-not-found.tsx index c1beda2464..167b54c6e7 100644 --- a/frontend/packages/components/src/actors/actor-not-found.tsx +++ b/frontend/packages/components/src/actors/actor-not-found.tsx @@ -1,7 +1,8 @@ -import { Icon, faQuestionSquare } from "@rivet-gg/icons"; +import { faQuestionSquare, Icon } from "@rivet-gg/icons"; import { useAtomValue, useSetAtom } from "jotai"; import { selectAtom } from "jotai/utils"; import { useCallback } from "react"; +import { ShimmerLine } from "../shimmer-line"; import { Button } from "../ui/button"; import { FilterOp } from "../ui/filters"; import { @@ -11,11 +12,12 @@ import { } from "./actor-context"; import { ActorTabs } from "./actors-actor-details"; import { useActorsView } from "./actors-view-context-provider"; -import { ShimmerLine } from "../shimmer-line"; export function ActorNotFound({ features = [], -}: { features?: ActorFeature[] }) { +}: { + features?: ActorFeature[]; +}) { const { copy } = useActorsView(); const setFilters = useSetAtom(actorFiltersAtom); diff --git a/frontend/packages/components/src/actors/actor-region.tsx b/frontend/packages/components/src/actors/actor-region.tsx index 12b7eb3e2e..dc12c8009b 100644 --- a/frontend/packages/components/src/actors/actor-region.tsx +++ b/frontend/packages/components/src/actors/actor-region.tsx @@ -3,9 +3,9 @@ import { useAtomValue } from "jotai"; import { selectAtom } from "jotai/utils"; import { useCallback } from "react"; import { + getRegionKey, REGION_LABEL, RegionIcon, - getRegionKey, } from "../matchmaker/lobby-region"; import { actorRegionsAtom } from "./actor-context"; diff --git a/frontend/packages/components/src/actors/actor-status-indicator.tsx b/frontend/packages/components/src/actors/actor-status-indicator.tsx index 81f9ff34dc..41eaceca02 100644 --- a/frontend/packages/components/src/actors/actor-status-indicator.tsx +++ b/frontend/packages/components/src/actors/actor-status-indicator.tsx @@ -1,4 +1,4 @@ -import { Ping, cn } from "@rivet-gg/components"; +import { cn, Ping } from "@rivet-gg/components"; import { useAtomValue } from "jotai"; import { selectAtom } from "jotai/utils"; import type { ComponentPropsWithRef } from "react"; diff --git a/frontend/packages/components/src/actors/actor-status-label.tsx b/frontend/packages/components/src/actors/actor-status-label.tsx index c6a16ddb7d..1f401efc55 100644 --- a/frontend/packages/components/src/actors/actor-status-label.tsx +++ b/frontend/packages/components/src/actors/actor-status-label.tsx @@ -17,11 +17,7 @@ export const ActorStatusLabel = ({ status }: { status: ActorStatus }) => { const selector = (a: Actor) => a.status; -export const AtomizedActorStatusLabel = ({ - actor, -}: { - actor: ActorAtom; -}) => { +export const AtomizedActorStatusLabel = ({ actor }: { actor: ActorAtom }) => { const status = useAtomValue(selectAtom(actor, selector)); return ; }; diff --git a/frontend/packages/components/src/actors/actor-stop-button.tsx b/frontend/packages/components/src/actors/actor-stop-button.tsx index cbc67ea89f..8dd1c79a11 100644 --- a/frontend/packages/components/src/actors/actor-stop-button.tsx +++ b/frontend/packages/components/src/actors/actor-stop-button.tsx @@ -1,5 +1,5 @@ import { Button, WithTooltip } from "@rivet-gg/components"; -import { Icon, faXmark } from "@rivet-gg/icons"; +import { faXmark, Icon } from "@rivet-gg/icons"; import equal from "fast-deep-equal"; import { useAtomValue } from "jotai"; diff --git a/frontend/packages/components/src/actors/actor-tags.tsx b/frontend/packages/components/src/actors/actor-tags.tsx index 5a017d5cb0..fd3de0be96 100644 --- a/frontend/packages/components/src/actors/actor-tags.tsx +++ b/frontend/packages/components/src/actors/actor-tags.tsx @@ -1,13 +1,13 @@ import { Button, + cn, DiscreteCopyButton, Slot, Slottable, WithTooltip, - cn, } from "@rivet-gg/components"; -import { Icon, faTag } from "@rivet-gg/icons"; -import { type ReactNode, forwardRef, useState } from "react"; +import { faTag, Icon } from "@rivet-gg/icons"; +import { forwardRef, type ReactNode, useState } from "react"; const BUILT_IN_TAGS = { actors: ["framework", "framework-version"], diff --git a/frontend/packages/components/src/actors/actors-actor-details.tsx b/frontend/packages/components/src/actors/actors-actor-details.tsx index e45a7bc48e..afcf6a8671 100644 --- a/frontend/packages/components/src/actors/actors-actor-details.tsx +++ b/frontend/packages/components/src/actors/actors-actor-details.tsx @@ -1,14 +1,14 @@ import { + cn, Flex, Tabs, TabsContent, TabsList, TabsTrigger, - cn, } from "@rivet-gg/components"; -import { Icon, faQuestionSquare } from "@rivet-gg/icons"; +import { faQuestionSquare, Icon } from "@rivet-gg/icons"; import { useAtomValue } from "jotai"; -import { type ReactNode, Suspense, memo } from "react"; +import { memo, type ReactNode, Suspense } from "react"; import { ActorConfigTab } from "./actor-config-tab"; import { ActorConnectionsTab } from "./actor-connections-tab"; import { diff --git a/frontend/packages/components/src/actors/actors-actor-not-found.tsx b/frontend/packages/components/src/actors/actors-actor-not-found.tsx index 96fed3be76..9cf7d8f7c1 100644 --- a/frontend/packages/components/src/actors/actors-actor-not-found.tsx +++ b/frontend/packages/components/src/actors/actors-actor-not-found.tsx @@ -1,6 +1,6 @@ // import { isRivetError } from "@/lib/utils"; // import { RivetError } from "@rivet-gg/api"; -import { Icon, faCircleExclamation } from "@rivet-gg/icons"; +import { faCircleExclamation, Icon } from "@rivet-gg/icons"; import type { ErrorComponentProps } from "@tanstack/react-router"; import { ActorsSidebarToggleButton } from "./actors-sidebar-toggle-button"; diff --git a/frontend/packages/components/src/actors/actors-layout.tsx b/frontend/packages/components/src/actors/actors-layout.tsx index df2a8d4b32..9800e2c233 100644 --- a/frontend/packages/components/src/actors/actors-layout.tsx +++ b/frontend/packages/components/src/actors/actors-layout.tsx @@ -1,4 +1,4 @@ -import { type ReactNode, memo, useState } from "react"; +import { memo, type ReactNode, useState } from "react"; import { cn, ls } from "../lib/utils"; import { ActorsLayoutContextProvider } from "./actors-layout-context"; diff --git a/frontend/packages/components/src/actors/actors-list-preview.tsx b/frontend/packages/components/src/actors/actors-list-preview.tsx index d26a22acab..1b4bbb895e 100644 --- a/frontend/packages/components/src/actors/actors-list-preview.tsx +++ b/frontend/packages/components/src/actors/actors-list-preview.tsx @@ -1,4 +1,4 @@ -import { Icon, faGripDotsVertical } from "@rivet-gg/icons"; +import { faGripDotsVertical, Icon } from "@rivet-gg/icons"; import { animate, motion, @@ -8,9 +8,9 @@ import { useTransform, } from "framer-motion"; import { + memo, type ReactNode, Suspense, - memo, useCallback, useLayoutEffect, useState, diff --git a/frontend/packages/components/src/actors/actors-list-row.tsx b/frontend/packages/components/src/actors/actors-list-row.tsx index 6108b4df0c..82aa0cd5fe 100644 --- a/frontend/packages/components/src/actors/actors-list-row.tsx +++ b/frontend/packages/components/src/actors/actors-list-row.tsx @@ -1,12 +1,12 @@ import { Button, + cn, RelativeTime, SmallText, - WithTooltip, - cn, toRecord, + WithTooltip, } from "@rivet-gg/components"; -import { Icon, faTag, faTags } from "@rivet-gg/icons"; +import { faTag, faTags, Icon } from "@rivet-gg/icons"; import { Link } from "@tanstack/react-router"; import { useAtomValue } from "jotai"; import { selectAtom } from "jotai/utils"; diff --git a/frontend/packages/components/src/actors/actors-list.tsx b/frontend/packages/components/src/actors/actors-list.tsx index 2ca0e8242d..6d94b0f980 100644 --- a/frontend/packages/components/src/actors/actors-list.tsx +++ b/frontend/packages/components/src/actors/actors-list.tsx @@ -3,6 +3,9 @@ import { Checkbox, CommandGroup, CommandItem, + cn, + createFiltersPicker, + createFiltersSchema, DocsSheet, FilterCreator, type FilterDefinitions, @@ -12,12 +15,8 @@ import { ScrollArea, ShimmerLine, SmallText, - cn, - createFiltersPicker, - createFiltersSchema, } from "@rivet-gg/components"; import { - Icon, faActors, faCalendarCircleMinus, faCalendarCirclePlus, @@ -29,6 +28,7 @@ import { faSignalBars, faTag, faTs, + Icon, } from "@rivet-gg/icons"; import { useNavigate, useSearch } from "@tanstack/react-router"; import { useAtomValue, useSetAtom } from "jotai"; @@ -37,10 +37,10 @@ import { actorFiltersAtom, actorFiltersCountAtom, actorRegionsAtom, - actorTagsAtom, actorsAtomsAtom, actorsPaginationAtom, actorsQueryAtom, + actorTagsAtom, filteredActorsCountAtom, } from "./actor-context"; import { ActorStatus } from "./actor-status"; diff --git a/frontend/packages/components/src/actors/actors-sidebar-toggle-button.tsx b/frontend/packages/components/src/actors/actors-sidebar-toggle-button.tsx index d210653c7a..9abba1c6ee 100644 --- a/frontend/packages/components/src/actors/actors-sidebar-toggle-button.tsx +++ b/frontend/packages/components/src/actors/actors-sidebar-toggle-button.tsx @@ -1,5 +1,5 @@ import { Button } from "@rivet-gg/components"; -import { Icon, faSidebar } from "@rivet-gg/icons"; +import { faSidebar, Icon } from "@rivet-gg/icons"; import { useActorsLayout } from "./actors-layout-context"; export function ActorsSidebarToggleButton() { diff --git a/frontend/packages/components/src/actors/console/actor-console-message.tsx b/frontend/packages/components/src/actors/console/actor-console-message.tsx index eaba9b1e3d..9b23f96f58 100644 --- a/frontend/packages/components/src/actors/console/actor-console-message.tsx +++ b/frontend/packages/components/src/actors/console/actor-console-message.tsx @@ -1,14 +1,14 @@ import { cn } from "@rivet-gg/components"; import { - Icon, faAngleLeft, faAngleRight, faExclamationCircle, faSpinnerThird, faWarning, + Icon, } from "@rivet-gg/icons"; import { format } from "date-fns"; -import { type ReactNode, forwardRef } from "react"; +import { forwardRef, type ReactNode } from "react"; interface ActorConsoleMessageProps { variant: diff --git a/frontend/packages/components/src/actors/console/actor-console.tsx b/frontend/packages/components/src/actors/console/actor-console.tsx index 681cbbf10d..61e0b864cb 100644 --- a/frontend/packages/components/src/actors/console/actor-console.tsx +++ b/frontend/packages/components/src/actors/console/actor-console.tsx @@ -1,5 +1,5 @@ import { Button } from "@rivet-gg/components"; -import { Icon, faChevronDown } from "@rivet-gg/icons"; +import { faChevronDown, Icon } from "@rivet-gg/icons"; import { AnimatePresence, motion } from "framer-motion"; import { useState } from "react"; import { useActorWorkerStatus } from "../worker/actor-worker-context"; diff --git a/frontend/packages/components/src/actors/console/actor-inspector.tsx b/frontend/packages/components/src/actors/console/actor-inspector.tsx index 87949e7a13..c389ac05dc 100644 --- a/frontend/packages/components/src/actors/console/actor-inspector.tsx +++ b/frontend/packages/components/src/actors/console/actor-inspector.tsx @@ -1,6 +1,6 @@ import { cn } from "@rivet-gg/components"; import type { ComponentProps } from "react"; -import { Inspector, type ObjectInspector, chromeDark } from "react-inspector"; +import { chromeDark, Inspector, type ObjectInspector } from "react-inspector"; const INSPECTOR_THEME = { ...chromeDark, @@ -22,7 +22,7 @@ export function ActorObjectInspector( table={false} data={props.data} // Invalid types for theme - // @ts-ignore + // @ts-expect-error theme={INSPECTOR_THEME} /> diff --git a/frontend/packages/components/src/actors/console/repl-input.tsx b/frontend/packages/components/src/actors/console/repl-input.tsx index fc7ef1e372..d365e0f1ca 100644 --- a/frontend/packages/components/src/actors/console/repl-input.tsx +++ b/frontend/packages/components/src/actors/console/repl-input.tsx @@ -2,9 +2,9 @@ import { CodeMirror, type CodeMirrorRef, type CompletionContext, + defaultKeymap, EditorView, External, - defaultKeymap, javascript, javascriptLanguage, keymap, diff --git a/frontend/packages/components/src/actors/create-actor-button.tsx b/frontend/packages/components/src/actors/create-actor-button.tsx index 3748de59bb..6b7051ccc5 100644 --- a/frontend/packages/components/src/actors/create-actor-button.tsx +++ b/frontend/packages/components/src/actors/create-actor-button.tsx @@ -1,5 +1,5 @@ import { Button, type ButtonProps, WithTooltip } from "@rivet-gg/components"; -import { Icon, faPlus } from "@rivet-gg/icons"; +import { faPlus, Icon } from "@rivet-gg/icons"; import { useNavigate } from "@tanstack/react-router"; import { useAtomValue } from "jotai"; import { diff --git a/frontend/packages/components/src/actors/environment-select.tsx b/frontend/packages/components/src/actors/environment-select.tsx index 2261946dbc..da3bddba83 100644 --- a/frontend/packages/components/src/actors/environment-select.tsx +++ b/frontend/packages/components/src/actors/environment-select.tsx @@ -1,4 +1,3 @@ -import { projectEnvironmentsQueryOptions } from "@/domains/project/queries"; import { Flex, Select, @@ -8,9 +7,10 @@ import { SelectTrigger, SelectValue, } from "@rivet-gg/components"; -import { Icon, faCirclePlus } from "@rivet-gg/icons"; +import { faCirclePlus, Icon } from "@rivet-gg/icons"; import { useSuspenseQuery } from "@tanstack/react-query"; import { type ComponentProps, useCallback } from "react"; +import { projectEnvironmentsQueryOptions } from "@/domains/project/queries"; interface EnvironmentSelectProps extends ComponentProps { projectId: string; diff --git a/frontend/packages/components/src/actors/form/actor-create-form.tsx b/frontend/packages/components/src/actors/form/actor-create-form.tsx index bf92b99b46..a186d5c2f1 100644 --- a/frontend/packages/components/src/actors/form/actor-create-form.tsx +++ b/frontend/packages/components/src/actors/form/actor-create-form.tsx @@ -1,17 +1,16 @@ import { + createSchemaForm, FormControl, FormField, FormItem, FormLabel, FormMessage, Label, - createSchemaForm, } from "@rivet-gg/components"; import { JsonCode } from "@rivet-gg/components/code-mirror"; +import { useAtomValue, useSetAtom } from "jotai"; import { type UseFormReturn, useFormContext } from "react-hook-form"; import z from "zod"; - -import { useAtomValue, useSetAtom } from "jotai"; import { actorCustomTagKeys, actorCustomTagValues, diff --git a/frontend/packages/components/src/actors/form/build-tags-form.tsx b/frontend/packages/components/src/actors/form/build-tags-form.tsx index b431baf7cd..723ce1404c 100644 --- a/frontend/packages/components/src/actors/form/build-tags-form.tsx +++ b/frontend/packages/components/src/actors/form/build-tags-form.tsx @@ -1,4 +1,4 @@ -import { Icon, faTrash } from "@rivet-gg/icons"; +import { faTrash, Icon } from "@rivet-gg/icons"; import { type UseFormReturn, useFieldArray, diff --git a/frontend/packages/components/src/actors/get-started.tsx b/frontend/packages/components/src/actors/get-started.tsx index 8039cb19f9..9471f354cb 100644 --- a/frontend/packages/components/src/actors/get-started.tsx +++ b/frontend/packages/components/src/actors/get-started.tsx @@ -1,4 +1,4 @@ -import { Icon, faActors, faFunction, faServer } from "@rivet-gg/icons"; +import { faActors, faFunction, faServer, Icon } from "@rivet-gg/icons"; import { motion } from "framer-motion"; import type { ComponentProps } from "react"; import { DocsSheet } from "../docs-sheet"; diff --git a/frontend/packages/components/src/actors/getting-started.tsx b/frontend/packages/components/src/actors/getting-started.tsx index e64f8ac502..63f60d6afa 100644 --- a/frontend/packages/components/src/actors/getting-started.tsx +++ b/frontend/packages/components/src/actors/getting-started.tsx @@ -1,4 +1,4 @@ -import { Icon, faActors } from "@rivet-gg/icons"; +import { faActors, Icon } from "@rivet-gg/icons"; import { useActorsView } from "./actors-view-context-provider"; import { ActorsResources } from "./get-started"; diff --git a/frontend/packages/components/src/actors/go-to-actor-button.tsx b/frontend/packages/components/src/actors/go-to-actor-button.tsx index b38d67f676..7c29dd8b5f 100644 --- a/frontend/packages/components/src/actors/go-to-actor-button.tsx +++ b/frontend/packages/components/src/actors/go-to-actor-button.tsx @@ -1,5 +1,5 @@ import { Button, type ButtonProps } from "@rivet-gg/components"; -import { Icon, faMagnifyingGlass } from "@rivet-gg/icons"; +import { faMagnifyingGlass, Icon } from "@rivet-gg/icons"; import { useNavigate } from "@tanstack/react-router"; import { useActorsView } from "./actors-view-context-provider"; diff --git a/frontend/packages/components/src/actors/group-project-select.tsx b/frontend/packages/components/src/actors/group-project-select.tsx index d1f7fa6c86..0db37be8ad 100644 --- a/frontend/packages/components/src/actors/group-project-select.tsx +++ b/frontend/packages/components/src/actors/group-project-select.tsx @@ -1,4 +1,3 @@ -import { groupProjectsQueryOptions } from "@/domains/project/queries"; import { Flex, Select, @@ -8,9 +7,10 @@ import { SelectTrigger, SelectValue, } from "@rivet-gg/components"; -import { Icon, faCirclePlus } from "@rivet-gg/icons"; +import { faCirclePlus, Icon } from "@rivet-gg/icons"; import { useSuspenseQuery } from "@tanstack/react-query"; import { type ComponentProps, useCallback } from "react"; +import { groupProjectsQueryOptions } from "@/domains/project/queries"; interface GroupProjectSelectProps extends ComponentProps { groupId: string; diff --git a/frontend/packages/components/src/actors/index.tsx b/frontend/packages/components/src/actors/index.tsx index dd5baf45d2..e45d75212e 100644 --- a/frontend/packages/components/src/actors/index.tsx +++ b/frontend/packages/components/src/actors/index.tsx @@ -1,17 +1,17 @@ -export * from "./getting-started"; -export * from "./actors-list-preview"; -export * from "./actor-tags"; export * from "./actor-context"; -export * from "./actors-actor-details"; -export * from "./hooks/index"; +export * from "./actor-not-found"; +export * from "./actor-region"; +export * from "./actor-status-indicator"; export { getActorStatus } from "./actor-status-indicator"; +export * from "./actor-status-label"; +export * from "./actor-tags"; +export * from "./actors-actor-details"; export * from "./actors-layout"; export * from "./actors-layout-context"; +export { ActorsListFiltersSchema, pickActorListFilters } from "./actors-list"; +export * from "./actors-list-preview"; +export * from "./actors-view-context-provider"; export * from "./console/actor-console-message"; -export * from "./actor-region"; export * from "./console/actor-inspector"; -export * from "./actor-status-indicator"; -export * from "./actor-status-label"; -export * from "./actors-view-context-provider"; -export * from "./actor-not-found"; -export { ActorsListFiltersSchema, pickActorListFilters } from "./actors-list"; +export * from "./getting-started"; +export * from "./hooks/index"; diff --git a/frontend/packages/components/src/actors/matchmaker-lobby-config-settings-card.tsx b/frontend/packages/components/src/actors/matchmaker-lobby-config-settings-card.tsx index c6112dea98..bac3379c80 100644 --- a/frontend/packages/components/src/actors/matchmaker-lobby-config-settings-card.tsx +++ b/frontend/packages/components/src/actors/matchmaker-lobby-config-settings-card.tsx @@ -1,4 +1,3 @@ -import * as MatchmakerLobbyConfigForm from "@/domains/project/forms/matchmaker-lobby-config-form"; import { Card, CardContent, @@ -8,6 +7,7 @@ import { Flex, } from "@rivet-gg/components"; import { useSuspenseQuery } from "@tanstack/react-query"; +import * as MatchmakerLobbyConfigForm from "@/domains/project/forms/matchmaker-lobby-config-form"; import { useMatchmakerLobbyConfigFormHandler } from "../hooks/use-matchmaker-lobby-config-form-handler"; import { projectEnvironmentQueryOptions } from "../queries"; diff --git a/frontend/packages/components/src/actors/project-builds-table-actions.tsx b/frontend/packages/components/src/actors/project-builds-table-actions.tsx index 47dcea2344..5e2ed212ef 100644 --- a/frontend/packages/components/src/actors/project-builds-table-actions.tsx +++ b/frontend/packages/components/src/actors/project-builds-table-actions.tsx @@ -5,7 +5,7 @@ import { DropdownMenuItem, DropdownMenuTrigger, } from "@rivet-gg/components"; -import { Icon, faEllipsisH } from "@rivet-gg/icons"; +import { faEllipsisH, Icon } from "@rivet-gg/icons"; import { useNavigate } from "@tanstack/react-router"; interface ProjectBuildsTableActionsProps { diff --git a/frontend/packages/components/src/actors/project-environments-table-actions.tsx b/frontend/packages/components/src/actors/project-environments-table-actions.tsx index b6722a6274..ce8aa53368 100644 --- a/frontend/packages/components/src/actors/project-environments-table-actions.tsx +++ b/frontend/packages/components/src/actors/project-environments-table-actions.tsx @@ -5,7 +5,7 @@ import { DropdownMenuItem, DropdownMenuTrigger, } from "@rivet-gg/components"; -import { Icon, faEllipsisH } from "@rivet-gg/icons"; +import { faEllipsisH, Icon } from "@rivet-gg/icons"; export function ProjectEnvironmentsTableActions() { return ( diff --git a/frontend/packages/components/src/actors/project-logo-settings-card.tsx b/frontend/packages/components/src/actors/project-logo-settings-card.tsx index e4ede8afde..81ca1cda02 100644 --- a/frontend/packages/components/src/actors/project-logo-settings-card.tsx +++ b/frontend/packages/components/src/actors/project-logo-settings-card.tsx @@ -1,4 +1,3 @@ -import * as GroupImageForm from "@/domains/project/forms/project-logo-form"; import { Card, CardContent, @@ -6,6 +5,7 @@ import { CardHeader, CardTitle, } from "@rivet-gg/components"; +import * as GroupImageForm from "@/domains/project/forms/project-logo-form"; import { useProjectLogoUploadMutation } from "../queries"; interface ProjectLogoSettingsCardProps { diff --git a/frontend/packages/components/src/actors/project-select.tsx b/frontend/packages/components/src/actors/project-select.tsx index 1438de3313..7f471a94c3 100644 --- a/frontend/packages/components/src/actors/project-select.tsx +++ b/frontend/packages/components/src/actors/project-select.tsx @@ -1,5 +1,3 @@ -import { GroupAvatar } from "@/domains/group/components/group-avatar"; -import { projectsByGroupQueryOptions } from "@/domains/project/queries"; import { Flex, Select, @@ -11,9 +9,11 @@ import { SelectTrigger, SelectValue, } from "@rivet-gg/components"; -import { Icon, faCirclePlus } from "@rivet-gg/icons"; +import { faCirclePlus, Icon } from "@rivet-gg/icons"; import { useSuspenseQuery } from "@tanstack/react-query"; import { type ComponentProps, Fragment, useCallback } from "react"; +import { GroupAvatar } from "@/domains/group/components/group-avatar"; +import { projectsByGroupQueryOptions } from "@/domains/project/queries"; interface ProjectSelectProps extends ComponentProps { showCreateProject?: boolean; diff --git a/frontend/packages/components/src/actors/project-table-actions.tsx b/frontend/packages/components/src/actors/project-table-actions.tsx index bd462c5d44..40937237da 100644 --- a/frontend/packages/components/src/actors/project-table-actions.tsx +++ b/frontend/packages/components/src/actors/project-table-actions.tsx @@ -5,7 +5,7 @@ import { DropdownMenuItem, DropdownMenuTrigger, } from "@rivet-gg/components"; -import { Icon, faEllipsisH } from "@rivet-gg/icons"; +import { faEllipsisH, Icon } from "@rivet-gg/icons"; export function ProjectTableActions() { return ( diff --git a/frontend/packages/components/src/actors/worker/actor-worker-context.tsx b/frontend/packages/components/src/actors/worker/actor-worker-context.tsx index 0d731caae6..cfb9a371ad 100644 --- a/frontend/packages/components/src/actors/worker/actor-worker-context.tsx +++ b/frontend/packages/components/src/actors/worker/actor-worker-context.tsx @@ -1,8 +1,8 @@ import { useAtomValue } from "jotai"; import { selectAtom } from "jotai/utils"; import { - type ReactNode, createContext, + type ReactNode, useCallback, useContext, useEffect, diff --git a/frontend/packages/components/src/actors/worker/actor-worker-status.tsx b/frontend/packages/components/src/actors/worker/actor-worker-status.tsx index 7838351392..06e5c9c961 100644 --- a/frontend/packages/components/src/actors/worker/actor-worker-status.tsx +++ b/frontend/packages/components/src/actors/worker/actor-worker-status.tsx @@ -1,4 +1,4 @@ -import { Icon, faExclamationTriangle, faSpinner } from "@rivet-gg/icons"; +import { faExclamationTriangle, faSpinner, Icon } from "@rivet-gg/icons"; import { AnimatePresence, motion } from "framer-motion"; import type { ContainerStatus } from "./actor-worker-container"; diff --git a/frontend/packages/components/src/animated-currency.tsx b/frontend/packages/components/src/animated-currency.tsx index a4070940e9..85ea938c2c 100644 --- a/frontend/packages/components/src/animated-currency.tsx +++ b/frontend/packages/components/src/animated-currency.tsx @@ -1,8 +1,8 @@ "use client"; import { - LazyMotion, animate, domAnimation, + LazyMotion, motion, useMotionValue, useTransform, diff --git a/frontend/packages/components/src/auto-form/fields/array.tsx b/frontend/packages/components/src/auto-form/fields/array.tsx index 056c40869e..84d8e83d6d 100644 --- a/frontend/packages/components/src/auto-form/fields/array.tsx +++ b/frontend/packages/components/src/auto-form/fields/array.tsx @@ -1,4 +1,4 @@ -import { Icon, faAdd, faTrash } from "@rivet-gg/icons"; +import { faAdd, faTrash, Icon } from "@rivet-gg/icons"; import { useFieldArray, useFormContext } from "react-hook-form"; import * as z from "zod"; import { diff --git a/frontend/packages/components/src/auto-form/fields/file.tsx b/frontend/packages/components/src/auto-form/fields/file.tsx index 17c5e4bffd..c9741852f3 100644 --- a/frontend/packages/components/src/auto-form/fields/file.tsx +++ b/frontend/packages/components/src/auto-form/fields/file.tsx @@ -1,5 +1,5 @@ "use client"; -import { Icon, faTrash } from "@rivet-gg/icons"; +import { faTrash, Icon } from "@rivet-gg/icons"; import { type ChangeEvent, useState } from "react"; import { FormControl, FormItem, FormMessage } from "../../ui/form"; import { Input } from "../../ui/input"; diff --git a/frontend/packages/components/src/auto-form/index.tsx b/frontend/packages/components/src/auto-form/index.tsx index 6c18283a82..23042a346c 100644 --- a/frontend/packages/components/src/auto-form/index.tsx +++ b/frontend/packages/components/src/auto-form/index.tsx @@ -1,19 +1,19 @@ "use client"; + +import { zodResolver } from "@hookform/resolvers/zod"; import React from "react"; import { type DefaultValues, type FormState, useForm } from "react-hook-form"; import type { z } from "zod"; -import { Form } from "../ui/form"; - -import { zodResolver } from "@hookform/resolvers/zod"; import { cn } from "../lib/utils"; import { Button } from "../ui/button"; +import { Form } from "../ui/form"; import AutoFormObject from "./fields/object"; import type { Dependency, FieldConfig } from "./types"; import { - type ZodObjectOrWrapped, getDefaultValues, getObjectFormSchema, + type ZodObjectOrWrapped, } from "./utils"; export { AutoFormObject }; diff --git a/frontend/packages/components/src/code-mirror/index.tsx b/frontend/packages/components/src/code-mirror/index.tsx index 8b2cfaf92d..f8982c4d57 100644 --- a/frontend/packages/components/src/code-mirror/index.tsx +++ b/frontend/packages/components/src/code-mirror/index.tsx @@ -3,8 +3,8 @@ import { linter } from "@codemirror/lint"; import { Annotation } from "@codemirror/state"; import { githubDark, githubDarkInit } from "@uiw/codemirror-theme-github"; import ReactCodeMirror, { - type ReactCodeMirrorRef, type ReactCodeMirrorProps, + type ReactCodeMirrorRef, } from "@uiw/react-codemirror"; import { forwardRef } from "react"; @@ -39,11 +39,11 @@ export const JsonCode = forwardRef( ); export const External = Annotation.define(); +export type { CompletionContext } from "@codemirror/autocomplete"; export { defaultKeymap } from "@codemirror/commands"; -export { keymap, type KeyBinding, EditorView } from "@codemirror/view"; export { javascript, javascriptLanguage } from "@codemirror/lang-javascript"; -export type { CompletionContext } from "@codemirror/autocomplete"; export { json, jsonParseLinter } from "@codemirror/lang-json"; +export { EditorView, type KeyBinding, keymap } from "@codemirror/view"; export type { ReactCodeMirrorProps as CodeMirrorProps, ReactCodeMirrorRef as CodeMirrorRef, diff --git a/frontend/packages/components/src/code.tsx b/frontend/packages/components/src/code.tsx index 465983954d..86239126ed 100644 --- a/frontend/packages/components/src/code.tsx +++ b/frontend/packages/components/src/code.tsx @@ -1,5 +1,5 @@ -import { Icon, faCopy, faFile } from "@rivet-gg/icons"; -import { Children, type ReactElement, cloneElement } from "react"; +import { faCopy, faFile, Icon } from "@rivet-gg/icons"; +import { Children, cloneElement, type ReactElement } from "react"; import { CopyButton } from "./copy-area"; import { cn } from "./lib/utils"; import { Badge } from "./ui/badge"; diff --git a/frontend/packages/components/src/copy-area.tsx b/frontend/packages/components/src/copy-area.tsx index d9e34f7de6..05d304abf9 100644 --- a/frontend/packages/components/src/copy-area.tsx +++ b/frontend/packages/components/src/copy-area.tsx @@ -1,12 +1,12 @@ "use client"; import { Slot } from "@radix-ui/react-slot"; -import { Icon, faCopy } from "@rivet-gg/icons"; +import { faCopy, Icon } from "@rivet-gg/icons"; import { type ComponentProps, + forwardRef, type MouseEventHandler, type ReactNode, - forwardRef, useState, } from "react"; import { toast } from "sonner"; diff --git a/frontend/packages/components/src/cta-card.tsx b/frontend/packages/components/src/cta-card.tsx index 965ffe7119..6d6df97e8b 100644 --- a/frontend/packages/components/src/cta-card.tsx +++ b/frontend/packages/components/src/cta-card.tsx @@ -1,6 +1,6 @@ -import { Icon, faArrowRight } from "@rivet-gg/icons"; -import { ActionCard, type ActionCardProps } from "./action-card"; +import { faArrowRight, Icon } from "@rivet-gg/icons"; import type { PropsWithChildren } from "react"; +import { ActionCard, type ActionCardProps } from "./action-card"; export interface CtaCardProps extends Omit {} diff --git a/frontend/packages/components/src/datepicker.tsx b/frontend/packages/components/src/datepicker.tsx index 06d4941b0d..e635ad7d45 100644 --- a/frontend/packages/components/src/datepicker.tsx +++ b/frontend/packages/components/src/datepicker.tsx @@ -1,9 +1,7 @@ "use client"; +import { faCalendar, Icon } from "@rivet-gg/icons"; import { format } from "date-fns"; - -import { faCalendar } from "@rivet-gg/icons"; -import { Icon } from "@rivet-gg/icons"; import type { DateRange } from "react-day-picker"; import { cn } from "./lib/utils"; import { Button } from "./ui/button"; diff --git a/frontend/packages/components/src/dialogs/feedback-dialog.tsx b/frontend/packages/components/src/dialogs/feedback-dialog.tsx index 3e298a3060..20197b36d0 100644 --- a/frontend/packages/components/src/dialogs/feedback-dialog.tsx +++ b/frontend/packages/components/src/dialogs/feedback-dialog.tsx @@ -1,11 +1,10 @@ -import * as FeedbackForm from "../forms/feedback-form"; -import type { DialogContentProps } from "../hooks/use-dialog"; -import { FEEDBACK_FORM_ID } from "../lib/constants"; - import { DialogDescription } from "@radix-ui/react-dialog"; -import { Icon, faDiscord } from "@rivet-gg/icons"; +import { faDiscord, Icon } from "@rivet-gg/icons"; import { usePostHog } from "posthog-js/react"; import { useState } from "react"; +import * as FeedbackForm from "../forms/feedback-form"; +import type { DialogContentProps } from "../hooks/use-dialog"; +import { FEEDBACK_FORM_ID } from "../lib/constants"; import { Button } from "../ui/button"; import { DialogFooter, DialogHeader, DialogTitle } from "../ui/dialog"; import { Flex } from "../ui/flex"; diff --git a/frontend/packages/components/src/docs-sheet.tsx b/frontend/packages/components/src/docs-sheet.tsx index bf403d3748..ad8baac13c 100644 --- a/frontend/packages/components/src/docs-sheet.tsx +++ b/frontend/packages/components/src/docs-sheet.tsx @@ -1,4 +1,4 @@ -import { Icon, faExternalLink } from "@rivet-gg/icons"; +import { faExternalLink, Icon } from "@rivet-gg/icons"; import type { ReactNode } from "react"; import { Sheet, diff --git a/frontend/packages/components/src/external-card.tsx b/frontend/packages/components/src/external-card.tsx index a59cc38443..1d434ee750 100644 --- a/frontend/packages/components/src/external-card.tsx +++ b/frontend/packages/components/src/external-card.tsx @@ -1,5 +1,4 @@ -import { faArrowUpRightFromSquare } from "@rivet-gg/icons"; -import { Icon } from "@rivet-gg/icons"; +import { faArrowUpRightFromSquare, Icon } from "@rivet-gg/icons"; import type { ReactNode } from "react"; import { ActionCard, type ActionCardProps } from "./action-card"; import { Button } from "./ui/button"; diff --git a/frontend/packages/components/src/forms/feedback-form.tsx b/frontend/packages/components/src/forms/feedback-form.tsx index ec3b854d23..9ce45ae749 100644 --- a/frontend/packages/components/src/forms/feedback-form.tsx +++ b/frontend/packages/components/src/forms/feedback-form.tsx @@ -1,4 +1,4 @@ -import { Icon, faBug, faConciergeBell } from "@rivet-gg/icons"; +import { faBug, faConciergeBell, Icon } from "@rivet-gg/icons"; import { type UseFormReturn, useFormContext } from "react-hook-form"; import z from "zod"; import { createSchemaForm } from "../lib/create-schema-form"; diff --git a/frontend/packages/components/src/header/index.tsx b/frontend/packages/components/src/header/index.tsx index b0a082072d..c1dacb8ebe 100644 --- a/frontend/packages/components/src/header/index.tsx +++ b/frontend/packages/components/src/header/index.tsx @@ -1,5 +1,4 @@ -import { faBars } from "@rivet-gg/icons"; -import { Icon } from "@rivet-gg/icons"; +import { faBars, Icon } from "@rivet-gg/icons"; import type { ReactNode } from "react"; import { AssetImage } from "../asset-image"; import { cn } from "../lib/utils"; @@ -80,13 +79,13 @@ export function Header({ - +