fix(ui): fit quest board dialogs on screen
Release / release (push) Successful in 2m23s
CI / build (push) Successful in 1m7s

This commit is contained in:
dmg
2026-09-05 08:52:28 -04:00
parent 719cd49609
commit 2624c2bc02
8 changed files with 528 additions and 92 deletions
+7
View File
@@ -76,3 +76,10 @@ description: Chronological record of material decisions affecting Spigot Quest B
- Added persistent `/questadmin commands enable|disable` control with permission-aware autocomplete and failure-safe updates.
- Kept administrative board creation available independently of the player-command setting.
- Verified 82 tests and the plugin JAR with `./gradlew clean check jar`.
## 2026-09-05 — Screen-fitting quest-board dialogs
- Replaced the clipped 800-pixel combined board screen with a compact 420-pixel dashboard.
- Split browsing, creation, and claims into dedicated native dialog screens with Back navigation.
- Presented active quests as individual detail dialogs while retaining completion and issuer cancellation actions.
- Verified 88 tests, including a 250-quest navigation case, and the plugin JAR with `./gradlew clean check jar`.
+2
View File
@@ -14,3 +14,5 @@ description: Catalog of user stories for the Spigot Quest Board plugin.
6. [US-006: Cancel an owned quest](us-006-cancel-an-owned-quest.md)
7. [US-007: Expire quests and claim held items](us-007-expire-quests-and-claim-held-items.md)
8. [US-008: Control player quest commands](us-008-control-player-quest-commands.md)
9. [US-009: Use a screen-fitting quest-board interface](us-009-use-a-screen-fitting-quest-board-interface.md)
10. [US-010: Generate a physical quest-board structure](us-010-generate-a-physical-quest-board.md)
@@ -0,0 +1,30 @@
---
type: User Story
title: "US-009: Use a screen-fitting quest-board interface"
description: Split the oversized quest-board dialog into compact navigable screens that fit the player's display.
status: done
---
# US-009: Use a screen-fitting quest-board interface
As a **player**, I want the quest-board interface to fit on screen so that I can read quest information and reach every action.
## Acceptance criteria
- [x] The oversized combined dialog is replaced by a compact dashboard.
- [x] Dialog message bodies use a maximum width of 420 pixels.
- [x] Browsing, quest creation, and pending claims use dedicated screens rather than one combined body.
- [x] Active quests are presented as individual navigable entries instead of one unbounded text listing.
- [x] Each quest detail shows its issuer, requested material and quantity, reward, and time remaining.
- [x] Completion, issuer-only cancellation, creation, and claim collection remain available through the board.
- [x] Nested screens provide Back controls that return toward the quest-board dashboard.
- [x] Large active-quest collections remain navigable without producing an unbounded single dialog.
- [x] Automated tests verify width limits, screen separation, navigation, displayed content, and action routing.
## Related
- [US-002: Create and use shared quest boards](us-002-create-and-use-shared-quest-boards.md)
- [US-003: Create a block-delivery quest](us-003-create-a-block-delivery-quest.md)
- [US-004: Browse available quests](us-004-browse-available-quests.md)
- [US-005: Deliver blocks and complete a quest](us-005-deliver-blocks-and-complete-a-quest.md)
- [US-007: Expire quests and claim held items](us-007-expire-quests-and-claim-held-items.md)
@@ -0,0 +1,29 @@
---
type: User Story
title: "US-010: Generate a physical quest-board structure"
description: Let an administrator generate and register a decorative oak quest board at a targeted ground anchor.
status: backlog
---
# US-010: Generate a physical quest-board structure
As an **administrator**, I want quest-board creation to optionally construct a recognizable physical board so that I do not need to build each board manually.
## Acceptance criteria
- [ ] `/questadmin createboard physical` generates and registers a physical quest board while the existing `/questadmin createboard` behavior remains unchanged.
- [ ] The targeted block is treated as the ground anchor and remains unchanged.
- [ ] The generated board faces the administrator and is five blocks wide and four blocks tall.
- [ ] The outer columns use oak-log pillars and the center uses oak planks.
- [ ] Oak wall signs on the front display decorative obfuscated or gibberish text.
- [ ] Clicking generated visible planks or signs opens the same globally shared quest-board interface.
- [ ] Generation requires empty space and refuses to overwrite an existing structure.
- [ ] Structure generation and interaction-location registration form one failure-safe transaction; failure restores changed blocks and registers nothing.
- [ ] Generated interaction locations persist across restarts and remain compatible with existing registered boards.
- [ ] The `physical` argument is offered through permission-aware command autocomplete.
- [ ] Automated tests verify geometry, facing direction, obstruction handling, rollback, registration, persistence, and autocomplete.
## Related
- [US-002: Create and use shared quest boards](us-002-create-and-use-shared-quest-boards.md)
- [US-009: Use a screen-fitting quest-board interface](us-009-use-a-screen-fitting-quest-board-interface.md)