feat(design): surface phase PR 7 — edge surfaces polish
Per the spec, the final per-surface PR bundles the smaller / chrome-y / library-driven views (Header / Home / Calendar / Graph) together with EventSlideOver since it's the calendar's primary interaction surface. Button reclassification per Hybrid rule - CalendarView btn-new-event: accent gradient → Moss action-primary. Creating an event is a workflow action, not a brand moment. - EventSlideOver btn-primary (Save): accent gradient → Moss - EventSlideOver btn-secondary (Cancel/No): muted ghost → Bronze action-secondary - EventSlideOver btn-danger-ghost (Delete): hardcoded #ef4444 → --color-action-destructive ghost (with filled hover) - EventSlideOver btn-danger (confirm Delete): hardcoded #ef4444 → --color-action-destructive filled Brand-moment CTAs kept on accent - HomeView btn-workspace-hero: home-page hero CTA into the active project — central brand-moment surface, gradient stays - HomeView btn-workspace-sm: per-card workspace icon with the accent-tinted bg + hover-to-accent pattern, kept Two-weights-only - Snapped every font-weight 600/700 to 500 across the bundle (HomeView, GraphView, CalendarView, AppHeader, EventSlideOver). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -426,23 +426,24 @@ const upcomingGrouped = computed(() => {
|
||||
|
||||
.cal-title {
|
||||
font-size: 1.5rem;
|
||||
font-weight: 700;
|
||||
font-weight: 500;
|
||||
margin: 0;
|
||||
color: var(--color-text, #e8e9f0);
|
||||
}
|
||||
|
||||
/* New event: Moss action-primary — workflow action, not a brand moment */
|
||||
.btn-new-event {
|
||||
background: var(--gradient-cta);
|
||||
background: var(--color-action-primary);
|
||||
color: #fff;
|
||||
border: none;
|
||||
border-radius: 8px;
|
||||
padding: 0.55rem 1.1rem;
|
||||
font-size: 0.9rem;
|
||||
font-weight: 600;
|
||||
font-weight: 500;
|
||||
cursor: pointer;
|
||||
transition: opacity 0.15s;
|
||||
transition: background 0.15s;
|
||||
}
|
||||
.btn-new-event:hover { opacity: 0.88; }
|
||||
.btn-new-event:hover { background: var(--color-action-primary-hover); }
|
||||
|
||||
.fc-wrapper {
|
||||
background: var(--color-surface);
|
||||
@@ -459,7 +460,7 @@ const upcomingGrouped = computed(() => {
|
||||
}
|
||||
:deep(.fc-toolbar-title) {
|
||||
font-size: 1.1rem;
|
||||
font-weight: 600;
|
||||
font-weight: 500;
|
||||
cursor: pointer;
|
||||
border-radius: 6px;
|
||||
padding: 2px 8px;
|
||||
@@ -530,7 +531,7 @@ const upcomingGrouped = computed(() => {
|
||||
|
||||
.picker-year-label {
|
||||
font-size: 0.95rem;
|
||||
font-weight: 700;
|
||||
font-weight: 500;
|
||||
color: var(--color-text, #e8e9f0);
|
||||
}
|
||||
|
||||
@@ -573,7 +574,7 @@ const upcomingGrouped = computed(() => {
|
||||
.picker-month.active {
|
||||
background: rgba(91, 74, 138,0.22);
|
||||
color: var(--color-primary);
|
||||
font-weight: 700;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
/* ── Upcoming strip ─────────────────────────────────────────────────────── */
|
||||
@@ -583,7 +584,7 @@ const upcomingGrouped = computed(() => {
|
||||
|
||||
.upcoming-title {
|
||||
font-size: 1rem;
|
||||
font-weight: 600;
|
||||
font-weight: 500;
|
||||
color: var(--color-text-muted, #888);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.06em;
|
||||
@@ -599,7 +600,7 @@ const upcomingGrouped = computed(() => {
|
||||
|
||||
.upcoming-day-label {
|
||||
font-size: 0.8rem;
|
||||
font-weight: 700;
|
||||
font-weight: 500;
|
||||
color: var(--color-text-muted, #888);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.05em;
|
||||
@@ -642,7 +643,7 @@ const upcomingGrouped = computed(() => {
|
||||
|
||||
.upcoming-card-title {
|
||||
font-size: 0.9rem;
|
||||
font-weight: 600;
|
||||
font-weight: 500;
|
||||
color: var(--color-text, #e8e9f0);
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
@@ -697,7 +698,7 @@ const upcomingGrouped = computed(() => {
|
||||
|
||||
.popover-title {
|
||||
font-size: 0.95rem;
|
||||
font-weight: 700;
|
||||
font-weight: 500;
|
||||
color: var(--color-text, #e8e9f0);
|
||||
margin-bottom: 0.35rem;
|
||||
}
|
||||
@@ -741,7 +742,7 @@ const upcomingGrouped = computed(() => {
|
||||
border: none;
|
||||
border-radius: 6px;
|
||||
font-size: 0.82rem;
|
||||
font-weight: 600;
|
||||
font-weight: 500;
|
||||
cursor: pointer;
|
||||
transition: opacity 0.15s;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user