A tool to help Granblue Fantasy players create and share teams and strategies.
Find a file
Justin Edmund 65f5521c74 fix: use swap API endpoints for drag-and-drop rearrangement
The handleSwap function was calling move methods (moveWeapon,
moveCharacter, moveSummon) which validate that target positions are
empty. This caused 422 errors when dragging items to swap positions.

Switch to using swap methods (swapWeapons, swapCharacters, swapSummons)
which perform atomic swaps in a transaction and bypass position
validation, allowing items to correctly swap positions.

Also remove unreachable throw statement after return.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 02:22:03 -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 fix: use swap API endpoints for drag-and-drop rearrangement 2025-11-29 02:22:03 -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
CLEANUP_PLAN.md fix: type errors and cleanup for svelte-main branch 2025-11-28 20:08:10 +00: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 add tanstack query with infinite scroll support 2025-11-28 11:00:57 -08:00
pnpm-lock.yaml add tanstack query with infinite scroll support 2025-11-28 11:00:57 -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
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.