16 Commits

Author SHA1 Message Date
Pandipipas 02a108f983 refactor: architecture base
- Moved NodeCG context management to a dedicated context module.
- Introduced message handling utilities for better message listening and sending.
- Updated startgg integration to use new message handling methods.
- Removed deprecated replicant utilities and replaced them with a new structure.
- Refactored replicant imports in graphics components to align with new structure.
- Added new pack-related types and schemas for better type safety.
- Cleaned up unused files and consolidated pack configuration into a single module.
- Updated TypeScript configurations to reflect new directory structure.
2026-05-23 21:52:07 +02:00
Pandipipas 91a8ce730c Migrate project setup to Node 24 runtime.
Update Node and TypeScript toolchain references, CI node version, lockfile resolution, and include current workspace/runtime files for consistency.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-08 19:11:27 +02:00
Pandipipas 7a5c1ec637 Migrate package management from npm to pnpm.
Standardize local and CI workflows on pnpm 11.0.8, replace npm commands in docs/config, and swap lockfiles for reproducible installs.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-08 18:46:55 +02:00
Pandipipas ca467f37f9 Prepare 2XKO overlay for local Shapiro fonts without binaries 2026-02-20 20:19:11 +01:00
Pandipipas c4cfa178ff Translate ScoreboardPanel game label to English 2026-02-17 14:08:57 +01:00
Pandipipas 16bcc95521 Rebrand project references and reset version to 0.1.0 2026-02-14 23:18:31 +01:00
Pandipipas 61c97ffe5a Rename dashboard panel from example to scoreko-dev 2026-02-14 15:29:54 +01:00
Pandipipas 1f35d7fd02 Remove example graphic bundle 2026-02-14 15:25:19 +01:00
Pandipipas 3ee36c03df Add commentary panel and Tekken-inspired OBS overlay 2026-02-12 00:13:18 +01:00
Pandipipas 547f9ab95f Add country dropdown and flags (#28)
* Add country dropdown and flags

* Fix build for country flags

* Improve country select filtering and scoreboard teams

* Fix country select display value

* Fix country select input display
2026-02-09 22:42:00 +01:00
Pandipipas 2a83c9a0df Add loading dashboard panel (#23) 2026-02-09 01:20:25 +01:00
Pandipipas 5dbb80aa0c Update example graphic configuration to enable fullbleed mode 2026-02-08 17:01:22 +01:00
Pandipipas b4a110fd1e Add Pinia persistence and scoreboard support (#15)
* Add scoreboard replicant and Pinia persistence

* Fix scoreboard replicant sync (#16)
2026-02-08 17:00:31 +01:00
Pandipipas e0323cca3f Align bundle name with folder (#12) 2026-02-08 13:18:17 +01:00
Pandipipas ae4eef53de Add routed dashboard layout with sidebar
### Motivation
- Provide a multi-tab dashboard layout so users can navigate between logical sections (Dashboard, Players, Graphics, Settings, About) via a persistent sidebar.
- Integrate `vue-router` to manage in-app navigation inside the Quasar layout for a cleaner, scalable dashboard structure.

### Description
- Added `vue-router` as a dev dependency and created `src/dashboard/example/router.ts` with routes for the five views (`/`, `/players`, `/graphics`, `/settings`, `/about`).
- Replaced the example dashboard UI with a Quasar `QLayout` in `src/dashboard/example/main.vue` that includes a left `QDrawer` sidebar and a `RouterView` outlet, and wired the app to the router in `src/dashboard/example/main.ts`.
- Added simple stub views for each tab under `src/dashboard/example/views/` (`Dashboard.vue`, `Players.vue`, `Graphics.vue`, `Settings.vue`, `About.vue`).
- Adjusted `src/dashboard/template.html` to remove the default NodeCG body margin (`margin: 0`) so the layout can occupy the full panel area.

### Testing
- Ran `npm install` which completed and added the new package with audit warnings about vulnerabilities reported. (succeeded)
- Started the dev server with `npx vite` which reported the inputs and served the bundle at `http://localhost:4173/bundles/scoreko-dev/` and `vue-tsc` reported `Found 0 errors` while watching. (succeeded)
- Attempted a Playwright screenshot run to capture the dashboard UI, but the Chromium process crashed (`TargetClosedError` / SIGSEGV) so no screenshot was produced. (failed)

------
[Codex Task](https://chatgpt.com/codex/tasks/task_e_69876e97329c832a8af7179a9175d88b)
2026-02-07 18:09:06 +01:00
Pandipipas 6955d2588f Initial commit 2026-02-07 14:43:43 +01:00