✨ feat(src/composables/useFeed.ts): добавляет поддержку бесконечной прокрутки для ленты новостей
✨ feat(package.json): добавляет скрипт для генерации спрайта и обновляет зависимости 🔧 refactor(src/composables/useChat.ts): упрощает логику управления чатом, убирает устаревшие функции 🔧 refactor(src/views/chat/ChatRoomView.vue): обновляет логику загрузки сообщений с использованием новых хуков 🔧 refactor(src/views/matches/MatchesView.vue): улучшает обработку совпадений с использованием новых хуков ✨ feat(src/App.vue): добавляет загрузку справочных данных с использованием Vue Query ✨ feat(src/main.ts): интегрирует Vue Query в приложение для управления состоянием запросов ✨ feat(src/views/profile/MyProfileView.vue): добавляет мутацию для удаления профиля с использованием Vue Query 🔧 refactor(src/components/layout/BottomNav.vue): заменяет компонент иконки на более универсальный компонент AppIcon
This commit is contained in:
20
src/main.ts
20
src/main.ts
@@ -1,10 +1,30 @@
|
||||
import { createApp } from 'vue'
|
||||
import { VueQueryPlugin } from '@tanstack/vue-query'
|
||||
import App from './App.vue'
|
||||
import { router } from './router'
|
||||
import '@/styles/tailwind.css'
|
||||
import '@/styles/main.scss'
|
||||
import sprite from '@/assets/icons/sprite.svg?raw'
|
||||
|
||||
// Inject SVG sprite into DOM once so <use href="#icon-*"> works everywhere
|
||||
const spriteContainer = document.createElement('div')
|
||||
spriteContainer.style.cssText = 'display:none;position:absolute;width:0;height:0'
|
||||
spriteContainer.setAttribute('aria-hidden', 'true')
|
||||
spriteContainer.innerHTML = sprite
|
||||
document.body.prepend(spriteContainer)
|
||||
|
||||
const app = createApp(App)
|
||||
|
||||
app.use(router)
|
||||
app.use(VueQueryPlugin, {
|
||||
queryClientConfig: {
|
||||
defaultOptions: {
|
||||
queries: {
|
||||
staleTime: 1000 * 60,
|
||||
retry: 1,
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
app.mount('#app')
|
||||
|
||||
Reference in New Issue
Block a user