A tool to help Granblue Fantasy players create and share teams and strategies.
Find a file
Justin Edmund 3b6fb6fe04 feat: add missing translation keys for modals
- Add summon modal messages for remove confirmation
- Add weapon modal messages for remove confirmation
- Update translation variable format from {{var}} to {var} for next-intl
- Add version formatting keys for updates

🤖 Generated with Claude Code
https://claude.ai/code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-02 19:53:56 -07:00
.storybook
.vscode Break collection pages into hooks (#414) 2024-04-21 00:46:04 -07:00
app Fix Party component interface and remove incompatible head components 2025-09-02 02:20:21 -07:00
components refactor: migrate all components from next-i18next to next-intl 2025-09-02 19:48:04 -07:00
data
extensions
hooks Further GridRep and Collection fixes (#417) 2024-04-23 05:11:23 -07:00
i18n feat: setup next-intl for App Router i18n support 2025-09-02 19:46:42 -07:00
pages Remove conflicting Pages Router files and fix App Router setup 2025-09-01 16:24:09 -07:00
prd Fix Party component interface and remove incompatible head components 2025-09-02 02:20:21 -07:00
public feat: add missing translation keys for modals 2025-09-02 19:53:56 -07:00
styles Fix intermittent crash: bounded caching + HTTP timeouts/keepAlive + preview route dedupe (#428) 2025-08-31 12:16:42 -07:00
supervisord Fix intermittent crash: bounded caching + HTTP timeouts/keepAlive + preview route dedupe (#428) 2025-08-31 12:16:42 -07:00
types Fix Party component interface and remove incompatible head components 2025-09-02 02:20:21 -07:00
utils Migrate auth components to App Router navigation 2025-09-01 16:24:49 -07:00
.aidigestignore Jedmund/image embeds 2 (#424) 2025-02-09 22:54:15 -08:00
.env.local Fix Party component interface and remove unstable_cache 2025-09-01 19:06:22 -07:00
.env.sample
.eslintrc.json
.gitignore Jedmund/image embeds 2 (#424) 2025-02-09 22:54:15 -08:00
.prettierignore
.prettierrc
CLAUDE.md Fix intermittent crash: bounded caching + HTTP timeouts/keepAlive + preview route dedupe (#428) 2025-08-31 12:16:42 -07:00
i18n.config.ts feat: setup next-intl for App Router i18n support 2025-09-02 19:46:42 -07:00
middleware.ts fix: exclude API routes from i18n middleware processing 2025-09-02 19:47:20 -07:00
mise.toml Fix intermittent crash: bounded caching + HTTP timeouts/keepAlive + preview route dedupe (#428) 2025-08-31 12:16:42 -07:00
next-env.d.ts Fix Party component interface and remove unstable_cache 2025-09-01 19:06:22 -07:00
next-i18next.config.js
next.config.js feat: setup next-intl for App Router i18n support 2025-09-02 19:46:42 -07:00
package-lock.json feat: setup next-intl for App Router i18n support 2025-09-02 19:46:42 -07:00
package.json feat: setup next-intl for App Router i18n support 2025-09-02 19:46:42 -07:00
README.md
README.png
tsconfig.json Fix intermittent crash: bounded caching + HTTP timeouts/keepAlive + preview route dedupe (#428) 2025-08-31 12:16:42 -07:00
tslint.json

Header image for hensei-web

hensei-web

hensei-web is the frontend for granblue.team, an app for saving and sharing teams for Granblue Fantasy.

Getting Started

First, you have to set up your environment file. You should start with .env.sample, but here are some gotchas:

App URLs

Don't add a trailing slash to these URLs! The API will run on port 3000 by default, but make sure to change these to match your instance of the API.

NEXT_PUBLIC_SIERO_API_URL='http://127.0.0.1:3000/api/v1'
NEXT_PUBLIC_SIERO_OAUTH_URL='http://127.0.0.1:3000/oauth'

Asset URLs

Next.js serves all assets out of the /public directory. In development we utilize this for all assets, but in production, you will want to host these images on a cloud storage provider like Amazon S3. Once you have that set up and you're running in a production environment, change this to the full bucket URL.

NEXT_PUBLIC_SIERO_IMG_URL='/images'

Dependencies

Once your .env is all set up, install all dependencies:

npm install
# or
yarn install

Then, run the development server with:

npm run dev
# or
yarn dev

Assets

The hensei-api repository has tasks that will help you get assets, although some were crafted or renamed by hand. The front-end expects this folder structure inside of the images folder:

root
├─ accessory-grid/
├─ accessory-square/
├─ awakening/
├─ ax/
├─ character-main/
├─ character-grid/
├─ character-square/
├─ guidebooks/
├─ jobs/
├─ job-icons/
├─ job-portraits/
├─ job-skills/
├─ labels/
├─ mastery/
├─ placeholders/
├─ raids/
├─ summon-main/
├─ summon-grid/
├─ summon-square/
├─ updates/
├─ weapon-main/
├─ weapon-grid/
├─ weapon-keys/
├─ weapon-square/