Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

549 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

StreamSuites-Creator

Creator-facing StreamSuites surface deployed to Cloudflare Pages at https://creator.streamsuites.app.

Release State

  • README state prepared for v0.5.0-alpha.
  • Runtime-displayed version/build labels are consumed from https://admin.streamsuites.app/runtime/exports/version.json.
  • This repo is a static frontend that hydrates from authoritative runtime and Auth API services and does not own backend state.
  • Cloudflare deep-link handling now uses only valid exact route rewrites for Creator shell paths, plus a route-scoped Pages Function fallback for the same known paths, so nested Creator URLs no longer depend on invalid wildcard rewrites being honored.

Studio-first visual system

  • css/studio-first-system.css remains the final presentation layer for the Creator shell, login, login-success, 404, and all route-loaded human-facing views. css/creator-dashboard.css keeps the same muted black/steel-blue foundation used across the suite, with Creator-specific violet/plum/indigo limited to selected navigation, primary controls, and restrained highlight trim. It also supplies the roomier information hierarchy, cards, forms, tables, dialogs, route transitions, responsive treatment, and reduced-motion fallback without changing any workflow or route.
  • Tektur is used for product and top-level view identity, Geist Sans for body copy and controls, and IBM Plex Mono for statuses, timestamps, metric values, IDs, and technical metadata. The repo-local sources are assets/fonts/Tektur-VariableFont_wdth,wght.ttf, assets/fonts/Geist-{Light,Regular,Medium,SemiBold,Bold,ExtraBold}.ttf, and assets/fonts/mono/IBMPlexMono-{Light,Regular,Medium,SemiBold,Bold}.ttf.
  • The Creator sidebar brand uses the repo-local assets/logos/ssmainlogosq.webp square mark, with a stable 44px slot and left-aligned title/badge grouping in the expanded shell. Its title declares the real local Tektur family directly at weight 600 and width 96, while the 18px subheading chip uses an inner IBM Plex Mono text line for stable optical centering; the collapsed rail remains icon-only. The final stylesheet URL carries a bounded presentation revision so normal and hard reloads cannot pair the current HTML with the earlier cached title rule.
  • Font hashes match the approved read-only Public sources. Genuine Geist and IBM Plex Mono licenses remain at assets/fonts/GEISTMONOOFL.txt and assets/fonts/mono/IBMPLEXMONOOFL.txt; no genuine local Tektur license file has been found, which remains a publication blocker.
  • The overview now positions Creator as the operations companion to Browser Studio and native StudioApp. Runtime/Auth still owns sessions, destinations, integrations, alerts, automation/shared state, analytics contracts, public identity, and mutations; path, hash/query compatibility, OAuth, role gates, and fallbacks are unchanged.
  • No file was created or removed for the 2026-08 polish milestone, so the repository tree remains unchanged. Existing validation remains node --test tests/*.test.mjs; the repository has no package build step.

Scope & Authority

  • This repo is the creator-facing dashboard shell, not a backend authority.
  • Session, role, tier, public-profile policy, trigger registry, integration posture, and readiness evaluation remain runtime/Auth-owned in StreamSuites.
  • The creator UI is allowed to initiate supported account and integration workflows, but it must stay within the backend contracts that already exist.
  • Public profile and FindMeHere outcomes shown here are authoritative reflections of runtime/Auth state, not creator-local truth.

Repo-Scoped Flowchart

flowchart TD
    CreatorUser["Authenticated StreamSuites account"] --> Gate{"Creator-capable session"}
    Gate -->|yes| Shell["Creator shell and routes<br/>/overview /account /statistics /notifications /integrations/* /modules/* /triggers"]
    Gate -->|no| Lockout["Creator lockout messaging"]

    Shell --> Account["Account settings and public profile controls"]
    Shell --> Integrations["Platform integration detail pages"]
    Shell --> Triggers["Central trigger registry consumer"]
    Shell --> Stats["Statistics and creator metrics views"]
    Shell --> Notifications["Notifications and requests"]
    Shell --> Modules["Jobs and module views"]

    Account --> Profile["Canonical slug, StreamSuites visibility, FindMeHere controls, media, bio, socials"]
    Integrations --> Rumble["Rumble secret-backed linkage"]
    Integrations --> Platforms["YouTube / Twitch / Kick / Pilled status pages"]
    Triggers --> Readiness["Bot and trigger readiness summary"]
    Integrations --> Readiness
    Modules --> Readiness

    Shell --> Auth["StreamSuites runtime/Auth API<br/>creator session, profile, integrations, triggers"]
    Auth --> Runtime["StreamSuites runtime authority"]

    Profile --> Public["StreamSuites-Public"]
    Profile --> Members["StreamSuites-Members / FindMeHere"]
    Readiness -. consumer-facing state only .-> Runtime
Loading

Current Surface Model

  • Clean path-based creator routes are the primary navigation model, with Cloudflare Pages deep-link handling anchored in the root _redirects and a route-scoped functions/[[path]].js fallback for valid shell routes that would otherwise 404 on direct entry or refresh.
  • The Creator repo no longer uses *_splat -> /index.html* SPA rewrites for shell routing because Cloudflare/Wrangler treats those wildcard-to-shell rules as invalid loop candidates. Known Creator shell entry points are now enumerated explicitly in _redirects, while real misses still fall through to the branded 404.html.
  • Legacy hash-fragment and older /platforms/* compatibility remains in the client router, but canonical creator links now use path routes such as /overview, /account, /statistics, /notifications, /integrations/..., and /modules/....
  • The /account route is the authoritative creator-facing profile control surface for supported fields exposed by the public profile API.
  • The /settings route is now the creator-facing Preferences surface for moderator assignment and future community controls that remain grounded in runtime-owned contracts.
  • The /wheels route is now a real creator-owned wheel artifact manager that lists, creates, imports, edits, exports, and saves wheel artifacts only through the authoritative runtime/Auth wheel API.
  • The creator wheel manager now stays API-first and live via the runtime/Auth wheel SSE stream, so open /wheels tabs refresh saved list/editor state after create, import, and update events instead of waiting for stale mirrored exports or manual reloads.
  • The separate /leaderboards route is now the truthful creator-facing scaffold for future leaderboard artifacts, while legacy /scoreboards compatibility now resolves there instead of duplicating the wheel manager.
  • The account route now keeps integrations as a compact snapshot and link-out surface rather than the primary control center, while consuming Runtime/Auth contracts for removable manual platform aliases, assigned public identity ownership/unassignment with required Creator-side reason prompts, and owned scoped livechat XP roll-up settings.
  • A dedicated /integrations hub now acts as the full-page creator readiness surface, while per-platform routes carry the actionable setup and management workflows.
  • Creator media editing now prefers upload-from-device for avatar and cover updates while preserving manual URL inputs as secondary paths.
  • Creator account settings currently surface canonical slug editing and visibility, StreamSuites public profile visibility, FindMeHere listing controls, truthful dual share previews, reserved media fields including background image URL, bio/about, grounded public social links, and a small pointer over to Preferences for moderator/community controls.
  • Creator Preferences currently surface creator-scoped moderator assignment, moderator lookup, moderator removal, and clear scope messaging backed by the authoritative runtime/API relationship model.
  • The updated account/settings layout includes the recent typography and polish work where the current UI already reflects it.
  • Notifications, statistics, onboarding, and Discord bot install panels remain consumers of backend-owned data and permissions.

Auth and Boundaries

  • Session and auth state are runtime/Auth API owned.
  • Creator login surfaces now consume /auth/access-state and the short-lived /auth/debug/unlock bypass flow so runtime maintenance or development mode can gate new auth starts without disrupting existing valid sessions.
  • Authenticated creator access is required for dashboard surfaces.
  • Non-creator authenticated sessions are soft-locked out rather than treated as creator-authoritative.
  • No admin mutation endpoints are authored here.

Creator Accounts, Integrations, and Trigger Foundation

  • This phase keeps StreamSuites-Creator as a static consumer of runtime/Auth truth for creator account posture, platform integrations, and the first centralized trigger registry pass.
  • The account/settings route now summarizes authoritative platform linkage state instead of inventing local platform truth.
  • Dedicated platform routes consume per-platform integration detail from runtime/Auth and use safe messaging for providers that are still planned or unavailable.
  • Kick now has a runtime/Auth-owned OAuth setup and credential-management page. Creator starts OAuth, refresh/recheck, manual channel slug/URL fallback, and disconnect actions, but only runtime/Auth stores Kick credentials/tokens and Creator renders redacted readiness for channel identity, deploy-target export, scopes, token expiry, webhook URL, subscriptions, dispatch, auto-deploy, and bot session state.
  • Rumble uses a backend-owned secret save/remove flow that returns masked presence state only.
  • The triggers route now consumes the central runtime/Auth trigger registry foundation, supports creator-scoped Rumble text trigger CRUD for the first operational phase, and keeps that config authoritative in runtime/Auth.
  • The Rumble integration route now includes a creator-scoped controlled manual send surface that uses the same managed dispatch path as automatic trigger replies.

The flowchart above keeps the creator repo grounded in its current contract-consumer role. It expands the earlier foundation diagram without implying local ownership of readiness, trigger execution, or profile authority.

Cross-Repo Orientation

Repository Structure (Abridged, Accurate)

StreamSuites-Creator/
├── .gitignore
├── _redirects
├── 404.html
├── BUMP_NOTES.md
├── CNAME
├── COMMERCIAL-LICENSE-NOTICE.md
├── EULA.md
├── LICENSE
├── README.md
├── favicon.ico
├── index.html
├── changelog/
│   └── v0.5.0-CHANGELOG.md
├── scripts/
│   └── validate-pages-routing.ps1
├── login/
│   └── index.html
├── login-success/
│   └── index.html
├── functions/
│   ├── _shared/
│   │   └── auth-api-proxy.js
│   ├── auth/
│   │   └── [[path]].js
│   ├── [[path]].js
│   └── oauth/
│       └── [[path]].js
├── assets/
│   ├── css/
│   │   └── ss-profile-hovercard.css
│   ├── js/
│   │   └── ss-profile-hovercard.js
│   └── [backgrounds, fonts, icons, illustrations, logos, placeholders, including icons/wheelarrow.svg, placeholders/wheelcenterdefault.webp, icons/ui/ss-admin.svg, ss-creator.svg, ss-developer.svg, ss-public.svg]
├── css/
│   ├── base.css
│   ├── components.css
│   ├── creator-dashboard.css
│   ├── layout.css
│   ├── overrides.css
│   ├── status-widget.css
│   ├── studio-first-system.css
│   ├── theme-dark.css
│   └── updates.css
├── data/
│   ├── creators.json
│   ├── jobs.json
│   ├── platforms.json
│   └── runtime_snapshot.json
├── shared/
│   └── state/
│       ├── live_status.json
│       ├── quotas.json
│       ├── runtime_snapshot.json
│       └── discord/
│           └── runtime.json
├── js/
│   ├── account-settings.js
│   ├── app.js
│   ├── auth.js
│   ├── creator-moderators.js
│   ├── creator-stats.js
│   ├── discord-bot-integration.js
│   ├── integrations-hub.js
│   ├── jobs.js
│   ├── notifications.js
│   ├── onboarding.js
│   ├── platform-integration-detail.js
│   ├── routes.js
│   ├── settings.js
│   ├── social-platforms.js
│   ├── state.js
│   ├── triggers.js
│   ├── wheels.js
│   └── utils/
│       ├── notifications-store.js
│       ├── stats-formatting.js
│       ├── stats-svg-charts.js
│       ├── version-stamp.js
│       └── versioning.js
├── tests/
│   ├── account-social-editor.test.mjs
│   ├── auth-surface-links.test.mjs
│   ├── kick-oauth-authority.test.mjs
│   ├── notifications-authority.test.mjs
│   ├── triggers-runtime-authority.test.mjs
│   └── wheels-authority.test.mjs
└── views/
    ├── account.html
    ├── integrations.html
    ├── jobs.html
    ├── leaderboards.html
    ├── notifications.html
    ├── onboarding.html
    ├── overview.html
    ├── plans.html
    ├── settings.html
    ├── statistics.html
    ├── triggers.html
    ├── updates.html
    ├── wheels.html
    ├── modules/
    │   ├── clips.html
    │   ├── livechat.html
    │   ├── overlays.html
    │   └── polls.html
    └── platforms/
        ├── discord.html
        ├── kick.html
        ├── pilled.html
        ├── rumble.html
        ├── twitch.html
        └── youtube.html

About

Creator dashboard for StreamSuites™

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages