SvelteKit UI for skins.sulej.net (frontend for osc_dev/osc-api)
  • Svelte 87.6%
  • TypeScript 10.5%
  • CSS 1%
  • JavaScript 0.5%
  • Dockerfile 0.2%
  • Other 0.2%
Find a file
Arlind-dev b56c5a448b
All checks were successful
Build and Push osc-skins-ui / Release & build osc-skins-ui (push) Successful in 35s
ci: drop redundant comments in build workflow
2026-05-18 19:57:06 +02:00
.gitea/workflows ci: drop redundant comments in build workflow 2026-05-18 19:57:06 +02:00
src fix(svelte): clear all vite-plugin-svelte build warnings 2026-05-18 19:07:22 +02:00
static Initial commit: osc-skins-ui (SvelteKit UI for skins.sulej.net) 2026-05-17 14:35:15 +02:00
.gitignore Initial commit: osc-skins-ui (SvelteKit UI for skins.sulej.net) 2026-05-17 14:35:15 +02:00
.releaserc.json ci: add beta prerelease branch with branch-aware image tagging 2026-05-18 19:55:02 +02:00
CHANGELOG.md chore(release): 1.8.2 [skip ci] 2026-05-18 17:07:46 +00:00
Dockerfile chore(deps): downgrade typescript to ^5.9.3 to match openapi-typescript peer 2026-05-18 19:11:15 +02:00
package.json chore(deps): downgrade typescript to ^5.9.3 to match openapi-typescript peer 2026-05-18 19:11:15 +02:00
README.md chore: add build workflow, sync-types script, README 2026-05-17 14:37:05 +02:00
svelte.config.js feat(security): F-6 CSP nonces + bump JSON editor height 2026-05-17 20:19:50 +02:00
tsconfig.json Initial commit: osc-skins-ui (SvelteKit UI for skins.sulej.net) 2026-05-17 14:35:15 +02:00
vite.config.ts Initial commit: osc-skins-ui (SvelteKit UI for skins.sulej.net) 2026-05-17 14:35:15 +02:00

osc-skins-ui

SvelteKit UI for skins.sulej.net. The backend lives at osc_dev/osc-api.

Stack

  • SvelteKit 2.x + Svelte 5 (runes)
  • Tailwind 4 + bits-ui
  • CodeMirror 6 (JSON editor)
  • @lucide/svelte icons
  • @sveltejs/adapter-node (SSR)

Local dev

npm install
npm run sync-types   # pull openapi.json from osc-api, regenerate src/lib/api-types.generated.ts
npm run dev          # vite dev server on :3000

npm run sync-types fetches https://git.sulej.net/osc_dev/osc-api/raw/main/openapi.json and runs openapi-typescript. Run it whenever the backend's API shape changes — the generated types replace the hand-mirrored SkinEntry / SkinsJson / CIRun etc. that used to drift in src/lib/api.ts.

Deployment

CI on push to main builds + pushes git.sulej.net/osc_dev/osc-skins-ui:latest. The server at /home/arlind/docker/oscbot/ runs docker compose pull && up -d to roll forward.

Traefik routes everything under skins.sulej.net (except /api/*) → osc-web-frontend:3000.