Next.js (App Router) site for Yesterday Vintage.
- Next.js (App Router)
- React (JSX)
- SCSS Modules + Global SCSS (tokens + fonts + mixins)
npm installnpm run devhttp://localhost:3000IMPORTANT: Use rem for better accessibility and responsive design
All global design tokens live in:
app/_globals/globals.scss(colors + fonts + base styles)app/_globals/mixins.scss(shared SCSS mixins)
Global colors are stored as CSS variables in :root.
Use them in SCSS Modules like this:
.card {
background: var(--eggshell);
color: var(--black);
border: 1px solid var(--canvas);
}
.buttonPrimary {
background: var(--yv-red);
color: var(--white);
}Our shared SCSS mixins live in:
app/_globals/mixins.scss
In any *.module.scss file:
@use "mixins.scss";If you do not hav SASS includePaths set up, use a relative import instead
@use "../../_globals/mixins.scss";@use "mixins.scss";
.wrapper {
padding: 48px 24px;
@include mixins.tablet {
padding: 36px 20px;
}
@include mixins.phone {
padding: 28px 16px;
}
}Call it in your component
import styles from "./home.module.scss";
export default function Home() {
return <main className={styles.wrapper}>Hello</main>;
}Run npm run lint to ensure good code format!