fix: storybook font rendering and shared fonts module #1

Merged
ilia merged 74 commits from feat/portfolio-setup into main 2026-05-18 18:45:22 +00:00
6 changed files with 64 additions and 18 deletions
Showing only changes of commit 759f579695 - Show all commits
+11
View File
@@ -43,5 +43,16 @@ next-env.d.ts
*.md *.md
!README.md !README.md
# hidden files (allow some, ignore others)
.**
!/.storybook
!/.yarn
!/yarnrc.yml
!/.claude
!/.vscode
!/.gitattributes
!/.gitignore
!/biome.json
*storybook.log *storybook.log
storybook-static storybook-static
+30
View File
@@ -0,0 +1,30 @@
import React from 'react'
import type { Preview } from '@storybook/nextjs-vite'
import { fraunces, publicSans } from '../src/shared/lib'
import '../app/globals.css'
const preview: Preview = {
parameters: {
controls: {
matchers: {
color: /(background|color)$/i,
date: /Date$/i,
},
},
a11y: {
// 'todo' - show a11y violations in the test UI only
// 'error' - fail CI on a11y violations
// 'off' - skip a11y checks entirely
test: 'todo',
},
},
decorators: [
(Story) => (
<div className={`${fraunces.variable} ${publicSans.variable}`}>
<Story />
</div>
),
],
}
export default preview
+1 -18
View File
@@ -1,24 +1,7 @@
import type { Metadata } from 'next' import type { Metadata } from 'next'
import { Fraunces, Public_Sans } from 'next/font/google' import { fraunces, publicSans } from '$shared/lib'
import './globals.css' import './globals.css'
/**
* Heading font — variable axes for brutalist variation settings
*/
const fraunces = Fraunces({
subsets: ['latin'],
variable: '--font-fraunces',
axes: ['opsz', 'SOFT', 'WONK'],
})
/**
* Body font
*/
const publicSans = Public_Sans({
subsets: ['latin'],
variable: '--font-public-sans',
})
export const metadata: Metadata = { export const metadata: Metadata = {
title: 'Portfolio', title: 'Portfolio',
description: 'Portfolio', description: 'Portfolio',
+18
View File
@@ -0,0 +1,18 @@
import { Fraunces, Public_Sans } from 'next/font/google'
/**
* Heading font — variable axes for brutalist variation settings
*/
export const fraunces = Fraunces({
subsets: ['latin'],
variable: '--font-fraunces',
axes: ['opsz', 'SOFT', 'WONK'],
})
/**
* Body font
*/
export const publicSans = Public_Sans({
subsets: ['latin'],
variable: '--font-public-sans',
})
+1
View File
@@ -1,2 +1,3 @@
export { cn } from './cn' export { cn } from './cn'
export type { ClassValue } from 'clsx' export type { ClassValue } from 'clsx'
export * from './fonts'
+3
View File
@@ -80,6 +80,9 @@
} }
@theme inline { @theme inline {
--font-heading: var(--font-fraunces);
--font-body: var(--font-public-sans);
--color-ochre-clay: var(--ochre-clay); --color-ochre-clay: var(--ochre-clay);
--color-slate-indigo: var(--slate-indigo); --color-slate-indigo: var(--slate-indigo);
--color-burnt-oxide: var(--burnt-oxide); --color-burnt-oxide: var(--burnt-oxide);