diff --git a/frontend/src/pages/TeamDashboardPage.css b/frontend/src/pages/TeamDashboardPage.css index 452c632..32ad5da 100644 --- a/frontend/src/pages/TeamDashboardPage.css +++ b/frontend/src/pages/TeamDashboardPage.css @@ -84,74 +84,88 @@ font-size: 1.25rem; } -.projects-grid { - display: grid; - grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); - gap: 1rem; -} - -.project-card { - background: var(--color-bg-secondary); +/* Projects Table */ +.projects-table-container { + background: var(--color-bg); border: 1px solid var(--color-border); border-radius: var(--radius-md); - transition: all 0.15s ease; - display: flex; - flex-direction: column; -} - -.project-card:hover { - border-color: var(--color-border-hover); - box-shadow: var(--shadow-sm); -} - -.project-card-clickable { - padding: 1rem; - cursor: pointer; - flex: 1; -} - -.project-card-actions { - padding: 0.75rem 1rem; - border-top: 1px solid var(--color-border); - display: flex; - justify-content: flex-end; - gap: 0.5rem; -} - -.project-card-actions .btn { - display: inline-flex; - align-items: center; - gap: 0.375rem; -} - -.project-card-header { - display: flex; - justify-content: space-between; - align-items: flex-start; - gap: 0.75rem; - margin-bottom: 0.5rem; -} - -.project-card-header h3 { - margin: 0; - font-size: 1rem; - font-weight: 600; -} - -.project-card-description { - margin: 0 0 0.75rem; - font-size: 0.875rem; - color: var(--color-text-secondary); - line-height: 1.4; - display: -webkit-box; - -webkit-line-clamp: 2; - -webkit-box-orient: vertical; overflow: hidden; } -.project-card-meta { - font-size: 0.8125rem; +.projects-table { + width: 100%; + border-collapse: collapse; +} + +.projects-table th { + text-align: left; + padding: 0.75rem 1rem; + font-size: 0.75rem; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.05em; color: var(--color-text-muted); + background: var(--color-bg-secondary); + border-bottom: 1px solid var(--color-border); +} + +.projects-table td { + padding: 0.75rem 1rem; + font-size: 0.875rem; + border-bottom: 1px solid var(--color-border); + vertical-align: middle; +} + +.projects-table tbody tr:last-child td { + border-bottom: none; +} + +.project-row { + cursor: pointer; + transition: background 0.1s ease; +} + +.project-row:hover { + background: var(--color-bg-secondary); +} + +.project-name-link { + font-weight: 500; + color: var(--color-text); + text-decoration: none; +} + +.project-name-link:hover { + color: var(--color-primary); +} + +.project-description-cell { + color: var(--color-text-secondary); + max-width: 300px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.text-muted { + color: var(--color-text-muted); +} + +.actions-cell { + width: 48px; + text-align: right; +} + +.btn-ghost { + background: transparent; + color: var(--color-text-muted); + border: none; + padding: 0.375rem; +} + +.btn-ghost:hover { + background: var(--color-bg-tertiary); + color: var(--color-text); } .section-footer { diff --git a/frontend/src/pages/TeamDashboardPage.tsx b/frontend/src/pages/TeamDashboardPage.tsx index 1137334..9c6d97a 100644 --- a/frontend/src/pages/TeamDashboardPage.tsx +++ b/frontend/src/pages/TeamDashboardPage.tsx @@ -214,45 +214,63 @@ function TeamDashboardPage() { )} ) : ( -
{project.description}
- )} -| Name | +Description | +Visibility | +Created By | + {isAdminOrOwner &&} + |
|---|---|---|---|---|
| + e.stopPropagation()} + > + {project.name} + + | ++ {project.description || —} + | +
+ |
+ {project.created_by} | + {isAdminOrOwner && ( ++ + | + )} +