LoVisual/frontend
loki5512344 904c724c9f
feat(frontend): breakable grass block on the 404 page
Implements the last unbuilt easter egg (PLAN Task 11 #5, TODO «Пасхалки» #5): the
404 used to show static ASCII art; now a grass block drops into a dusk world,
cracks over three clicks, then bursts into square debris and respawns. Keyboard
accessible (a real button), and under prefers-reduced-motion the fall and burst
are skipped while the crack stages still work. Replaces the NOT_FOUND_ART pane;
i18n adds notFound.blockAria/blockHint (ru+en).
2026-09-28 13:51:00 +02:00
..
public chore(history): squash 59 commit(s) from 2026-09-23 2026-09-23 22:38:08 +02:00
scripts chore(history): squash 67 commit(s) from 2026-09-25 2026-09-25 20:22:13 +02:00
src feat(frontend): breakable grass block on the 404 page 2026-09-28 13:51:00 +02:00
.env.example chore(history): squash 67 commit(s) from 2026-09-25 2026-09-25 20:22:13 +02:00
.gitignore test(frontend): lock the style invariants a QA pass keeps re-finding 2026-09-28 13:27:15 +02:00
.oxlintrc.json chore(history): squash 59 commit(s) from 2026-09-23 2026-09-23 22:38:08 +02:00
ARCHITECTURE.md refactor(frontend): bring shared/ui and pages/public under the 4-file rule 2026-09-28 13:21:18 +02:00
bun.lock chore(history): squash 67 commit(s) from 2026-09-25 2026-09-25 20:22:13 +02:00
index.html chore(history): squash 16 commit(s) from 2026-09-26 2026-09-26 15:26:37 +02:00
package.json chore(history): squash 67 commit(s) from 2026-09-25 2026-09-25 20:22:13 +02:00
PLAN.md chore(history): squash 67 commit(s) from 2026-09-25 2026-09-25 20:22:13 +02:00
README.md chore(history): squash 59 commit(s) from 2026-09-23 2026-09-23 22:38:08 +02:00
tsconfig.app.json test(frontend): lock the style invariants a QA pass keeps re-finding 2026-09-28 13:27:15 +02:00
tsconfig.json test(frontend): lock the style invariants a QA pass keeps re-finding 2026-09-28 13:27:15 +02:00
tsconfig.node.json chore(history): squash 67 commit(s) from 2026-09-25 2026-09-25 20:22:13 +02:00
tsconfig.test.json test(frontend): lock the style invariants a QA pass keeps re-finding 2026-09-28 13:27:15 +02:00
vite.config.ts chore(history): squash 67 commit(s) from 2026-09-25 2026-09-25 20:22:13 +02:00

React + TypeScript + Vite

This template provides a minimal setup to get React working in Vite with HMR and some Oxlint rules.

Currently, two official plugins are available:

React Compiler

The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see this documentation.

Expanding the Oxlint configuration

If you are developing a production application, we recommend enabling type-aware lint rules by installing oxlint-tsgolint and editing .oxlintrc.json:

{
  "$schema": "./node_modules/oxlint/configuration_schema.json",
  "plugins": ["react", "typescript", "oxc"],
  "options": {
    "typeAware": true
  },
  "rules": {
    "react/rules-of-hooks": "error",
    "react/only-export-components": ["warn", { "allowConstantExport": true }]
  }
}

See the Oxlint rules documentation for the full list of rules and categories.