d811efc394
feat: complete Phase 3 - Domain Modeling & Data Layer
...
Implements comprehensive type system, runtime validation, API client,
and testing infrastructure for CS2.WTF.
TypeScript Interfaces (src/lib/types/):
- Match.ts: Match, MatchPlayer, MatchListItem types
- Player.ts: Player, PlayerMeta, PlayerProfile types
- RoundStats.ts: Round economy and performance data
- Weapon.ts: Weapon statistics with hit groups (HitGroup, WeaponType enums)
- Message.ts: Chat messages with filtering support
- api.ts: API responses, errors, and APIException class
- Complete type safety with strict null checks
Zod Schemas (src/lib/schemas/):
- Runtime validation for all data models
- Schema parsers with safe/unsafe variants
- Special handling for backend typo (looses → losses)
- Share code validation regex
- CS2-specific validations (rank 0-30000, MR12 rounds)
API Client (src/lib/api/):
- client.ts: Axios-based HTTP client with error handling
- Request cancellation support (AbortController)
- Automatic retry logic for transient failures
- Timeout handling (10s default)
- Typed APIException errors
- players.ts: Player endpoints (profile, meta, track/untrack, search)
- matches.ts: Match endpoints (parse, details, weapons, rounds, chat, search)
- Zod validation on all API responses
MSW Mock Handlers (src/mocks/):
- fixtures.ts: Comprehensive mock data for testing
- handlers/players.ts: Mock player API endpoints
- handlers/matches.ts: Mock match API endpoints
- browser.ts: Browser MSW worker for development
- server.ts: Node MSW server for Vitest tests
- Realistic responses with delays and pagination
- Safe integer IDs to avoid precision loss
Configuration:
- .env.example: Complete environment variable documentation
- src/vite-env.d.ts: Vite environment type definitions
- All strict TypeScript checks passing (0 errors, 0 warnings)
Features:
- Cancellable requests for search (prevent race conditions)
- Data normalization (backend typo handling)
- Comprehensive error types (NetworkError, Timeout, etc.)
- Share code parsing and validation
- Pagination support for players and matches
- Mock data for offline development and testing
Build Status: ✓ Production build successful
Type Check: ✓ 0 errors, 0 warnings
Lint: ✓ All checks passed
Phase 3 Completion: 100%
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-11-04 20:31:20 +01:00
66aea51c39
docs: mark Phase 1 and Phase 2 as complete in TODO
...
Phase 1 (Technical Foundations) - 100% complete:
- Node.js 20+ with .nvmrc, package manager locked to npm
- SvelteKit 2.0 + Svelte 5 with all dependencies installed
- TypeScript strict mode configured
- Tailwind CSS + DaisyUI with CS2 themes
- Complete dev tooling: ESLint, Prettier, Husky, Stylelint
- Vitest and Playwright test frameworks configured
- Vite with path aliases and optimizations
- Woodpecker CI pipeline updated
Phase 2 (Design System) - 100% complete:
- Comprehensive design documentation (docs/DESIGN.md)
- CS2-inspired DaisyUI themes (cs2dark, cs2light)
- Responsive layout guidelines and motion specs
- Core UI components implemented (Button, Badge, Card, Header, Footer)
- Accessibility guidelines documented and enforced
Now starting Phase 3: Domain Modeling & Data Layer
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-11-04 20:11:39 +01:00
153c0e9f13
feat: implement CS2-inspired design system and UI components
...
This commit delivers a comprehensive design system and component library
inspired by Counter-Strike 2's tactical aesthetic.
Design System:
- Created docs/DESIGN.md with complete design language documentation
- CS2-inspired color palette: T-side orange (#d4a74a), CT-side blue (#5e98d9)
- Dark-first approach with tactical, data-dense layouts
- Typography scale, spacing system, and animation guidelines
Component Library:
- Button component: 4 variants (primary, secondary, ghost, danger), 3 sizes
- Badge component: 7 variants including team-specific badges
- Card component: 3 variants (default, elevated, interactive)
- Header component: Responsive navigation with mobile menu
- Footer component: Site-wide footer with organized link sections
Pages:
- Redesigned homepage with hero section, featured matches, features grid, CTA
- Created placeholder pages: /matches, /players, /about
- All pages follow CS2 aesthetic with proper component usage
Technical Fixes:
- Fixed Svelte 5 snippet syntax errors (removed incorrect render prop pattern)
- Fixed Card component accessibility (conditional button/div rendering)
- Removed invalid CSS border-border class from app.css
- Ensured zero TypeScript errors and warnings
Build Status: ✓ Verified with 0 errors, 0 warnings
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-11-04 20:07:05 +01:00
288438a953
feat: complete Phase 1 - Technical Foundations for CS2.WTF rewrite
...
Initialize SvelteKit project with complete modern web development stack:
## Core Framework
- SvelteKit 2.0 with Svelte 5 and TypeScript strict mode
- Vite 5 for blazing fast dev server and builds
- Node.js 20 standardized via .nvmrc
## Styling & Theming
- Tailwind CSS 3.4 with utility-first approach
- DaisyUI 4.0 with custom CS2 themes (cs2dark/cs2light)
- CS2-branded color palette (T-side orange, CT-side blue)
- PostCSS for CSS processing
## Code Quality & Tooling
- ESLint 8 with TypeScript + Svelte plugins
- Prettier 3 with Svelte + Tailwind plugins
- Stylelint 16 for CSS linting
- Husky 9 + lint-staged for pre-commit hooks
- TypeScript 5.3 with all strict flags enabled
## Testing Infrastructure
- Vitest 1.0 for unit/component tests with jsdom
- Playwright 1.40 for E2E tests (3 browsers)
- Testing Library for component testing
- MSW 2.0 for API mocking
- Coverage thresholds set to 80%
## Project Structure
- Organized src/ with lib/, routes/, mocks/, tests/
- Component directories: layout, ui, charts, match, player
- Path aliases configured: $lib, $components, $stores, $types, $api
- Separate test directories: unit, integration, e2e
## CI/CD & Deployment
- Updated Woodpecker CI pipeline with quality gates
- Pipeline steps: install → lint → type-check → test → build
- Deploy targets: master (prod), dev (staging), cs2-port (preview)
## Documentation
- Comprehensive README.md with setup guide
- API.md with complete backend documentation (12 endpoints)
- TODO.md updated with Phase 0 & 1 completion
- Environment variables template (.env.example)
## Development Experience
- Hot module reloading configured
- Dev server running on port 5173
- All npm scripts defined for dev, test, build workflows
- Pre-commit hooks prevent broken code commits
Project is now ready for feature development (Phase 2+).
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-11-04 19:54:35 +01:00
0404188d4d
Document CSGOWTFD backend API and update domain modeling plans
...
Reflect backend audit findings in TODO.md:
- 12 REST endpoints documented for player, match, matches, and sitemap
- Data models aligned with backend schemas (Match, Player, MatchPlayer,
etc.)
- CS2 compatibility confirmed with Premier rating support (0-30000)
Add comprehensive API documentation covering:
- Endpoint specifications and response structures
- Integration guide with TypeScript examples
- Error handling and caching strategies
- CS2 migration notes for rank system and MR12 changes
2025-11-04 19:32:08 +01:00
366bfbeb54
Update TODO with detailed rewrite plan and CS2 specifics
2025-11-04 19:25:15 +01:00
be89c68f89
Add TODO document for CS2.WTF rewrite
2025-11-04 18:35:57 +01:00
9ab7ee91ea
refactor!: Clear out legacy code for rewrite.
2025-11-04 18:35:46 +01:00
408ee9df1e
switched to woodpecker
ci/someci/push/woodpecker Pipeline was successful
2023-03-15 18:31:57 +01:00
36fbe8a685
updated source links
CSGOWTF/csgowtf/pipeline/pr-master This commit looks good
CSGOWTF/csgowtf/pipeline/head This commit looks good
2023-03-01 21:55:06 +01:00
110586942d
updated yarn & deps
CSGOWTF/csgowtf/pipeline/head This commit looks good
2023-03-01 21:49:45 +01:00
515de7f747
updated deps
CSGOWTF/csgowtf/pipeline/pr-master This commit looks good
CSGOWTF/csgowtf/pipeline/head This commit looks good
1.0.9
2022-12-07 07:14:08 +01:00
2a541196a4
switched to cookieless tracking
CSGOWTF/csgowtf/pipeline/head This commit looks good
2022-12-07 06:50:03 +01:00
78da0877c7
cleanup anubis logo
CSGOWTF/csgowtf/pipeline/pr-master Build queued...
CSGOWTF/csgowtf/pipeline/head This commit looks good
2022-11-24 20:29:12 +01:00
0739d3bf7b
fixed OpenSans Variable usage in other pages
CSGOWTF/csgowtf/pipeline/pr-master This commit looks good
CSGOWTF/csgowtf/pipeline/head This commit looks good
2022-11-22 17:14:09 +01:00
5279267c8e
fixed variable font not displaying correctly
CSGOWTF/csgowtf/pipeline/pr-master This commit looks good
CSGOWTF/csgowtf/pipeline/head This commit looks good
2022-11-19 16:17:56 +01:00
b3dc4c3d73
new map icons
CSGOWTF/csgowtf/pipeline/pr-master This commit looks good
CSGOWTF/csgowtf/pipeline/head This commit looks good
2022-11-19 02:54:22 +01:00
f65fc0a0ea
fixed fonts; fixed relative url paths
CSGOWTF/csgowtf/pipeline/pr-master This commit looks good
CSGOWTF/csgowtf/pipeline/head This commit looks good
2022-11-14 01:28:57 +01:00
befc14d894
updated core-js
2022-11-14 01:27:49 +01:00
e33614862e
updated deps
CSGOWTF/csgowtf/pipeline/pr-master This commit looks good
CSGOWTF/csgowtf/pipeline/head This commit looks good
2022-11-06 00:23:05 +01:00
3ca1dfe310
Version 1.0.8 ( #72 )
...
CSGOWTF/csgowtf/pipeline/head This commit looks good
Reviewed-on: https://git.harting.dev/CSGOWTF/csgowtf/pulls/72
2022-08-17 12:44:15 +02:00
2b188b089c
added discard old builds
CSGOWTF/csgowtf/pipeline/pr-master Build queued...
CSGOWTF/csgowtf/pipeline/head This commit looks good
2022-06-23 00:28:48 +02:00
0ccb76345e
added new map screenshots
CSGOWTF/csgowtf/pipeline/pr-master This commit looks good
CSGOWTF/csgowtf/pipeline/head This commit looks good
1.0.7
2022-02-22 12:22:38 +01:00
33c11dd391
version 1.0.7
CSGOWTF/csgowtf/pipeline/head This commit looks good
CSGOWTF/csgowtf/pipeline/pr-master This commit looks good
2022-02-22 12:06:16 +01:00
420f4b141e
new map icons
CSGOWTF/csgowtf/pipeline/head This commit looks good
2022-02-22 12:05:30 +01:00
9c7834f443
set expiredate for cookies to infinity
CSGOWTF/csgowtf/pipeline/head This commit looks good
2022-02-21 05:29:42 +01:00
800e45fe96
updated readme and added new badges
2022-02-21 05:23:13 +01:00
3963f6decf
fixed #69
CSGOWTF/csgowtf/pipeline/head This commit looks good
2022-02-13 01:33:43 +01:00
9ff510a9f6
update to version 1.0.6 (package updates + translate function for match-chat)
CSGOWTF/csgowtf/pipeline/pr-master This commit looks good
CSGOWTF/csgowtf/pipeline/head This commit looks good
1.0.6
2022-02-12 03:35:10 +01:00
3c43788494
some minor bugfixes with the background
CSGOWTF/csgowtf/pipeline/head This commit looks good
2022-02-11 21:34:23 +01:00
8d07256c57
update to 1.0.5
CSGOWTF/csgowtf/pipeline/pr-master This commit looks good
CSGOWTF/csgowtf/pipeline/head This commit looks good
2022-02-09 03:04:47 +01:00
fb0cdf5d8e
fixed stuff on player match table
CSGOWTF/csgowtf/pipeline/head This commit looks good
2022-02-04 19:38:04 +01:00
11a30e2dba
updated meta tags
CSGOWTF/csgowtf/pipeline/head This commit looks good
2022-02-04 19:35:13 +01:00
1369660e64
fixed bug with favicons not loading
CSGOWTF/csgowtf/pipeline/head This commit looks good
2022-02-04 19:26:01 +01:00
d9e4891510
fixed #65
CSGOWTF/csgowtf/pipeline/head This commit looks good
2022-02-04 16:30:01 +01:00
e2cb8e20fa
bumped version to 1.0.4 & updated deps
CSGOWTF/csgowtf/pipeline/pr-master This commit looks good
CSGOWTF/csgowtf/pipeline/head This commit looks good
2022-02-04 15:11:58 +01:00
f64844c132
adjusted width of text on home
CSGOWTF/csgowtf/pipeline/head This commit looks good
2022-02-03 21:26:45 +01:00
79b3c9a2f7
updated info-table on home
CSGOWTF/csgowtf/pipeline/head This commit looks good
2022-02-03 20:20:18 +01:00
ceaad77b35
updated nav-brand
CSGOWTF/csgowtf/pipeline/head This commit looks good
2022-02-03 19:27:54 +01:00
979edda905
fixed bug with background image
CSGOWTF/csgowtf/pipeline/head This commit looks good
2022-02-03 18:20:31 +01:00
18f9796365
updated css
CSGOWTF/csgowtf/pipeline/head This commit looks good
2022-02-03 17:49:43 +01:00
ededd0b292
updated chat display
CSGOWTF/csgowtf/pipeline/head This commit looks good
2022-02-03 17:24:30 +01:00
100b447633
updated cheater-display on chat
CSGOWTF/csgowtf/pipeline/head This commit looks good
2022-02-03 16:59:22 +01:00
45ab9887cf
added tick_rate + condition to display chat
CSGOWTF/csgowtf/pipeline/head This commit looks good
2022-02-03 16:37:42 +01:00
4f27e8dd16
added vac icon to chat + changed chat url
CSGOWTF/csgowtf/pipeline/head This commit looks good
2022-02-03 16:15:58 +01:00
38d4b7d961
updated broken icon in chat history 4
CSGOWTF/csgowtf/pipeline/head This commit looks good
2022-02-03 15:39:05 +01:00
30f394c116
updated broken icon in chat history 3
CSGOWTF/csgowtf/pipeline/head This commit looks good
2022-02-03 15:34:48 +01:00
f26324c866
updated broken icon in chat history 2
CSGOWTF/csgowtf/pipeline/head This commit looks good
2022-02-03 15:32:56 +01:00
1c3ca5013a
updated broken icon in chat history
CSGOWTF/csgowtf/pipeline/head This commit looks good
2022-02-03 15:20:03 +01:00
d134d03fb7
fixed #41
CSGOWTF/csgowtf/pipeline/head This commit looks good
2022-02-03 15:15:14 +01:00