mirror of
https://github.com/hanzoai/next.js.git
synced 2026-10-30 14:46:38 +00:00
## Overview This PR replaces the existing Next.js boilerplate with a new minimal design in light and dark themes. <img width="1512" height="856" alt="light" src="https://github.com/user-attachments/assets/542f1a8a-3ee1-466d-9446-e7cdb6ecf3b8" /> <img width="3024" height="1710" alt="dark" src="https://github.com/user-attachments/assets/afb89daa-8bcf-4173-9d47-b7fb2fad70bb" /> ## Testing 1. Run `pnpm build` at root 2. Enter the template directory (e.g. `cd packages/create-next-app/templates/app/ts`) then install its dependencies `pnpm i` 3. Run `pnpm next dev packages/create-next-app/templates/app/ts` at root 4. Open [localhost:3000](http://localhost:3000/) --------- Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com> Co-authored-by: rauno <[email protected]> Co-authored-by: skullface <[email protected]>
142 lines
2.4 KiB
CSS
142 lines
2.4 KiB
CSS
.page {
|
|
--background: #fafafa;
|
|
--foreground: #fff;
|
|
|
|
--text-primary: #000;
|
|
--text-secondary: #666;
|
|
|
|
--button-primary-hover: #383838;
|
|
--button-secondary-hover: #f2f2f2;
|
|
--button-secondary-border: #ebebeb;
|
|
|
|
display: flex;
|
|
min-height: 100vh;
|
|
align-items: center;
|
|
justify-content: center;
|
|
font-family: var(--font-geist-sans);
|
|
background-color: var(--background);
|
|
}
|
|
|
|
.main {
|
|
display: flex;
|
|
min-height: 100vh;
|
|
width: 100%;
|
|
max-width: 800px;
|
|
flex-direction: column;
|
|
align-items: flex-start;
|
|
justify-content: space-between;
|
|
background-color: var(--foreground);
|
|
padding: 120px 60px;
|
|
}
|
|
|
|
.intro {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: flex-start;
|
|
text-align: left;
|
|
gap: 24px;
|
|
}
|
|
|
|
.intro h1 {
|
|
max-width: 320px;
|
|
font-size: 40px;
|
|
font-weight: 600;
|
|
line-height: 48px;
|
|
letter-spacing: -2.4px;
|
|
text-wrap: balance;
|
|
color: var(--text-primary);
|
|
}
|
|
|
|
.intro p {
|
|
max-width: 440px;
|
|
font-size: 18px;
|
|
line-height: 32px;
|
|
text-wrap: balance;
|
|
color: var(--text-secondary);
|
|
}
|
|
|
|
.intro a {
|
|
font-weight: 500;
|
|
color: var(--text-primary);
|
|
}
|
|
|
|
.ctas {
|
|
display: flex;
|
|
flex-direction: row;
|
|
width: 100%;
|
|
max-width: 440px;
|
|
gap: 16px;
|
|
font-size: 14px;
|
|
}
|
|
|
|
.ctas a {
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
height: 40px;
|
|
padding: 0 16px;
|
|
border-radius: 128px;
|
|
border: 1px solid transparent;
|
|
transition: 0.2s;
|
|
cursor: pointer;
|
|
width: fit-content;
|
|
font-weight: 500;
|
|
}
|
|
|
|
a.primary {
|
|
background: var(--text-primary);
|
|
color: var(--background);
|
|
gap: 8px;
|
|
}
|
|
|
|
a.secondary {
|
|
border-color: var(--button-secondary-border);
|
|
}
|
|
|
|
/* Enable hover only on non-touch devices */
|
|
@media (hover: hover) and (pointer: fine) {
|
|
a.primary:hover {
|
|
background: var(--button-primary-hover);
|
|
border-color: transparent;
|
|
}
|
|
|
|
a.secondary:hover {
|
|
background: var(--button-secondary-hover);
|
|
border-color: transparent;
|
|
}
|
|
}
|
|
|
|
@media (max-width: 600px) {
|
|
.main {
|
|
padding: 48px 24px;
|
|
}
|
|
|
|
.intro {
|
|
gap: 16px;
|
|
}
|
|
|
|
.intro h1 {
|
|
font-size: 32px;
|
|
line-height: 40px;
|
|
letter-spacing: -1.92px;
|
|
}
|
|
}
|
|
|
|
@media (prefers-color-scheme: dark) {
|
|
.logo {
|
|
filter: invert();
|
|
}
|
|
|
|
.page {
|
|
--background: #000;
|
|
--foreground: #000;
|
|
|
|
--text-primary: #ededed;
|
|
--text-secondary: #999;
|
|
|
|
--button-primary-hover: #ccc;
|
|
--button-secondary-hover: #1a1a1a;
|
|
--button-secondary-border: #1a1a1a;
|
|
}
|
|
}
|