fix: storybook font rendering and shared fonts module #1
@@ -0,0 +1,21 @@
|
|||||||
|
/**
|
||||||
|
* Static contact and social links shown in navigation.
|
||||||
|
*/
|
||||||
|
export const CONTACT_LINKS = {
|
||||||
|
/**
|
||||||
|
* Primary contact email address
|
||||||
|
*/
|
||||||
|
email: 'hello@allmy.work',
|
||||||
|
/**
|
||||||
|
* LinkedIn profile URL
|
||||||
|
*/
|
||||||
|
linkedin: 'https://linkedin.com',
|
||||||
|
/**
|
||||||
|
* Instagram profile URL
|
||||||
|
*/
|
||||||
|
instagram: 'https://instagram.com',
|
||||||
|
/**
|
||||||
|
* Are.na profile URL
|
||||||
|
*/
|
||||||
|
arena: 'https://are.na',
|
||||||
|
} as const;
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
export type { ClassValue } from 'clsx';
|
export type { ClassValue } from 'clsx';
|
||||||
export { cn } from './cn';
|
export { cn } from './cn';
|
||||||
|
export { CONTACT_LINKS } from './config';
|
||||||
export * from './fonts';
|
export * from './fonts';
|
||||||
export * from './formatDate';
|
export * from './formatDate';
|
||||||
export { groupByKey } from './groupByKey';
|
export { groupByKey } from './groupByKey';
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
'use client';
|
'use client';
|
||||||
|
|
||||||
import { useEffect, useState } from 'react';
|
import { useEffect, useState } from 'react';
|
||||||
import { cn } from '$shared/lib';
|
import { CONTACT_LINKS, cn } from '$shared/lib';
|
||||||
import type { NavItem } from '../model/types';
|
import type { NavItem } from '../model/types';
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
@@ -85,16 +85,16 @@ export function SidebarNav({ items }: Props) {
|
|||||||
<div className="mt-12 pt-12 brutal-border-top">
|
<div className="mt-12 pt-12 brutal-border-top">
|
||||||
<p className="text-sm uppercase tracking-wider mb-4 opacity-60">Quick Links</p>
|
<p className="text-sm uppercase tracking-wider mb-4 opacity-60">Quick Links</p>
|
||||||
<div className="space-y-3">
|
<div className="space-y-3">
|
||||||
<a href="mailto:hello@allmy.work" className="block">
|
<a href={`mailto:${CONTACT_LINKS.email}`} className="block">
|
||||||
Email
|
Email
|
||||||
</a>
|
</a>
|
||||||
<a href="https://linkedin.com" className="block">
|
<a href={CONTACT_LINKS.linkedin} className="block">
|
||||||
LinkedIn
|
LinkedIn
|
||||||
</a>
|
</a>
|
||||||
<a href="https://instagram.com" className="block">
|
<a href={CONTACT_LINKS.instagram} className="block">
|
||||||
Instagram
|
Instagram
|
||||||
</a>
|
</a>
|
||||||
<a href="https://are.na" className="block">
|
<a href={CONTACT_LINKS.arena} className="block">
|
||||||
Are.na
|
Are.na
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
'use client';
|
'use client';
|
||||||
|
|
||||||
|
import { CONTACT_LINKS } from '$shared/lib';
|
||||||
import { Button } from '$shared/ui';
|
import { Button } from '$shared/ui';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -18,8 +19,8 @@ export function UtilityBar() {
|
|||||||
<div className="max-w-[2560px] mx-auto px-6 md:px-12 lg:px-16 py-4 flex items-center justify-between">
|
<div className="max-w-[2560px] mx-auto px-6 md:px-12 lg:px-16 py-4 flex items-center justify-between">
|
||||||
<div className="flex items-center gap-4">
|
<div className="flex items-center gap-4">
|
||||||
<span className="text-sm uppercase tracking-wider">Contact</span>
|
<span className="text-sm uppercase tracking-wider">Contact</span>
|
||||||
<a href="mailto:hello@allmy.work" className="text-base hover:text-burnt-oxide transition-colors">
|
<a href={`mailto:${CONTACT_LINKS.email}`} className="text-base hover:text-burnt-oxide transition-colors">
|
||||||
hello@allmy.work
|
{CONTACT_LINKS.email}
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<Button variant="primary" size="sm" onClick={handleDownloadCV}>
|
<Button variant="primary" size="sm" onClick={handleDownloadCV}>
|
||||||
|
|||||||
Reference in New Issue
Block a user