Commit 1d1bb7a
authored
feat: Implement Global Loading State with LoadingContext (#1507)
Refactor: Align with Next.js 16 Component Architecture (#1505)
feat: refactor layout for Next.js 16 client/server boundaries
Refactors the root layout to align with Next.js 16's stricter client/server component architecture.
- Creates a new `app/main.tsx` client component to consolidate all client-side providers.
- Simplifies `app/layout.tsx` to a pure server component, responsible only for the root HTML structure and metadata.
- Updates `components/Providers.tsx` to remove redundant theme providers.
This change resolves build failures related to metadata exports from client components and establishes a clear, maintainable pattern for the application's provider hierarchy.
chore: update visual regression snapshots
Updates the Playwright visual regression snapshots to reflect the changes introduced by the architectural refactor.
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
refactor: Address PR feedback for LoadingIndicator and theme
This commit addresses the feedback from the pull request review:
- **`app/layout.tsx`**: Removed the unnecessary comment next to the `Main` component import.
- **`lib/theme.ts`**:
- Added a `loadingIndicator` level to `theme.zIndex`.
- Added an `overlay` color to `theme.palette.background`.
- Added TypeScript module declarations for the new custom theme properties to ensure type safety.
- **`components/LoadingIndicator.tsx`**:
- Refactored the component to use the new `zIndex` and `backgroundColor` values from the theme.
- Implemented a smooth fade-in/fade-out transition using `opacity` and `visibility` properties, making the UX smoother as requested.
fix: Run `lint --fix` to correct formatting
This commit fixes all linting errors reported in the PR feedback.
- Ran `pnpm run lint:fix` to automatically correct Prettier formatting issues across multiple files.
- Manually verified and removed a false-positive `eslint-disable` directive in `hooks/useWorkoutSession.ts`.
All linting checks now pass.
fix: Correct TypeScript errors in theme and remove unused imports
This commit fixes the build failures identified in the PR feedback.
- **`lib/theme.ts`**:
- Corrected the MUI module declaration to properly augment the `TypeBackground` interface, resolving the TypeScript conflict.
- Fixed a syntax error in the `shadows` array.
- **`components/LoadingIndicator.tsx`**:
- Removed the unused `React` import, which was causing a build failure.
The application now builds successfully.
fix: Update LoadingIndicator test to reflect new implementation
This commit fixes the failing unit test for the `LoadingIndicator` component.
The test was updated to assert that the progressbar is not present in the DOM when `isLoading` is false, instead of checking for a `null` container. This aligns the test with the component's new behavior of using `opacity` and `visibility` for transitions.
All unit tests are now passing.
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>1 parent 89c631a commit 1d1bb7a
6 files changed
Lines changed: 179 additions & 8 deletions
File tree
- app
- components
- context
- lib
- tests/unit
- components
- context
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
| 8 | + | |
8 | 9 | | |
9 | 10 | | |
10 | 11 | | |
11 | 12 | | |
| 13 | + | |
12 | 14 | | |
13 | 15 | | |
14 | 16 | | |
15 | 17 | | |
16 | 18 | | |
17 | 19 | | |
18 | | - | |
19 | | - | |
20 | | - | |
21 | | - | |
22 | | - | |
23 | | - | |
24 | | - | |
25 | | - | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
26 | 31 | | |
27 | 32 | | |
28 | 33 | | |
| |||
| 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 | + | |
| 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 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
5 | 15 | | |
6 | 16 | | |
7 | 17 | | |
| |||
52 | 62 | | |
53 | 63 | | |
54 | 64 | | |
| 65 | + | |
55 | 66 | | |
56 | 67 | | |
57 | 68 | | |
| |||
162 | 173 | | |
163 | 174 | | |
164 | 175 | | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
165 | 186 | | |
166 | 187 | | |
167 | 188 | | |
| |||
| 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 | + | |
| 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 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
0 commit comments