Skip to content

feat(footer): add FAQ modal (@openvaibhav)#7601

Open
openvaibhav wants to merge 2 commits intomonkeytypegame:masterfrom
openvaibhav:feat/faq-modal
Open

feat(footer): add FAQ modal (@openvaibhav)#7601
openvaibhav wants to merge 2 commits intomonkeytypegame:masterfrom
openvaibhav:feat/faq-modal

Conversation

@openvaibhav
Copy link
Contributor

Description

Implements the FAQ window requested in #617.

A FAQ button has been added to the footer that opens a modal with two panels:

  • Left panel - a list of topics the user can click to navigate
  • Right panel - displays the content for the selected topic

A live search box at the top filters topics as you type.
Matching topics are shown instantly based on the title and relevant keywords.

Topics covered

  • How to type coding symbols (punctuation mode, quote mode, custom text)
  • How to restart the test quickly (Tab + Enter, Quick Restart)
  • How to change the language
  • How to change the theme
  • How to save progress (account system)
  • How the leaderboards work
  • What Blind Mode is
  • What Pace Caret is
  • What Funbox modes are
  • How to use Custom Text
    [Others can be Added Later]

Checks

  • Adding quotes?
    • Make sure to include translations for the quotes in the description (or another comment) so we can verify their content.
  • Adding a language?
    • Make sure to follow the languages documentation
    • Add language to packages/schemas/src/languages.ts
    • Add language to exactly one group in frontend/src/ts/constants/languages.ts
    • Add language json file to frontend/static/languages
  • Adding a theme?
    • Make sure to follow the themes documentation
    • Add theme to packages/schemas/src/themes.ts
    • Add theme to frontend/src/ts/constants/themes.ts
    • (optional) Add theme css file to frontend/static/themes
    • Add some screenshots of the theme, especially with different test settings (colorful, flip colors) to your pull request
  • Adding a layout?
    • Make sure to follow the layouts documentation
    • Add layout to packages/schemas/src/layouts.ts
    • Add layout json file to frontend/static/layouts
  • Adding a font?
    • Make sure to follow the fonts documentation
    • Add font file to frontend/static/webfonts
    • Add font to packages/schemas/src/fonts.ts
    • Add font to frontend/src/ts/constants/fonts.ts
  • Check if any open issues are related to this PR; if so, be sure to tag them below.
  • Make sure the PR title follows the Conventional Commits standard. (https://www.conventionalcommits.org for more info)
  • Make sure to include your GitHub username prefixed with @ inside parentheses at the end of the PR title.

Closes #617

@monkeytypegeorge monkeytypegeorge added the frontend User interface or web stuff label Mar 9, 2026
@openvaibhav openvaibhav mentioned this pull request Mar 9, 2026
@monkeytypegeorge monkeytypegeorge added the assets Languages, themes, layouts, etc. label Mar 9, 2026
@openvaibhav
Copy link
Contributor Author

Moved the hardcoded FAQ content to a static JSON file (frontend/static/faq.json). The component now fetches it using cachedFetchJson

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

assets Languages, themes, layouts, etc. frontend User interface or web stuff

Projects

None yet

Development

Successfully merging this pull request may close these issues.

tutorial

2 participants