feat: Add UI layout popups for all DCSS ui-push types - #9
Open
willthehuman wants to merge 7 commits into
Open
Conversation
Implement specific UI popup handlers for 12 ui-push message types that previously fell through to a generic text fallback. Each popup type now has its own widget with proper DCSS color text parsing, scrollable content, and server key forwarding. New popup types: describe-item, describe-monster, describe-spell, describe-god, describe-feature-wide, describe-generic, describe-cards, formatted-scroller, progress-bar, seed-selection, msgwin-get-line, and newgame-random-combo. Infrastructure includes shared PopupScaffold, PopupTheme, and DcssHtmlText widgets for consistent dark DCSS aesthetic across all popups. GameState gains UiPopupState to store raw ui-push payloads for type-specific rendering. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
🚀 PWA Preview deployed! 📱 URL: https://willthehuman.github.io/dcss-mobile/pr-9/
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
ui-pushlayout types that previously fell through to a generic plain-text fallbackdescribe-item,describe-monster,describe-spell,describe-god,describe-feature-wide,describe-generic,describe-cards,formatted-scroller,progress-bar,seed-selection,msgwin-get-line,newgame-random-comboPopupScaffold(dark modal container with dismiss handling),PopupTheme(consistent DCSS dark aesthetic),DcssHtmlText(DCSS color tag text rendering)GameStategainsUiPopupStateto store rawui-pushpayloads for type-specific widget rendering, replacing the old_uiPushToTxtPayloadconversion for these typesui-popdismissalTxtOverlayfor game-over/version) is preservedTest plan
vthen select item) — verifydescribe-itempopup shows with colored text and action buttonsxthen navigate to monster) — verifydescribe-monsterpopup with description and statusIto list spells, select one) — verifydescribe-spellpopup^for religion screen) — verifydescribe-godpopup with powers/favour/wrath sectionsdescribe-feature-widepopup?for help screens — verifyformatted-scrollerpopup renders scrollable help textseed-selectionpopup with text inputnewgame-random-combopopup with accept/rejectui-pop🤖 Generated with Claude Code