mirror of
https://github.com/roleypoly/roleypoly.git
synced 2025-06-17 01:59:08 +00:00
Refactor node packages to yarn workspaces & ditch next.js for CRA. (#161)
* 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
This commit is contained in:
parent
49e308507e
commit
2ff6588030
328 changed files with 16624 additions and 3525 deletions
|
@ -0,0 +1,83 @@
|
|||
import { palette } from '@roleypoly/design-system/atoms/colors';
|
||||
import { HalfsiesContainer, HalfsiesItem } from '@roleypoly/design-system/atoms/halfsies';
|
||||
import { SparkleOverlay } from '@roleypoly/design-system/atoms/sparkle';
|
||||
import { Role } from '@roleypoly/types';
|
||||
import { demoData } from '@roleypoly/types/demoData';
|
||||
import chroma from 'chroma-js';
|
||||
import * as React from 'react';
|
||||
import { FaCheck, FaTimes } from 'react-icons/fa';
|
||||
import { DiscordBase, DiscordRole } from './WhyNoRoles.styled';
|
||||
|
||||
const adminRoles: Role[] = [
|
||||
{
|
||||
id: 'roley2',
|
||||
name: 'Admin',
|
||||
permissions: '0',
|
||||
color: chroma('hotpink').num(),
|
||||
position: -1,
|
||||
managed: true,
|
||||
safety: 0,
|
||||
},
|
||||
{
|
||||
id: 'roley3',
|
||||
name: 'Moderator',
|
||||
permissions: '0',
|
||||
color: chroma('lime').num(),
|
||||
position: -1,
|
||||
managed: true,
|
||||
safety: 0,
|
||||
},
|
||||
];
|
||||
|
||||
const roleypolyRole: Role = {
|
||||
id: 'roley',
|
||||
name: 'Roleypoly',
|
||||
permissions: '0',
|
||||
color: chroma(palette.taupe500).num(),
|
||||
position: -1,
|
||||
managed: true,
|
||||
safety: 0,
|
||||
};
|
||||
|
||||
const goodRoles = [...adminRoles, roleypolyRole, ...demoData];
|
||||
|
||||
const badRoles = [...adminRoles, ...demoData, roleypolyRole];
|
||||
|
||||
const MaybeWithOverlay = (props: { children: React.ReactNode; withOverlay: boolean }) => {
|
||||
if (props.withOverlay) {
|
||||
return (
|
||||
<SparkleOverlay size={-5} repeatCount={10}>
|
||||
{props.children}
|
||||
</SparkleOverlay>
|
||||
);
|
||||
} else {
|
||||
return <>{props.children}</>;
|
||||
}
|
||||
};
|
||||
|
||||
const Example = (props: { roles: Role[]; isGood: boolean }) => (
|
||||
<div>
|
||||
<DiscordBase>
|
||||
{props.roles.map((r) => (
|
||||
<MaybeWithOverlay withOverlay={props.isGood && r.name === 'Roleypoly'}>
|
||||
<DiscordRole discordRole={r} isRoleypoly={r.name === 'Roleypoly'}>
|
||||
{r.name}
|
||||
</DiscordRole>
|
||||
</MaybeWithOverlay>
|
||||
))}
|
||||
</DiscordBase>
|
||||
</div>
|
||||
);
|
||||
|
||||
export const WhyNoRoles = () => (
|
||||
<HalfsiesContainer>
|
||||
<HalfsiesItem>
|
||||
<FaCheck /> Good
|
||||
<Example isGood roles={goodRoles} />
|
||||
</HalfsiesItem>
|
||||
<HalfsiesItem>
|
||||
<FaTimes /> Baddd
|
||||
<Example isGood={false} roles={badRoles} />
|
||||
</HalfsiesItem>
|
||||
</HalfsiesContainer>
|
||||
);
|
Loading…
Add table
Add a link
Reference in a new issue