feat: revamp dashboard, trades, and add landing/legal pages

- Major UI updates across dashboard, analytics, posts, trades, settings
- New landing page, robots/sitemap, contact/privacy/terms pages
- Updated globals.css with extensive styling and new landing.css
- Refactor signedRequest, realtime data hook, and dashboard store

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
k
2026-04-25 16:04:57 +08:00
parent 83e5892ddf
commit 040e1df685
28 changed files with 4133 additions and 690 deletions
+19
View File
@@ -0,0 +1,19 @@
import type { MetadataRoute } from 'next'
const siteUrl = process.env.NEXT_PUBLIC_SITE_URL
if (!siteUrl && process.env.NODE_ENV === 'production') {
throw new Error('NEXT_PUBLIC_SITE_URL must be set in production builds (used by sitemap.xml)')
}
const baseUrl = (siteUrl || 'http://localhost:3001').replace(/\/$/, '')
const routes = ['', '/posts', '/trades', '/analytics', '/settings', '/privacy', '/terms', '/contact']
export default function sitemap(): MetadataRoute.Sitemap {
const now = new Date()
return routes.map((route) => ({
url: `${baseUrl}/en${route}`,
lastModified: now,
changeFrequency: route === '' ? 'hourly' : 'daily',
priority: route === '' ? 1 : 0.7,
}))
}