diff --git a/src/app/about/contact/page.tsx b/src/app/about/contact/page.tsx index e0f022a..80b5b1c 100644 --- a/src/app/about/contact/page.tsx +++ b/src/app/about/contact/page.tsx @@ -51,7 +51,7 @@ export default function ContactPage() {
-
+
AV Beat
@@ -63,7 +63,7 @@ export default function ContactPage() {
    {CONTACTS.map((c) => ( -
  • +
  • {c.title}
    diff --git a/src/app/about/page.tsx b/src/app/about/page.tsx index 798091c..1afcc17 100644 --- a/src/app/about/page.tsx +++ b/src/app/about/page.tsx @@ -14,7 +14,7 @@ export default function AboutPage() {
    -
    +
    AV Beat
    @@ -79,7 +79,7 @@ export default function AboutPage() { function Stat({ label, value }: { label: string; value: string }) { return ( -
    +
    {value}
    {label} diff --git a/src/app/about/team/page.tsx b/src/app/about/team/page.tsx index 4042285..648edc5 100644 --- a/src/app/about/team/page.tsx +++ b/src/app/about/team/page.tsx @@ -101,7 +101,7 @@ export default async function TeamPage() {
    - + AV Beat · editorial

    @@ -129,10 +129,10 @@ export default async function TeamPage() { return (
  • {/* Top accent */} -
    +
    {p.avatar_url ? ( @@ -142,7 +142,7 @@ export default async function TeamPage() { alt={p.name} width={96} height={96} - className="w-24 h-24 rounded-full border-2 border-[#1a1f2a] group-hover:border-[#D85A30]/40 transition-colors object-cover" + className="w-24 h-24 rounded-full border-2 border-[#1a1f2a] group-hover:border-[#1D4ED8]/40 transition-colors object-cover" /> ) : ( @@ -155,7 +155,7 @@ export default async function TeamPage() {

    {p.name}

    {(p.beat || p.slug === "ryan-salazar") && ( -
    +
    {displayBeat(p)}
    )} @@ -209,7 +209,7 @@ export default async function TeamPage() { {ops.map((p) => (
  • {p.avatar_url ? (

    {p.display_name}

    -
    +
    {p.role}
    diff --git a/src/app/account/page.tsx b/src/app/account/page.tsx index 7a6e511..1af9d35 100644 --- a/src/app/account/page.tsx +++ b/src/app/account/page.tsx @@ -284,7 +284,7 @@ export default function AccountPage() { if (loading) { return ( -
    +
    @@ -298,21 +298,21 @@ export default function AccountPage() { } return ( -
    +
    {/* Toast */} {toast && (
    {toast.type === "success" ? ( -
    +
    @@ -336,25 +336,25 @@ export default function AccountPage() { {/* Page Header */}
    -

    Account Settings

    +

    Account Settings

    {user?.email}

    {/* Tabs */} -
    +
    {tabs.map((tab) => (
    -
    -

    +
    +

    Account Info

    @@ -435,7 +435,7 @@ export default function AccountPage() { type="email" value={user?.email || ""} disabled - className="w-full bg-[#1c1815] border border-[#222] text-[#555] font-body text-sm px-3 py-2.5 rounded-sm cursor-not-allowed" + className="w-full bg-[#F8FAFC] border border-[#222] text-[#555] font-body text-sm px-3 py-2.5 rounded-sm cursor-not-allowed" />

    Email cannot be changed here.

    @@ -445,7 +445,7 @@ export default function AccountPage() {
    @@ -456,8 +456,8 @@ export default function AccountPage() { {activeTab === "security" && (
    -
    -

    +
    +

    Change Password

    @@ -471,7 +471,7 @@ export default function AccountPage() { onChange={(e) => setNewPassword(e.target.value)} placeholder="Enter new password" minLength={6} - className="w-full bg-[#1c1815] border border-[#3a322b] text-[#e0e0e0] font-body text-sm px-3 py-2.5 rounded-sm focus:outline-none focus:border-[#F0A623] focus:ring-1 focus:ring-[#F0A623] transition-colors placeholder-[#444]" + className="w-full bg-[#F8FAFC] border border-[#DCE6F2] text-[#e0e0e0] font-body text-sm px-3 py-2.5 rounded-sm focus:outline-none focus:border-[#1D4ED8] focus:ring-1 focus:ring-[#1D4ED8] transition-colors placeholder-[#444]" />
    @@ -484,7 +484,7 @@ export default function AccountPage() { onChange={(e) => setConfirmPassword(e.target.value)} placeholder="Confirm new password" minLength={6} - className="w-full bg-[#1c1815] border border-[#3a322b] text-[#e0e0e0] font-body text-sm px-3 py-2.5 rounded-sm focus:outline-none focus:border-[#F0A623] focus:ring-1 focus:ring-[#F0A623] transition-colors placeholder-[#444]" + className="w-full bg-[#F8FAFC] border border-[#DCE6F2] text-[#e0e0e0] font-body text-sm px-3 py-2.5 rounded-sm focus:outline-none focus:border-[#1D4ED8] focus:ring-1 focus:ring-[#1D4ED8] transition-colors placeholder-[#444]" />
    @@ -492,7 +492,7 @@ export default function AccountPage() {

    @@ -506,7 +506,7 @@ export default function AccountPage() {

    @@ -520,12 +520,12 @@ export default function AccountPage() {

    Saved Articles {bookmarks.length > 0 && ( - + {bookmarks.length} )}

    - + Full List →
    @@ -533,37 +533,37 @@ export default function AccountPage() { {bookmarksLoading ? (
    {[1, 2, 3].map((i) => ( -
    +
    -
    +
    -
    -
    +
    +
    ))}
    ) : bookmarks.length === 0 ? ( -
    +

    No saved articles yet.

    - + Browse News →
    ) : (
    {bookmarks.map((item) => ( -
    +
    {item.article_image ? ( ) : ( -
    +
    @@ -572,10 +572,10 @@ export default function AccountPage() {
    {item.article_category && ( - {item.article_category} + {item.article_category} )} -

    +

    {item.article_title}

    @@ -605,7 +605,7 @@ export default function AccountPage() {

    Reading History {history.length > 0 && ( - + {history.length} )} @@ -622,37 +622,37 @@ export default function AccountPage() { {historyLoading ? (
    {[1, 2, 3].map((i) => ( -
    +
    -
    +
    -
    -
    +
    +
    ))}
    ) : history.length === 0 ? ( -
    +

    No reading history yet.

    - + Browse News →
    ) : (
    {history.map((item) => ( -
    +
    {item.article_image ? ( ) : ( -
    +
    @@ -661,10 +661,10 @@ export default function AccountPage() {
    {item.article_category && ( - {item.article_category} + {item.article_category} )} -

    +

    {item.article_title}

    @@ -693,17 +693,17 @@ export default function AccountPage() { {topicsLoading ? (
    {[1, 2, 3, 4, 5, 6].map((i) => ( -
    +
    ))}
    ) : topics.length === 0 ? ( -
    +

    No topic preferences tracked yet.

    Read articles to build your interest profile.

    - + Browse News →
    @@ -714,18 +714,18 @@ export default function AccountPage() { const maxCount = topics[0]?.view_count || 1; const pct = Math.round((t.view_count / maxCount) * 100); return ( -
    +
    {t.topic} - + {t.view_count}×
    -
    +
    @@ -744,13 +744,13 @@ export default function AccountPage() { {/* Preferences Tab */} {activeTab === "preferences" && (
    -
    -

    +
    +

    Forum Reputation

    -
    - +
    + {profile?.reputation ?? 0} Points @@ -759,15 +759,15 @@ export default function AccountPage() {

    Earn reputation by posting helpful threads and replies in the community forum.

    - + Go to Forum →
    -
    -

    +
    +

    Reading Preferences

    @@ -778,7 +778,7 @@ export default function AccountPage() {
    + className="font-body text-xs font-bold uppercase tracking-wide text-[#1D4ED8] hover:text-[#1E3A8A] transition-colors"> Manage →
    @@ -789,7 +789,7 @@ export default function AccountPage() {

    + className="font-body text-xs font-bold uppercase tracking-wide text-[#1D4ED8] hover:text-[#1E3A8A] transition-colors"> View List →
    @@ -808,8 +808,8 @@ export default function AccountPage() { onClick={() => handleToggleDigest(!weeklyDigest)} aria-pressed={weeklyDigest} aria-label="Toggle weekly digest email" - className={`relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 transition-colors duration-200 ease-in-out focus:outline-none focus-visible:ring-2 focus-visible:ring-[#F0A623] disabled:opacity-50 ${ - weeklyDigest ? "bg-[#F0A623] border-[#F0A623]" : "bg-[#3a322b] border-[#333]" + className={`relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 transition-colors duration-200 ease-in-out focus:outline-none focus-visible:ring-2 focus-visible:ring-[#1D4ED8] disabled:opacity-50 ${ + weeklyDigest ? "bg-[#1D4ED8] border-[#1D4ED8]" : "bg-[#DCE6F2] border-[#333]" }`}>
    ; + if (loading) return
    ; if (!user) return null; return ( @@ -102,7 +102,7 @@ export default function ClientsPage() {

    Clients

    ← Accounting
    - +

    {/* Success Toast */} @@ -116,14 +116,14 @@ export default function ClientsPage() { {/* Filters */}
    {['active','inactive','all'].map(s => ( - + ))} - setSearch(e.target.value)} placeholder="Search clients…" className="ml-auto px-3 py-1 bg-[#111] border border-[#3a322b] rounded text-xs text-white placeholder-[#555] focus:outline-none focus:border-[#F0A623]" /> + setSearch(e.target.value)} placeholder="Search clients…" className="ml-auto px-3 py-1 bg-[#111] border border-[#DCE6F2] rounded text-xs text-white placeholder-[#555] focus:outline-none focus:border-[#1D4ED8]" />
    {/* New Client Form */} {showForm && ( - +

    New Client

    {errors._form && ( @@ -148,7 +148,7 @@ export default function ClientsPage() { type={f.key === 'contact_email' ? 'email' : 'text'} value={(form as any)[f.key]} onChange={e => handleChange(f.key, e.target.value)} - className={`w-full px-2 py-1.5 bg-[#0a0a0a] border rounded text-xs text-white focus:outline-none focus:border-[#F0A623] ${errors[f.key] ? 'border-red-500/60' : 'border-[#3a322b]'}`} + className={`w-full px-2 py-1.5 bg-[#0a0a0a] border rounded text-xs text-white focus:outline-none focus:border-[#1D4ED8] ${errors[f.key] ? 'border-red-500/60' : 'border-[#DCE6F2]'}`} /> {errors[f.key] &&

    {errors[f.key]}

    }
    @@ -156,26 +156,26 @@ export default function ClientsPage() {
    handleChange('billing_address', e.target.value)} - className="w-full px-2 py-1.5 bg-[#0a0a0a] border border-[#3a322b] rounded text-xs text-white focus:outline-none focus:border-[#F0A623]" /> + className="w-full px-2 py-1.5 bg-[#0a0a0a] border border-[#DCE6F2] rounded text-xs text-white focus:outline-none focus:border-[#1D4ED8]" />