Skip to content

Angular upgrade to v19#575

Merged
uldisrudzitis merged 4 commits intomasterfrom
enh-angular-upgrade-to-v19
Oct 6, 2025
Merged

Angular upgrade to v19#575
uldisrudzitis merged 4 commits intomasterfrom
enh-angular-upgrade-to-v19

Conversation

@uldisrudzitis
Copy link
Copy Markdown
Collaborator

@uldisrudzitis uldisrudzitis commented Oct 6, 2025

Summary by CodeRabbit

  • New Features

    • Profile menu: logout action added.
    • Route buttons: navigate within the editor while preserving query parameters.
    • Rich text input: new title/placeholder/type/enable-disable options and an input-focus event.
  • Chores

    • Upgraded Angular ecosystem, TypeScript tooling and runtime libraries to the latest major release.
    • Replaced tooltip and color-picker packages with compatible versions and bumped related dependencies.
  • Style

    • SCSS migrated to module-scoped variables and modern color utilities; visual appearance preserved.

@uldisrudzitis uldisrudzitis self-assigned this Oct 6, 2025
@uldisrudzitis uldisrudzitis added Enhancement dependencies Pull requests that update a dependency file labels Oct 6, 2025
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Oct 6, 2025

Walkthrough

Upgrades the editor to Angular 19 and related tooling, swaps the tooltip package and adjusts color-picker imports, standardizes many components/directives/pipes to standalone: false, adds small features (route navigation, logout, rich-text inputs), removes some empty constructors, and migrates SCSS to @use with namespaced variables.

Changes

Cohort / File(s) Summary
Package / Angular upgrade
editor/package.json
Bump Angular ecosystem to v19, TypeScript ~5.8, zone.js ~0.15; NGXS to 19.x; upgrade ancillary UI libs; swap tooltip package version.
Module wiring: color picker & tooltip
editor/src/app/sites/shared/sites-shared.module.ts
Replace ColorPickerModule with ColorPickerComponent + ColorPickerDirective import; swap tooltip lib to @amin-karimi/ng2-tooltip-directive and use its TooltipModule.
Global component metadata changes
editor/src/app/**/*.component.ts (many files)
Add standalone: false to numerous component decorators (app, header, preview, inputs, shop, sites, themes, shared icons, loading, popup, etc.); mostly formatting-only edits.
Inputs components (grouped)
editor/src/app/inputs/*.component.ts
Mostly add standalone: false and formatting tweaks across input components.
Inputs — functional additions
editor/src/app/inputs/rich-text-input.component.ts, editor/src/app/inputs/route-button.component.ts
RichTextInput: add multiple @Input()s and @Output() inputFocus; RouteButton: add @Input() route, inject Router, add navigate() and template click binding.
Profile / auth flow
editor/src/app/profile-dropdown/profile-dropdown.component.ts
Inject Store, add logOut() that dispatches UserLogoutAction; add standalone: false.
Directive & Pipe metadata
editor/src/app/sites/shared/autofocus.directive.ts, editor/src/app/pipes/pipe.ts
Add standalone: false to directive and pipe decorators.
Removed empty constructors
editor/src/app/not-found/not-found.component.ts, editor/src/app/preview/*.service.ts, ...
Remove several no-op constructors in services/components.
SCSS: migrate to module namespace
editor/src/styles/*.scss (e.g., _account.scss, _aside.scss, _buttons.scss, _forms.scss, _login.scss, _media.scss, _popup.scss, _shop.scss, _themes.scss, styles.scss, ...)
Replace @import with @use "variables" (and sass:color where used); prefix variables with variables.$...; switch some color helpers to color.adjust; no structural CSS changes.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  actor User
  participant RouteButton as RouteButtonComponent
  participant Router

  User->>RouteButton: click
  RouteButton->>RouteButton: navigate()
  RouteButton->>Router: navigate([route], { queryParamsHandling: 'preserve' })
  Router-->>RouteButton: NavigationPromise
  note right of Router: app route updates on success
Loading
sequenceDiagram
  autonumber
  actor User
  participant ProfileDropdown as ProfileDropdownComponent
  participant Store as NGXS_Store
  participant AppState

  User->>ProfileDropdown: click "Log out"
  ProfileDropdown->>Store: dispatch(new UserLogoutAction())
  Store-->>AppState: handle logout
  AppState-->>User: auth state updated
Loading
sequenceDiagram
  autonumber
  actor User
  participant RichTextInput as RichTextInputComponent
  participant Parent

  User->>RichTextInput: focus
  RichTextInput-->>Parent: inputFocus(true)
  User->>RichTextInput: type value
  RichTextInput-->>Parent: valueUpdate(newValue)
  User->>RichTextInput: blur
  RichTextInput-->>Parent: inputFocus(false)
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

Poem

I hopped through deps and polished each twig,
Gave variables names and swapped one small sig.
A route for a button, a logout that flies,
Rich-inputs that focus, styles neat as carrots—surprise!
— From a rabbit with tiny refactor digs 🥕

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The title “Angular upgrade to v19” clearly and concisely captures the primary change of the pull request, which is the major version bump of Angular and related dependencies to v19. It is specific enough for teammates to understand the intent at a glance without extraneous details.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch enh-angular-upgrade-to-v19

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between c2d6402 and 9c51a56.

📒 Files selected for processing (7)
  • editor/src/app/inputs/action-button.component.ts (1 hunks)
  • editor/src/app/not-found/not-found.component.ts (1 hunks)
  • editor/src/app/preview/default-template-style.service.ts (0 hunks)
  • editor/src/app/preview/mashup-template-style.service.ts (0 hunks)
  • editor/src/app/preview/messy-template-style.service.ts (0 hunks)
  • editor/src/app/preview/white-template-style.service.ts (0 hunks)
  • editor/src/app/sites/shared/setting-row-add.component.ts (1 hunks)
💤 Files with no reviewable changes (4)
  • editor/src/app/preview/white-template-style.service.ts
  • editor/src/app/preview/default-template-style.service.ts
  • editor/src/app/preview/mashup-template-style.service.ts
  • editor/src/app/preview/messy-template-style.service.ts
🚧 Files skipped from review as they are similar to previous changes (1)
  • editor/src/app/not-found/not-found.component.ts
🔇 Additional comments (2)
editor/src/app/inputs/action-button.component.ts (1)

15-15: LGTM! Metadata change aligns with the Angular 19 migration.

The standalone: false addition correctly reflects this component's declaration in SitesSharedModule and aligns with the PR's standardization strategy. The removal of the empty constructor (not shown in diff) is also a good cleanup practice.

editor/src/app/sites/shared/setting-row-add.component.ts (1)

32-32: LGTM: Explicit standalone metadata.

The addition of standalone: false aligns with the PR's pattern of explicitly marking components as non-standalone during the Angular 19 upgrade.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
editor/src/app/inputs/route-button.component.ts (2)

19-20: Add required validation or initialization for inputs.

Both label and route inputs lack initialization or definite assignment assertions. If the component is used without providing the route input, the navigate() method will fail at runtime.

Consider one of these approaches:

-  @Input() label: string;
-  @Input() route: string;
+  @Input({ required: true }) label!: string;
+  @Input({ required: true }) route!: string;

Or add runtime validation in the navigate() method (see next comment).


24-26: Add guard for undefined route.

The method doesn't validate that route is defined before navigating. This can cause unexpected behavior if the component is instantiated without the required input.

Apply this diff to add a guard:

 navigate() {
+  if (!this.route) {
+    console.error('RouteButton: route input is required');
+    return;
+  }
   this.router.navigate([this.route], { queryParamsHandling: 'preserve' });
 }

Alternatively, if you make the input required (as suggested in the previous comment), you can rely on compile-time enforcement.

🧹 Nitpick comments (3)
editor/src/app/inputs/file-input.component.ts (1)

79-79: Consider the Angular standalone components direction.

While adding standalone: false achieves consistency across the codebase, Angular v19 strongly promotes standalone components as the recommended path forward. Standalone components offer simplified module management, better tree-shaking, and are the foundation for future Angular features.

If this is part of a phased migration strategy, consider planning a future migration to standalone components to align with Angular's long-term direction.

editor/src/app/inputs/action-button.component.ts (1)

22-22: Consider removing the empty constructor.

The empty constructor serves no purpose and can be safely removed to reduce boilerplate.

Apply this diff:

-  constructor() {}
-
   runAction() {
editor/src/app/inputs/rich-text-input.component.ts (1)

38-38: The inputFocus output is never emitted.

Consider either:

  • Adding focus/blur event handlers to the angular-editor to emit this event
  • Removing it if not needed
  • Documenting its intended future use if it's a placeholder for API consistency
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 658c97f and 3652192.

⛔ Files ignored due to path filters (1)
  • editor/package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (72)
  • editor/package.json (2 hunks)
  • editor/src/app/app.component.ts (3 hunks)
  • editor/src/app/header/header.component.ts (3 hunks)
  • editor/src/app/header/preview-toggle.component.ts (2 hunks)
  • editor/src/app/inputs/action-button.component.ts (1 hunks)
  • editor/src/app/inputs/color-input.component.ts (2 hunks)
  • editor/src/app/inputs/file-input.component.ts (2 hunks)
  • editor/src/app/inputs/files-input.component.ts (2 hunks)
  • editor/src/app/inputs/icon-readonly.component.ts (2 hunks)
  • editor/src/app/inputs/inline-text-input.component.ts (3 hunks)
  • editor/src/app/inputs/long-text-input.component.ts (2 hunks)
  • editor/src/app/inputs/rich-text-input.component.ts (2 hunks)
  • editor/src/app/inputs/route-button.component.ts (1 hunks)
  • editor/src/app/inputs/select-input.component.ts (2 hunks)
  • editor/src/app/inputs/text-input.component.ts (2 hunks)
  • editor/src/app/inputs/toggle-input.component.ts (2 hunks)
  • editor/src/app/inputs/url-input.component.ts (2 hunks)
  • editor/src/app/login/login.component.ts (2 hunks)
  • editor/src/app/not-found/not-found.component.ts (1 hunks)
  • editor/src/app/pipes/pipe.ts (1 hunks)
  • editor/src/app/popup/popup.component.ts (3 hunks)
  • editor/src/app/preview/preview.component.ts (2 hunks)
  • editor/src/app/profile-dropdown/profile-dropdown.component.ts (3 hunks)
  • editor/src/app/shared/icon-facebook.component.ts (2 hunks)
  • editor/src/app/shared/icon-google.component.ts (2 hunks)
  • editor/src/app/shared/loading/loading.component.ts (3 hunks)
  • editor/src/app/shop/orders/shop-orders.component.ts (2 hunks)
  • editor/src/app/shop/products/shop-products.component.ts (2 hunks)
  • editor/src/app/shop/regional-costs/shop-regional-costs.component.ts (2 hunks)
  • editor/src/app/shop/settings/shop-settings.component.ts (2 hunks)
  • editor/src/app/shop/shop.component.ts (2 hunks)
  • editor/src/app/sites/media/entry-gallery-editor.component.ts (2 hunks)
  • editor/src/app/sites/media/entry-gallery-image-editor.component.ts (2 hunks)
  • editor/src/app/sites/media/entry-gallery.component.ts (2 hunks)
  • editor/src/app/sites/media/site-media.component.ts (2 hunks)
  • editor/src/app/sites/sections/background-gallery-editor.component.ts (2 hunks)
  • editor/src/app/sites/sections/section.component.ts (3 hunks)
  • editor/src/app/sites/sections/site-sections.component.ts (2 hunks)
  • editor/src/app/sites/settings/site-settings.component.ts (2 hunks)
  • editor/src/app/sites/shared/autofocus.directive.ts (1 hunks)
  • editor/src/app/sites/shared/help-tooltip.component.ts (3 hunks)
  • editor/src/app/sites/shared/icon-clone.component.ts (2 hunks)
  • editor/src/app/sites/shared/icon-crop.component.ts (2 hunks)
  • editor/src/app/sites/shared/icon-delete.component.ts (2 hunks)
  • editor/src/app/sites/shared/icon-move.component.ts (2 hunks)
  • editor/src/app/sites/shared/icon-publish.component.ts (2 hunks)
  • editor/src/app/sites/shared/setting-row-add.component.ts (2 hunks)
  • editor/src/app/sites/shared/setting-row.component.ts (2 hunks)
  • editor/src/app/sites/shared/setting.component.ts (3 hunks)
  • editor/src/app/sites/shared/sites-shared.module.ts (3 hunks)
  • editor/src/app/sites/site.component.ts (3 hunks)
  • editor/src/app/sites/sites.component.ts (2 hunks)
  • editor/src/app/sites/template-settings/site-template-settings.component.ts (2 hunks)
  • editor/src/app/themes/themes.component.ts (2 hunks)
  • editor/src/app/user/user-account.component.ts (2 hunks)
  • editor/src/styles/_account.scss (2 hunks)
  • editor/src/styles/_aside.scss (13 hunks)
  • editor/src/styles/_background-gallery-editor.scss (2 hunks)
  • editor/src/styles/_buttons.scss (2 hunks)
  • editor/src/styles/_drag-drop.scss (1 hunks)
  • editor/src/styles/_entry-gallery-editor.scss (2 hunks)
  • editor/src/styles/_entry-gallery-image-editor.scss (2 hunks)
  • editor/src/styles/_forms.scss (20 hunks)
  • editor/src/styles/_login.scss (7 hunks)
  • editor/src/styles/_media.scss (7 hunks)
  • editor/src/styles/_not-found.scss (1 hunks)
  • editor/src/styles/_popup.scss (2 hunks)
  • editor/src/styles/_sections.scss (2 hunks)
  • editor/src/styles/_shop.scss (10 hunks)
  • editor/src/styles/_sites.scss (2 hunks)
  • editor/src/styles/_themes.scss (5 hunks)
  • editor/src/styles/styles.scss (2 hunks)
🧰 Additional context used
🧬 Code graph analysis (7)
editor/src/app/sites/template-settings/site-template-settings.component.ts (1)
editor/src/app/shared/animations.ts (1)
  • Animations (9-29)
editor/src/app/sites/sections/section.component.ts (1)
editor/src/app/shared/animations.ts (1)
  • Animations (9-29)
editor/src/app/sites/sections/background-gallery-editor.component.ts (1)
editor/src/app/shared/animations.ts (1)
  • Animations (9-29)
editor/src/app/sites/media/entry-gallery-image-editor.component.ts (1)
editor/src/app/shared/animations.ts (1)
  • Animations (9-29)
editor/src/app/sites/media/entry-gallery-editor.component.ts (1)
editor/src/app/shared/animations.ts (1)
  • Animations (9-29)
editor/src/app/shop/shop.component.ts (1)
editor/src/app/shared/animations.ts (1)
  • Animations (9-29)
editor/src/app/sites/settings/site-settings.component.ts (1)
editor/src/app/shared/animations.ts (1)
  • Animations (9-29)
🔇 Additional comments (63)
editor/src/styles/_not-found.scss (1)

1-14: SCSS variable migration looks correct.

Namespacing the color and font-size through @use "variables" keeps this stylesheet aligned with the broader theming updates. Looks good to ship.

editor/src/app/sites/shared/setting-row.component.ts (1)

7-33: LGTM!

The addition of standalone: false explicitly declares the component's non-standalone status, aligning with the PR's objective to standardize Angular components. The formatting adjustments to the decorator properties have no behavioral impact.

editor/src/app/sites/template-settings/site-template-settings.component.ts (1)

24-24: LGTM! Metadata change aligns with PR objectives.

The addition of standalone: false explicitly marks this component as non-standalone, consistent with the PR's goal of standardizing Angular components across the codebase. While this is technically the default behavior in Angular, the explicit declaration improves clarity and prepares the codebase for potential future framework changes.

No functional, behavioral, or API changes—this is purely a metadata update.

Also applies to: 78-80

editor/src/app/sites/shared/setting-row-add.component.ts (1)

32-32: LGTM! Correctly maintains backward compatibility.

The standalone: false declaration explicitly preserves the component's non-standalone behavior during the Angular v19 upgrade, which is the appropriate approach for this migration.

editor/src/app/shared/icon-google.component.ts (1)

54-54: LGTM – IconGoogleComponent is properly declared in SharedModule.

editor/src/app/inputs/route-button.component.ts (3)

1-2: LGTM!

The imports are appropriate for the component's routing functionality.


4-17: LGTM!

The component metadata is properly configured. The explicit standalone: false aligns with the PR's goal of standardizing Angular components to non-standalone.


22-22: LGTM!

The Router injection follows Angular best practices.

editor/src/app/inputs/file-input.component.ts (1)

5-6: LGTM: Formatting adjustment.

The indentation changes align with the updated component metadata structure. No functional impact.

editor/src/app/sites/shared/setting.component.ts (1)

168-168: LGTM: Standardizing to non-standalone component.

The addition of standalone: false aligns with the PR objectives to standardize Angular components to non-standalone as part of the v19 upgrade.

editor/src/app/inputs/action-button.component.ts (1)

4-14: LGTM: Formatting changes only.

The indentation adjustments are cosmetic with no behavioral impact.

editor/src/app/sites/shared/icon-delete.component.ts (1)

19-19: LGTM: standalone:false and module declaration verified

IconDeleteComponent is declared in SitesSharedModule and aligns with project-wide Angular v19 standardization.

editor/src/app/inputs/rich-text-input.component.ts (2)

7-25: LGTM: Decorator changes align with Angular v19 upgrade.

The addition of standalone: false correctly standardizes this component to non-standalone, as stated in the PR objectives. The formatting changes to the decorator are also appropriate.


29-35: Inputs align with common input component API
The declared inputs match those in other input components for API consistency; only placeholder is used in logic. No changes required.

editor/src/app/preview/preview.component.ts (1)

53-53: Approve standalone: false
PreviewComponent is listed in AppModule’s declarations array, so explicit standalone: false is appropriate.

editor/src/app/inputs/text-input.component.ts (1)

13-100: Metadata change looks good

Explicitly marking the component as non-standalone keeps the existing module-based wiring intact; no regressions spotted.

editor/src/app/login/login.component.ts (1)

20-100: Decorator update confirmed

standalone: false matches the module-driven setup here, so the Angular 19 upgrade remains smooth.

editor/src/styles/_entry-gallery-image-editor.scss (1)

1-12: SCSS module migration approved

The @use switch with namespaced variable access is consistent with the new styling pattern and keeps the token usage correct.

editor/src/app/shop/regional-costs/shop-regional-costs.component.ts (1)

19-154: Component stays module-based

Adding standalone: false preserves compatibility with existing NgModules without altering runtime behavior.

editor/src/app/inputs/icon-readonly.component.ts (1)

4-22: Non-standalone flag confirmed

The icon readonly component adheres to the shared module pattern; nothing further needed here.

editor/src/app/shop/shop.component.ts (1)

84-84: LGTM! Explicit standalone declaration for Angular v19.

The addition of standalone: false correctly marks this component as non-standalone, aligning with the broader Angular v19 upgrade migration pattern across the codebase.

editor/src/app/sites/sections/background-gallery-editor.component.ts (1)

325-325: LGTM! Consistent with Angular v19 migration.

editor/src/app/sites/shared/icon-move.component.ts (1)

20-20: LGTM! Consistent with Angular v19 migration.

editor/src/app/popup/popup.component.ts (1)

64-64: LGTM! Consistent with Angular v19 migration.

editor/src/app/sites/shared/icon-clone.component.ts (1)

19-19: LGTM! Consistent with Angular v19 migration.

editor/src/app/sites/shared/help-tooltip.component.ts (1)

30-30: LGTM! Consistent with Angular v19 migration.

editor/src/app/header/header.component.ts (1)

111-111: LGTM! Consistent with Angular v19 migration.

editor/src/app/sites/site.component.ts (1)

95-95: LGTM! Consistent with Angular v19 migration.

editor/src/app/sites/sections/site-sections.component.ts (1)

32-56: LGTM! Metadata update aligns with Angular 19 upgrade.

The addition of standalone: false and formatting adjustments are consistent with the project-wide migration to explicit non-standalone component declarations.

editor/src/styles/_sections.scss (2)

1-13: LGTM! Modern Sass migration.

The migration to @use "variables" with namespace-prefixed tokens (variables.$white) follows current Sass best practices and aligns with the project-wide SCSS refactor.


6-9: LGTM! Button styling addition.

The new button styles for the "Create new section" button use appropriate sizing and spacing values.

editor/src/app/inputs/toggle-input.component.ts (1)

5-21: LGTM! Metadata update aligns with Angular 19 upgrade.

The addition of standalone: false is consistent with the project-wide migration to explicit non-standalone component declarations.

editor/src/app/inputs/files-input.component.ts (1)

4-50: LGTM! Metadata update aligns with Angular 19 upgrade.

The addition of standalone: false is consistent with the project-wide migration to explicit non-standalone component declarations.

editor/src/app/shared/loading/loading.component.ts (1)

4-76: LGTM! Metadata update aligns with Angular 19 upgrade.

The addition of standalone: false and formatting adjustments are consistent with the project-wide migration to explicit non-standalone component declarations.

editor/src/app/sites/shared/icon-crop.component.ts (1)

4-18: LGTM! Metadata update aligns with Angular 19 upgrade.

The addition of standalone: false is consistent with the project-wide migration to explicit non-standalone component declarations.

editor/src/app/themes/themes.component.ts (1)

15-65: LGTM! Metadata update aligns with Angular 19 upgrade.

The addition of standalone: false is consistent with the project-wide migration to explicit non-standalone component declarations.

editor/src/app/header/preview-toggle.component.ts (1)

11-50: LGTM! Metadata update aligns with Angular 19 upgrade.

The addition of standalone: false and formatting adjustments are consistent with the project-wide migration to explicit non-standalone component declarations.

editor/src/app/sites/sites.component.ts (1)

15-31: LGTM! Consistent with Angular 19 non-standalone pattern.

The addition of standalone: false explicitly declares the component as non-standalone, aligning with the project-wide migration pattern in this PR. The formatting adjustments improve code consistency.

editor/src/app/sites/shared/autofocus.directive.ts (1)

3-6: LGTM! Directive correctly marked as non-standalone.

The explicit standalone: false declaration aligns with the broader Angular 19 upgrade strategy across the codebase.

editor/src/app/shop/settings/shop-settings.component.ts (1)

14-41: LGTM! Component metadata updated for Angular 19.

The standalone: false declaration and formatting adjustments are consistent with the project-wide migration pattern. No functional changes introduced.

editor/src/app/sites/sections/section.component.ts (1)

19-147: LGTM! Component decorator updated consistently.

The addition of standalone: false and formatting adjustments align with the Angular 19 upgrade pattern. The component's animations and other metadata remain intact.

editor/src/app/not-found/not-found.component.ts (1)

3-13: LGTM! NotFound component updated for Angular 19.

The explicit standalone: false declaration is correct and consistent with the project-wide migration strategy.

editor/src/app/inputs/select-input.component.ts (1)

12-66: LGTM! SelectInput component decorator updated.

The standalone: false metadata addition is consistent with the Angular 19 upgrade pattern. Component functionality remains unchanged.

editor/src/app/shop/products/shop-products.component.ts (1)

16-40: LGTM! ShopProducts component metadata updated.

The addition of standalone: false aligns with the project-wide Angular 19 upgrade strategy. No functional changes introduced.

editor/src/styles/_media.scss (1)

1-145: LGTM! SCSS migrated to modern @use syntax.

The migration from global variables to module-scoped variables using @use "variables" is the recommended modern SCSS approach. All variable references are correctly namespaced with variables.$, ensuring proper encapsulation and avoiding global namespace pollution.

editor/src/app/shop/orders/shop-orders.component.ts (1)

9-9: LGTM: Component declaration updated for Angular 19.

The addition of standalone: false aligns with the project-wide standardization of non-standalone component declarations.

Also applies to: 102-102

editor/src/app/inputs/color-input.component.ts (1)

4-4: LGTM: Metadata update aligns with Angular 19 upgrade.

The standalone: false declaration is consistent with the project-wide pattern.

Also applies to: 32-32

editor/src/app/sites/shared/sites-shared.module.ts (2)

9-9: LGTM: Color picker imports updated for Angular 19.

The migration from ColorPickerModule to direct imports of ColorPickerComponent and ColorPickerDirective aligns with Angular 19's standalone component architecture. Since these are now in the module's imports array, declared components like ColorInputComponent will have access to them.

Also applies to: 36-37


25-25: Verify tooltip library compatibility
Ensure @amin-karimi/ng2-tooltip-directive supports the same API (e.g., [tooltip], showDelay, content input, click events) used in HelpTooltipComponent and its consumers (text-input.component.ts, select-input.component.ts). Run the application and tests to confirm no regressions.

editor/src/styles/_forms.scss (1)

1-2: LGTM: SCSS module migration implemented correctly.

The migration to the Sass module system using @use "variables" with namespaced variable access (variables.$<token>) is a best practice that improves maintainability and avoids global namespace pollution.

editor/src/app/app.component.ts (1)

20-20: LGTM: Root component declaration updated.

The addition of standalone: false to AppComponent is consistent with the project-wide standardization for Angular 19.

Also applies to: 140-140

editor/src/app/profile-dropdown/profile-dropdown.component.ts (2)

113-117: LGTM: Logout functionality implemented correctly.

The logOut() method properly dispatches UserLogoutAction through the injected Store. The Store injection in the constructor is appropriate.


11-11: LGTM: Component declaration updated.

The addition of standalone: false is consistent with the Angular 19 upgrade pattern.

Also applies to: 108-108

editor/package.json (2)

18-40: Verify Angular 19 migration
Ensure the following breaking changes have been addressed:

  • Default standalone components/directives/pipes vs NgModules
  • Removed “this.” from template bindings
  • Signals/effect timing changes (update affected tests)
  • Server bootstrap API update (bootstrapApplication signature & getPlatform()/destroyPlatform())
  • TypeScript version meets new minimum for Angular 19
  • API rename: ExperimentalPendingTasks → PendingTasks

18-18: No action needed: @amin-karimi/ng2-tooltip-directive API is compatible
The new package still exports TooltipModule and TooltipDirective with the same selectors, inputs and usage patterns as before, and your existing import (TooltipModule) aligns with its README.

editor/src/styles/_background-gallery-editor.scss (1)

1-11: LGTM! Clean migration to Sass module system.

The introduction of @use "variables" and the namespace-prefixed variable reference (variables.$grey-10) align with modern Sass best practices and are consistent with the broader refactoring effort across the project.

editor/src/styles/_drag-drop.scss (1)

1-4: LGTM! Consistent variable namespace migration.

The Sass module import and namespaced variable reference are correctly applied and consistent with the project-wide migration pattern.

editor/src/styles/_sites.scss (1)

1-13: LGTM! Proper migration from @import to @use.

The transition from the deprecated @import to the modern @use directive with namespaced variable references is the correct approach for Sass module system adoption.

editor/src/styles/_account.scss (1)

1-44: LGTM! Comprehensive variable namespace migration.

All color and font-size references have been correctly migrated to use the namespaced variables.$ prefix, maintaining consistency with the project-wide Sass module adoption.

editor/src/app/sites/media/site-media.component.ts (1)

17-85: LGTM! Component declaration updated for Angular v19.

The addition of standalone: false explicitly declares the component as non-standalone, aligning with the Angular v19 upgrade and the standardization effort across the codebase. No behavioral changes introduced.

editor/src/app/sites/media/entry-gallery-editor.component.ts (1)

28-428: LGTM! Consistent component declaration update.

The standalone: false addition is consistent with the broader component standardization effort and aligns with Angular v19 requirements. No functional changes introduced.

editor/src/app/sites/media/entry-gallery.component.ts (1)

10-61: LGTM! Component standardization applied correctly.

The explicit standalone: false declaration maintains consistency with the other media components and supports the Angular v19 migration strategy.

editor/src/styles/_shop.scss (1)

1-218: LGTM! Thorough Sass module migration.

All variable references throughout the file have been systematically migrated to use the variables.$ namespace, including colors, font sizes, and borders. The migration is complete and consistent with the project-wide refactoring effort.

Comment thread editor/package.json
Comment thread editor/src/app/inputs/action-button.component.ts Outdated
Comment thread editor/src/app/inputs/long-text-input.component.ts Outdated
Comment thread editor/src/app/sites/media/entry-gallery-image-editor.component.ts
@uldisrudzitis uldisrudzitis merged commit 5738988 into master Oct 6, 2025
3 checks passed
@coderabbitai coderabbitai bot mentioned this pull request Nov 1, 2025
@coderabbitai coderabbitai bot mentioned this pull request Mar 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file Enhancement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant