From 78ff8b537b1149b853b993ebb33142651c15db16 Mon Sep 17 00:00:00 2001 From: Danish Arora Date: Fri, 14 Nov 2025 14:02:27 -0500 Subject: [PATCH] chore(UI): moar raw --- app/src/components/CommentCard.tsx | 216 ++++++++--------- app/src/components/Footer.tsx | 2 +- app/src/components/Header.tsx | 15 ++ app/src/components/PostCard.tsx | 212 +++++++--------- app/src/components/PostDetail.tsx | 239 ++++++++----------- app/src/components/ui/ShareButton.tsx | 38 +-- app/src/components/ui/greentext-renderer.tsx | 35 +++ app/src/components/ui/markdown-renderer.tsx | 41 +++- app/src/index.css | 24 +- app/src/pages/FeedPage.tsx | 5 +- package-lock.json | 88 +++---- packages/core/package.json | 2 +- 12 files changed, 447 insertions(+), 470 deletions(-) create mode 100644 app/src/components/ui/greentext-renderer.tsx diff --git a/app/src/components/CommentCard.tsx b/app/src/components/CommentCard.tsx index e96561d..1fb81f5 100644 --- a/app/src/components/CommentCard.tsx +++ b/app/src/components/CommentCard.tsx @@ -85,140 +85,112 @@ const CommentCard: React.FC = ({ }; return ( -
-
-
-
- - {score} - -
- {commentVotePending && ( - - syncing… - - )} +
+
+ {/* Vote column */} +
+ + 0 ? 'text-primary' : score < 0 ? 'text-red-400' : 'text-muted-foreground'}`}> + {score} + +
-
-
-
- - - - - {formatDistanceToNow(new Date(comment.timestamp), { - addSuffix: true, - })} - - -
-
- 50 ? '...' : '') - } - /> - -
+ {/* Content */} +
+ {/* Metadata */} +
+ + · + + {formatDistanceToNow(new Date(comment.timestamp), { + addSuffix: true, + })} + + {commentVotePending && ( + <> + · + syncing + + )}
-
+ {/* Content */} +
-
+ {/* Actions */} +
+ + 50 ? '...' : '') + } + /> {canModerate && !isModerated && !isOwnComment && ( - - - - - -

Moderate comment

-
-
+ )} {canModerate && isModerated && !isOwnComment && ( - - - - - -

Unmoderate comment

-
-
+ )} {cellId && canModerate && !isOwnComment && ( - - - - - -

Moderate user

-
-
+ )}
diff --git a/app/src/components/Footer.tsx b/app/src/components/Footer.tsx index c7a3051..3fff6ca 100644 --- a/app/src/components/Footer.tsx +++ b/app/src/components/Footer.tsx @@ -48,7 +48,7 @@ const Footer: React.FC = () => {
- Licensed under CC-BY-SA + Reference client · build your own with @opchan/core
diff --git a/app/src/components/Header.tsx b/app/src/components/Header.tsx index 2aebbac..1327545 100644 --- a/app/src/components/Header.tsx +++ b/app/src/components/Header.tsx @@ -345,6 +345,21 @@ const Header = () => {
+ {/* Builder Banner */} +
+ + Reference client on top of @opchan/core. UI is intentionally bare. + + + Build your own → + +
+ {/* Navigation Bar (Desktop) */}