Skip to content

Commit c60d599

Browse files
committed
dfeed.web.web.view.moderation: Refine journey timeline styling and layout
Make the user journey panel's style more consistent with the rest of the UI. - Move style block outside the timeline container - Add journey-events wrapper div with border styling - Change timestamp and message elements from div to span for inline display - Update CSS with refined colors, borders, and spacing - Use monospace font family for event entries
1 parent 222bdeb commit c60d599

1 file changed

Lines changed: 23 additions & 19 deletions

File tree

src/dfeed/web/web/view/moderation.d

Lines changed: 23 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -297,22 +297,26 @@ void renderJourneyTimeline(JourneyEvent[] events)
297297
return;
298298

299299
html.put(
300+
`<style>` ~
301+
`.journey-timeline { margin-bottom: 1em; }` ~
302+
`.journey-timeline h3 { margin: 0 0 0.5em 0; }` ~
303+
`.journey-events { border-top: 2px solid #E6E6E6; font-family: Consolas, Lucida Console, Menlo, monospace; font-size: 0.9em; }` ~
304+
`.journey-event { padding: 0.5em 0.75em; border-left: 4px solid #E6E6E6; border-right: 2px solid #E6E6E6; background: #FCFCFC; border-bottom: 1px solid #E6E6E6; }` ~
305+
`.journey-event:last-child { border-bottom: 2px solid #E6E6E6; }` ~
306+
`.journey-event.success { border-left-color: #5A5; background: #F5FFF5; }` ~
307+
`.journey-event.failure { border-left-color: #A55; background: #FFF5F5; }` ~
308+
`.journey-event.info { border-left-color: #58A; background: #F5F9FF; }` ~
309+
`.journey-event.spam_detail { border-left-color: #A85; background: #FFFAF5; padding: 0.33em 0.75em; }` ~
310+
`.journey-event.log_file { border-left-color: #85A; background: #F5F5F5; }` ~
311+
`.journey-event.log_file:not(:first-child) { margin-top: 1em; border-top: 2px solid #E6E6E6; }` ~
312+
`.journey-timestamp { color: #666; font-size: 0.95em; }` ~
313+
`.journey-message { font-weight: bold; }` ~
314+
`.journey-details { color: #666; font-size: 0.95em; margin-top: 0.25em; }` ~
315+
`.journey-source { color: #999; font-size: 0.9em; float: right; }` ~
316+
`</style>` ~
300317
`<div class="journey-timeline">` ~
301318
`<h3>User Journey</h3>` ~
302-
`<style>` ~
303-
`.journey-timeline { margin: 20px 0; padding: 15px; background: #f9f9f9; border: 1px solid #ddd; border-radius: 4px; }` ~
304-
`.journey-timeline h3 { margin-top: 0; color: #333; }` ~
305-
`.journey-event { margin: 10px 0; padding: 10px; background: white; border-left: 4px solid #ccc; }` ~
306-
`.journey-event.success { border-left-color: #4caf50; }` ~
307-
`.journey-event.failure { border-left-color: #f44336; }` ~
308-
`.journey-event.info { border-left-color: #2196f3; }` ~
309-
`.journey-event.spam_detail { border-left-color: #ff9800; background: #fff3e0; margin: 5px 0; padding: 6px 10px; }` ~
310-
`.journey-event.log_file { border-left-color: #9c27b0; background: #f3e5f5; margin-top: 20px; }` ~
311-
`.journey-timestamp { font-family: monospace; color: #666; font-size: 0.9em; }` ~
312-
`.journey-message { font-weight: bold; margin: 5px 0; }` ~
313-
`.journey-details { color: #555; font-size: 0.95em; font-family: monospace; }` ~
314-
`.journey-source { font-family: monospace; color: #888; font-size: 0.85em; float: right; }` ~
315-
`</style>`
319+
`<div class="journey-events">`
316320
);
317321

318322
foreach (event; events)
@@ -341,14 +345,14 @@ void renderJourneyTimeline(JourneyEvent[] events)
341345

342346
if (event.timestamp.length > 0)
343347
{
344-
html.put(`<div class="journey-timestamp">`);
348+
html.put(`<span class="journey-timestamp">`);
345349
html.putEncodedEntities(event.timestamp);
346-
html.put(`</div>`);
350+
html.put(` </span>`);
347351
}
348352

349-
html.put(`<div class="journey-message">`);
353+
html.put(`<span class="journey-message">`);
350354
html.putEncodedEntities(event.message);
351-
html.put(`</div>`);
355+
html.put(`</span>`);
352356

353357
if (event.details.length > 0)
354358
{
@@ -359,7 +363,7 @@ void renderJourneyTimeline(JourneyEvent[] events)
359363
html.put(`</div>`);
360364
}
361365

362-
html.put(`</div>`);
366+
html.put(`</div></div>`);
363367
}
364368

365369
void discussionModeration(Rfc850Post post, UrlParameters postVars)

0 commit comments

Comments
 (0)