Skip to content

fix(admin): create-playtest form validation + layout UX - #9

Merged
anggorodewanto merged 1 commit into
AccelByte:mainfrom
wahyuwidharto:fix/create-playtest-form-ux
Jul 15, 2026
Merged

anggorodewanto merged 1 commit into
AccelByte:mainfrom
wahyuwidharto:fix/create-playtest-form-ux

Conversation

@wahyuwidharto

Copy link
Copy Markdown
Contributor

Six fixes to the Create/Edit Playtest form:

  • Pin the step actions bar to the bottom on all steps (flex column + margin-top:auto) so it no longer floats up on the shorter steps 2/3.
  • Add client-side slug format validation (^[a-z0-9][a-z0-9-]{2,63}$, onChange) so a malformed slug is caught inline instead of round-tripping to the backend.
  • Validate banner image URL onBlur (a URL is invalid mid-type).
  • Move the submit-error Alert banner above the Card/stepper and give it showIcon (error icon + color).
  • Make auto-approve limit mandatory when Auto-Approve is on: required asterisk + short "Must be between 1 and 100000" message on empty (out-of-bounds keeps the byte-exact server message).
  • Make initial code quantity mandatory for AGS Campaign: required asterisk + inline "Must be between 1 and 50000", blocking Next instead of falling through to the server-side banner.

Adds tests for the empty auto-approve-limit and required initial-code- quantity cases. admin vitest (113) + eslint green.

Six fixes to the Create/Edit Playtest form:

- Pin the step actions bar to the bottom on all steps (flex column +
  margin-top:auto) so it no longer floats up on the shorter steps 2/3.
- Add client-side slug format validation (^[a-z0-9][a-z0-9-]{2,63}$,
  onChange) so a malformed slug is caught inline instead of round-tripping
  to the backend.
- Validate banner image URL onBlur (a URL is invalid mid-type).
- Move the submit-error Alert banner above the Card/stepper and give it
  showIcon (error icon + color).
- Make auto-approve limit mandatory when Auto-Approve is on: required
  asterisk + short "Must be between 1 and 100000" message on empty
  (out-of-bounds keeps the byte-exact server message).
- Make initial code quantity mandatory for AGS Campaign: required
  asterisk + inline "Must be between 1 and 50000", blocking Next instead
  of falling through to the server-side banner.

Adds tests for the empty auto-approve-limit and required initial-code-
quantity cases. admin vitest (113) + eslint green.
@anggorodewanto
anggorodewanto merged commit 6d77953 into AccelByte:main Jul 15, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants