Commit Graph

209 Commits

Author SHA1 Message Date
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 5f13143586 Add players replicant schema and dashboard CRUD (#5)
* Add players replicant and dashboard CRUD

* Fix players table typing
2026-02-08 02:05:18 +01:00
Pandipipas ddb877adf5 Update dashboard sidebar accent colors
### Motivation
- Adjust the sidebar branding and selected-menu styling to match the requested visual change: insert a space between "by" and "Pandipipas" and use the accent color `#2596be` for the Pandipipas link and the sidebar selected/menu text.

### Description
- Updated `src/dashboard/example/main.vue` to insert a space between the "by" label and the Pandipipas link and set `.by-link` color to `#2596be`.
- Added `class="sidebar-drawer"` to the `QDrawer` and `active-class="sidebar-item-active"` to `QItem`, and included scoped CSS rules to color sidebar text, icons and the active menu item using `#2596be`.

### Testing
- Ran `npm install` and then `npm run watch` and observed `vue-tsc` report no type errors and Vite successfully wrote the dashboard input HTML (serve started), indicating build/type-check passed.
- Attempted an automated UI screenshot with Playwright, but Chromium crashed in this environment and the screenshot step failed.

------
[Codex Task](https://chatgpt.com/codex/tasks/task_e_6987852b9310832aa6db62a087febdf4)
2026-02-08 00:37:39 +01:00
Pandipipas efec2f45c6 Add sidebar branding header with logo and attribution
### Motivation
- Añadir branding al sidebar para mostrar el logo, el título del programa y la atribución enlazada a GitHub sin alterar la apariencia ni el comportamiento de los botones del menú.
- Mantener la arquitectura actual del dashboard y usar el asset local `image.png` ya presente en `src/dashboard/example`.

### Description
- Se modificó `src/dashboard/example/main.vue` para reemplazar el `QToolbar` del sidebar por un bloque `div.sidebar-header` que contiene la imagen del logo, el título y la atribución enlazada a `https://github.com/Pandipipas`.
- Se añadió la constante `logoUrl` usando `new URL('./image.png', import.meta.url).href` para cargar el logo desde el bundle.
- Se insertó un `QSeparator` entre el nuevo encabezado y la lista de menú existente para mantener separación visual sin cambiar los botones.
- Se añadieron estilos `scoped` para `sidebar-header`, `sidebar-logo` y las clases de la atribución para mantener apariencia y disposición consistentes.

### Testing
- Arrancado el servidor de desarrollo con `npx vite --host 0.0.0.0 --port 4173`, el servidor sirvió la entrada pero `vue-tsc` reportó errores por no resolver `vue-router` (dependencia/tipos faltantes). 
- Se ejecutó un script de Playwright para capturar una captura de pantalla del dashboard y la ejecución finalizó correctamente guardando el artefacto en `artifacts/sidebar.png`.

------
[Codex Task](https://chatgpt.com/codex/tasks/task_e_69877287b5d0832a8302b07edf1a8219)
2026-02-07 18:20:11 +01:00
Pandipipas a40e583403 Update logo image in dashboard 2026-02-07 18:19:37 +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