Initialize Astro project structure and clean up legacy files\n\n- Added Astro project scaffolding and configuration:\n - .gitignore, .gitmodules, .vscode/extensions.json, .vscode/launch.json\n - astro.config.mjs, package.json, package-lock.json, tsconfig.json\n - public/favicon.svg, src/pages/index.astro\n- Added .cursor as a submodule (note: unstaged changes remain)\n- Removed legacy files from previous project setup:\n - LICENSE, TODO.md, favicon.ico, icon-192.png, icon-512.png, index.html, manifest.json, service-worker.js\n- Establishes a clean foundation for new development using Astro\n\nRefs #1

This commit is contained in:
Frank Schwenk
2025-06-05 12:05:02 +02:00
parent 79831f82f9
commit 7f6c0292cb
19 changed files with 4951 additions and 1912 deletions

1
.cursor Submodule

Submodule .cursor added at 24996c0e13

27
.gitignore vendored Normal file
View File

@@ -0,0 +1,27 @@
# build output
dist/
# generated types
.astro/
# dependencies
node_modules/
# logs
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
# environment variables
.env
.env.production
# macOS-specific files
.DS_Store
# jetbrains setting folder
.idea/
.gitea
dev/

3
.gitmodules vendored Normal file
View File

@@ -0,0 +1,3 @@
[submodule ".cursor"]
path = .cursor
url = ssh://git@gitea.schwenk.online:2222/froxxxy/cursorrules.git

4
.vscode/extensions.json vendored Normal file
View File

@@ -0,0 +1,4 @@
{
"recommendations": ["astro-build.astro-vscode"],
"unwantedRecommendations": []
}

11
.vscode/launch.json vendored Normal file
View File

@@ -0,0 +1,11 @@
{
"version": "0.2.0",
"configurations": [
{
"command": "./node_modules/.bin/astro dev",
"name": "Development server",
"request": "launch",
"type": "node-terminal"
}
]
}

24
LICENSE
View File

@@ -1,24 +0,0 @@
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The GNU General Public License is a free, copyleft license for
software and other kinds of works.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users. We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
your programs, too.
[... Full license text continues ...]
For the full license text, visit: https://www.gnu.org/licenses/gpl-3.0.txt

89
TODO.md
View File

@@ -1,89 +0,0 @@
# TODO List
## High Priority
1. Add game statistics
- Track win/loss ratio per player
- Show total games played
- Display average scores
- Show favorite game types per player
2. Implement game history
- Log score changes with timestamps
- Show who made which changes
- Allow reviewing game progression
3. Add confirmation for game completion
- Show final score summary
- Display winner announcement
- Option to undo completion
4. Improve error handling
- Validate all user inputs
- Show meaningful error messages
- Add recovery options for data issues
## Medium Priority
5. Add player profiles
- Player avatars/images
- Personal statistics
- Preferred game types
- Nickname support
6. Implement game rules
- Show rules for each game type
- Add rule validation for scoring
- Display fouls and penalties
7. Add search and filtering
- Search for specific games/players
- Filter by date ranges
- Sort by various criteria
- Advanced filtering options
8. Improve game type management
- Custom game types
- Configurable scoring rules
- Special game modes
## Lower Priority
9. Add themes and customization
- Dark/light mode toggle
- Custom color schemes
- Font size adjustments
- Layout options
10. Implement data backup
- Export to different formats
- Automatic backups
- Data recovery options
11. Add social features
- Share game results
- Player rankings
- Tournament support
- Challenge system
12. Improve accessibility
- Screen reader support
- Keyboard navigation
- High contrast mode
- Voice input support
## Nice to Have
13. Add animations and effects
- Score change animations
- Victory celebrations
- Transition effects
- Sound effects
14. Implement achievements
- Player milestones
- Special records
- Achievement badges
- Progress tracking
15. Add multi-language support
- Language selection
- Localized content
- RTL support
- Custom translations

5
astro.config.mjs Normal file
View File

