This commit is contained in:
lubiana 2025-07-13 12:14:06 +02:00
parent 8053481244
commit 8c27c1f664
Signed by: lubiana
SSH key fingerprint: SHA256:vW1EA0fRR3Fw+dD/sM0K+x3Il2gSry6YRYHqOeQwrfk

View file

@ -1,69 +1,37 @@
# React + TypeScript + Vite
# Rubellos Glücksspiel
This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
A fun, browser-based scratch card gambling game built with React and TypeScript.
Currently, two official plugins are available:
## Play Online
- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Babel](https://babeljs.io/) for Fast Refresh
- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh
Try it here:
[https://hannover.ccc.de/~lubiana/rubbel/](https://hannover.ccc.de/~lubiana/rubbel/)
## Expanding the ESLint configuration
## Features
If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules:
- **Scratch Card Gameplay:** Buy and scratch virtual cards to win money and
Gubble Points.
- **Tier System:** Unlock and play higher-value scratch cards as you progress.
- **Upgrades:** Spend Gubble Points in the Gubble Store to unlock powerful
upgrades (e.g., more winning numbers, auto-scratcher, bonus multipliers).
- **Play History:** Track your recent wins and card results.
- **Rescue Mechanic:** If you run out of money, the “cosmic Gubble spirits” may
give you a second chance!
- **Modern UI:** Clean, responsive interface with smooth animations.
```js
export default tseslint.config([
globalIgnores(['dist']),
{
files: ['**/*.{ts,tsx}'],
extends: [
// Other configs...
## Getting Started
// Remove tseslint.configs.recommended and replace with this
...tseslint.configs.recommendedTypeChecked,
// Alternatively, use this for stricter rules
...tseslint.configs.strictTypeChecked,
// Optionally, add this for stylistic rules
...tseslint.configs.stylisticTypeChecked,
1. Clone the repo and install dependencies:
```bash
pnpm install
```
2. Start the development server:
```bash
pnpm dev
```
3. Open your browser to `http://localhost:5173` (or as indicated in your
terminal).
// Other configs...
],
languageOptions: {
parserOptions: {
project: ['./tsconfig.node.json', './tsconfig.app.json'],
tsconfigRootDir: import.meta.dirname,
},
// other options...
},
},
])
```
## License
You can also install [eslint-plugin-react-x](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-x) and [eslint-plugin-react-dom](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-dom) for React-specific lint rules:
```js
// eslint.config.js
import reactX from 'eslint-plugin-react-x'
import reactDom from 'eslint-plugin-react-dom'
export default tseslint.config([
globalIgnores(['dist']),
{
files: ['**/*.{ts,tsx}'],
extends: [
// Other configs...
// Enable lint rules for React
reactX.configs['recommended-typescript'],
// Enable lint rules for React DOM
reactDom.configs.recommended,
],
languageOptions: {
parserOptions: {
project: ['./tsconfig.node.json', './tsconfig.app.json'],
tsconfigRootDir: import.meta.dirname,
},
// other options...
},
},
])
```
MIT