f563d47e8a3454ca651761d5cd464918b77d0fe3
app-select (the shared select used across every admin form) rendered the browser's native dropdown indicator - inconsistent across Chrome/Firefox/Safari and outside the icon system entirely. Hid it (appearance: none) and added a consistent chevronDown via app-icon. app-pagination used literal HTML entities (« / ») for prev/next instead of icons. Replaced with chevronLeft/chevronRight. Every native <details>/<summary> expander (7 call sites across admin product form, page editor, and the builder's widget advanced-settings panel) relied on the browser's default disclosure triangle, which again varies per browser and shares no visual relationship with the rest of the icon system. Added one global CSS rule (details > summary) that hides the native marker and draws the same Lucide chevron path used everywhere else, animated on open/close - covers all 7 without touching each template. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Marketplace Frontend
Angular marketplace frontend for the client demonstration. The app uses standalone components, signals, runtime branding/configuration, and a production build optimized for the current marketplace experience.
Features
- Responsive marketplace storefront
- Category browsing and product detail pages
- Search and shopping cart flows
- Telegram login integration
- Payment handoff through the existing backend contract
- Runtime branding and configuration loading
- PWA manifest and service worker configuration
Development
Install dependencies:
npm install
Start the local development server:
npm start
Build for production:
npm run build
The production build is written to dist/dexarmarket/.
Project Structure
src/
├── app/
│ ├── components/ # Shared storefront components
│ ├── core/ # Runtime, config, guards, providers, interceptors
│ ├── dynamic-renderer/ # Page, section, and widget rendering pipeline
│ ├── facades/ # Runtime, website, builder, and backoffice facades
│ ├── pages/ # Storefront, info, legal, cart, search, and item pages
│ ├── services/ # API, cart, auth, SEO, Telegram, and language services
│ └── widgets/ # Dynamic renderer widgets
├── assets/mock/ # Local mock configuration and catalog data
├── environments/ # Development and production environment settings
└── styles/ # Shared global styles and themes
Useful Checks
npm run build
npm run arch:check
Notes
- Authentication and payment integrations are intentionally left on their existing contracts.
- Renderer and runtime architecture should remain stable during demo preparation.
- Client-facing content should avoid placeholder names, mock labels, and temporary routes.
Description
Languages
TypeScript
71.4%
HTML
15.3%
SCSS
11.9%
Shell
1.3%
JavaScript
0.1%