@@ -0,0 +1,5 @@
// @ts-check
import { defineConfig } from 'astro/config';
// https://astro.build/config
export default defineConfig({});

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 364 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 601 B

1746
index.html

File diff suppressed because it is too large Load Diff

View File

@@ -1,22 +0,0 @@
{
"name": "BSC Score",
"short_name": "BSC Score",
"description": "Pool Scoring App für den Billard Sport Club",
"lang": "de",
"start_url": ".",
"display": "fullscreen",
"background_color": "#1a1a1a",
"theme_color": "#000000",
"icons": [
{
"src": "icon-192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "icon-512.png",
"sizes": "512x512",
"type": "image/png"
}
]
}

4856
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

14
package.json Normal file
View File

@@ -0,0 +1,14 @@
{
"name": "growing-galaxy",
"type": "module",
"version": "0.0.1",
"scripts": {
"dev": "astro dev",
"build": "astro build",
"preview": "astro preview",
"astro": "astro"
},
"dependencies": {
"astro": "^5.8.2"
}
}

9
public/favicon.svg Normal file
View File

@@ -0,0 +1,9 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 128 128">
<path d="M50.4 78.5a75.1 75.1 0 0 0-28.5 6.9l24.2-65.7c.7-2 1.9-3.2 3.4-3.2h29c1.5 0 2.7 1.2 3.4 3.2l24.2 65.7s-11.6-7-28.5-7L67 45.5c-.4-1.7-1.6-2.8-2.9-2.8-1.3 0-2.5 1.1-2.9 2.7L50.4 78.5Zm-1.1 28.2Zm-4.2-20.2c-2 6.6-.6 15.8 4.2 20.2a17.5 17.5 0 0 1 .2-.7 5.5 5.5 0 0 1 5.7-4.5c2.8.1 4.3 1.5 4.7 4.7.2 1.1.2 2.3.2 3.5v.4c0 2.7.7 5.2 2.2 7.4a13 13 0 0 0 5.7 4.9v-.3l-.2-.3c-1.8-5.6-.5-9.5 4.4-12.8l1.5-1a73 73 0 0 0 3.2-2.2 16 16 0 0 0 6.8-11.4c.3-2 .1-4-.6-6l-.8.6-1.6 1a37 37 0 0 1-22.4 2.7c-5-.7-9.7-2-13.2-6.2Z" />
<style>
path { fill: #000; }
@media (prefers-color-scheme: dark) {
path { fill: #FFF; }
}
</style>
</svg>

After

Width:  |  Height:  |  Size: 749 B

View File

@@ -1,31 +0,0 @@
const CACHE_NAME = 'bscscore-v1';
const URLS_TO_CACHE = [
'/',
'/index.html',
'/manifest.json',
'/favicon.ico',
'/icon-192.png',
'/icon-512.png'
];
self.addEventListener('install', event => {
event.waitUntil(
caches.open(CACHE_NAME).then(cache => cache.addAll(URLS_TO_CACHE))
);
});
self.addEventListener('activate', event => {
event.waitUntil(
caches.keys().then(keys =>
Promise.all(keys.filter(key => key !== CACHE_NAME).map(key => caches.delete(key)))
)
);
});
self.addEventListener('fetch', event => {
event.respondWith(
caches.match(event.request).then(response =>
response || fetch(event.request).catch(() => caches.match('/index.html'))
)
);
});

16
src/pages/index.astro Normal file
View File

@@ -0,0 +1,16 @@
---
---
<html lang="en">
<head>
<meta charset="utf-8" />
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<meta name="viewport" content="width=device-width" />
<meta name="generator" content={Astro.generator} />
<title>Astro</title>
</head>
<body>
<h1>Astro</h1>
</body>
</html>

5
tsconfig.json Normal file
View File

@@ -0,0 +1,5 @@
{
"extends": "astro/tsconfigs/strict",
"include": [".astro/types.d.ts", "**/*"],
"exclude": ["dist"]
}