d50c05b120
Frontend half of the pre-launch audit campaign: - types/index.ts + kol/KolPageClient.tsx: add missing 'reduce' KolAction (backend emits it; frontend lacked the type + color/label maps → undefined styling). Adds ACTION_COLOR/actionLabel/postActionLabel entries. - proxy/[...path]/route.ts: relay real client IP (x-forwarded-for / x-real-ip) so the backend rate limiter buckets per-user instead of per-Next-server (BUG-02). - Settings/BotConfigPanel redesign, paper-mode clarity, copy cleanup. - Assorted page/display fixes, loading states, Pagination component. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
27 lines
1.0 KiB
TypeScript
27 lines
1.0 KiB
TypeScript
/** Instant skeleton shown by Next.js while TrumpPage compiles / fetches. */
|
|
export default function TrumpLoading() {
|
|
return (
|
|
<div className="page">
|
|
<div className="page-head">
|
|
<div>
|
|
<div className="skeleton sk-title" style={{ width: 180, marginBottom: 8 }} />
|
|
<div className="skeleton sk-line" style={{ width: 320 }} />
|
|
</div>
|
|
</div>
|
|
<div className="post-stream" style={{ marginTop: 16 }}>
|
|
{Array.from({ length: 8 }).map((_, i) => (
|
|
<div key={i} className="skeleton-card" style={{ marginBottom: 8 }}>
|
|
<div style={{ display: 'flex', gap: 8, alignItems: 'center' }}>
|
|
<div className="skeleton sk-line sk-w-q" />
|
|
<div className="skeleton sk-line" style={{ width: 60 }} />
|
|
</div>
|
|
<div className="skeleton sk-title sk-w-3q" />
|
|
<div className="skeleton sk-line sk-w-full" />
|
|
<div className="skeleton sk-line sk-w-half" />
|
|
</div>
|
|
))}
|
|
</div>
|
|
</div>
|
|
)
|
|
}
|