@@ -55,6 +55,7 @@ type detailPage struct {
5555 id int64
5656 replyPage int
5757 replyIndex int
58+ opMember response.MemberResult
5859}
5960
6061func newDetailPage () detailPage {
@@ -71,6 +72,8 @@ func (m detailPage) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
7172 cmds []tea.Cmd
7273 )
7374
75+ // 显示是否是 pro && 是否有人
76+
7477 switch msgType := msg .(type ) {
7578 case messages.GetDetailRequest :
7679 // 获取内容 + 第一页的评论
@@ -187,21 +190,33 @@ func (m *detailPage) onReplyResult(msgType messages.GetReplyResponse) tea.Cmd {
187190 Width (w - 2 ).
188191 BorderRight (false ).
189192 BorderBottom (false )
193+ me = g .Me .Get ()
190194 )
191195
192196 replies .WriteString ("\n " )
197+
193198 for _ , r := range data .Result {
194199 m .replyIndex ++
200+
201+ var (
202+ opText string
203+ )
204+
205+ if r .Member .Id == m .opMember .Id {
206+ opText = styles .MemberOp
207+ }
208+
195209 floor := fmt .Sprintf (
196- "#%d · %s @%s" ,
210+ "#%d · %s @%s%s " ,
197211 m .replyIndex ,
198212 carbon .CreateFromTimestamp (r .Created ),
199- r .Member .Username ,
213+ r .Member .GetUserNameLabel (me .Id ),
214+ opText ,
200215 )
201216
202217 replies .WriteString (replyTitleStyle .Render (floor ))
203218 replies .WriteString ("\n " )
204- replies .WriteString (r .GetContent ())
219+ replies .WriteString (r .GetContent (w ))
205220 replies .WriteString ("\n " )
206221 }
207222
@@ -295,9 +310,11 @@ func (m *detailPage) renderDetail(detail response.V2DetailResult) tea.Cmd {
295310 w , _ = g .Window .GetSize ()
296311 contentWidth = w - 2
297312 content strings.Builder
298- topicContent = detail .GetContent ()
313+ topicContent = detail .GetContent (w )
299314 contentTitleStyle = styles .Border .BorderRight (false ).BorderBottom (false )
315+ me = g .Me .Get ()
300316 )
317+ m .opMember = detail .Member
301318
302319 content .WriteString (
303320 contentTitleStyle .
@@ -307,7 +324,8 @@ func (m *detailPage) renderDetail(detail response.V2DetailResult) tea.Cmd {
307324 "V2EX > %s %s\n %s · %s · %d 回复\n \n %s\n \n %s" ,
308325 styles .Bold .Render (detail .Node .Title ),
309326 detail .Url ,
310- detail .Member .Username , carbon .CreateFromTimestamp (detail .Created ),
327+ detail .Member .GetUserNameLabel (me .Id ),
328+ carbon .CreateFromTimestamp (detail .Created ),
311329 detail .Replies ,
312330 lipgloss .NewStyle ().
313331 Bold (true ).
@@ -324,7 +342,7 @@ func (m *detailPage) renderDetail(detail response.V2DetailResult) tea.Cmd {
324342
325343 desc := fmt .Sprintf (
326344 "第 %d 条附言 · %s\n %s" , i + 1 , carbon .CreateFromTimestamp (c .Created ),
327- c .GetContent (),
345+ c .GetContent (w ),
328346 )
329347 content .WriteString (contentTitleStyle .Width (w ).Render (desc ))
330348 }
0 commit comments