refactor(composables): migrate stores →
composables, align with updated API
- Replace deleted Pinia stores with
module-level singleton composables
(useAuth, useChat, useFeed, useUi) — all
return reactive({...}) so
Refs auto-unwrap in both templates and
script code
- Align entire codebase with new
swagger-generated api.ts types:
· TagDto.value (was .name) — FeedCard,
FeedFilters, ProfileEditor,
ProfileSetupView, MyProfileView,
ProfileDetailView, useUi
· MediaItemDto[] / .path (was mediaUrls[],
avatarUrl) — FeedCard,
FeedView, MyProfileView,
ProfileDetailView
· ChatDto.status 'active'|'closed' (was
isActive: boolean) —
ChatRoomView, ChatsListView
· MessageDto.profileId (was senderId) —
ChatRoomView, ChatBubble
· MeResponseDto → fetchMe now calls /me +
/profiles/my in parallel
· Token refresh: res.data.data.accessToken
(nested wrapper) —
router/index.ts aligned with client.ts
interceptor
- Fix FeedCard, ChatBubble imports pointing
to deleted store files
- Fix ProfileSetupView form type to avoid
string|undefined on v-model
- Fix history.back() → window.history.back()
via goBack() helper
- Fix chat.unreadCount possibly-undefined
guard in ChatsListView
- Fix MapPicker Leaflet icon cast (as unknown
as Record<string, unknown>)
This commit is contained in:
28
README.md
28
README.md
@@ -4,21 +4,21 @@ Vue 3 + Vite + Tauri v2. Работает как PWA в браузере и ка
|
||||
|
||||
## Стек
|
||||
|
||||
| Слой | Технология |
|
||||
|---|---|
|
||||
| UI framework | Vue 3 (Composition API, `<script setup>`) |
|
||||
| Build tool | Vite 6 |
|
||||
| Desktop shell | Tauri v2 |
|
||||
| State management | Pinia |
|
||||
| Routing | Vue Router 4 |
|
||||
| Слой | Технология |
|
||||
|---|-------------------------------------------------|
|
||||
| UI framework | Vue 3 (Composition API, `<script setup>`) |
|
||||
| Build tool | Vite 6 |
|
||||
| Desktop shell | Tauri v2 |
|
||||
| State management | Composables | |
|
||||
| Routing | Vue Router 4 |
|
||||
| HTTP client | Axios (сгенерированный клиент `src/api/api.ts`) |
|
||||
| Форм-валидация | Vuelidate |
|
||||
| Анимации | GSAP 3 |
|
||||
| Карты | Leaflet |
|
||||
| Утилиты | VueUse |
|
||||
| CSS | SCSS + Tailwind v4 (reset-only) |
|
||||
| Package manager | pnpm |
|
||||
| TypeScript | строгий режим, `no any` |
|
||||
| Форм-валидация | Vuelidate |
|
||||
| Анимации | GSAP 3 |
|
||||
| Карты | Leaflet |
|
||||
| Утилиты | VueUse |
|
||||
| CSS | SCSS + Tailwind v4 (reset-only) |
|
||||
| Package manager | pnpm |
|
||||
| TypeScript | строгий режим, `no any` |
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user