Skip to content

Commit 81f5144

Browse files
authored
UI Pixel perfection: Project listing, Project details page and tabs, Project creation (#97)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary - Refined project listing, project details, tabs, and project creation page styling for pixel-perfect layouts. - Updated typography, colors, spacing, borders, radii, shadows, progress bars, cards, badges, filters, and responsive layout treatments. - Added theme text color variables and standardized their use across project and wizard components. - Replaced project list view-toggle icons with SVG image assets and adjusted toggle/grid styling. - Improved project creation wizard step layouts and review styling. - Updated zero-progress task summary capitalization from “Not started” to “Not Started.” <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2 parents 2b198c7 + 64859fa commit 81f5144

19 files changed

Lines changed: 201 additions & 170 deletions

File tree

assets/img/grid.svg

Lines changed: 8 additions & 0 deletions
Loading

assets/img/list.svg

Lines changed: 10 additions & 0 deletions
Loading

assets/scss/main.scss

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -141,14 +141,14 @@ label > .form-select:first-child {
141141
/* TDEI Utility Classes */
142142

143143
.page-header-title {
144-
font-family: var(--secondary-font-family);
145-
font-size: 1.5rem;
144+
font-family: var(--primary-font-family);
145+
font-size: 20px;
146146
font-weight: 700;
147147
margin-bottom: 0.3125rem;
148148
}
149149

150150
.page-header-subtitle {
151-
font-family: var(--secondary-font-family);
151+
font-family: var(--primary-font-family);
152152
font-size: 0.875rem;
153153
color: $tdei-secondary;
154154
}
@@ -182,31 +182,30 @@ label > .form-select:first-child {
182182

183183
.tdei-list-title {
184184
color: $text-navy;
185-
font-family: var(--secondary-font-family);
186-
font-size: 1rem;
187-
font-weight: 600;
185+
font-size: 16px;
186+
font-weight: 700;
188187
line-height: 1.45;
189-
letter-spacing: -0.01em;
190188
}
191189

192190
.tdei-list-meta-label {
193-
color: rgba($secondary, 0.92);
194-
font-size: 0.95rem;
191+
color: $text-secondary;
192+
font-size: 14px;
195193
font-weight: 400;
196194
line-height: 1.25;
197195
}
198196

199197
.tdei-list-meta-value {
200198
color: $text-navy;
201-
font-size: 1rem;
199+
font-size: 14px;
202200
font-weight: 600;
203201
line-height: 1.3;
204202
}
205203

206204
.tdei-list-progress-copy {
207-
color: rgba($secondary, 0.95);
208-
font-size: 1rem;
205+
color: $text-secondary;
206+
font-size: 14px;
209207
line-height: 1.25;
208+
font-weight: 600;
210209
}
211210

212211
.tdei-list-progress-copy strong {
@@ -229,7 +228,7 @@ label > .form-select:first-child {
229228
.tdei-inline-filter-label {
230229
color: $text-navy;
231230
font-size: 1rem;
232-
font-weight: 600;
231+
font-weight: 500;
233232
line-height: 1;
234233
}
235234

@@ -245,8 +244,8 @@ label > .form-select:first-child {
245244
align-items: center;
246245
justify-content: space-between;
247246
gap: 0.75rem;
248-
padding: 0.625rem 0.9rem;
249-
color: $secondary;
247+
padding: 5px 10px;
248+
color: $text-secondary;
250249
font-size: 1rem;
251250
line-height: 1.2;
252251
text-align: left;

assets/scss/theme.scss

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ $tdei-cyan: #59c3c8;
2222
$purple-background-light: #f4f0fb;
2323
$purple-background-dark: #ddd2ee;
2424
$purple-background-medium: #ebe4f6;
25-
$text-navy: #2f3661;
25+
$text-navy: #1A1E3D;
26+
$text-secondary: #5A607B;
2627
$dropdown-active-bg: #e2f0f8;
2728
$danger-red: #c7393a;
2829

components/project-wizard/steps/AreaOfInterestStep.vue

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,9 @@
4343
<div class="project-wizard-area-captured-copy">
4444
<app-icon
4545
variant="check_circle"
46-
size="18"
46+
size="20"
4747
no-margin
48+
class="mt-1"
4849
/>
4950
<div>
5051
<strong>Area of interest captured</strong>
@@ -243,7 +244,6 @@ function onFileDrop(event: DragEvent) {
243244
.project-wizard-step-title {
244245
margin: 0;
245246
color: $text-navy;
246-
font-family: var(--secondary-font-family);
247247
font-size: 1rem;
248248
font-weight: 700;
249249
line-height: 1.15;
@@ -331,8 +331,7 @@ function onFileDrop(event: DragEvent) {
331331
332332
.project-wizard-area-captured {
333333
display: flex;
334-
align-items: center;
335-
justify-content: space-between;
334+
flex-direction: column;
336335
gap: 1rem;
337336
padding: 0.95rem 1rem;
338337
background: #f3fcf8;
@@ -374,6 +373,7 @@ function onFileDrop(event: DragEvent) {
374373
color: $text-navy;
375374
background: #ffffff;
376375
border: 1px solid rgba($text-navy, 0.14);
376+
width: fit-content;
377377
}
378378
379379
.project-wizard-area-dropzone-shell {

components/project-wizard/steps/ProjectDetailsStep.vue

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,6 @@ function findField(fieldId: ProjectWizardDetailsFieldId): ProjectWizardDetailsFi
143143
.project-wizard-step-title {
144144
margin: 0;
145145
color: $text-navy;
146-
font-family: var(--secondary-font-family);
147146
font-size: 1rem;
148147
font-weight: 700;
149148
line-height: 1.15;

components/project-wizard/steps/ReviewStep.vue

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,6 @@ function formatRole(role: WorkspaceRole) {
121121
.project-wizard-step-title {
122122
margin: 0;
123123
color: $text-navy;
124-
font-family: var(--secondary-font-family);
125124
font-size: 1rem;
126125
font-weight: 700;
127126
line-height: 1.15;
@@ -137,7 +136,7 @@ function formatRole(role: WorkspaceRole) {
137136
138137
.project-wizard-review-group {
139138
display: grid;
140-
gap: 1.25rem;
139+
gap: 25px;
141140
}
142141
143142
.project-wizard-review-item {
@@ -148,26 +147,25 @@ function formatRole(role: WorkspaceRole) {
148147
.project-wizard-review-item h3 {
149148
margin: 0;
150149
text-align: left;
151-
font-family: Lato, var(--primary-font-family), sans-serif;
152-
font-size: 1.125rem;
150+
font-size: 1rem;
153151
font-style: normal;
154152
font-weight: 600;
155153
line-height: 1.375rem;
156154
letter-spacing: 0;
157-
color: #1a1e3d;
155+
color: $text-navy;
158156
opacity: 1;
159157
}
160158
161159
.project-wizard-review-item p {
162160
margin: 0;
163161
text-align: left;
164162
font-family: Lato, var(--primary-font-family), sans-serif;
165-
font-size: 1.125rem;
163+
font-size: 1rem;
166164
font-style: normal;
167165
font-weight: 400;
168166
line-height: 1.625rem;
169167
letter-spacing: 0;
170-
color: #5a607b;
168+
color: $text-secondary;
171169
opacity: 1;
172170
}
173171
@@ -186,6 +184,10 @@ function formatRole(role: WorkspaceRole) {
186184
opacity: 1;
187185
}
188186
187+
.project-wizard-review-status span {
188+
font-size: 1rem;
189+
}
190+
189191
.project-wizard-review-validator-list {
190192
display: grid;
191193
gap: 0.55rem;
@@ -227,9 +229,8 @@ function formatRole(role: WorkspaceRole) {
227229
}
228230
229231
.project-wizard-review-instructions {
230-
color: #5a607b;
231-
font-family: Lato, var(--primary-font-family), sans-serif;
232-
font-size: 1.125rem;
232+
color: $text-secondary;
233+
font-size: 1rem;
233234
font-style: normal;
234235
font-weight: 400;
235236
line-height: 1.625rem;

components/project-wizard/steps/SettingsStep.vue

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ function onReviewRequiredChange(event: Event) {
135135
136136
.project-wizard-step-settings {
137137
display: grid;
138-
gap: 1.4rem;
138+
gap: 30px;
139139
}
140140
141141
.project-wizard-step-header,
@@ -147,7 +147,6 @@ function onReviewRequiredChange(event: Event) {
147147
.project-wizard-step-title {
148148
margin: 0;
149149
color: $text-navy;
150-
font-family: var(--secondary-font-family);
151150
font-size: 1rem;
152151
font-weight: 700;
153152
line-height: 1.15;

components/workspace-project-details/ContributionsTab.vue

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -89,10 +89,9 @@ const countCards = computed(() => {
8989
9090
.project-detail-contribution-metric,
9191
.project-detail-contribution-count-card {
92-
background: #ffffff;
93-
border: 1px solid rgba($text-navy, 0.1);
94-
border-radius: 1rem;
95-
box-shadow: 0 0.75rem 2rem rgba($text-navy, 0.08);
92+
background: #FCFCFF;
93+
border: 1px solid #E2E2F5;
94+
border-radius: 12px;
9695
}
9796
9897
.project-detail-contribution-metric {
@@ -114,9 +113,7 @@ const countCards = computed(() => {
114113
115114
.project-detail-contribution-copy h3,
116115
.project-detail-contribution-count-card h3 {
117-
margin: 0;
118-
color: #1a1e3d;
119-
font-family: var(--secondary-font-family);
116+
color: $text-secondary;
120117
}
121118
122119
.project-detail-contribution-copy h3 {
@@ -126,8 +123,8 @@ const countCards = computed(() => {
126123
127124
.project-detail-contribution-copy p,
128125
.project-detail-contribution-count-card p {
129-
margin: 0.2rem 0 0;
130-
color: #5a607b;
126+
margin: 10px 0 0;
127+
color: $text-navy;
131128
}
132129
133130
.project-detail-contribution-copy p,
@@ -142,8 +139,8 @@ const countCards = computed(() => {
142139
}
143140
144141
.project-detail-contribution-count-card h3 {
145-
font-size: 0.98rem;
146-
font-weight: 500;
142+
font-size: 16px;
143+
font-weight: 600;
147144
}
148145
149146
.project-detail-contribution-summary-card {

components/workspace-project-details/RichTextContent.vue

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,9 @@ const safeHtml = computed(() =>
3434
3535
.project-detail-rich-text {
3636
overflow-x: auto;
37-
color: #5a607b;
38-
font-family: var(--primary-font-family);
39-
font-size: 1.1rem;
40-
line-height: 1.9;
37+
color: $text-navy;
38+
font-size: 16px;
39+
line-height: 26px;
4140
}
4241
4342
.project-detail-rich-text:deep(h3) {

0 commit comments

Comments
 (0)