A tool to help Granblue Fantasy players create and share teams and strategies.
Find a file
Justin Edmund 6d0257df26 feat: complete service layer removal and TanStack Query migration
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>
2025-11-29 04:32:12 -08:00
.storybook Init Svelte migration repo 2025-09-08 13:43:09 -07:00
.vscode Add project configuration files 2025-09-15 04:12:26 -07:00
docs add perpetuity ring toggle and fix grid api response handling 2025-09-25 01:08:25 -07:00
messages add context menu ui components and i18n 2025-09-30 03:42:14 -07:00
project.inlang Add project configuration files 2025-09-15 04:12:26 -07:00
src feat: complete service layer removal and TanStack Query migration 2025-11-29 04:32:12 -08:00
static Init Svelte migration repo 2025-09-08 13:43:09 -07:00
.gitignore Low-risk cleanup: unused imports, gitignore, auth types, test routes (#439) 2025-11-28 11:21:24 -08:00
.mcp.json Add project configuration files 2025-09-15 04:12:26 -07:00
.npmrc Init Svelte migration repo 2025-09-08 13:43:09 -07:00
.prettierignore Init Svelte migration repo 2025-09-08 13:43:09 -07:00
.prettierrc Update config files 2025-09-09 00:27:09 -07:00
CLAUDE.md remove barrel files and update imports 2025-09-29 23:37:37 -07:00
eslint.config.js Update config files 2025-09-09 00:27:09 -07:00
NEXT_SESSION_PROMPT.md docs: update NEXT_SESSION_PROMPT.md with current progress (161 errors remaining) 2025-11-28 21:25:11 +00:00
package.json feat: add TanStack Query devtools for development 2025-11-29 03:44:59 -08:00
pnpm-lock.yaml feat: add TanStack Query devtools for development 2025-11-29 03:44:59 -08:00
README.md Init Svelte migration repo 2025-09-08 13:43:09 -07:00
svelte.config.js fix: type errors in svelte-main branch (219 -> 191 errors) 2025-11-28 21:06:05 +00:00
TANSTACK_QUERY_MIGRATION_CONTINUATION.md feat: migrate components to TanStack Query v6 (Phase 2) (#442) 2025-11-29 01:11:24 -08:00
tsconfig.json refactor: remove exactOptionalPropertyTypes and fix import casing 2025-11-28 19:19:32 -08:00
TYPESCRIPT_IMPROVEMENTS.md refactor: consolidate Awakening type definition 2025-11-28 21:48:21 -08:00
vite.config.ts fix scss imports with modern compiler api 2025-09-16 01:35:05 -07:00
vitest-setup-client.ts Init Svelte migration repo 2025-09-08 13:43:09 -07:00
vitest.config.adapter.ts feat: implement base adapter with retry logic and caching 2025-09-19 23:03:36 -07:00

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.