mirror of
https://github.com/roleypoly/roleypoly.git
synced 2025-04-25 11:59:11 +00:00
* chore: restructure project into yarn workspaces, remove next * fix tests, remove webapp from terraform * remove more ui deployment bits * remove pages, fix FUNDING.yml * remove isomorphism * remove next providers * fix linting issues * feat: start basis of new web ui system on CRA * chore: move types to @roleypoly/types package * chore: move src/common/utils to @roleypoly/misc-utils * chore: remove roleypoly/ path remappers * chore: renmove vercel config * chore: re-add worker-types to api package * chore: fix type linting scope for api * fix(web): craco should include all of packages dir * fix(ci): change api webpack path for wrangler * chore: remove GAR actions from CI * chore: update codeql job * chore: test better github dar matcher in lint-staged
42 lines
1.4 KiB
TypeScript
42 lines
1.4 KiB
TypeScript
import { GlobalStyleColors } from '@roleypoly/design-system/atoms/colors';
|
|
import { Footer } from '@roleypoly/design-system/molecules/footer';
|
|
import * as Masthead from '@roleypoly/design-system/organisms/masthead';
|
|
import { DiscordUser, GuildSlug } from '@roleypoly/types';
|
|
import * as React from 'react';
|
|
import { Scrollbars } from 'react-custom-scrollbars';
|
|
import { Content, GlobalStyles } from './AppShell.styled';
|
|
|
|
export type AppShellProps = {
|
|
children: React.ReactNode;
|
|
user?: DiscordUser;
|
|
showFooter?: boolean;
|
|
small?: boolean;
|
|
activeGuildId?: string | null;
|
|
guilds?: GuildSlug[];
|
|
disableGuildPicker?: boolean;
|
|
};
|
|
|
|
export const AppShell = (props: AppShellProps) => (
|
|
<>
|
|
<GlobalStyles />
|
|
<GlobalStyleColors />
|
|
{props.user ? (
|
|
<Masthead.Authed
|
|
disableGuildPicker={props.disableGuildPicker}
|
|
guilds={props.guilds || []}
|
|
activeGuildId={props.activeGuildId || null}
|
|
user={props.user}
|
|
/>
|
|
) : (
|
|
<Masthead.Guest />
|
|
)}
|
|
<Scrollbars
|
|
style={{ height: 'calc(100vh - 25px)', margin: 0, padding: 0 }}
|
|
autoHide
|
|
universal
|
|
>
|
|
<Content small={props.small}>{props.children}</Content>
|
|
{props.showFooter && <Footer />}
|
|
</Scrollbars>
|
|
</>
|
|
);
|