Skip to content

Admin dense UI animations - #17

Merged
laithanhhung merged 4 commits into
devfrom
admin-dense-ui-animations
Jul 20, 2026
Merged

Admin dense UI animations#17
laithanhhung merged 4 commits into
devfrom
admin-dense-ui-animations

Conversation

@laithanhhung

@laithanhhung laithanhhung commented Jul 20, 2026

Copy link
Copy Markdown
Member

Summary by CodeRabbit

  • New Features

    • Added interactive map-based location selection with search, draggable markers, and latitude/longitude fields.
    • Added branch creation directly from the branch picker.
    • Added configurable language display with flag-based selection.
    • Added dark/light mode switching and smoother theme transitions.
    • Added route transition animations with reduced-motion support.
  • Bug Fixes

    • Improved splash-screen interaction and scrolling behavior during loading.
    • Improved admin error messages with clearer server-provided details.
  • Improvements

    • Enhanced hub management with manager selection, coordinate display, validation, and improved search.
    • Updated admin layouts, buttons, colors, labels, and responsive dialog behavior.
    • Added English and Vietnamese translations for new controls and validation messages.

laithanhhung and others added 4 commits July 18, 2026 03:20
Swap primary → accent across admin dashboard, users, restaurants,
catalog, and shared CRUD screens for a consistent admin accent.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ions

- Switch admin console to Fuse dense layout; FreshFlow footer on dense
- Language switcher: flags in the dropdown, flag-only trigger in admin,
  tooltips on branch / language / currency; remove active-item highlight
- Add dark/light scheme toggle to the admin header
- Header icon color + size system: green for labelled lead icons,
  neutral for standalone action buttons; unified icon/caret scale
- Brighten the storefront "Danh mục" button on hover
- Splash screen: block tooltips and lock scrolling (html + body) until
  the splash is fully gone; inline critical styles to avoid first-paint
  scrollbar flash
- Shared route-transition animation via fuseRouteAnimation directive
  (fade + rise + subtle scale + blur clear), gated to run after splash
- Cross-fade the whole page when switching color scheme
- Branch picker: auto-open when no address is selected (after splash),
  empty state, and a "Tạo cửa hàng" create form

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… sizes

- User-detail actions now show the backend error message (e.g. a 422
  ProblemDetails) instead of a generic toast, via a shared apiErrorMessage
  helper that reads the ResponseError body.
- Market assignments are gated to market_agent users only (PRD M3), so the
  UI no longer lets admins trigger a guaranteed 422 for other roles.
- Cap market-products page size at 100 to stop the server 400 on oversized
  page requests.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
… layout

Hub management
- Manager field is now a dropdown of hub_staff users (was a raw UUID input);
  the list shows the manager's email instead of the id.
- Client-side validation: required capacity (> 0), name/address length caps.
- Goong.io location picker: place-search autocomplete + interactive map with a
  draggable marker + manual lat/long inputs, kept in two-way sync. The map SDK
  is lazy-loaded from a CDN and degrades gracefully when keys are absent.
- Extend the shared CRUD field system with a 'location' field type plus
  maxLength/min validators and mat-error messages.

Goong keys are read from environment.*; committed files ship blank values,
real keys live in the gitignored environment.local.ts (run npm run start:local)
or are injected at deploy time.

Layout
- Standardize the CRUD page on the users-management look (filter row, table,
  header) and drop the earlier sticky-header/count experiments.
- Dialogs fit the viewport (maxHeight 90vh) and scroll vertically with the
  scrollbar hidden via a shared .no-scrollbar utility.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@kody-ai

kody-ai Bot commented Jul 20, 2026

Copy link
Copy Markdown

Code Review Could Not Complete ⚠️

The review failed before suggestions could be generated.

Reason: The configured API key (google_gemini) is out of credits or has hit its billing limit. Top up the account or adjust the plan.

After fixing the issue, comment @kody review on this PR to re-run the review.

Kody Guide: Usage and Configuration
Interacting with Kody
  • Request a Review: Ask Kody to review your PR manually by adding a comment with the @kody start-review command at the root of your PR.

  • Validate Business Logic: Ask Kody to validate your code against business rules by adding a comment with the @kody -v business-logic command.

  • Provide Feedback: Help Kody learn and improve by reacting to its comments with a 👍 for helpful suggestions or a 👎 if improvements are needed.

Current Kody Configuration
Review Options

The following review options are enabled or disabled:

Options Enabled
Bug
Performance
Security
Business Logic

Access your configuration settings here.

@laithanhhung
laithanhhung merged commit c96725d into dev Jul 20, 2026
1 of 3 checks passed
@coderabbitai

coderabbitai Bot commented Jul 20, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 3ab49b6f-8bf6-4030-9513-6b246113cb78

📥 Commits

