@@ -46,8 +46,8 @@ body {
|
|||||||
/* Timeline */
|
/* Timeline */
|
||||||
.timeline-item {
|
.timeline-item {
|
||||||
position: relative;
|
position: relative;
|
||||||
padding-left: 2rem;
|
padding-left: 1.6rem;
|
||||||
margin-bottom: 1.5rem;
|
margin-bottom: 1rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.timeline-item::before {
|
.timeline-item::before {
|
||||||
@@ -66,10 +66,10 @@ body {
|
|||||||
|
|
||||||
.timeline-dot {
|
.timeline-dot {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: .25rem;
|
left: .15rem;
|
||||||
top: .35rem;
|
top: .45rem;
|
||||||
width: 12px;
|
width: 10px;
|
||||||
height: 12px;
|
height: 10px;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
border: 2px solid;
|
border: 2px solid;
|
||||||
background: var(--neptune-card);
|
background: var(--neptune-card);
|
||||||
@@ -100,8 +100,8 @@ body {
|
|||||||
.comment-box {
|
.comment-box {
|
||||||
background: #0d1117;
|
background: #0d1117;
|
||||||
border-radius: .375rem;
|
border-radius: .375rem;
|
||||||
padding: .5rem .75rem;
|
padding: .35rem .6rem;
|
||||||
margin-top: .5rem;
|
margin-top: .3rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.comment-box .comment-author {
|
.comment-box .comment-author {
|
||||||
@@ -111,13 +111,13 @@ body {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.comment-box .comment-body {
|
.comment-box .comment-body {
|
||||||
font-size: .85rem;
|
font-size: .8rem;
|
||||||
margin-top: .15rem;
|
margin-top: .05rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.comment-box + .comment-box {
|
.comment-box + .comment-box {
|
||||||
border-top: 1px solid var(--neptune-border);
|
border-top: 1px solid var(--neptune-border);
|
||||||
padding-top: .5rem;
|
padding-top: .3rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.comment-log {
|
.comment-log {
|
||||||
@@ -216,12 +216,14 @@ kbd {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.event-meta {
|
.event-meta {
|
||||||
font-size: .75rem;
|
font-size: .7rem;
|
||||||
color: #64748b;
|
color: #64748b;
|
||||||
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
.event-title {
|
.event-title {
|
||||||
color: #f1f5f9;
|
color: #f1f5f9;
|
||||||
|
font-size: .9rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.comment-input-group .btn {
|
.comment-input-group .btn {
|
||||||
|
|||||||
+15
-17
@@ -310,28 +310,26 @@ function renderTimeline() {
|
|||||||
<div class="timeline-item">
|
<div class="timeline-item">
|
||||||
<div class="timeline-dot severity-${e.severity}"></div>
|
<div class="timeline-dot severity-${e.severity}"></div>
|
||||||
<div class="card timeline-card bg-dark border-secondary" style="border-left-color: ${e.team_color}">
|
<div class="card timeline-card bg-dark border-secondary" style="border-left-color: ${e.team_color}">
|
||||||
<div class="card-body py-2 px-3">
|
<div class="card-body py-1 px-3">
|
||||||
<div class="d-flex justify-content-between align-items-start">
|
<div class="d-flex justify-content-between align-items-start">
|
||||||
<div>
|
<div class="d-flex align-items-center gap-1 flex-wrap">
|
||||||
<span class="badge severity-badge me-1" style="background:${e.team_color}20;color:${e.team_color}">${esc(e.team_name)}</span>
|
<span class="badge severity-badge" style="background:${e.team_color}20;color:${e.team_color}">${esc(e.team_name)}</span>
|
||||||
<span class="badge bg-${e.severity === 'critical' ? 'danger' : e.severity === 'high' ? 'warning' : e.severity === 'medium' ? 'warning' : e.severity === 'low' ? 'success' : 'info'} severity-badge">${e.severity}</span>
|
<span class="badge bg-${e.severity === 'critical' ? 'danger' : e.severity === 'high' ? 'warning' : e.severity === 'medium' ? 'warning' : e.severity === 'low' ? 'success' : 'info'} severity-badge">${e.severity}</span>
|
||||||
<span class="badge bg-secondary severity-badge ms-1">${e.event_type}</span>
|
<span class="badge bg-secondary severity-badge">${e.event_type}</span>
|
||||||
|
</div>
|
||||||
|
<div class="d-flex align-items-center gap-1">
|
||||||
|
<small class="event-meta">${date}</small>
|
||||||
|
<button class="btn btn-outline-info btn-sm py-0 px-1" onclick="linkDocsToEvent(${e.id})" title="Link documents" style="font-size:.65rem;"><i class="fas fa-link"></i></button>
|
||||||
|
<button class="btn btn-outline-danger btn-sm py-0 px-1" onclick="deleteEvent(${e.id}, this)" title="Delete event" style="font-size:.65rem;"><i class="fas fa-trash-alt"></i></button>
|
||||||
</div>
|
</div>
|
||||||
<small class="event-meta">${date}</small>
|
|
||||||
</div>
|
</div>
|
||||||
<h6 class="event-title mt-1 mb-1">${esc(e.title)}</h6>
|
<h6 class="event-title mb-0 mt-1">${esc(e.title)}</h6>
|
||||||
${e.description ? '<p class="mb-1 small text-secondary">' + renderDocLinks(e.description) + '</p>' : ''}
|
${e.description ? '<p class="mb-0 small text-secondary">' + renderDocLinks(e.description) + '</p>' : ''}
|
||||||
${renderTimelineTags(e.tags)}
|
${renderTimelineTags(e.tags)}
|
||||||
<div class="d-flex justify-content-between align-items-center mt-1">
|
<div class="doc-links-inline" id="docLinks-${e.id}">${renderInlineDocLinks(e.description || '')}</div>
|
||||||
<div class="doc-links-inline" id="docLinks-${e.id}">${renderInlineDocLinks(e.description || '')}</div>
|
<div class="attachments-list" id="attachments-${e.id}" data-event-id="${e.id}"></div>
|
||||||
<div>
|
<div class="mt-1" id="comments-${e.id}">
|
||||||
<button class="btn btn-outline-info btn-sm py-0 px-1" onclick="linkDocsToEvent(${e.id})" title="Link documents" style="font-size:.7rem;"><i class="fas fa-link me-1"></i>Docs</button>
|
<div class="d-flex align-items-center mb-1"><small class="text-secondary fw-bold" style="font-size:.7rem;"><i class="fas fa-comment-dots me-1"></i>Comments ${e.comments && e.comments.length ? '(' + e.comments.length + ')' : ''}</small></div>
|
||||||
<button class="btn btn-outline-danger btn-sm py-0 px-1" onclick="deleteEvent(${e.id}, this)" title="Delete event" style="font-size:.7rem;"><i class="fas fa-trash"></i></button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="attachments-list mt-1" id="attachments-${e.id}" data-event-id="${e.id}"></div>
|
|
||||||
<div class="mt-2" id="comments-${e.id}">
|
|
||||||
<div class="d-flex align-items-center mb-1"><small class="text-secondary fw-bold"><i class="fas fa-comment-dots me-1"></i>Comments ${e.comments && e.comments.length ? '(' + e.comments.length + ')' : ''}</small></div>
|
|
||||||
<div class="comment-log">${renderComments(e)}</div>
|
<div class="comment-log">${renderComments(e)}</div>
|
||||||
<div class="input-group input-group-sm comment-input-group mt-1">
|
<div class="input-group input-group-sm comment-input-group mt-1">
|
||||||
<input type="text" class="form-control form-control-sm comment-input" placeholder="Write a comment..." onkeydown="if(event.key===\'Enter\') addComment(${e.id}, this)">
|
<input type="text" class="form-control form-control-sm comment-input" placeholder="Write a comment..." onkeydown="if(event.key===\'Enter\') addComment(${e.id}, this)">
|
||||||
|
|||||||
Reference in New Issue
Block a user