diff --git a/apps/frontend/src/pages/AdminDashboardPage.tsx b/apps/frontend/src/pages/AdminDashboardPage.tsx index d7281f4..4259483 100644 --- a/apps/frontend/src/pages/AdminDashboardPage.tsx +++ b/apps/frontend/src/pages/AdminDashboardPage.tsx @@ -661,7 +661,7 @@ export default function AdminDashboardPage() { subtitle: entry.subtitle, initials: toInitials(entry.name), })); - const quickTeamsPreview = quickTeams.slice(0, 3); + const quickTeamsPreview = quickTeams.slice(0, 5); const activityCurve = toSizedSeries(metrics.activity, 8); const activityPath = buildSparkPath(activityCurve); const hasWeeklyMetrics = @@ -1955,18 +1955,14 @@ export default function AdminDashboardPage() {

{t('adminDashboard.noTournaments')}

) : ( <> -
+
{quickTeamsPreview.map((entry) => ( - - {entry.initials} - - ))} -
-
- {quickTeamsPreview.map((entry) => ( -
- {entry.name} -

{entry.subtitle}

+
+ {entry.initials} +
+ {entry.name} +

{entry.subtitle}

+
))}
diff --git a/apps/frontend/src/pages/JuryDashboardPage.tsx b/apps/frontend/src/pages/JuryDashboardPage.tsx index bc7842a..321ac54 100644 --- a/apps/frontend/src/pages/JuryDashboardPage.tsx +++ b/apps/frontend/src/pages/JuryDashboardPage.tsx @@ -310,7 +310,7 @@ export default function JuryDashboardPage() { subtitle: entry.subtitle, initials: toInitials(entry.name), })); - const quickTeamsPreview = quickTeams.slice(0, 3); + const quickTeamsPreview = quickTeams.slice(0, 5); const activityCurve = toSizedSeries(metrics.activity, 8); const activityPath = buildSparkPath(activityCurve); const hasWeeklyMetrics = weeklyReviewRaw.some((value) => value > 0) || weeklyAssignedRaw.some((value) => value > 0); @@ -742,18 +742,14 @@ export default function JuryDashboardPage() {

{t('juryDashboard.noAssignments')}

) : ( <> -
+
{quickTeamsPreview.map((entry) => ( - - {entry.initials} - - ))} -
-
- {quickTeamsPreview.map((entry) => ( -
- {entry.name} -

{entry.subtitle}

+
+ {entry.initials} +
+ {entry.name} +

{entry.subtitle}

+
))}
diff --git a/apps/frontend/src/pages/TeamDashboardPage.tsx b/apps/frontend/src/pages/TeamDashboardPage.tsx index 22c30d6..d30bcaf 100644 --- a/apps/frontend/src/pages/TeamDashboardPage.tsx +++ b/apps/frontend/src/pages/TeamDashboardPage.tsx @@ -394,7 +394,7 @@ export default function TeamDashboardPage() { subtitle: entry.subtitle, initials: toInitials(entry.name), })); - const quickMembersPreview = quickMembers.slice(0, 3); + const quickMembersPreview = quickMembers.slice(0, 5); const activityCurve = toSizedSeries(metrics.activity, 8); const activityPath = buildSparkPath(activityCurve); const hasWeeklyMetrics = weeklyReviewRaw.some((value) => value > 0) || weeklySubmissionRaw.some((value) => value > 0); @@ -1003,18 +1003,14 @@ export default function TeamDashboardPage() {

{t('teamDashboard.needTeamFirst')}

) : ( <> -
+
{quickMembersPreview.map((entry) => ( - - {entry.initials} - - ))} -
-
- {quickMembersPreview.map((entry) => ( -
- {entry.name} -

{entry.subtitle}

+
+ {entry.initials} +
+ {entry.name} +

{entry.subtitle}

+
))}
diff --git a/apps/frontend/src/styles.css b/apps/frontend/src/styles.css index ae30aab..2553b49 100644 --- a/apps/frontend/src/styles.css +++ b/apps/frontend/src/styles.css @@ -5456,6 +5456,10 @@ a { width: 100%; } +.dashboard-quick-actions .dashboard-action { + font-size: 0.92rem; +} + .dashboard-action { border: 1px solid transparent; min-height: 44px; @@ -5743,6 +5747,7 @@ a { } .dashboard-mini-card.is-teams { + align-self: start; align-content: start; border-color: #16dbcc; background: linear-gradient(180deg, #16dbcc 0%, #13cabd 100%); @@ -5779,6 +5784,65 @@ a { gap: 10px; } +.dashboard-mini-team-list { + display: grid; + gap: 10px; +} + +.dashboard-mini-team-item { + display: grid; + grid-template-columns: 40px minmax(0, 1fr); + align-items: center; + gap: 10px; + border: 1px solid rgba(255, 255, 255, 0.18); + border-radius: 16px; + padding: 10px; + background: rgba(255, 255, 255, 0.12); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12); +} + +.dashboard-mini-card.is-teams .dashboard-mini-avatar { + width: 40px; + height: 40px; + font-size: 0.76rem; +} + +.dashboard-mini-card.is-teams .dashboard-mini-caption strong { + white-space: normal; + overflow: visible; + text-overflow: clip; + overflow-wrap: anywhere; + line-height: 1.22; + font-size: 0.82rem; +} + +.dashboard-mini-card.is-teams .dashboard-mini-caption p { + line-height: 1.35; +} + +.dashboard-mini-card.is-teams .dashboard-mini-links { + margin-top: 2px; +} + +body:not([data-theme='dark']):not([data-theme='blue']) .app-page .dashboard-mini-card.is-teams h3, +body:not([data-theme='dark']):not([data-theme='blue']) .app-page .dashboard-mini-card.is-teams .dashboard-mini-caption strong, +body:not([data-theme='dark']):not([data-theme='blue']) .app-page .dashboard-mini-card.is-teams .dashboard-mini-caption p { + color: #ffffff; + text-shadow: 0 1px 2px rgba(9, 105, 112, 0.32); +} + +body:not([data-theme='dark']):not([data-theme='blue']) .app-page .dashboard-mini-card.is-teams .dashboard-mini-caption p { + color: rgba(255, 255, 255, 0.96); +} + +body:not([data-theme='dark']):not([data-theme='blue']) .app-page .dashboard-mini-card.is-teams .dashboard-mini-team-item { + border-color: rgba(255, 255, 255, 0.32); + background: rgba(4, 121, 127, 0.16); + box-shadow: + inset 0 1px 0 rgba(255, 255, 255, 0.2), + 0 12px 28px rgba(4, 121, 127, 0.12); +} + .dashboard-mini-item { display: grid; grid-template-columns: 34px minmax(0, 1fr);