Conversation
There was a problem hiding this comment.
Pull request overview
This PR implements a comprehensive theming system for the Angular application with dark and light mode support, along with several reusable UI components including tables, search bars with debounce, buttons, and switches.
Key Changes:
- Added theme system with CSS custom properties for dark/light modes
- Created reusable components (MyTable, MySearchbar, MyButton, MySwitch)
- Refactored existing pages to use new themed components
- Updated backend API endpoint from
/basicto/mefor user details
Reviewed changes
Copilot reviewed 58 out of 63 changed files in this pull request and generated 16 comments.
Show a summary per file
| File | Description |
|---|---|
| frontend/src/styles/_theme.css | Defines CSS custom properties for light and dark themes with color palettes |
| frontend/src/app/core/theme/theme-service.ts | Service to manage theme state with localStorage persistence |
| frontend/src/app/common/components/table/my-table/* | Type-safe generic table component with pagination support |
| frontend/src/app/common/components/searchbar/my-searchbar/* | Reusable search input with built-in debounce functionality |
| frontend/src/app/common/components/buttons/my-button/* | Themed button component with loading state and variants |
| frontend/src/app/common/components/switch/my-switch/* | Toggle switch component for theme switching |
| frontend/src/app/features//pages/ | Updated multiple pages to use new themed components and removed duplicate table implementations |
| frontend/src/app/common/layout/* | Added theme toggle to both normal and empty layouts |
| frontend/src/app/features/dashboard/dashboard-service.ts | Added getUserDetails method and renamed service from Dashboard to DashboardService |
| backend/src/ParcelManagement.Api/Controller/v1/UserController.cs | Changed endpoint routes from /GetUserById/{id} to /{id} and /basic to /me |
Comments suppressed due to low confidence (5)
frontend/src/app/features/dashboard/dashboard-service.ts:25
- The
UserResponseinterface uses PascalCase property names (Id,Username,Role) but the template indashboard-user.htmlexpects lowercaseusername. This interface should use lowercase property names to match the expected TypeScript convention and template usage, or a mapper should be added to convert from backend PascalCase to frontend camelCase.
frontend/src/app/common/components/buttons/my-button/my-button.ts:2 - Unused import input.
import { Component, EventEmitter, Input, input, Output } from '@angular/core';
frontend/src/app/common/components/searchbar/my-searchbar/my-searchbar.ts:2
- Unused import debounce.
import { debounce, debounceTime, distinctUntilChanged, Subject } from 'rxjs';
frontend/src/app/common/layout/empty-layout/empty-layout.ts:5
- Unused import NgClass.
import { NgClass } from '@angular/common';
frontend/src/app/core/theme/theme-service.ts:2
- Unused import AppConsole.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
frontend/src/app/features/parcel/parcels/pages/parcels-list/parcels-list.ts
Outdated
Show resolved
Hide resolved
frontend/src/app/features/parcel/parcels/pages/parcels-list/parcels-list.ts
Outdated
Show resolved
Hide resolved
frontend/src/app/common/components/file-upload/file-upload.html
Outdated
Show resolved
Hide resolved
frontend/src/app/features/dashboard/pages/dashboard-user/dashboard-user.html
Show resolved
Hide resolved
frontend/src/app/features/parcel/parcels/pages/parcels-list/parcels-list.ts
Show resolved
Hide resolved
frontend/src/app/features/parcel/parcels/pages/parcels-list/parcels-list.ts
Show resolved
Hide resolved
|
@qawitherev I've opened a new pull request, #27, to work on those changes. Once the pull request is ready, I'll request review from you. |
Co-authored-by: qawitherev <59358911+qawitherev@users.noreply.github.com>
Rename onSearchV2 to onSearch for clarity
This PR implemented the theming of the angular app.
Implemented few reusable components, such as table, input search with debounce, buttons
Note: