Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add header #1329

Merged
merged 131 commits into from
Jul 10, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
131 commits
Select commit Hold shift + click to select a range
e1742f5
feat: add header
dominik-stumpf Jun 27, 2024
037a8df
Merge branch 'shadcn-ui' of github.com:guildxyz/guild.xyz into v2-header
dominik-stumpf Jun 27, 2024
f369ad1
Merge branch 'shadcn-ui' of github.com:guildxyz/guild.xyz into v2-header
dominik-stumpf Jun 27, 2024
e39c633
chore: configure navigator
dominik-stumpf Jun 27, 2024
06f2b6f
feat: `Providers` component
BrickheadJohnny Jun 27, 2024
2c17947
chore: disable navigator on blur
dominik-stumpf Jun 27, 2024
beba2f0
Merge branch 'v2-header' of github.com:agoraxyz/guild.xyz into v2-header
BrickheadJohnny Jun 27, 2024
5550161
feat: `NavigationEvents` component
BrickheadJohnny Jun 27, 2024
d1c385b
refactor: make providers work with both routers
BrickheadJohnny Jun 27, 2024
9444431
feat: add IntercomProvider
BrickheadJohnny Jun 28, 2024
c922373
feat: usePrevious hook
BrickheadJohnny Jun 28, 2024
ef7e7df
feat(CardMotionWrapper): use `m.div` instead of `MotionBox`
BrickheadJohnny Jun 28, 2024
b9e8583
Merge branch 'shadcn-ui' into v2-header
BrickheadJohnny Jun 28, 2024
30c9faa
Merge branch 'shadcn-ui' into v2-header
BrickheadJohnny Jun 28, 2024
777527b
wip: WalletSelectorModal without Google login button
BrickheadJohnny Jun 28, 2024
fc886b6
update package-lock
BrickheadJohnny Jun 28, 2024
fb353e6
Merge branch 'shadcn-ui' into v2-header
BrickheadJohnny Jun 29, 2024
9a94c1c
fix: proper button states in wallet selector modal
BrickheadJohnny Jun 29, 2024
8fab7a6
feat: `NavMenu` as popover
BrickheadJohnny Jun 30, 2024
28e9148
feat: `CopyableAddress` component
BrickheadJohnny Jul 1, 2024
737b4e3
fix(useGuild): use the new `usePathname` hook
BrickheadJohnny Jul 1, 2024
1c3a148
Merge branch 'shadcn-ui' into v2-header
BrickheadJohnny Jul 1, 2024
e27f5ad
fix: export `connectorButtonBaseProps` from `ConnectorButton`
BrickheadJohnny Jul 1, 2024
56c236f
refactor toast related css variables
BrickheadJohnny Jul 1, 2024
2ee463c
fix: replace relevant toasts with our new toast component
BrickheadJohnny Jul 1, 2024
0219192
Merge branch 'shadcn-ui' into v2-header
BrickheadJohnny Jul 1, 2024
6e39fa7
chore: upgrade nextjs
BrickheadJohnny Jul 1, 2024
7deb36d
wip: account modal
BrickheadJohnny Jul 1, 2024
e487670
Merge branch 'shadcn-ui' into v2-header
BrickheadJohnny Jul 2, 2024
8502a6a
cleanup playground
BrickheadJohnny Jul 2, 2024
047bb76
refactor posthog, intercom, web3 related contexts & hooks
BrickheadJohnny Jul 2, 2024
d06a9e7
cleanup: remove `DialogExample`
BrickheadJohnny Jul 2, 2024
253203c
Merge branch 'shadcn-ui' into v2-header
BrickheadJohnny Jul 2, 2024
29e2cc1
fix(CardMotionWrapper): remove the `EASING` import
BrickheadJohnny Jul 2, 2024
e376372
Merge remote-tracking branch 'origin' into v2-header
dominik-stumpf Jul 3, 2024
d9e797c
Try fix build "out of memory" error (#1347)
dominik-stumpf Jul 3, 2024
bd36ad8
feat(CopyableAddress): add tooltip
BrickheadJohnny Jul 3, 2024
5b1c1a6
feat: `NetworkModal` migration
BrickheadJohnny Jul 3, 2024
610278a
Merge branch 'shadcn-ui' into v2-header
BrickheadJohnny Jul 3, 2024
1864793
feat: `Accordion` component
BrickheadJohnny Jul 4, 2024
be3e975
Merge branch 'shadcn-ui' into v2-header
BrickheadJohnny Jul 4, 2024
ee7980c
temporarily remove `CircularDependencyPlugin`
BrickheadJohnny Jul 4, 2024
20adadc
move `platformMergeAlertAtom` to `atoms.ts`
BrickheadJohnny Jul 4, 2024
29127bf
fix(useUserPublic): comment posthog related stuff
BrickheadJohnny Jul 4, 2024
b6a4d30
feat: `FarcasterProfile` component
BrickheadJohnny Jul 5, 2024
0a796a3
fix ring color in light mode
BrickheadJohnny Jul 5, 2024
5051463
fix: remove ring offset
BrickheadJohnny Jul 5, 2024
f4b634a
fix: connect Farcaster button colors
BrickheadJohnny Jul 5, 2024
0fae2e1
feat: define css vars for every platform type
BrickheadJohnny Jul 5, 2024
dc996fb
fix(SocialAccount): use the correct button colors
BrickheadJohnny Jul 5, 2024
68a21a6
Merge branch 'shadcn-ui' into v2-header
BrickheadJohnny Jul 5, 2024
d2a0d5c
feat: `Collapse` component
BrickheadJohnny Jul 6, 2024
c377246
feat(Form): don't re-export `FormProvider` as `Form`
BrickheadJohnny Jul 6, 2024
c567950
chore: remove old `Header` & `NavMenu`
BrickheadJohnny Jul 8, 2024
474cfba
fix: Button & Input classNames
BrickheadJohnny Jul 8, 2024
50ec887
feat(FormErrorMessage): add collapse animation
BrickheadJohnny Jul 8, 2024
72c6984
feat: migrate the `EmailAddress` component
BrickheadJohnny Jul 8, 2024
fa071d9
chore: migrate `useDisconnect`
BrickheadJohnny Jul 8, 2024
5fed49d
fix(AccountModal): simplify modal state
BrickheadJohnny Jul 8, 2024
326a6a3
fix(EmailAddress): verify flow
BrickheadJohnny Jul 8, 2024
99b0322
chore: remove unused `AccountButton`
BrickheadJohnny Jul 8, 2024
65ef8c1
Merge branch 'shadcn-ui' into v2-header
BrickheadJohnny Jul 8, 2024
97e4395
cleanup: move `processEmailError` inside `AccountModal/utils`
BrickheadJohnny Jul 8, 2024
36df8b6
feat: `useGuildUrlNameFromPathname` helper hook
BrickheadJohnny Jul 8, 2024
697195e
wip: `SharedSocials` migration
BrickheadJohnny Jul 8, 2024
9b1db23
Merge branch 'shadcn-ui' into v2-header
BrickheadJohnny Jul 8, 2024
42c1bfd
refactor: move `useEditSharedSocials` to the `v2` folder
BrickheadJohnny Jul 8, 2024
e0a5f35
feat: finish `SharedSocial` migration
BrickheadJohnny Jul 8, 2024
a1dbb3b
feat: `useErrorToast` hook
BrickheadJohnny Jul 8, 2024
c37ddad
fix(WalletSelectorModal): remove `CardMotionWrapper`
BrickheadJohnny Jul 8, 2024
8122c2a
fix(Button): remove important modifier
BrickheadJohnny Jul 8, 2024
a83a34e
fix(WalletSelectorModal): remove animations
BrickheadJohnny Jul 8, 2024
c7fc561
feat: "Linked addresses" section
BrickheadJohnny Jul 8, 2024
ebe5758
feat: `WalletLinkHelperModal` migration
BrickheadJohnny Jul 8, 2024
7145774
feat: `UsersGuildPins` migration
BrickheadJohnny Jul 9, 2024
bef6bab
fix(UsersGuildPins): `isValidating` logic
BrickheadJohnny Jul 9, 2024
0e486e4
Merge branch 'shadcn-ui' into v2-header
BrickheadJohnny Jul 9, 2024
3020797
fix(_app): remove custom-scrollbar.css import
BrickheadJohnny Jul 9, 2024
7b67cd1
patch package-lock
BrickheadJohnny Jul 9, 2024
e474aa4
fix(playground): remove Section component
BrickheadJohnny Jul 9, 2024
c938a8d
chore(playground): remove FormExample
BrickheadJohnny Jul 9, 2024
77231a2
cleanup: remove unused `GoogleTerms` component
BrickheadJohnny Jul 9, 2024
b8c1c4b
feat: migrate the `Error` component
BrickheadJohnny Jul 9, 2024
6b1c872
cleanup(LinkedAddress): remove unused legacy code
BrickheadJohnny Jul 9, 2024
510c131
fix: use bold icons everywhere under the `/v2` directory
BrickheadJohnny Jul 9, 2024
5675a99
feat: `/cwaas-export` page
BrickheadJohnny Jul 9, 2024
75ce13f
fix(next.config.js): add `CircularDependencyPlugin`
BrickheadJohnny Jul 9, 2024
98068db
fix: uncomment `useResolveAddress` hook usages
BrickheadJohnny Jul 9, 2024
4ec5a5c
fix(Account): simplify conditional classNames
BrickheadJohnny Jul 9, 2024
2fdda92
fix: don't use `clsx` inside `cn` calls
BrickheadJohnny Jul 9, 2024
6734294
fix(usePrevious): remove assertion
BrickheadJohnny Jul 9, 2024
c42e420
fix(EmailAddress): better generic type for `emailSentAt` state
BrickheadJohnny Jul 9, 2024
ab90fad
chore(NetworkButton): add comment about `img`
BrickheadJohnny Jul 9, 2024
ebbd465
fix(CopyableAddress): simplify className
BrickheadJohnny Jul 9, 2024
e260e93
fix(NavMenu): remove unnecessary boolean inversion
BrickheadJohnny Jul 9, 2024
c62f254
cleanup(ConnectorButton): use descriptive variable names
BrickheadJohnny Jul 9, 2024
da56aab
fix(AddressTypeBadge): tooltip content
BrickheadJohnny Jul 9, 2024
373e976
feat: use the `useTheme` hook for dynamic connector icons
BrickheadJohnny Jul 9, 2024
5b60161
cleanup(useWeb3ConnectionManager): remove ternary
BrickheadJohnny Jul 9, 2024
217c1e4
fix: use consistent ring sizes
BrickheadJohnny Jul 9, 2024
169602d
cleanup(tailwind.config.ts): remove unnecessary custom animations
BrickheadJohnny Jul 9, 2024
5dc9b37
fix(WalletSelectorModal): move export link to the end of the list
BrickheadJohnny Jul 9, 2024
cdcdac9
feat: `IntercomProvider` migration
BrickheadJohnny Jul 9, 2024
bbbbcb9
feat: `PlatformMergeErrorAlert` migration
BrickheadJohnny Jul 9, 2024
a959770
feat: `useConnectFromLocalStorage` migration
BrickheadJohnny Jul 9, 2024
5dbaa74
fix(_app): add `Toaster`
BrickheadJohnny Jul 9, 2024
ff53e24
feat: `Collapsible` component
BrickheadJohnny Jul 9, 2024
0fd4ddb
fix(useLensProfile): don't import icon from the requirements config
BrickheadJohnny Jul 10, 2024
18b0ff6
fix(EmailAddress): use the new hook
BrickheadJohnny Jul 10, 2024
12c525d
fix(FarcasterProfile): use the new hook
BrickheadJohnny Jul 10, 2024
8cf5777
feat: new `GuildLogo` component
BrickheadJohnny Jul 10, 2024
0f04aa9
fix(SharedSocials): use the new `GuildLogo` component
BrickheadJohnny Jul 10, 2024
4c5ee84
Merge branch 'shadcn-ui' into v2-header
BrickheadJohnny Jul 10, 2024
095e7dc
fix: add more packages to `optimizePackageImports`
BrickheadJohnny Jul 10, 2024
d5db709
fix(useTriggerNetworkChange): use the new `useToast` hook
BrickheadJohnny Jul 10, 2024
ba788d7
Merge branch 'shadcn-ui' into v2-header
BrickheadJohnny Jul 10, 2024
04b8813
fix: patch package-lock
BrickheadJohnny Jul 10, 2024
331f5ab
fix: Tooltip animation duration
BrickheadJohnny Jul 10, 2024
b0d6c95
cleanup: remove some unnecessary comments
BrickheadJohnny Jul 10, 2024
7612211
Merge branch 'shadcn-ui' into v2-header
BrickheadJohnny Jul 10, 2024
0f9751c
feat(WalletSelectorModal): use the new `Anchor` tag
BrickheadJohnny Jul 10, 2024
00bf6b7
fix(useConnectPlatform): uncomment error toast
BrickheadJohnny Jul 10, 2024
3c92d5f
fix: use buttons for `AlertDialogAction` where it is relevant
BrickheadJohnny Jul 10, 2024
4559e25
fix(SocialAccount): apply different styles for the reconnect button
BrickheadJohnny Jul 10, 2024
596b803
fix: minor improvements/todos
BrickheadJohnny Jul 10, 2024
c6a792c
feat: `Alert` component
BrickheadJohnny Jul 10, 2024
3e4c375
fix: fine-tune `Alert` styles
BrickheadJohnny Jul 10, 2024
8e95707
feat: use the new component
BrickheadJohnny Jul 10, 2024
8a8d952
Merge branch 'shadcn-ui' into v2-header
BrickheadJohnny Jul 10, 2024
8005cee
fix(guild page): incorrect import
BrickheadJohnny Jul 10, 2024
55a61dd
patch package-lock
BrickheadJohnny Jul 10, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion biome.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
},
"files": {
"include": ["src", "cypress"],
"ignore": ["node_modules", ".next", "public", ".out"]
"ignore": ["node_modules", ".next", "public", ".out", "package-lock.json"]
},
"organizeImports": { "enabled": true },
"linter": {
Expand Down
10 changes: 9 additions & 1 deletion next.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,9 @@ const nextConfig = {
],
})

