The transfer progress card was originally designed to fit in a half-width column. After the download component refactoring, it's now positioned full-width directly below the sticky menu in both submit and download pages. This provides significantly more horizontal space to work with.
Before: Flexbox with vertical stacking After: CSS Grid with intelligent space utilization
// Old: Everything stacked vertically
.status-body {
display: flex;
flex-direction: column;
gap: 0.5rem;
}
// New: Grid layout with side-by-side content
.status-body {
display: grid;
grid-template-columns: 1fr auto;
gap: 0.75rem 1.5rem;
@media (max-width: 64rem) {
grid-template-columns: 1fr; // Stack on smaller screens
}
}- Padding: Increased from
1remto1.25remfor more breathing room - Shadow: Added subtle
box-shadowfor depth (theme-aware) - Margin: Added
margin-bottom: 1remfor spacing from content below - Grid layout: Changed from flex to grid (2-column on desktop, 1-column on mobile)
- Size: Increased from
1.25remto1.5remfor better visibility - Grid placement: Uses CSS Grid for better alignment
- Font size: Increased to
1remfor emphasis - Grid span:
grid-column: 1 / -1to span full width
- Height: Increased from
0.5remto0.625rem(thicker, more visible) - Shadows: Added inset shadow to progress track and shadow to progress fill for depth
- Percentage display: Made bolder (
font-weight: 600) and given full-width text color - Grid span:
grid-column: 1 / -1for full-width display
Major visual change: Statistics now appear in pill-style badges with backgrounds
.status-files,
.status-bytes {
padding: 0.5rem 0.75rem;
background: var(--p-surface-50);
border-radius: 0.375rem;
border: 0.0625rem solid var(--p-surface-border);
strong {
color: var(--p-text-color);
font-weight: 600;
}
}Layout: On wide screens (>64rem), these appear side-by-side in the grid. On narrow screens, they stack vertically.
Task IDs now appear in a proper code block style:
code {
font-family: "Courier New", Courier, monospace;
font-size: 0.75rem;
padding: 0.125rem 0.375rem;
background: var(--p-surface-100);
border-radius: 0.25rem;
border: 0.0625rem solid var(--p-surface-border);
}- Separator: Added
border-topto visually separate actions from status info - Padding: Added
padding-top: 0.5remfor spacing - Grid span:
grid-column: 1 / -1to span full width
Three responsive tiers:
- Desktop (>64rem): Full 2-column grid layout with statistics side-by-side
- Tablet (48rem-64rem): Single-column grid, statistics stack
- Mobile (<48rem): Reduced padding, smaller fonts, compact spacing
- Space Utilization: Wide layout uses horizontal space intelligently
- Visual Grouping: Related information (files/bytes) appears together
- Hierarchy: Important info (message, progress) gets more visual weight
- Depth: Subtle shadows create layered appearance
- Responsiveness: Layout adapts gracefully to screen size
- Theme-Aware: All colors use PrimeNG CSS variables for light/dark mode
- Accessibility: Maintains good contrast and readable font sizes
Before:
┌─────────────────────────────────┐
│ ⓘ Status message │
│ Progress: ████████░░ 80% │
│ Files: 10/12 │
│ Bytes: 1000/1200 │
│ Task ID: abc123 │
│ [Refresh] [Open in Globus] │
└─────────────────────────────────┘
After (Desktop):
┌──────────────────────────────────────────────────┐
│ ⓘ Status message │
│ │
│ Progress: ████████████████░░░░ 80% │
│ │
│ ┌─────────────┐ ┌──────────────┐ │
│ │Files: 10/12 │ │Bytes: 1000/..│ │
│ └─────────────┘ └──────────────┘ │
│ │
│ Task ID: abc123 │
│ ───────────────────────────────────────── │
│ [Refresh] [Open in Globus] │
└──────────────────────────────────────────────────┘
- ✅ All 393 tests passing
- ✅ No TypeScript compilation errors
- ✅ SCSS compiles without warnings
- ✅ Responsive breakpoints work correctly
/src/app/shared/transfer-progress-card/transfer-progress-card.component.scss
- No changes to HTML template - all improvements are CSS-only
- No changes to component logic - purely visual enhancements
- Backward compatible - works in both submit and download contexts
- Theme-aware - uses PrimeNG CSS variables throughout