diff --git a/apps/website/src/components/blog/AuthorByline.tsx b/apps/website/src/components/blog/AuthorByline.tsx index a7a1766b3..ec0f41b60 100644 --- a/apps/website/src/components/blog/AuthorByline.tsx +++ b/apps/website/src/components/blog/AuthorByline.tsx @@ -2,28 +2,20 @@ import type { Author } from '../../lib/blog-authors'; export function AuthorByline({ author }: { author: Author }) { return ( -
+
{author.avatar ? ( {`${author.name} ) : null}
- {author.name} + {author.name} {author.role ? ( - · {author.role} + · {author.role} ) : null}
diff --git a/apps/website/src/components/blog/BlogTagFilter.tsx b/apps/website/src/components/blog/BlogTagFilter.tsx index 585c0615e..59cdb64e8 100644 --- a/apps/website/src/components/blog/BlogTagFilter.tsx +++ b/apps/website/src/components/blog/BlogTagFilter.tsx @@ -1,5 +1,4 @@ import Link from 'next/link'; -import { tokens } from '@threadplane/design-tokens'; interface BlogTagFilterProps { /** Currently active tag from ?tag=. Undefined when on /blog. */ @@ -8,47 +7,17 @@ interface BlogTagFilterProps { tags: string[]; } -const PILL_BASE: React.CSSProperties = { - padding: '6px 12px', - borderRadius: 999, - fontSize: 13, - fontWeight: 500, - textDecoration: 'none', - lineHeight: 1.2, - cursor: 'pointer', - display: 'inline-block', -}; - -const ACTIVE: React.CSSProperties = { - ...PILL_BASE, - background: tokens.colors.accent, - color: '#ffffff', -}; - -const INACTIVE: React.CSSProperties = { - ...PILL_BASE, - background: tokens.colors.accentSurface, - color: tokens.colors.accent, -}; - export function BlogTagFilter({ activeTag, tags }: BlogTagFilterProps) { const sorted = [...tags].sort((a, b) => a.localeCompare(b)); return ( -
+
{/* "All" pill */} {activeTag ? ( - + All ) : ( - + All )} @@ -61,13 +30,14 @@ export function BlogTagFilter({ activeTag, tags }: BlogTagFilterProps) { {tag} ) : ( - + {tag} ); diff --git a/apps/website/src/components/blog/FeaturedPostCard.tsx b/apps/website/src/components/blog/FeaturedPostCard.tsx index a81107a88..5563ad380 100644 --- a/apps/website/src/components/blog/FeaturedPostCard.tsx +++ b/apps/website/src/components/blog/FeaturedPostCard.tsx @@ -1,5 +1,4 @@ import Link from 'next/link'; -import { tokens } from '@threadplane/design-tokens'; import type { Post } from '../../lib/blog'; import { formatCardDate, readingTimeMin } from '../../lib/blog'; import { getAuthor } from '../../lib/blog-authors'; @@ -16,65 +15,18 @@ export function FeaturedPostCard({ post }: { post: Post }) { href={`/blog/${slug}`} data-ui="card" data-hoverable - style={{ - display: 'flex', - flexDirection: 'column', - gap: 16, - padding: 32, - borderRadius: 16, - background: tokens.surfaces.surface, - border: `1px solid ${tokens.colors.accent}`, - color: tokens.colors.textPrimary, - textDecoration: 'none', - cursor: 'pointer', - marginBottom: 32, - }} + className="featured-post-card" > Featured -

+

{frontmatter.title}

-

+

{frontmatter.description}

-
+
- + {formatCardDate(frontmatter.date)} · {minutes} min read
diff --git a/apps/website/src/components/blog/PostCard.tsx b/apps/website/src/components/blog/PostCard.tsx index 241e9f45b..678f1d26c 100644 --- a/apps/website/src/components/blog/PostCard.tsx +++ b/apps/website/src/components/blog/PostCard.tsx @@ -1,5 +1,4 @@ import Link from 'next/link'; -import { tokens } from '@threadplane/design-tokens'; import type { Post } from '../../lib/blog'; import { formatCardDate, readingTimeMin } from '../../lib/blog'; @@ -12,66 +11,21 @@ export function PostCard({ post }: { post: Post }) { href={`/blog/${slug}`} data-ui="card" data-hoverable - style={{ - display: 'flex', - flexDirection: 'column', - gap: 12, - padding: 24, - borderRadius: 12, - background: tokens.surfaces.surfaceTinted, - border: `1px solid ${tokens.surfaces.border}`, - color: tokens.colors.textPrimary, - textDecoration: 'none', - cursor: 'pointer', - }} + className="post-card" > - + {formatCardDate(frontmatter.date)} · {minutes} min read -

+

{frontmatter.title}

-

+

{frontmatter.description}

{frontmatter.tags && frontmatter.tags.length > 0 ? ( -
+
{frontmatter.tags.map((tag) => ( - + {tag} ))} diff --git a/apps/website/src/components/blog/TagChips.tsx b/apps/website/src/components/blog/TagChips.tsx index 1f41ed287..0a5fc2758 100644 --- a/apps/website/src/components/blog/TagChips.tsx +++ b/apps/website/src/components/blog/TagChips.tsx @@ -1,5 +1,4 @@ import Link from 'next/link'; -import { tokens } from '@threadplane/design-tokens'; /** * Tag pills on the article page. Each pill links to the blog landing page @@ -9,30 +8,9 @@ import { tokens } from '@threadplane/design-tokens'; export function TagChips({ tags }: { tags: string[] }) { if (tags.length === 0) return null; return ( -
+
{tags.map((tag) => ( - + {tag} ))} diff --git a/apps/website/src/components/contact/AltChannelRow.tsx b/apps/website/src/components/contact/AltChannelRow.tsx index 8744101fb..f07555819 100644 --- a/apps/website/src/components/contact/AltChannelRow.tsx +++ b/apps/website/src/components/contact/AltChannelRow.tsx @@ -1,22 +1,14 @@ // SPDX-License-Identifier: MIT import React from 'react'; -import { tokens } from '@threadplane/design-tokens'; - -const linkStyle: React.CSSProperties = { - color: tokens.colors.accent, - textDecoration: 'none', - fontSize: tokens.typography.body.size, - fontFamily: tokens.typography.body.family, -}; export function AltChannelRow() { return ( -

- docs - · - GitHub issues - · - Discord +

+ docs + · + GitHub issues + · + Discord

); } diff --git a/apps/website/src/components/contact/ContactForm.tsx b/apps/website/src/components/contact/ContactForm.tsx index 56bfe8f8e..f512ae1bd 100644 --- a/apps/website/src/components/contact/ContactForm.tsx +++ b/apps/website/src/components/contact/ContactForm.tsx @@ -3,7 +3,6 @@ import React, { useState } from 'react'; import { useSearchParams } from 'next/navigation'; -import { tokens } from '@threadplane/design-tokens'; import { Button } from '../ui/Button'; import { track } from '../../lib/analytics/client'; import { analyticsEvents } from '../../lib/analytics/events'; @@ -82,28 +81,15 @@ export function ContactForm() { if (status === 'sent') { return ( -
+
Thanks. We'll be in touch within one business day.
); } - const inputStyle: React.CSSProperties = { - display: 'block', - width: '100%', - padding: '10px 12px', - fontSize: tokens.typography.body.size, - fontFamily: tokens.typography.body.family, - color: tokens.colors.textPrimary, - background: tokens.surfaces.surface, - border: `1px solid ${tokens.surfaces.border}`, - borderRadius: 6, - marginTop: 4, - }; - return ( -
-