Restore Goals screen scroll behavior by making the main goals container vertically scrollable. - add full-height, min-height reset, and vertical overflow scrolling to .goals-view - enable momentum scrolling on iOS via -webkit-overflow-scrolling - extend GoalsView CSS guardrail test to assert required scroll-related declarations Files changed: packages/dashboard/app/components/GoalsView.css | 4 ++++ packages/dashboard/app/components/__tests__/GoalsView.css.test.ts | 3 +++ 2 files changed, 7 insertions(+) Fusion-Task-Id: FN-5667 Fusion-Task-Lineage: fed12aa4-ebe0-46aa-a057-375469912acd
149 lines
2.4 KiB
CSS
149 lines
2.4 KiB
CSS
.goals-view {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--space-lg);
|
|
height: 100%;
|
|
min-height: 0;
|
|
overflow-y: auto;
|
|
-webkit-overflow-scrolling: touch;
|
|
padding: var(--space-lg);
|
|
}
|
|
|
|
.goals-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
gap: var(--space-md);
|
|
}
|
|
|
|
.goals-title {
|
|
margin: 0;
|
|
color: var(--text);
|
|
font-size: calc(var(--space-lg) + var(--space-xs));
|
|
}
|
|
|
|
.goals-count {
|
|
margin: 0;
|
|
color: var(--text-muted);
|
|
}
|
|
|
|
.goals-add-button {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: var(--space-sm);
|
|
}
|
|
|
|
.goals-add-button:focus-visible,
|
|
.goals-card:focus-visible,
|
|
.goals-activate-button:focus-visible {
|
|
outline: none;
|
|
box-shadow: var(--focus-ring-strong);
|
|
}
|
|
|
|
.goals-warning {
|
|
margin: 0;
|
|
padding: var(--space-md);
|
|
border-radius: var(--radius-md);
|
|
border: calc(var(--space-xs) / 4) solid var(--color-warning);
|
|
background: color-mix(in srgb, var(--color-warning) 10%, transparent);
|
|
color: var(--color-warning);
|
|
}
|
|
|
|
.goals-error {
|
|
margin: 0;
|
|
}
|
|
|
|
.goals-form {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--space-sm);
|
|
}
|
|
|
|
.goals-form-label {
|
|
color: var(--text-muted);
|
|
}
|
|
|
|
.goals-form textarea.input {
|
|
min-height: calc(var(--space-2xl) * 2);
|
|
resize: vertical;
|
|
}
|
|
|
|
.goals-form-actions {
|
|
display: flex;
|
|
gap: var(--space-sm);
|
|
}
|
|
|
|
.goals-list {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--space-md);
|
|
}
|
|
|
|
.goals-card {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: var(--space-md);
|
|
}
|
|
|
|
.goals-card-archived {
|
|
border-color: color-mix(in srgb, var(--text-muted) 25%, transparent);
|
|
}
|
|
|
|
.goals-card-main {
|
|
min-width: 0;
|
|
}
|
|
|
|
.goals-card-edit {
|
|
display: flex;
|
|
flex: 1;
|
|
flex-direction: column;
|
|
gap: var(--space-sm);
|
|
}
|
|
|
|
.goals-card-title {
|
|
margin: 0;
|
|
color: var(--text);
|
|
font-size: calc(var(--space-md) + var(--space-xs));
|
|
}
|
|
|
|
.goals-card-description {
|
|
margin: var(--space-xs) 0 0;
|
|
color: var(--text-muted);
|
|
}
|
|
|
|
.goals-card-status {
|
|
margin: var(--space-xs) 0 0;
|
|
color: var(--text-muted);
|
|
}
|
|
|
|
.goals-card-actions {
|
|
display: flex;
|
|
gap: var(--space-sm);
|
|
}
|
|
|
|
.goals-activate-button {
|
|
min-width: calc(var(--space-2xl) * 2);
|
|
}
|
|
|
|
.goals-empty {
|
|
color: var(--text-muted);
|
|
}
|
|
|
|
@media (max-width: 768px) {
|
|
.goals-header {
|
|
flex-direction: column;
|
|
align-items: stretch;
|
|
}
|
|
|
|
.goals-card {
|
|
flex-direction: column;
|
|
align-items: stretch;
|
|
}
|
|
|
|
.goals-form-actions,
|
|
.goals-card-actions {
|
|
flex-direction: column;
|
|
}
|
|
}
|