Skip to content

Commit

Permalink
Merge pull request #17 from cloudmix-dev/bugfix/app-shell-layout
Browse files Browse the repository at this point in the history
Fix AppShell component layout
  • Loading branch information
samlaycock authored Dec 30, 2023
2 parents 51c2a3d + e3691b2 commit 9020bb5
Show file tree
Hide file tree
Showing 3 changed files with 104 additions and 9 deletions.
5 changes: 5 additions & 0 deletions .changeset/healthy-ties-swim.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@cloudmix-dev/react": patch
---

Fix AppShell component layout
10 changes: 6 additions & 4 deletions packages/react/src/components/app-shell.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -112,8 +112,8 @@ function AppShell({
</div>
</div>
)}
<div className={cn(renderNav && "lg:pl-72")}>
<div className="sticky top-0 z-40 flex h-16 shrink-0 items-center gap-x-4 border-b border-neutral-200 bg-neutral-50 text-neutral-950 px-4 dark:bg-neutral-950 dark:text-neutral-50 dark:border-neutral-800">
<div className={cn("relative h-full max-h-full", hasNav && "lg:ml-72")}>
<div className="absolute top-0 left-0 w-full z-40 flex h-16 items-center gap-x-4 border-b border-neutral-200 bg-neutral-50 text-neutral-950 px-4 dark:bg-neutral-950 dark:text-neutral-50 dark:border-neutral-800">
{hasNav && (
<button
type="button"
Expand All @@ -137,8 +137,10 @@ function AppShell({
</div>
)}
</div>
<main className="py-10">
<div className="px-4 sm:px-6 lg:px-8">{children}</div>
<main className="h-full max-h-full pt-16 overflow-hidden">
<div className="h-full max-h-full p-4 overflow-scroll">
{children}
</div>
</main>
</div>
</div>
Expand Down
98 changes: 93 additions & 5 deletions www/storybook/src/stories/app-shell.stories.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,91 @@ import {
AppShell,
Avatar,
Logo,
Prose,
TextField,
ThemeSelector,
} from "@cloudmix-dev/react";
import { type Meta, type StoryObj } from "@storybook/react";

import { StoryLayout } from "../components/layout";

function Content() {
return (
<Prose className="m-auto">
<p>
Pellentesque habitant morbi tristique senectus et netus et malesuada
fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae,
ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam
egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend
leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum
erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean
fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci,
sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar
facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor
neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat
volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis
luctus, metus
</p>
<p>
Pellentesque habitant morbi tristique senectus et netus et malesuada
fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae,
ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam
egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend
leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum
erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean
fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci,
sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar
facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor
neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat
volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis
luctus, metus
</p>
<p>
Pellentesque habitant morbi tristique senectus et netus et malesuada
fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae,
ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam
egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend
leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum
erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean
fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci,
sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar
facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor
neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat
volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis
luctus, metus
</p>
<p>
Pellentesque habitant morbi tristique senectus et netus et malesuada
fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae,
ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam
egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend
leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum
erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean
fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci,
sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar
facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor
neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat
volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis
luctus, metus
</p>
<p>
Pellentesque habitant morbi tristique senectus et netus et malesuada
fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae,
ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam
egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend
leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum
erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean
fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci,
sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar
facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor
neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat
volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis
luctus, metus
</p>
</Prose>
);
}

const meta: Meta<typeof AppShell> = {
title: "Components/AppShell",
component: AppShell,
Expand Down Expand Up @@ -70,7 +148,9 @@ export const Default: AppShellStory = {
<ThemeSelector />
</>
}
/>
>
<Content />
</AppShell>
</div>
),
args: {},
Expand Down Expand Up @@ -99,7 +179,9 @@ export const WithNavLinks: AppShellStory = {
</AppShell.NavigationLink>
</>
}
/>
>
<Content />
</AppShell>
</div>
),
args: {},
Expand All @@ -125,7 +207,9 @@ export const WithNavFooter: AppShellStory = {
</AppShell.NavigationLink>
</>
}
/>
>
<Content />
</AppShell>
</div>
),
args: {},
Expand All @@ -137,7 +221,9 @@ export const WithBar: AppShellStory = {
<AppShell
{...props}
renderBar={<TextField className="w-full" placeholder="Search..." />}
/>
>
<Content />
</AppShell>
</div>
),
args: {},
Expand All @@ -158,7 +244,9 @@ export const WithActions: AppShellStory = {
<ThemeSelector />
</>
}
/>
>
<Content />
</AppShell>
</div>
),
args: {},
Expand Down

0 comments on commit 9020bb5

Please sign in to comment.