Files
roa2web-service-auto/.claude/rules/frontend-stores.md
Marius Mutu 1a6e9b17d2 feat: Add shared components, refactor stores, improve data-entry workflow
Shared Components:
- Add CompanySelector.vue and PeriodSelector.vue components
- Add AppHeader.vue and SlideMenu.vue layout components
- Add shared stores factories (companies.js, accountingPeriod.js)
- Add shared routes factories (companies.py, calendar.py)
- Add shared models (company.py, calendar.py)
- Add shared layout styles (header.css, navigation.css)

Data Entry App:
- Update CLAUDE.md with prod/test server documentation
- Improve nomenclature sync service with better error handling
- Update receipts router and CRUD operations
- Add company/period stores using shared factories
- Update App.vue layout with shared components
- Fix OCRUploadZone file handling

Reports App:
- Refactor stores to use shared factories
- Update App.vue to use shared layout components

Infrastructure:
- Replace start-data-entry.sh with separate dev/test scripts
- Add .claude/rules for authentication, backend patterns, etc.
- Add implementation plan for OCR receipt improvements
- Clean up old documentation files

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-15 15:00:45 +02:00

32 lines
1.0 KiB
Markdown

---
paths: {reports-app,data-entry-app}/frontend/src/stores/**/*.js
---
# Frontend Store Rules
## Factory Pattern (MANDATORY)
All stores MUST use shared factories:
```javascript
// Correct - use factory
import { createAuthStore } from '@shared/frontend/stores/auth';
export const useAuthStore = createAuthStore(apiService);
// Correct - use factory
import { createCompaniesStore } from '@shared/frontend/stores/companies';
export const useCompaniesStore = createCompaniesStore(apiService, useAuthStore);
// WRONG - custom implementation
export const useCompaniesStore = defineStore('companies', () => { ... });
```
## Available Factories
- `createAuthStore(apiService)` - Authentication state
- `createCompaniesStore(apiService, useAuthStore)` - Company selection
- `createAccountingPeriodStore(apiService, useAuthStore, useCompanyStore)` - Period selection
## LocalStorage Keys (RESERVED)
- `access_token`, `refresh_token`, `user` - Auth
- `selected_company_id` - Company selection
- `selected_period_id` - Period selection