Commit Graph

21 Commits

Author SHA1 Message Date
6a6fe467e1 fix API routing: remove /api prefix in Express routes
Uberspace web backend removes /api prefix before forwarding to Express,
so routes must not include /api. Changed from app.all('/api/*') to
app.all('/*').

/health route is defined first, so it takes precedence.

Fixes 404 errors when calling Steam API from production.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-06 21:50:51 +01:00
c2f819bdf9 remove Worker URL field from Steam settings
Removed Cloudflare Worker URL input field and info text from
SettingsDetailPage. Backend URL is now configured via environment
variable VITE_API_URL, not in UI.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-06 21:41:42 +01:00
c48878b86c remove all Cloudflare Workers references and cleanup
Removed:
- workers/ directory (Cloudflare Worker scripts)
- public/workers/ (Worker scripts in public)
- Cloudflare setup documentation
- workerUrl from Database and ConfigService interfaces
- Outdated documentation files (ARCHITECTURE, IMPLEMENTATION-SUMMARY, QUICK-START)
- IOS-WEB-STRATEGY.md

Updated:
- README.md - now focuses on Uberspace deployment only
- ConfigService.getApiUrl() - removed workerUrl parameter
- SettingsDetailPage - removed config.workerUrl usage
- Database.DbConfig - removed workerUrl and cloudflare fields

The app now uses only Uberspace for both frontend and backend.
No more multi-deployment complexity.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-06 21:34:38 +01:00
86da0feb1b add .htaccess for SPA routing support
Fix 404 errors on page refresh by redirecting all non-file/non-API
requests to index.html for client-side routing.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-06 21:30:49 +01:00
576c171a98 clean up: remove GitHub Pages & Cloudflare Workers, deploy to Uberspace
All-in-one Uberspace deployment:
- Backend: Node.js Express on port 3000 (/api/*)
- Frontend: Static files served by Apache (/)
- URL: https://wtp.uber.space

Removed:
- GitHub Actions workflow
- Cloudflare Worker setup service
- CloudflareSetupPage component
- CloudflareService
- 404.html (GitHub Pages redirect)
- Cloudflare menu item from Settings

Simplified:
- Use VITE_BASE_PATH and VITE_API_URL for config
- Single deployment target (no multi-env complexity)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-06 21:24:42 +01:00
0fe09f01f8 add simple Uberspace deployment option (simpler than Cloudflare)
Instead of the complex Cloudflare Worker setup with CORS proxy,
you can now deploy both PWA and backend on Uberspace (~5€/month).

Changes:
- Add Express.js backend server (server/index.js)
- Update ConfigService to support VITE_API_URL env variable
- Make base path configurable via VITE_BASE_PATH
- Add comprehensive Uberspace deployment guide
- Add .env.production.example for configuration

Deployment options:
1. Uberspace (recommended): Simple, all-in-one hosting
2. GitHub Pages + Cloudflare Workers: Free but complex setup

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-06 20:50:56 +01:00
985c61ed74 add Cloudflare Setup Service to bypass CORS restrictions
The Cloudflare API blocks direct browser requests due to CORS.
This setup service acts as a proxy, allowing browser-based
worker deployment.

Changes:
- Create cf-setup-service.js worker for CORS proxy
- Update CloudflareService to use setup service API
- Add deployment instructions in workers/README.md
- Improve token creation guide with Zone field explanation

Next steps:
1. Deploy setup service: npx wrangler deploy workers/cf-setup-service.js --name whattoplay-setup
2. Update CF_SETUP_SERVICE_URL in CloudflareService.ts with your URL
3. Commit and push

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-06 20:44:53 +01:00
493072c3ff improve Cloudflare API token creation instructions
Added detailed 7-step guide with specific button locations and
actions to make the token creation process clearer for users.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-06 20:12:56 +01:00
bbaf629907 fix Cloudflare setup route matching by wrapping routes in Switch
The specific route /settings/cloudflare was being matched by the dynamic
route /settings/:serviceId despite being defined first. IonRouterOutlet
doesn't always respect route ordering for exact matches. Wrapping routes
in Switch ensures the specific route is matched before the dynamic one.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-06 19:59:24 +01:00
ceabfa4848 add automatic Cloudflare Worker deployment via in-app wizard 2026-02-06 19:25:14 +01:00
247410226d add cloudflare worker for Steam API proxy 2026-02-06 18:30:26 +01:00
2dc91ef111 fix routing, add PWA support for standalone mode 2026-02-06 18:05:20 +01:00
e78dbf0007 add GitHub Pages deployment pipeline 2026-02-06 18:05:13 +01:00
030de7bfbe add some assets 2026-02-06 16:53:07 +01:00
adf3d13ab0 add tinder view 2026-02-06 15:36:56 +01:00
34732fdceb start using claude code 2026-02-05 23:28:42 +01:00
27af351695 add lazy loading for library 2026-02-05 13:23:46 +01:00
83ffd6212e add working settings for steam 2026-02-05 12:06:25 +01:00
380f010a7e add sort button 2026-02-05 08:51:44 +01:00
2c5b241c34 add skeleton for settings, add page for tutorial 2026-02-04 20:19:26 +01:00
18d09a0e9f add skeleton that reads offline steam data 2026-02-04 19:33:15 +01:00