Commit 0ec6d89
authored
Staging to production (#68)
### DevBoard Task
https://dev.azure.com/TDEI-UW/TDEI/_workitems/edit/3634/
This PR applies TDEI brand theming across the application — updating
colours, typography, layout, and accessibility throughout.
### Visual changes
- **Navbar** — Redesigned with TDEI brand colour (`#32006e`), new
responsive mobile side-menu with slide-in animation, user profile
dropdown, and sticky positioning
- **Sign-in page** — Fully redesigned card layout with TDEI logo, styled
inputs, show/hide password toggle, and responsive mobile view
- **Dashboard** — Split-panel layout with scrollable workspace list and
sticky detail panel; workspace type icons added
- **Homepage** — New hero section with brand imagery and workspace type
icons (OSW, Pathways, Flex)
- **Buttons & links** — Replaced ad-hoc Bootstrap variants with
consistent utility classes (`tdei-primary-button`,
`tdei-secondary-button`, `tdei-primary-link`, `tdei-rounded-button`)
### Screenshots:
<img width="1470" height="956" alt="Screenshot 2026-05-25 at 8 02 16 PM"
src="https://github.com/user-attachments/assets/acaf73e3-9bea-4259-9846-03c1021574c4"
/>
<img width="1470" height="956" alt="Screenshot 2026-05-25 at 8 02 40 PM"
src="https://github.com/user-attachments/assets/e7c76520-9f88-4042-b3cf-c83e5977a500"
/>
<img width="1470" height="956" alt="Screenshot 2026-05-25 at 8 06 00 PM"
src="https://github.com/user-attachments/assets/65b10d2d-6042-46b8-8c18-02804cc53c0d"
/>
<img width="1470" height="956" alt="Screenshot 2026-05-25 at 8 08 21 PM"
src="https://github.com/user-attachments/assets/7db14bb2-4ce4-4716-be2f-d4b203ed8bcb"
/>
<img width="1470" height="956" alt="Screenshot 2026-05-25 at 8 08 42 PM"
src="https://github.com/user-attachments/assets/10893743-643c-4d8d-8b29-12df3e01e80a"
/>
<img width="1470" height="956" alt="Screenshot 2026-05-25 at 8 16 01 PM"
src="https://github.com/user-attachments/assets/3a33c87d-9b94-4c15-a46f-b3636a753631"
/>
<img width="1470" height="956" alt="Screenshot 2026-05-25 at 8 17 03 PM"
src="https://github.com/user-attachments/assets/4cbde4e3-9ff7-4577-911c-b523eceb3015"
/>
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Theme & Styling Updates
- Updated Bootstrap primary color from `#9b0092` to TDEI brand colour
`#32006e`
- Added new SCSS theme variables for TDEI brand colors including
`$brand-accent`, `$tdei-secondary`, `$tdei-blue`, `$tdei-green`,
`$tdei-cyan`, background shades, and `$text-navy`
- Expanded global styling in `main.scss` with webkit autofill
transitions, new CSS variable declarations in `:root`, and dropdown menu
active state styling
- Added "TDEI Utility Classes" section with page header/title/subtitle
helpers and typography utilities
- Introduced Google Fonts module (`@nuxtjs/google-fonts`) with Open Sans
and Montserrat font families
## Navigation & Navbar
- Refactored `AppNavbar.vue` from Bootstrap collapsed layout to custom
responsive design with sticky positioning
- Implemented mobile-only off-canvas side drawer using `b-collapse` with
click-to-dismiss backdrop
- Added responsive behavior tracking (`isMobileView` for viewport
≤768px) with automatic drawer closure on resize
- Integrated keyboard handling (Escape key to close drawer) and focus
management for accessibility
- Updated navbar styling with TDEI brand colors and responsive spacing
- Added mobile-specific user section and logout button in side drawer
- Hidden "Sign In" link for unauthenticated users (showing only the
brand)
## Authentication & Sign-in Page
- Redesigned `SigninForm.vue` with TDEI-branded auth card layout and
updated styling
- Changed password input from static to toggleable with visibility icon
button controlled by `showPassword` state
- Updated submit button to display dynamic state ("Signing In..." vs
"Sign In") based on loading state, replacing prior spinner template
- Implemented dedicated error rendering block displayed only when error
exists
- Improved error handling with stricter fetch-error type guard checking
`response.status` and `response.json()` function
- Refactored sign-in page (`pages/signin.vue`) to simplified markup with
centered flex layout and login background image
## Dashboard Layout & Components
- Refactored dashboard to split-panel layout with scrollable workspace
list on left and sticky details panel on right
- Updated `WorkspaceItem.vue` workspace picker card with type-specific
icons, formatted type labels, conditional status/role pills, and
responsive styling
- Added `selectedProjectGroupName` computed value for project group
display
- Explicitly typed `selectWorkspace` function parameter as `Workspace`
- Introduced new SCSS for flex split layout, responsive stacking, sticky
positioning, and custom scrollbars
- Updated `dashboard/Toolbar.vue` button styling: "Edit" uses primary
variant, "Review/Export/Settings" use outline-secondary
## Homepage Updates
- Redesigned homepage with new hero layout replacing prior centered
jumbo-content
- Added hero divider element and restructured hero content using
`hero-shell`, `hero-copy`, and `hero-actions` classes
- Made primary call-to-action conditional: routes to `/dashboard` when
authenticated, otherwise to `/signin`, with dynamic button label
- Updated `pages/index.vue` to import `tdeiClient` and expose auth state
- Revised SCSS replacing `.jumbo` styles with new hero-specific classes
and responsive breakpoint adjustments across lg/md/sm viewports
## Component Button & Link Standardization
- Standardized button styling across components:
- Changed outline buttons from `btn btn-outline-primary` to `btn
btn-outline-secondary` (DatasetTypeRadio, help page)
- Updated toolbar and modal buttons to use primary/secondary/danger
variants consistently
- Replaced `btn-dark` styling with appropriate primary/outline-secondary
variants in review, settings, and teams components
- Updated deletion confirmation button styling from outline-danger to
solid danger variant
## Accessibility & UX Improvements
- Added focus trap and keyboard handling in navbar for mobile menu
drawer
- Improved ARIA attributes and semantic HTML in refactored components
- Updated button `aria-label` in WorkspaceItem to include workspace ID
- Refined modal button configurations for better accessibility (e.g.,
custom `cancelClass` with `p-0`)
- Updated component formatting for improved readability and spacing
## Additional Changes
- Updated `AppLogo.vue` to use new TDEI logo (`tdei-logo.png` instead of
`icon.svg`)
- Modified Nuxt config to optimize dependency bundling for `BCollapse`
and `BNavbar` components
- Added `@nuxtjs/google-fonts` to devDependencies
- Updated `nuxt-loading-indicator` styling in default layout with
gradient color via CSS variables
- Minor SCSS restructuring and reformatting across multiple components
for consistency
<!-- end of auto-generated comment: release notes by coderabbit.ai -->70 files changed
Lines changed: 9910 additions & 8656 deletions
File tree
- .github/workflows
- assets
- img
- scss
- components
- dashboard
- review
- settings
- panel
- teams
- teams
- composables
- layouts
- pages
- workspace
- [id]
- export
- settings
- teams
- create
- plugins
- services
- export
- types
- util
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
15 | | - | |
| 15 | + | |
16 | 16 | | |
17 | 17 | | |
18 | | - | |
| 18 | + | |
19 | 19 | | |
20 | | - | |
| 20 | + | |
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
26 | | - | |
| 26 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
Loading
Loading
Loading
Loading
Loading
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
3 | 9 | | |
4 | 10 | | |
5 | 11 | | |
6 | 12 | | |
7 | | - | |
8 | | - | |
9 | | - | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
10 | 27 | | |
11 | 28 | | |
12 | 29 | | |
13 | 30 | | |
14 | 31 | | |
15 | 32 | | |
16 | 33 | | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
17 | 42 | | |
18 | 43 | | |
19 | 44 | | |
| |||
47 | 72 | | |
48 | 73 | | |
49 | 74 | | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
50 | 82 | | |
51 | 83 | | |
52 | 84 | | |
| |||
67 | 99 | | |
68 | 100 | | |
69 | 101 | | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
0 commit comments