Conversation
Add Angular project for DevOops accommodation booking system, including core app structure, feature modules, authentication, routing, and environment configs. Includes Dockerfile, Nginx configuration, and development tooling for containerized deployment. Updated README with setup and usage instructions.
Introduce a standalone TopbarComponent with navigation, auth-aware visibility and theme/logout actions. Add ThemeService (using Angular signals) to manage dark/light mode and persist choice to localStorage; AppComponent now renders the topbar and includes it in its imports and layout styles. Add topbar SCSS and extensive global styles (Material theme tokens, dark variant, typography) and include Poppins + Material Icons in index.html.
Add standalone Login and Register components (templates + SCSS) using Angular Material form controls and wire them to AuthService; move component templates/styles out of inline definitions and update their TS to use external files and Material imports. Remove the old Search component and its routes, and change app routing to redirect to /accommodations (also update login/register navigation to navigate to /accommodations after success). Wrap <router-outlet> in a scrollable content area and adjust app-level CSS (host height, overflow, scrollbars, theme tokens, corner radii, state opacities). Update topbar: link logo to /accommodations, conditionally show Login/Register links for unauthenticated users, remove Search from nav items, and add a wiggle hover animation to the theme toggle icon. Also update index.html title to "Devoops".
Introduce a dialog-based user profile UI and related services: add ProfileDialogComponent (template + styles) and ChangePasswordDialogComponent, plus a new UserService to fetch/update profile and change password. Extend user models with UpdateProfileRequest and ChangePasswordRequest. Refactor AuthService by extracting handleAuthResponse and reuse it in login/register and profile updates to centralize token/user handling. Remove the old ProfileComponent and user.routes and drop the profile route from app.routes. Update topbar to show a profile button for authenticated users and open the profile dialog via MatDialog. Add dialog-related global styles and reset heading margins. These changes replace the route-based profile screen with a modal workflow and consolidate auth/profile logic.
Add client-side validation and UX improvements across auth and user dialogs. Login and register templates now include minlength/maxlength and email validators with mat-error messages, and submit buttons are disabled unless the form is valid. Styles for auth forms updated to use flex layout and spacing. Change-password and profile dialogs were refactored to use NgForm (ViewChild), MatError imports, per-field validation messages, and isFormValid() checks used to disable Change/Save actions. Also remove some topbar nav items (Create Accommodation, Notifications) and update the theme error color in styles.scss.
Introduce NotificationService (MatSnackBar) to centralize user notifications and extract messages from HttpErrorResponse. Wire it into the global error interceptor to display HTTP errors and replace component-local error handling in login, register, profile and change-password components with notificationService.showHttpError / showSuccess. Remove inline error UI blocks and local error state from templates and components. Add snackbar styling and adjust theme error color to improve visual consistency.
Inject ChangeDetectorRef and implement AfterViewInit in ChangePasswordDialogComponent and ProfileDialogComponent, calling cdr.detectChanges() in ngAfterViewInit to ensure forms/views stabilize after initialization (prevents Angular ExpressionChanged/late-binding issues). Also add a serif fallback to the global font-family in styles.scss.
Introduce a full ReservationList feature: new standalone component (TS), template (HTML) and styles (SCSS) with signal-based state, filtering, loading/error handling, name lookups (forkJoin), and actions for deleting/canceling reservations. Add UserService.getById to support guest lookups. Update topbar navigation to expose Reservations to both GUEST and HOST roles. Minor tweaks: add box-shadow to accommodation card SCSS and use `void` when navigating to accommodation detail to satisfy linting/TS expectations.
Introduce a ratings system: add Rating models and a RatingService (create, update, delete, guest list, summary by target). Add standalone UI for ratings including AccommodationRatingsComponent (template + styles + logic), a RatingDialogComponent for create/view/edit/delete flows, and a My Ratings list (component, template, styles). Integrate the ratings component into accommodation detail view and update imports. Also tweak error interceptor to remove automatic 403 redirect so HTTP errors can be surfaced instead of navigating away. Key API paths used: POST /rating, GET /rating/target/:id, GET /rating/guest, PUT/DELETE /rating/:id.
Rework the accommodation detail page into a responsive, row-based layout: gallery left / reservation+details right (row 1), amenities full-width (row 2), ratings and availability side-by-side (row 3). Move quick-info into the right column and convert the sidebar card styling to a reusable card. Simplify and modernize the photo gallery: use a single main image with prev/next buttons and dot indicators, remove the old thumbnail grid/mobile split, add keyboard navigation helpers (prevPhoto/nextPhoto) and update related styles. Also clean up minor SCSS (ratings wrapper removed) and adjust responsive grid/CSS for the new structure.
Update color tokens to align with the revised theme. In src/app/features/rating/rating-list.component.scss the rating host accent was changed from #7C3AED to #A16207. In src/styles.scss global palette adjustments include background #0D5C63 -> #071C1F and both surface-dim and surface-container-lowest #0A4F55 -> #0A2428. These tweaks update the app's primary/background/surface tones to the new color scheme.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.