Reviewing files that changed from the base of the PR and between 052e645 and 03bb201.

📒 Files selected for processing (39)
  • public/i18n/en.json
  • public/i18n/vi.json
  • public/styles/splash-screen.css
  • src/app/app.component.ts
  • src/app/app.routes.ts
  • src/app/core/animations/route-animation.directive.ts
  • src/app/core/maps/goong-map.service.ts
  • src/app/core/maps/goong.types.ts
  • src/app/core/maps/location-picker.component.ts
  • src/app/core/splash/wait-for-splash.ts
  • src/app/layout/common/branch-picker/branch-picker.component.html
  • src/app/layout/common/branch-picker/branch-picker.component.ts
  • src/app/layout/common/languages/languages.component.html
  • src/app/layout/common/languages/languages.component.ts
  • src/app/layout/layouts/empty/empty.component.html
  • src/app/layout/layouts/empty/empty.component.ts
  • src/app/layout/layouts/horizontal/enterprise/enterprise.component.html
  • src/app/layout/layouts/horizontal/enterprise/enterprise.component.ts
  • src/app/layout/layouts/vertical/dense/dense.component.html
  • src/app/layout/layouts/vertical/dense/dense.component.ts
  • src/app/modules/admin/admin.service.ts
  • src/app/modules/admin/catalog/catalog-admin.service.ts
  • src/app/modules/admin/catalog/market-products.component.html
  • src/app/modules/admin/dashboard.component.html
  • src/app/modules/admin/logistics/hubs.component.ts
  • src/app/modules/admin/logistics/logistics-admin.service.ts
  • src/app/modules/admin/restaurants/restaurants-admin.component.html
  • src/app/modules/admin/shared/resource-crud.component.html
  • src/app/modules/admin/shared/resource-crud.component.ts
  • src/app/modules/admin/shared/resource-crud.types.ts
  • src/app/modules/admin/users/user-detail.component.html
  • src/app/modules/admin/users/user-detail.component.ts
  • src/app/modules/admin/users/users-list.component.html
  • src/app/modules/admin/users/users-list.component.ts
  • src/environments/environment.development.ts
  • src/environments/environment.production.ts
  • src/environments/environment.ts
  • src/index.html
  • src/styles/styles.scss

📝 Walkthrough

Walkthrough

The pull request adds Goong-backed location selection and dynamic admin CRUD support, introduces theme and route transitions, improves splash behavior, expands branch and language controls, and updates admin workflows, styling, validation, and translations.

Changes

Application UX

Layer / File(s) Summary
Theme, splash, and route transitions
src/app/..., src/styles/styles.scss, public/styles/splash-screen.css, src/index.html
Theme changes animate with reduced-motion handling; route outlets support enter transitions; splash interaction and scrolling remain locked until completion.
Branch and language controls
src/app/layout/common/..., public/i18n/*.json
Branch creation, filtering, and splash-aware opening are added; language triggers support translated tooltips and flag appearances.

Admin and maps

Layer / File(s) Summary
Map-enabled CRUD fields
src/app/core/maps/*, src/app/modules/admin/shared/*, src/app/modules/admin/logistics/*, src/environments/*
Goong maps, autocomplete, draggable markers, coordinate fields, validation metadata, and hub manager options are integrated into CRUD forms.
Admin feedback and workflow updates
src/app/modules/admin/users/*, src/app/modules/admin/catalog/*, src/app/modules/admin/*, public/i18n/*.json
API error messages are surfaced, market assignments are restricted by role, pagination changes, and admin controls use updated accent styling.

Estimated code review effort: 4 (Complex) | ~45 minutes

Possibly related PRs

Sequence Diagram(s)

sequenceDiagram
  participant Admin
  participant ResourceCrudComponent
  participant LocationPickerComponent
  participant GoongMapService
  participant GoongAPI
  Admin->>ResourceCrudComponent: Open hub form
  ResourceCrudComponent->>LocationPickerComponent: Bind latitude and longitude controls
  LocationPickerComponent->>GoongMapService: Search or initialize map
  GoongMapService->>GoongAPI: Request autocomplete or place details
  GoongAPI-->>GoongMapService: Return suggestions or coordinates
  GoongMapService-->>LocationPickerComponent: Return location data
  LocationPickerComponent->>ResourceCrudComponent: Update coordinate controls
  ResourceCrudComponent-->>Admin: Render and submit hub coordinates
Loading

Poem

A rabbit hops through maps so bright,
Finds coordinates just right.
Branches bloom and flags now gleam,
Themes softly fade from dark to dream.
Admin forms grow wise and neat—
FreshFlow dances on quick feet!

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch admin-dense-ui-animations

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

ESLint install timed out. The project may have too many dependencies for the sandbox.


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.

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.

1 participant