// To get rid of "Can't resolve ..." errors which come from some wallet connector SDKs
config.externals.push("pino-pretty", "lokijs", "encoding")

if (!config.plugins) config.plugins = []
if (process.env.VERCEL_ENV === "production") {
config.plugins.push(
Expand Down Expand Up @@ -91,7 +94,12 @@ const nextConfig = {
},
experimental: {
scrollRestoration: true,
optimizePackageImports: ["@phosphor-icons/react"],
optimizePackageImports: [
"@phosphor-icons/react",
"@phosphor-icons/react/dist/ssr",
"@fuels/react",
"fuels",
],
},
async rewrites() {
return {
Expand Down
31,314 changes: 12,083 additions & 19,231 deletions package-lock.json

Large diffs are not rendered by default.

6 changes: 5 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -45,11 +45,14 @@
"@lexical/utils": "^0.12.0",
"@nouns/assets": "^0.4.2",
"@phosphor-icons/react": "^2.1.7",
"@radix-ui/react-accordion": "^1.2.0",
"@radix-ui/react-alert-dialog": "^1.1.1",
"@radix-ui/react-collapsible": "^1.1.0",
"@radix-ui/react-dialog": "^1.1.1",
"@radix-ui/react-dropdown-menu": "^2.1.1",
"@radix-ui/react-focus-scope": "^1.1.0",
"@radix-ui/react-label": "^2.1.0",
"@radix-ui/react-popover": "^1.1.1",
"@radix-ui/react-slot": "^1.1.0",
"@radix-ui/react-toast": "^1.2.1",
"@radix-ui/react-toggle": "^1.1.0",
Expand Down Expand Up @@ -77,11 +80,12 @@
"framer-motion": "^7.10.3",
"fuels": "^0.89.1",
"idb-keyval": "^6.2.0",
"input-otp": "^1.2.4",
"jotai": "^2.7.0",
"js-confetti": "^0.11.0",
"lexical": "^0.12.0",
"mini-svg-data-uri": "^1.4.4",
"next": "14.0.1",
"next": "^14.2.4",
"next-themes": "^0.3.0",
"papaparse": "^5.4.1",
"posthog-js": "^1.139.3",
Expand Down
115 changes: 106 additions & 9 deletions src/app/globals.css
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,11 @@
--foreground: 240 4% 16%;

--card: 0 0% 100%;
--card-secondary: 0 0% 98%;
--card-foreground: var(--foreground);

--popover: 0 0% 100%;
--popover-foreground: 224 71.4% 4.1%;
--popover: var(--card);
--popover-foreground: var(--card-foreground);

--tooltip: 0 0% 0%;
--tooltip-foreground: 0 0% 100%;
Expand Down Expand Up @@ -50,13 +51,49 @@
--border: 240 6% 90%;
--border-muted: 240 6% 94%;
--input: var(--border);
--ring: 224 71.4% 4.1%;
--ring: 240, 0%, 45%, 25%;

--toast-success: 137 64% 98%;
--toast-error: 0 78% 98%;
--toast-warning: 40 79% 96%;
--toast-info: 218 80% 98%;

--alert-success: var(--toast-success);
--alert-success-icon: 142 71% 45%;
--alert-info: var(--toast-info);
--alert-info-icon: 217 91% 60%; /* TODO: --info-... CSS variables */
--alert-warning: var(--toast-warning);
--alert-warning-icon: 27 96% 61%;
/* TODO: should we call it error or destructive? */
--alert-error: var(--toast-error);
--alert-error-icon: 0 84% 60%;

--discord: 233 78% 63%;
--discord-hover: 243 75% 59%;
--discord-active: 245 58% 51%;
--telegram: 200 73% 50%;
--telegram-hover: 200 98% 39%;
--telegram-active: 201 96% 32%;
--email: 217 91% 60%;
--email-hover: 221 83% 53%;
--email-active: 224 76% 48%;
--google: 217 91% 60%;
--google-hover: 221 83% 53%;
--google-active: 224 76% 48%;
/* TODO: proper hover/active colors for Twitter */
--twitter: 0 0% 0%;
--twitter-hover: 0 0% 0%;
--twitter-active: 0 0% 0%;
--github: 0 0% 20%;
--github-hover: 0 0% 18%;
--github-active: 0 0% 15%;
--polygonid: 259 59% 59%;
--polygonid-hover: 258 50% 52%;
--polygonid-active: 256 44% 42%;
--farcaster: 238 76% 69%;
--farcaster-hover: 239 75% 64%;
--farcaster-active: 239 75% 58%;

--sm: 640px;
--md: 768px;
--lg: 1024px;
Expand All @@ -68,10 +105,11 @@
--foreground: 210 20% 98%;

--card: 240 5.26% 26.08%;
--card-secondary: 240 5% 22%;
--card-foreground: var(--foreground);

--popover: 240 5.26% 26.08%;
--popover-foreground: 240 2% 58%;
--popover: var(--card);
--popover-foreground: var(--card-foreground);

--tooltip: 240 5% 84%;
--tooltip-foreground: 240 4% 16%;
Expand Down Expand Up @@ -116,11 +154,30 @@
--toast-error: 317 4% 35%;
--toast-warning: 30 6% 34%;
--toast-info: 226 7% 36%;
}

:root[data-theme="dark"] video,
:root[data-theme="dark"] img {
filter: brightness(0.85) contrast(1.15);
BrickheadJohnny marked this conversation as resolved.
Show resolved Hide resolved
--alert-success: var(--toast-success);
--alert-success-icon: 141 79% 85%;
--alert-info: var(--toast-info);
--alert-info-icon: 213 97% 87%;
--alert-warning: var(--toast-warning);
--alert-warning-icon: 32 98% 83%;
--alert-error: var(--toast-error);
--alert-error-icon: 0 96% 89%;

--discord-hover: 234 89% 74%;
--discord-active: 230 94% 82%;
--telegram-hover: 198 93% 60%;
--telegram-active: 199 95% 74%;
--email-hover: 213 94% 68%;
--email-active: 212 96% 78%;
--google-hover: 213 94% 68%;
--google-active: 212 96% 78%;
--github-hover: 0 0% 44%;
--github-active: 0 0% 68%;
--polygonid-hover: 260 73% 70%;
--polygonid-active: 262 81% 77%;
--farcaster-hover: 239 75% 75%;
--farcaster-active: 238 76% 81%;
}
}

Expand All @@ -132,3 +189,43 @@
@apply min-h-screen bg-background font-sans text-foreground;
}
}

/* Copy-pasted from custom-scrollbar.css just so we can use it everywhere */
@layer utilities {
.custom-scrollbar::-webkit-scrollbar,
.custom-menu-list > div::-webkit-scrollbar {
width: 8px;
height: 8px;
border-radius: 4px;
}

.custom-scrollbar::-webkit-scrollbar-track,
.custom-menu-list > div::-webkit-scrollbar-track {
background: rgba(0, 0, 0, 0.1);
border-radius: 4px;
}

.custom-scrollbar::-webkit-scrollbar-thumb,
.custom-menu-list > div::-webkit-scrollbar-thumb {
border-radius: 4px;
background: rgba(0, 0, 0, 0.4);
}

.invisible-scrollbar::-webkit-scrollbar,
.invisible-menu-list > div::-webkit-scrollbar {
width: 0;
height: 0;
}

.invisible-scrollbar::-webkit-scrollbar-track,
.invisible-menu-list > div::-webkit-scrollbar-track {
width: 0;
height: 0;
}

.invisible-scrollbar::-webkit-scrollbar-thumb,
.invisible-menu-list > div::-webkit-scrollbar-thumb {
width: 0;
height: 0;
}
}
20 changes: 10 additions & 10 deletions src/app/layout.tsx
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
import { ThemeProvider } from "@/components/ThemeProvider"
import { Providers } from "@/components/Providers"
import { PostHogPageViews } from "@/components/Providers/PostHogPageViews"
import clsx from "clsx"
import { dystopian, inter } from "fonts"
import type { Metadata } from "next"
import { Suspense, type ReactNode } from "react"
import "./globals.css"

interface RootLayoutProps {
children: React.ReactNode
children: ReactNode
}

export const metadata: Metadata = {
Expand All @@ -19,15 +21,13 @@ export default function RootLayout({ children }: RootLayoutProps) {
<html lang="en" suppressHydrationWarning>
<head />
<body className={clsx(dystopian.variable, inter.variable)}>
<ThemeProvider
attribute="data-theme"
storageKey="chakra-ui-color-mode"
defaultTheme="system"
enableSystem
disableTransitionOnChange
>
<Providers>
{children}
</ThemeProvider>

<Suspense>
<PostHogPageViews />
</Suspense>
</Providers>
</body>
</html>
)
Expand Down
30 changes: 0 additions & 30 deletions src/app/playground/_components/DialogExample.tsx

This file was deleted.

58 changes: 0 additions & 58 deletions src/app/playground/_components/FormExample.tsx

This file was deleted.

30 changes: 2 additions & 28 deletions src/app/playground/page.tsx
Original file line number Diff line number Diff line change
@@ -1,43 +1,17 @@
import { Card } from "@/components/ui/Card"
import { Header } from "@/components/Header"
import { Metadata } from "next"
import { PropsWithChildren } from "react"
import { ThemeToggle } from "../../v2/components/ThemeToggle"
import { DialogExample } from "./_components/DialogExample"
import { FormExample } from "./_components/FormExample"

export const metadata: Metadata = {
title: "Playground",
}

const Section = ({ title, children }: PropsWithChildren<{ title: string }>) => (
<section className="flex flex-col gap-2">
<h2 className="text-lg font-bold">{title}</h2>
{children}
</section>
)

export default function Page() {
return (
<div className="p-8">
<h1 className="text-2xl font-bold">Playground</h1>

Check notice on line 11 in src/app/playground/page.tsx

View workflow job for this annotation

GitHub Actions / quality-assurance

lint/nursery/useSortedClasses

These CSS classes should be sorted.
<h1 className="text-2xl italic">Playground</h1>

<div className="flex flex-col items-start gap-4">
<Section title="Theme toggle">
<ThemeToggle />
</Section>

<Section title="Card">
<Card className="p-4">This is a card</Card>
</Section>

<Section title="Modal">
<DialogExample />
</Section>

<Section title="Form">
<FormExample />
</Section>
<Header />
</div>
</div>
)
Expand Down
Loading
Loading