Skip to content

Initial Release#17

Merged
rozicd merged 22 commits intomainfrom
develop
Feb 25, 2026
Merged

Initial Release#17
rozicd merged 22 commits intomainfrom
develop

Conversation

@rozicd
Copy link
Copy Markdown

@rozicd rozicd commented Feb 25, 2026

No description provided.

janosevicsm and others added 22 commits January 28, 2026 20:20
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.
@rozicd rozicd merged commit f9dce54 into main Feb 25, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants