Add winter theme + built-in theme icons

This commit is contained in:
ADAMJR 2021-12-30 05:22:14 +00:00
parent abe5c59f79
commit 54ef35467b
20 changed files with 272 additions and 66 deletions

View File

@ -0,0 +1,10 @@
<svg width="71" height="55" viewBox="0 0 71 55" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0)">
<path d="M60.1045 4.8978C55.5792 2.8214 50.7265 1.2916 45.6527 0.41542C45.5603 0.39851 45.468 0.440769 45.4204 0.525289C44.7963 1.6353 44.105 3.0834 43.6209 4.2216C38.1637 3.4046 32.7345 3.4046 27.3892 4.2216C26.905 3.0581 26.1886 1.6353 25.5617 0.525289C25.5141 0.443589 25.4218 0.40133 25.3294 0.41542C20.2584 1.2888 15.4057 2.8186 10.8776 4.8978C10.8384 4.9147 10.8048 4.9429 10.7825 4.9795C1.57795 18.7309 -0.943561 32.1443 0.293408 45.3914C0.299005 45.4562 0.335386 45.5182 0.385761 45.5576C6.45866 50.0174 12.3413 52.7249 18.1147 54.5195C18.2071 54.5477 18.305 54.5139 18.3638 54.4378C19.7295 52.5728 20.9469 50.6063 21.9907 48.5383C22.0523 48.4172 21.9935 48.2735 21.8676 48.2256C19.9366 47.4931 18.0979 46.6 16.3292 45.5858C16.1893 45.5041 16.1781 45.304 16.3068 45.2082C16.679 44.9293 17.0513 44.6391 17.4067 44.3461C17.471 44.2926 17.5606 44.2813 17.6362 44.3151C29.2558 49.6202 41.8354 49.6202 53.3179 44.3151C53.3935 44.2785 53.4831 44.2898 53.5502 44.3433C53.9057 44.6363 54.2779 44.9293 54.6529 45.2082C54.7816 45.304 54.7732 45.5041 54.6333 45.5858C52.8646 46.6197 51.0259 47.4931 49.0921 48.2228C48.9662 48.2707 48.9102 48.4172 48.9718 48.5383C50.038 50.6034 51.2554 52.5699 52.5959 54.435C52.6519 54.5139 52.7526 54.5477 52.845 54.5195C58.6464 52.7249 64.529 50.0174 70.6019 45.5576C70.6551 45.5182 70.6887 45.459 70.6943 45.3942C72.1747 30.0791 68.2147 16.7757 60.1968 4.9823C60.1772 4.9429 60.1437 4.9147 60.1045 4.8978ZM23.7259 37.3253C20.2276 37.3253 17.3451 34.1136 17.3451 30.1693C17.3451 26.225 20.1717 23.0133 23.7259 23.0133C27.308 23.0133 30.1626 26.2532 30.1066 30.1693C30.1066 34.1136 27.28 37.3253 23.7259 37.3253ZM47.3178 37.3253C43.8196 37.3253 40.9371 34.1136 40.9371 30.1693C40.9371 26.225 43.7636 23.0133 47.3178 23.0133C50.9 23.0133 53.7545 26.2532 53.6986 30.1693C53.6986 34.1136 50.9 37.3253 47.3178 37.3253Z" fill="#5865F2"/>
</g>
<defs>
<clipPath id="clip0">
<rect width="71" height="55" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 504 504" style="enable-background:new 0 0 504 504;" xml:space="preserve">
<style type="text/css">
.st0{fill:#FEAF77;}
.st1{fill:#64989A;}
.st2{fill:#FED987;}
.st3{fill:#192F32;}
</style>
<path class="st0" d="M252,13.6c-145.3,0-263.2,113.8-263.2,254.2h526.3C515.2,127.4,397.3,13.6,252,13.6z"/>
<path class="st1" d="M252,522.1c145.3,0,263.2-113.8,263.2-254.2H-11.2C-11.2,408.3,106.7,522.1,252,522.1z"/>
<path class="st2" d="M252,128.6c-79.6,0-144.2,62.4-144.2,139.3h288.3C396.2,190.9,331.6,128.6,252,128.6z"/>
<path class="st3" d="M55.6,300.8c13.1,0,26.2,0,39.3,0c31.3,0,62.5,0,93.8,0c38,0,76,0,114,0c32.8,0,65.7,0,98.5,0
c10.8,0,21.6,0,32.3,0c5.1,0,10.4,0.4,15.4,0c0.2,0,0.5,0,0.7,0c1,0,3.1-1.5,1.2-1.5c-13.1,0-26.2,0-39.3,0c-31.3,0-62.5,0-93.8,0
c-38,0-76,0-114,0c-32.8,0-65.7,0-98.5,0c-10.8,0-21.6,0-32.3,0c-5.1,0-10.4-0.4-15.4,0c-0.2,0-0.5,0-0.7,0
C55.7,299.2,53.6,300.8,55.6,300.8L55.6,300.8z"/>
<path class="st3" d="M82.1,342.8c38.3,0,76.6,0,114.9,0c60.7,0,121.4,0,182,0c14,0,28,0,42,0c1,0,3.1-1.5,1.2-1.5
c-38.3,0-76.6,0-114.9,0c-60.7,0-121.4,0-182,0c-14,0-28,0-42,0C82.2,341.2,80.1,342.8,82.1,342.8L82.1,342.8z"/>
<path class="st3" d="M107.3,384.8c31.9,0,63.8,0,95.6,0c51,0,102,0,153,0c11.7,0,23.3,0,35,0c1,0,3.1-1.5,1.2-1.5
c-31.9,0-63.8,0-95.6,0c-51,0-102,0-153,0c-11.7,0-23.3,0-35,0C107.4,383.2,105.3,384.8,107.3,384.8L107.3,384.8z"/>
<path class="st3" d="M149.7,426.8c22.6,0,45.2,0,67.7,0c36,0,71.9,0,107.9,0c8.2,0,16.4,0,24.7,0c1,0,3.1-1.5,1.2-1.5
c-22.6,0-45.2,0-67.7,0c-36,0-71.9,0-107.9,0c-8.2,0-16.4,0-24.7,0C149.8,425.2,147.7,426.8,149.7,426.8L149.7,426.8z"/>
<path class="st3" d="M180.9,468.8c41.1,0,82.2,0,123.3,0c5.9,0,11.8,0,17.7,0c1,0,3.1-1.5,1.2-1.5c-41.1,0-82.2,0-123.3,0
c-5.9,0-11.8,0-17.7,0C181.1,467.2,179,468.8,180.9,468.8L180.9,468.8z"/>
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg viewBox="0 0 207 216" xmlns="http://www.w3.org/2000/svg">
<path d="m77.535 134.83 10.769 6.4912 0.43545 12.622-13.68 6.928 4.628 10.605 16.302-9.0493 0.41565 14.661-13.298 8.5072 5.6545 8.7714 13.521-9.4199 12.43 8.7121 6.0789-8.7557-11.519-7.4224-0.08316-14.43 14.351 8.0747 5.5586-8.9527-12.381-7.3638 0.51122-12.211 10.931-6.0442" fill="#fff" fill-rule="evenodd" stroke="#87cdde" stroke-width="5"/>
<path transform="matrix(.98411 -.17757 .17757 .98411 -14.331 21.665)" d="m95.406 144.64-32.641-25.896 6.106-41.216 38.747-15.32 32.641 25.896-6.106 41.216-38.747 15.32z" fill="#fff"/>
<path d="m130.55 75.632-10.769-6.4912-0.43545-12.622 13.68-6.928-4.628-10.605-16.302 9.0493-0.41565-14.661 13.298-8.5072-5.6545-8.7714-13.521 9.4199-12.43-8.7121-6.0789 8.7557 11.519 7.4224 0.08316 14.43-14.351-8.0747-5.5586 8.9527 12.381 7.3638-0.32343 12.177-9.9058 5.2775" fill="#fff" fill-rule="evenodd" stroke="#87cdde" stroke-width="5"/>
<path d="m91.658 67.478-11.006 6.0807-11.148-5.9336 0.84009-15.311-11.498-1.2943-0.31427 18.643-12.905-6.9705-0.71848-15.77-10.423 0.51126 1.3974 16.419-13.76 6.4087 4.5432 9.6424 12.187-6.2643 12.538 7.143-14.168 8.391 4.9739 9.2903 12.568-7.0401 10.642 6.5157-0.41608 12.288" fill="#fff" fill-rule="evenodd" stroke="#87cdde" stroke-width="5"/>
<path d="m116.42 142.99 11.006-6.0807 11.148 5.9336-0.84009 15.311 11.498 1.2943 0.31427-18.643 12.905 6.9705 0.71848 15.77 10.423-0.51126-1.3974-16.419 13.76-6.4087-4.5432-9.6424-12.187 6.2644-12.538-7.143 14.168-8.391-4.9739-9.2903-12.568 7.0401-10.454-6.5496 0.31443-12.851" fill="#fff" fill-rule="evenodd" stroke="#87cdde" stroke-width="5"/>
<path d="m63.542 82.002 82.23 49.535" fill="none" stroke="#87cdde" stroke-linecap="round" stroke-width="6"/>
<path d="m142.93 113.39 0.23703-12.572 10.713-6.6878 12.84 8.383 6.8699-9.3103-15.988-9.5936 12.489-7.6904 14.016 7.2627 4.769-9.2826-14.918-6.9995 1.3299-15.121-10.622-0.88665-0.66858 13.687-12.455 7.2871-0.1826-16.466-10.533-0.3376-0.18687 14.404-11.375 5.541-10.207-6.6872" fill="#fff" fill-rule="evenodd" stroke="#87cdde" stroke-width="5"/>
<path d="m105.12 56.662-2.6242 99.36" fill="none" stroke="#87cdde" stroke-linecap="round" stroke-width="6"/>
<path d="m65.152 97.079-0.23703 12.572-10.713 6.6879-12.84-8.383-6.8699 9.3103 15.988 9.5936-12.489 7.6904-14.016-7.2627-4.769 9.2826 14.918 6.9995-1.3299 15.121 10.622 0.88665 0.66859-13.687 12.455-7.2871 0.18261 16.466 10.533 0.3376 0.18686-14.404 10.898-6.0366 9.9853 6.5333" fill="#fff" fill-rule="evenodd" stroke="#87cdde" stroke-width="5"/>
<path d="m62.248 130.71 84.818-47.879" fill="none" stroke="#87cdde" stroke-linecap="round" stroke-width="6"/>
<path transform="matrix(.98411 -.17757 .17757 .98411 -16.438 21.297)" d="m127.84 126.7-31.381 10.085-24.424-22.134 6.9568-32.219 31.381-10.085 24.424 22.134-6.9568 32.219z" fill="#fff" stroke="#87cdde" stroke-width="6"/>
<path transform="matrix(.98411 -.17757 .17757 .98411 -17.033 20.147)" d="m118.3 117.92-18.157 6.2621-14.502-12.594 3.6555-18.856 18.157-6.2621 14.502 12.594-3.6555 18.856z" fill="#fff" stroke="#87cdde" stroke-width="6"/>
</svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

@ -19,7 +19,7 @@ const CreateChannel: React.FunctionComponent = () => {
const types: ChannelTypes.Type[] = ['TEXT', 'VOICE'];
return (
<Modal typeName={'CreateChannel'} size="lg">
<Modal typeName={'CreateChannel'} size="sm">
<form
className="flex flex-col h-full"
onSubmit={handleSubmit(create)}>

View File

@ -12,7 +12,7 @@ export interface ModalProps {
// TODO: add mobile styling support
const sizeClass = {
'sm': 'rounded-lg 2xl:w-1/4 2xl:inset-x-1/3 2xl:inset-y-1/3 md:w-1/3 md:inset-x-1/3 md:inset-y-1/4',
'sm': 'rounded-lg 2xl:w-1/4 2xl:inset-x-1/3 2xl:inset-y-1/4 md:w-1/3 md:inset-x-1/3 md:inset-y-1/4',
'md': 'rounded-lg 2xl:w-1/3 2xl:inset-x-1/3 2xl:inset-y-1/4 md:w-1/4 md:inset-x-1/3 md:inset-y-1/3',
'lg': 'rounded-lg 2xl:w-1/3 2xl:inset-x-1/3 2xl:top-1/4 md:w-1/3 md:inset-x-1/3 md:top-20',
'xl': 'rounded-lg 2xl:w-1/2 2xl:inset-x-1/4 2xl:top-1/4 md:w-1/3 md:inset-x-1/3 md:top-20',

View File

@ -34,6 +34,8 @@ const UserSettingsSecurity: React.FunctionComponent = () => {
<span className="ml-1">To change your password, your email must be verified.</span>
</div>}
<div className="mt-5" />
<Input
label="Old Password"
name="oldPassword"
@ -64,7 +66,7 @@ const UserSettingsSecurity: React.FunctionComponent = () => {
</div>
: <div className="warning">
<FontAwesomeIcon icon={faExclamationTriangle} className="mr-1" />
<span>Your email is unverified which means email 2FA is unavailable.</span>
<span>Your email is unverified which means that email 2FA is unavailable.</span>
</div>}
</section>
</div>

View File

@ -63,7 +63,7 @@ const UserSettingsThemes: React.FunctionComponent = () => {
};
return (themeId) ? (
<div className="px-5">
<div className="px-5 ml-4">
<form
onChange={() => dispatch(openSaveChanges(true))}
className="flex flex-col h-full mt-1 mb-5">
@ -109,7 +109,7 @@ const UserSettingsThemes: React.FunctionComponent = () => {
}
return (
<div className="grid grid-cols-12 flex-col pt-14 px-10 pb-20 h-full mt-1 gap-20">
<div className="grid grid-cols-12 flex-col pt-14 px-10 pb-20 h-full mt-1 gap-6">
<div className="col-span-1"><SideIcons /></div>
<div className="col-span-11"><ThemeDetails /></div>
</div>

View File

@ -13,6 +13,8 @@ const UserSettings: React.FunctionComponent = () => {
const user = useSelector((s: Store.AppState) => s.auth.user);
const [tab, setTab] = useState('overview');
const NewBadge = () => <div className="text-xs px-1 bg-yellow-200 text-yellow-800 rounded-full ml-1.5">New</div>;
return (user) ? (
<Modal
typeName={'UserSettings'}
@ -29,7 +31,7 @@ const UserSettings: React.FunctionComponent = () => {
tabs={[
{ name: 'Overview', id: 'overview' },
{ name: 'Security', id: 'security' },
{ name: 'Themes', id: 'themes' },
{ name: <>Themes <NewBadge /></>, id: 'themes' },
]} />
<div className="rounded-sm bg-bg-modifier-accent h-px w-42 my-2 mx-2.5 " />

View File

@ -77,8 +77,9 @@ const ChannelTabs: React.FunctionComponent = () => {
{ active: channel.id === activeChannel?.id },
)}>
<FontAwesomeIcon
size="xs"
className={classNames(
`float-left scale-150 muted fill-current`,
`float-left scale-150 muted fill-current z-0`,
(channel.type === 'VOICE') ? 'mr-2' : 'mr-3',
)}
icon={icon} />

View File

@ -17,7 +17,9 @@ const HomePage: React.FunctionComponent = () => {
const dispatch = useDispatch();
const userCount = useSelector((s: Store.AppState) => s.meta.userCount);
useEffect(() => { dispatch(countUsers()) }, []);
useEffect(() => {
dispatch(countUsers());
}, []);
const ImageCard = (props: { title: string, src: any }) => (
<div>
@ -26,7 +28,7 @@ const HomePage: React.FunctionComponent = () => {
</div>
);
let keys: string[] = [];
const keys: string[] = [];
document.addEventListener('keyup', (e) => {
keys.push(e.key);
if (!keys.join('').endsWith('testing123')) return;

View File

@ -16,7 +16,8 @@ const PrivateRoute: React.FunctionComponent<RouteProps> = (props) => {
else if (!user || !fetchedEntities)
return <LoadingPage />;
const theme = themes.find(t => t.id === user.activeThemeId);
const theme = themes.find(t => t.id === user.activeThemeId)
?? themes.find(t => t.id === 'default');
applyTheme(theme.styles);
return (

View File

@ -17,7 +17,7 @@ const EscButton: React.FunctionComponent = () => {
return (
<div
id="escButton"
className="rounded-full border-2 border-gray-500 cursor-pointer border-white rounded-full px-2 w-16 mt-14"
className="rounded-full border-2 border-muted cursor-pointer px-2 w-16 mt-14"
onClick={onClick}>
<FontAwesomeIcon icon={faTimes} color="var(--muted)" />
<span className="pl-1.5 muted">ESC</span>

View File

@ -18,7 +18,7 @@ const Dropdown: React.FunctionComponent<DropdownProps> = (props) => {
</div>
{
(dropdown === props.type.name) &&
<div className="absolute bg-bg-floating rounded w-56 p-2 mt-5">
<div className="absolute bg-bg-floating rounded w-56 p-2 mt-5 z-10">
{props.children}
</div>
}

View File

@ -1,7 +1,7 @@
import { CSSProperties, FunctionComponent } from 'react';
import TabLink from './tab-link';
type Tab = { name: string, id: string, perm?: string };
type Tab = { name: JSX.Element | string, id: string, perm?: string };
interface NavTabsProps {
activeLinkStyle?: CSSProperties;

View File

@ -45,7 +45,7 @@ const SaveChanges: React.FunctionComponent<SaveChangesProps> = (props) => {
const SaveChanges = () => (
<div
id="saveChanges"
className="opacity-95 flex justify-between rounded bg-black p-3 px-5"
className="opacity-95 flex justify-between rounded bg-dark p-3 px-5"
style={{ width: '50vw' }}>
<span className="flex items-center flex-grow-1">Careful you have unsaved changes!</span>
<span>

View File

@ -7,9 +7,6 @@ import reportWebVitals from './reportWebVitals';
import { Provider } from 'react-redux';
import configureStore from './store/configure-store';
import { SnackbarProvider } from 'notistack';
import { applyTheme } from './store/themes';
applyTheme();
ReactDOM.render(
<SnackbarProvider maxSnack={1}>

View File

@ -6,8 +6,7 @@ import { notInArray } from './utils/filter';
import { getHeaders } from './utils/rest-headers';
import accordTheme from '!!raw-loader!../styles/accord-theme.css';
import discordTheme from '!!raw-loader!../styles/discord-theme.css';
console.log(accordTheme);
import winterTheme from '!!raw-loader!../styles/winter-theme.css';
const slice = createSlice({
name: 'themes',
@ -16,17 +15,28 @@ const slice = createSlice({
code: 'default',
createdAt: new Date('05/02/2021'),
creatorId: '177127942839676928',
name: 'Horizon (default)',
iconURL: '/images/themes/horizon.svg',
isFeatured: true,
name: 'Horizon (default)',
styles: accordTheme,
}, {
id: 'discord',
code: 'discord',
createdAt: new Date('05/02/2021'),
creatorId: '177127942839676928',
name: 'Discord (experimental)',
iconURL: '/images/themes/discord.svg',
isFeatured: true,
name: 'Discord (experimental)',
styles: discordTheme,
}, {
id: 'winter',
code: 'winter',
createdAt: new Date('30/12/2021'),
creatorId: '177127942839676928',
iconURL: '/images/themes/winter.svg',
isFeatured: true,
name: 'Winter (experimental)',
styles: winterTheme,
}] as Store.AppState['entities']['themes'],
reducers: {
deleted: (themes, { payload }: Store.Action<string>) => {

View File

@ -618,6 +618,9 @@ video {
.bottom-0 {
bottom: 0px;
}
.left-\[35\%\] {
left: 35%;
}
.bottom-1\/2 {
bottom: 50%;
}
@ -651,24 +654,36 @@ video {
.-left-1 {
left: -0.25rem;
}
.left-\[35\%\] {
left: 35%;
}
.top-\[35\%\] {
top: 35%;
}
.top-\[25\%\] {
top: 25%;
}
.top-\[30\%\] {
top: 30%;
}
.left-\[40\%\] {
left: 40%;
.top-1\/2 {
top: 50%;
}
.top-1\/3 {
top: 33.333333%;
}
.z-10 {
z-index: 10;
}
.z-\[-100\] {
z-index: -100;
}
.z-\[-50\] {
z-index: -50;
}
.z-\[-10\] {
z-index: -10;
}
.z-\[-1\] {
z-index: -1;
}
.z-\[0\] {
z-index: 0;
}
.z-0 {
z-index: 0;
}
.col-span-1 {
grid-column: span 1 / span 1;
}
@ -687,6 +702,9 @@ video {
.col-span-11 {
grid-column: span 11 / span 11;
}
.col-span-10 {
grid-column: span 10 / span 10;
}
.float-right {
float: right;
}
@ -705,9 +723,6 @@ video {
.m-1 {
margin: 0.25rem;
}
.m-5 {
margin: 1.25rem;
}
.my-2 {
margin-top: 0.5rem;
margin-bottom: 0.5rem;
@ -720,6 +735,10 @@ video {
margin-top: 1rem;
margin-bottom: 1rem;
}
.mx-5 {
margin-left: 1.25rem;
margin-right: 1.25rem;
}
.my-1 {
margin-top: 0.25rem;
margin-bottom: 0.25rem;
@ -728,9 +747,9 @@ video {
margin-left: 0.625rem;
margin-right: 0.625rem;
}
.mx-5 {
margin-left: 1.25rem;
margin-right: 1.25rem;
.my-5 {
margin-top: 1.25rem;
margin-bottom: 1.25rem;
}
.mb-5 {
margin-bottom: 1.25rem;
@ -828,6 +847,21 @@ video {
.mt-14 {
margin-top: 3.5rem;
}
.ml-1\.5 {
margin-left: 0.375rem;
}
.ml-5 {
margin-left: 1.25rem;
}
.ml-20 {
margin-left: 5rem;
}
.ml-6 {
margin-left: 1.5rem;
}
.ml-4 {
margin-left: 1rem;
}
.block {
display: block;
}
@ -870,6 +904,9 @@ video {
.h-screen {
height: 100vh;
}
.h-24 {
height: 6rem;
}
.h-4 {
height: 1rem;
}
@ -897,12 +934,6 @@ video {
.h-0\.5 {
height: 0.125rem;
}
.h-1\/2 {
height: 50%;
}
.h-24 {
height: 6rem;
}
.max-h-96 {
max-height: 24rem;
}
@ -939,6 +970,12 @@ video {
.w-1\/2 {
width: 50%;
}
.w-\[478px\] {
width: 478px;
}
.w-24 {
width: 6rem;
}
.w-screen {
width: 100vw;
}
@ -984,12 +1021,6 @@ video {
.w-\[480px\] {
width: 480px;
}
.w-\[478px\] {
width: 478px;
}
.w-24 {
width: 6rem;
}
.max-w-full {
max-width: 100%;
}
@ -1070,14 +1101,17 @@ video {
.justify-around {
justify-content: space-around;
}
.gap-5 {
gap: 1.25rem;
}
.gap-4 {
gap: 1rem;
}
.gap-20 {
gap: 5rem;
}
.gap-5 {
gap: 1.25rem;
.gap-6 {
gap: 1.5rem;
}
.space-x-4 > :not([hidden]) ~ :not([hidden]) {
--tw-space-x-reverse: 0;
@ -1127,10 +1161,6 @@ video {
.border-2 {
border-width: 2px;
}
.border-red-500 {
--tw-border-opacity: 1;
border-color: rgba(239, 68, 68, var(--tw-border-opacity));
}
.border-gray-500 {
--tw-border-opacity: 1;
border-color: rgba(107, 114, 128, var(--tw-border-opacity));
@ -1143,6 +1173,10 @@ video {
--tw-border-opacity: 1;
border-color: rgba(255, 255, 255, var(--tw-border-opacity));
}
.border-black {
--tw-border-opacity: 1;
border-color: rgba(0, 0, 0, var(--tw-border-opacity));
}
.bg-gray-600 {
--tw-bg-opacity: 1;
background-color: rgba(75, 85, 99, var(--tw-bg-opacity));
@ -1162,6 +1196,14 @@ video {
--tw-bg-opacity: 1;
background-color: rgba(0, 0, 0, var(--tw-bg-opacity));
}
.bg-indigo-200 {
--tw-bg-opacity: 1;
background-color: rgba(199, 210, 254, var(--tw-bg-opacity));
}
.bg-yellow-200 {
--tw-bg-opacity: 1;
background-color: rgba(253, 230, 138, var(--tw-bg-opacity));
}
.fill-current {
fill: currentColor;
}
@ -1177,12 +1219,12 @@ video {
.p-4 {
padding: 1rem;
}
.p-3 {
padding: 0.75rem;
}
.p-8 {
padding: 2rem;
}
.p-3 {
padding: 0.75rem;
}
.px-1 {
padding-left: 0.25rem;
padding-right: 0.25rem;
@ -1235,6 +1277,10 @@ video {
padding-top: 3.5rem;
padding-bottom: 3.5rem;
}
.px-3 {
padding-left: 0.75rem;
padding-right: 0.75rem;
}
.pl-1 {
padding-left: 0.25rem;
}
@ -1253,12 +1299,12 @@ video {
.pr-3 {
padding-right: 0.75rem;
}
.pb-3 {
padding-bottom: 0.75rem;
}
.pt-6 {
padding-top: 1.5rem;
}
.pb-3 {
padding-bottom: 0.75rem;
}
.pr-2 {
padding-right: 0.5rem;
}
@ -1332,6 +1378,10 @@ video {
font-size: 1.5rem;
line-height: 2rem;
}
.text-xl {
font-size: 1.25rem;
line-height: 1.75rem;
}
.text-4xl {
font-size: 2.25rem;
line-height: 2.5rem;
@ -1344,10 +1394,6 @@ video {
font-size: 1rem;
line-height: 1.5rem;
}
.text-xl {
font-size: 1.25rem;
line-height: 1.75rem;
}
.font-extrabold {
font-weight: 800;
}
@ -1394,6 +1440,14 @@ video {
--tw-text-opacity: 1;
color: rgba(251, 191, 36, var(--tw-text-opacity));
}
.text-indigo-800 {
--tw-text-opacity: 1;
color: rgba(55, 48, 163, var(--tw-text-opacity));
}
.text-yellow-800 {
--tw-text-opacity: 1;
color: rgba(146, 64, 14, var(--tw-text-opacity));
}
.underline {
text-decoration: underline;
}
@ -1506,6 +1560,41 @@ video {
right: 25%;
}
.\32xl\:inset-x-1\/2 {
left: 50%;
right: 50%;
}
.\32xl\:inset-x-\[2\/5\] {
left: 2 / 5;
right: 2 / 5;
}
.\32xl\:inset-x-\[3\/11\] {
left: 3 / 11;
right: 3 / 11;
}
.\32xl\:inset-x-\[3\/10\] {
left: 3 / 10;
right: 3 / 10;
}
.\32xl\:inset-x-\[\] {
left: ;
right: ;
}
.\32xl\:inset-y-1\/2 {
top: 50%;
bottom: 50%;
}
.\32xl\:inset-y-\[2\/5\] {
top: 2 / 5;
bottom: 2 / 5;
}
.\32xl\:top-1\/4 {
top: 25%;
}

View File

@ -70,6 +70,12 @@ nav a.active {
color: var(--tertiary);
}
.bg-light {
background-color: var(--light);
}
.bg-dark {
background-color: var(--dark);
}
.bg-primary {
background-color: var(--primary);
}
@ -117,6 +123,15 @@ nav a.active {
}
/* borders */
.border-light {
border-color: var(---light);
}
.border-dark {
border-color: var(--dark);
}
.border-muted {
border-color: var(--muted);
}
.border-primary {
border-color: var(--primary);
}

View File

@ -0,0 +1,36 @@
:root {
--primary: #f5624d;
--secondary: #0f8a5f;
--tertiary: #235e6f;
--heading: #34a65f;
--font: white;
--muted: #6c757d;
--success: #09f7a0;
--danger: #f43e5c;
--warning: #f77d26;
--normal: #dcddde;
--link: hsl(197, calc(var(--saturation-factor, 1) * 100%), 47.8%);
--channel: #8e9297;
--saturation-factor: 1;
--bg-primary: #36393f;
--bg-secondary: #2f3136;
--bg-secondary-alt: #292b2f;
--bg-tertiary: #202225;
--bg-textarea: #40444b;
--bg-modifier-accent: hsla(0, 0%, 100%, 0.06);
--bg-modifier-selected: rgba(79, 84, 92, 0.32);
--bg-floating: #18191c;
--elevation: 0 1px 0 rgba(4, 4, 5, 0.2), 0 1.5px 0 rgba(6, 6, 7, 0.05),
0 2px 0 rgba(4, 4, 5, 0.05);
--font-primary: Whitney, 'Helvetica Neue', Helvetica, Arial, sans-serif;
--light: #fdf0ed;
--dark: #16161c;
}