A tool to help Granblue Fantasy players create and share teams and strategies.
This commit completes the migration from the service layer architecture to TanStack Query v6, removing all service files and replacing them with mutations, utilities, and direct adapter calls. Changes: - Added swap mutations (useSwapWeapons, useSwapCharacters, useSwapSummons) to grid.mutations.ts for drag-and-drop operations - Replaced all PartyService method calls in Party.svelte with TanStack Query mutations (update, delete, remix, favorite, unfavorite) - Replaced all GridService calls with create/update/delete mutations - Created utility functions for cross-cutting concerns: * localId.ts: Manages anonymous user local ID (replaces PartyService.getLocalId) * editKeys.ts: Manages edit keys for anonymous editing (replaces PartyService edit key methods) - Extracted PartyContext type to types/party-context.ts for reuse - Updated grid components (WeaponGrid, CharacterGrid, SummonGrid) to import PartyContext from new types file - Migrated teams/new page to use getLocalId utility - Removed all service layer files: * party.service.ts (620 lines) * grid.service.ts (450 lines) * conflict.service.ts (120 lines) * gridOperations.ts (unused utility) - Deleted empty services directory Benefits: - Zero service layer code remaining - All data operations use TanStack Query for automatic caching and invalidation - Better type safety with direct adapter usage - Simplified architecture with clear separation of concerns - Reduced bundle size by ~1200 lines of service layer code 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> |
||
|---|---|---|
| .storybook | ||
| .vscode | ||
| docs | ||
| messages | ||
| project.inlang | ||
| src | ||
| static | ||
| .gitignore | ||
| .mcp.json | ||
| .npmrc | ||
| .prettierignore | ||
| .prettierrc | ||
| CLAUDE.md | ||
| eslint.config.js | ||
| NEXT_SESSION_PROMPT.md | ||
| package.json | ||
| pnpm-lock.yaml | ||
| README.md | ||
| svelte.config.js | ||
| TANSTACK_QUERY_MIGRATION_CONTINUATION.md | ||
| tsconfig.json | ||
| TYPESCRIPT_IMPROVEMENTS.md | ||
| vite.config.ts | ||
| vitest-setup-client.ts | ||
| vitest.config.adapter.ts | ||
sv
Everything you need to build a Svelte project, powered by sv.
Creating a project
If you're seeing this, you've probably already done this step. Congrats!
# create a new project in the current directory
npx sv create
# create a new project in my-app
npx sv create my-app
Developing
Once you've created a project and installed dependencies with npm install (or pnpm install or yarn), start a development server:
npm run dev
# or start the server and open the app in a new browser tab
npm run dev -- --open
Building
To create a production version of your app:
npm run build
You can preview the production build with npm run preview.
To deploy your app, you may need to install an adapter for your target environment.