aboutsummaryrefslogtreecommitdiff
path: root/web/src/pages/TicketDetailPage.module.css
diff options
context:
space:
mode:
authorzwlucas <lucas.fariamo08@gmail.com>2026-07-25 21:23:29 +0000
committerzwlucas <lucas.fariamo08@gmail.com>2026-07-25 21:23:29 +0000
commitef55d9bb24430610b60c1b77821307cd72c08c55 (patch)
treee6935a810b34370b0a4c821e55f6397aac50c832 /web/src/pages/TicketDetailPage.module.css
downloadhelpdesk-master.tar.gz
helpdesk-master.zip
feat: upload of the projectHEADmaster
Signed-off-by: zwlucas <lucas.fariamo08@gmail.com>
Diffstat (limited to 'web/src/pages/TicketDetailPage.module.css')
-rw-r--r--web/src/pages/TicketDetailPage.module.css263
1 files changed, 263 insertions, 0 deletions
diff --git a/web/src/pages/TicketDetailPage.module.css b/web/src/pages/TicketDetailPage.module.css
new file mode 100644
index 0000000..36f4781
--- /dev/null
+++ b/web/src/pages/TicketDetailPage.module.css
@@ -0,0 +1,263 @@
+.page {
+ display: flex;
+ flex-direction: column;
+ gap: var(--space-6);
+ max-width: 1100px;
+}
+
+/* ── Header do ticket ──────────────────────────────────────────────────────── */
+.ticketHeader {
+ display: flex;
+ flex-direction: column;
+ gap: var(--space-3);
+}
+
+.headerTop {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+}
+
+.ticketId {
+ font-size: var(--text-sm);
+ color: var(--color-text-muted);
+ font-variant-numeric: tabular-nums;
+}
+
+.ticketTitle {
+ font-size: var(--text-2xl);
+ font-weight: 700;
+ color: var(--color-text-primary);
+ letter-spacing: -0.02em;
+ line-height: 1.3;
+}
+
+.headerMeta {
+ display: flex;
+ align-items: center;
+ gap: var(--space-3);
+ flex-wrap: wrap;
+}
+
+.metaDate {
+ font-size: var(--text-xs);
+ color: var(--color-text-muted);
+}
+
+/* ── Layout 2 colunas ──────────────────────────────────────────────────────── */
+.layout {
+ display: grid;
+ grid-template-columns: 1fr 280px;
+ gap: var(--space-6);
+ align-items: start;
+}
+
+.mainCol {
+ display: flex;
+ flex-direction: column;
+ gap: var(--space-5);
+}
+
+.sidebar {
+ display: flex;
+ flex-direction: column;
+ gap: var(--space-4);
+ position: sticky;
+ top: calc(var(--header-height) + var(--space-4));
+}
+
+/* ── Seções ────────────────────────────────────────────────────────────────── */
+.sectionTitle {
+ font-size: var(--text-sm);
+ font-weight: 600;
+ color: var(--color-text-secondary);
+ text-transform: uppercase;
+ letter-spacing: 0.06em;
+ margin-bottom: var(--space-3);
+}
+
+.description {
+ font-size: var(--text-sm);
+ color: var(--color-text-secondary);
+ line-height: 1.8;
+ white-space: pre-wrap;
+}
+
+/* ── Timeline de comentários ───────────────────────────────────────────────── */
+.timeline {
+ display: flex;
+ flex-direction: column;
+ gap: var(--space-3);
+ margin-top: var(--space-3);
+}
+
+.comment {
+ background: var(--color-surface);
+ border: 1px solid var(--color-border);
+ border-radius: var(--radius-lg);
+ padding: var(--space-4);
+ transition: border-color var(--transition-fast);
+}
+
+.comment:hover {
+ border-color: var(--color-border-hover);
+}
+
+/* Notas internas têm visual diferenciado */
+.commentInternal {
+ background: rgba(245, 158, 11, 0.05);
+ border-color: rgba(245, 158, 11, 0.2);
+}
+
+.commentHeader {
+ display: flex;
+ align-items: center;
+ gap: var(--space-2);
+ margin-bottom: var(--space-2);
+}
+
+.commentAvatar {
+ font-size: var(--text-base);
+ width: 28px;
+ text-align: center;
+ flex-shrink: 0;
+}
+
+.commentAuthor {
+ font-size: var(--text-sm);
+ font-weight: 500;
+ color: var(--color-text-primary);
+}
+
+.internalTag {
+ display: inline-block;
+ margin-left: var(--space-2);
+ font-size: var(--text-xs);
+ color: var(--color-waiting);
+ background: rgba(245, 158, 11, 0.12);
+ padding: 1px 6px;
+ border-radius: var(--radius-full);
+}
+
+.commentDate {
+ font-size: var(--text-xs);
+ color: var(--color-text-muted);
+ margin-left: auto;
+ flex-shrink: 0;
+}
+
+.commentContent {
+ font-size: var(--text-sm);
+ color: var(--color-text-secondary);
+ line-height: 1.7;
+ white-space: pre-wrap;
+ padding-left: calc(28px + var(--space-2));
+}
+
+.commentsLoading {
+ display: flex;
+ justify-content: center;
+ padding: var(--space-6);
+}
+
+.noComments {
+ font-size: var(--text-sm);
+ color: var(--color-text-muted);
+ font-style: italic;
+ text-align: center;
+ padding: var(--space-6);
+}
+
+/* ── Reply ─────────────────────────────────────────────────────────────────── */
+.replySection {
+ display: flex;
+ flex-direction: column;
+ gap: var(--space-3);
+}
+
+.replyTextarea {
+ resize: vertical;
+ min-height: 100px;
+}
+
+.replyActions {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+}
+
+.internalToggle {
+ display: flex;
+ align-items: center;
+ gap: var(--space-2);
+ font-size: var(--text-sm);
+ color: var(--color-text-secondary);
+ cursor: pointer;
+ user-select: none;
+}
+
+/* ── Sidebar de informações ────────────────────────────────────────────────── */
+.statusActions {
+ display: flex;
+ flex-direction: column;
+ gap: var(--space-2);
+}
+
+.statusBtn {
+ width: 100%;
+ justify-content: center;
+}
+
+.infoList {
+ display: flex;
+ flex-direction: column;
+ gap: var(--space-2);
+}
+
+.infoRow {
+ display: flex;
+ justify-content: space-between;
+ align-items: baseline;
+ gap: var(--space-2);
+}
+
+.infoRow dt {
+ font-size: var(--text-xs);
+ color: var(--color-text-muted);
+ text-transform: uppercase;
+ letter-spacing: 0.05em;
+ flex-shrink: 0;
+}
+
+.infoRow dd {
+ font-size: var(--text-sm);
+ color: var(--color-text-secondary);
+ text-align: right;
+}
+
+/* ── Loading / Error states ────────────────────────────────────────────────── */
+.loadingWrapper {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ gap: var(--space-4);
+ padding: var(--space-16);
+ color: var(--color-text-muted);
+ font-size: var(--text-sm);
+}
+
+.errorWrapper {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ gap: var(--space-4);
+ padding: var(--space-16);
+ text-align: center;
+}
+
+.errorTitle {
+ font-size: var(--text-xl);
+ font-weight: 600;
+ color: var(--color-text-secondary);
+}