Changeset 99c1e45 for chapterx-frontend/src/pages/story/StoryDetailPage.tsx
- Timestamp:
- 06/24/26 16:28:50 (11 days ago)
- Branches:
- main
- Children:
- a8f4a2d
- Parents:
- 0b502c2
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
chapterx-frontend/src/pages/story/StoryDetailPage.tsx
r0b502c2 r99c1e45 1 1 import React, { useState } from 'react' 2 2 import { useParams, useNavigate } from 'react-router-dom' 3 import { ArrowLeft, BookOpen, Eye,Users, Calendar, Plus, BookmarkPlus } from 'lucide-react'3 import { ArrowLeft, BookOpen, Users, Calendar, Plus, BookmarkPlus } from 'lucide-react' 4 4 import { useStoryStore } from '../../store/storyStore' 5 5 import { useAuthStore } from '../../store/authStore' … … 117 117 {/* Hero */} 118 118 <div className={`relative rounded-2xl overflow-hidden mb-8 bg-gradient-to-br ${gradient}`}> 119 {story.cover_image && ( 120 <img src={story.cover_image} alt={story.title} className="absolute inset-0 w-full h-full object-cover opacity-30" /> 121 )} 119 122 <div className="absolute inset-0 bg-gradient-to-t from-slate-950/90 via-slate-950/30 to-transparent" /> 120 123 <div className="relative p-8 sm:p-12"> … … 134 137 <Avatar name={story.author_username} size="sm" /> 135 138 <span className="text-white text-sm font-medium">{story.author_username}</span> 136 </div>137 <div className="flex items-center gap-1 text-slate-400 text-sm">138 <Eye size={14} />139 {story.total_views.toLocaleString()} views140 139 </div> 141 140 <div className="flex items-center gap-1 text-slate-400 text-sm"> … … 170 169 </div> 171 170 171 {/* Story content */} 172 {story.content && ( 173 <div className="bg-slate-800/50 border border-slate-700 rounded-2xl p-6"> 174 <p className="text-slate-200 leading-relaxed font-serif whitespace-pre-wrap">{story.content}</p> 175 </div> 176 )} 177 172 178 {/* Chapters */} 173 179 <div> … … 207 213 <span className="text-slate-400">Likes</span> 208 214 <span className="text-white">{(liveLikes ?? story.total_likes).toLocaleString()}</span> 209 </div>210 <div className="flex justify-between">211 <span className="text-slate-400">Views</span>212 <span className="text-white">{story.total_views.toLocaleString()}</span>213 215 </div> 214 216 <div className="flex justify-between">
Note:
See TracChangeset
for help on using the changeset viewer.
