use css modules & nesting
Some checks failed
Code quality checks / biome (push) Failing after 4s

This commit is contained in:
Seth 2025-05-18 19:31:44 -04:00
parent 1ed0524573
commit 62cce216df
8 changed files with 60 additions and 53 deletions

View file

@ -2,6 +2,8 @@ import { highlightElement } from "@speed-highlight/core";
import { createRef } from "tsx-dom"; import { createRef } from "tsx-dom";
import socket from "../../utilities/socket"; import socket from "../../utilities/socket";
import colors from "../../colors.module.css";
const activityTypes: Record<number, string> = { const activityTypes: Record<number, string> = {
0: "Playing", 0: "Playing",
1: "Streaming", 1: "Streaming",
@ -19,9 +21,9 @@ export default () => {
const streamingActivity = lanyard.activities.find((act) => act.type === 1); const streamingActivity = lanyard.activities.find((act) => act.type === 1);
if (streamingActivity) { if (streamingActivity) {
document.documentElement.className = "streaming"; document.documentElement.className = colors.streaming || "";
} else { } else {
document.documentElement.className = lanyard.discord_status; document.documentElement.className = colors[lanyard.discord_status] || "";
} }
if (lanyard.activities.length === 0) { if (lanyard.activities.length === 0) {

View file

@ -0,0 +1,34 @@
.container {
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
height: 100%;
}
.card {
width: 90%;
padding: .5rem;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
.center {
text-align: center;
}
}
.avatar {
width: 5rem;
height: inherit;
border: 2px solid rgb(var(--mdui-color-primary));
}
.lanyard {
display: var(--lanyard-display);
}
.hyperate {
display: var(--hyperate-display);
}

View file

@ -7,39 +7,23 @@ import "mdui/components/segmented-button";
import Hyperate from "../../Hyperate"; import Hyperate from "../../Hyperate";
import Lanyard from "../../Lanyard"; import Lanyard from "../../Lanyard";
import styles from "./index.module.css";
import colors from "../../../colors.module.css";
export default () => { export default () => {
return ( return (
<div <div
style={{ class={styles.container}
display: "flex",
justifyContent: "center",
alignItems: "center",
flexDirection: "column",
height: "100%",
}}
> >
<mdui-card <mdui-card
// @ts-expect-error; variant is not in the types for some reason? // @ts-expect-error; variant is not in the types for some reason?
variant="filled" variant="filled"
style={{ class={`${styles.card} ${styles.center}`}
width: "90%",
padding: ".5rem",
display: "flex",
justifyContent: "center",
alignItems: "center",
flexDirection: "column",
textAlign: "center",
}}
> >
<mdui-avatar <mdui-avatar
style={{
width: "5rem",
height: "inherit",
border: "2px solid rgb(var(--mdui-color-primary))",
}}
src="/public/Abyssinian/default.png" src="/public/Abyssinian/default.png"
class="pfp" class={`${styles.avatar} ${colors.pfp}`}
/> />
<p> <p>
Seth, the <strong>dedicated</strong> backend developer, with many{" "} Seth, the <strong>dedicated</strong> backend developer, with many{" "}
@ -55,47 +39,25 @@ export default () => {
</mdui-card> </mdui-card>
<br <br
style={{ class={styles.lanyard}
display: "var(--lanyard-display)",
}}
/> />
<mdui-card <mdui-card
// @ts-expect-error; variant is not in the types for some reason? // @ts-expect-error; variant is not in the types for some reason?
variant="filled" variant="filled"
style={{ class={`${styles.card} ${styles.lanyard}`}
width: "90%",
padding: ".5rem",
// center the contents
display: "var(--lanyard-display, flex)",
justifyContent: "center",
alignItems: "center",
flexDirection: "column",
}}
> >
<Lanyard /> <Lanyard />
</mdui-card> </mdui-card>
<br <br
style={{ class={styles.hyperate}
display: "var(--hyperate-display)",
}}
/> />
<mdui-card <mdui-card
// @ts-expect-error; variant is not in the types for some reason? // @ts-expect-error; variant is not in the types for some reason?
variant="filled" variant="filled"
style={{ class={`${styles.card} ${styles.center} ${styles.hyperate}`}
width: "90%",
padding: ".5rem",
// center the contents
display: "var(--hyperate-display, flex)",
justifyContent: "center",
alignItems: "center",
flexDirection: "column",
textAlign: "center",
}}
> >
<Hyperate /> <Hyperate />
</mdui-card> </mdui-card>

View file

@ -2,7 +2,6 @@
@import "../../node_modules/@fontsource/roboto-mono/latin-400.css"; @import "../../node_modules/@fontsource/roboto-mono/latin-400.css";
*/ */
@import "../../node_modules/mdui/mdui.css"; @import "../../node_modules/mdui/mdui.css";
@import "./colors.css";
:not(:defined) { :not(:defined) {
visibility: hidden; visibility: hidden;

View file

@ -1,5 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en" class="offline"> <html lang="en">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">

View file

@ -4,6 +4,10 @@ import "./utilities/clicker";
import App from "./App"; import App from "./App";
import colors from "./colors.module.css";
document.documentElement.className = colors.offline || "";
document.body.appendChild(<App />); document.body.appendChild(<App />);
// You're garbage, let me collect you. // You're garbage, let me collect you.

6
types/css.d.ts vendored Normal file
View file

@ -0,0 +1,6 @@
declare module '*.module.css' {
const styles: {
readonly [key: string]: string
}
export default styles
}