♻️ refactor: optimize state management, switch to @tanstack/vue-virtual, and improve performance
- Centralize `useAgents` and `useModels` state within the Nuxt app context to prevent data leaks and improve initialization. - Migrate virtualization from `vue-virtual-scroller` to `@tanstack/vue-virtual` with new `RowVirtualizerFixed` and `RowVirtualizerDynamic` components. - Upgrade Nuxt to v4.3.1 and remove `@vue-macros/nuxt`. - Replace `big.js` with an optimized custom `lshDecimal` string manipulation logic for pricing calculations in the provider API. - Implement automatic focus redirection in `ChatInput` to capture standard keyboard input. - Refactor Sidenav and Settings components to utilize virtualization for long lists (topics, agents, models). - Enhance theme colors and mobile experience. More work to come on both of these.
This commit is contained in:
+7
-8
@@ -8,8 +8,7 @@
|
||||
"dev": "nuxt dev",
|
||||
"generate": "nuxt generate",
|
||||
"preview": "nuxt preview",
|
||||
"postinstall": "nuxt prepare",
|
||||
"knip": "knip"
|
||||
"postinstall": "nuxt prepare"
|
||||
},
|
||||
"dependencies": {
|
||||
"@ai-sdk/cerebras": "^2.0.34",
|
||||
@@ -18,15 +17,15 @@
|
||||
"@ai-sdk/openai-compatible": "^2.0.30",
|
||||
"@daveyplate/better-auth-triplit": "^0.2.2",
|
||||
"@iconify-json/mynaui": "^1.2.17",
|
||||
"@nuxt/fonts": "0.13.0",
|
||||
"@nuxt/fonts": "0.14.0",
|
||||
"@nuxt/hints": "1.0.0-alpha.5",
|
||||
"@nuxt/icon": "2.2.0",
|
||||
"@openrouter/ai-sdk-provider": "^2.2.3",
|
||||
"@sentry/nuxt": "^10.39.0",
|
||||
"@tanstack/vue-virtual": "^3.13.18",
|
||||
"@triplit/client": "^1.0.50",
|
||||
"@triplit/server": "^1.1.8",
|
||||
"@types/big.js": "^6.2.2",
|
||||
"@vue-macros/nuxt": "^3.1.2",
|
||||
"ai": "^6.0.89",
|
||||
"ai-sdk-ollama": "^3.7.1",
|
||||
"better-auth": "^1.4.18",
|
||||
@@ -34,7 +33,7 @@
|
||||
"comlink": "^4.4.2",
|
||||
"glob": "^13.0.5",
|
||||
"nanoid": "^5.1.6",
|
||||
"nuxt": "4.2.2",
|
||||
"nuxt": "^4.3.1",
|
||||
"rehype-katex": "^7.0.1",
|
||||
"remark-gfm": "^4.0.1",
|
||||
"remark-math": "^6.0.0",
|
||||
@@ -44,8 +43,7 @@
|
||||
"triplit-nuxt": "0.3.1-prerelease.5",
|
||||
"unified": "^11.0.5",
|
||||
"vue": "^3.5.28",
|
||||
"vue-router": "^4.6.4",
|
||||
"vue-virtual-scroller": "^2.0.0-beta.8",
|
||||
"vue-router": "^5.0.3",
|
||||
"zod": "^4.3.6"
|
||||
},
|
||||
"devDependencies": {
|
||||
@@ -63,6 +61,7 @@
|
||||
},
|
||||
"trustedDependencies": [
|
||||
"@parcel/watcher",
|
||||
"@sentry/cli",
|
||||
"core-js",
|
||||
"esbuild",
|
||||
"unrs-resolver"
|
||||
@@ -73,6 +72,6 @@
|
||||
},
|
||||
"overrides": {
|
||||
"@vercel/nft": "^0.27.4",
|
||||
"vite": "8.0.0-beta.0"
|
||||
"vite": "8.0.0-beta.15"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user