This page is the real map for Creator, Admin, Owner, Pricing, User Dashboard, Supabase tables, global helpers, Theme Bridge and page-owned jobs. It explains what everything is doing before we edit Submit Video, Review Queue or group-play pages.
Creator fills the form. Poster/artwork URL is prepared first. Submission saves as pending in sb_submissions.
Admin reviews the pending row, checks the video URL, poster and metadata, then chooses approve, publish or decline.
Review Queue creates or updates the public movie row in sb_movies and marks the submission approved.
Supabase Library Editor is used for final title, poster, source, genre, age rating and channel cleanup.
Current route:
rules-clean-machine-v7-12-82-test.htmlOwns the creator group truth, rules, handoffs and restrictions.
Current route:
submit-video-clean-machine-v7-12-79-test.htmlWrites pending creator rows to sb_submissions.
Current route:
review-queue-clean-machine-v7-12-80-publish-test.htmlAdmin page that approves/declines and publishes to sb_movies.
Home, Library, Details, Player 1, Continue Watching, Watch History, Watchlist, Favourites, Likes and Accessibility read public/movie/save/progress data.
Supabase Library, Genres, Global Search and About form the public browse/info group. This group has passed.
Rules, Submit Video, Review Queue, Playlists, Channels, My Channel, Collections and Player 2 are the active creator/group-play group.
Owner pages, User Dashboard, Permissions Matrix, admin tools, audit, readiness and route scanners protect platform operation.
Pricing Matrix is the plan/feature reference. It helps explain what roles/features should unlock later, but it is not payment processing yet.
Supabase tables hold movies, profiles, channels, submissions, saves, policy documents, site pages, settings and audit/import information.
Account and role management truth lives here. It links users, roles, profile authority and future plan state.
Explains which role should see which page/tool. Owner-only by current overlay rules.
sb_profiles is the account/profile/role authority table. It should not be guessed from page buttons alone.
Owner sees owner pages, user management, platform core, brand, routes and final safety tooling.
Admin gets operational review/editor/moderation tools, not automatic owner-only platform/user control.
Creator gets submit/channel/group-play tools only where role and future plan allow it.
This is the plan/feature reference page, not a live payment processor.
Pricing should explain what features a user can eventually unlock: creator tools, channels, playlists, collections, forms, builder features and support levels.
No billing, checkout, subscription charge or payment write should be invented from the Rules page.
User Dashboard and profile authority decide what a specific account can see/use. Pricing Matrix explains the intended product plan.
Plan/permission changes should be owner/admin controlled, audited and never exposed as a public shortcut.
Future entitlement work should connect roles, plans, profiles and RLS deliberately, not with scattered page-only checks.
This map is based on the visible Supabase table list and current app behaviour. The Supabase connector was not confirmed here, so columns/RLS still need direct verification later.
Admin/owner audit history. Should record important operational actions later.
AdminApp-wide settings and platform state. Should be controlled, not edited from creator pages.
GlobalCreator/channel identity and channel records used by channel/group pages.
CreatorJoin table connecting collections to movies.
JoinCollection records for browse/group organisation.
GroupFavourite saves for users. Owned by Core Saves/Menu Counts helpers.
SavesWeb Builder/contact form submissions, not Creator video intake.
BuilderManaged genre labels. Deleting a genre label must not delete movies.
BrowseImport/migration batch records. Should stay out of public/creator pages.
ImportLiked title saves for users. Owned by Core Saves/Menu Counts helpers.
SavesPublic movie/library rows. Home, Library, Genres, Search, Details and Player 1 read this table.
PublicJoin table connecting playlists to movies.
JoinPlaylist records for creator/group-play features.
GroupPolicy/legal documents for Policy Centre and Policy Reader/Admin.
PolicyPrivate/user messaging area. Must not be exposed accidentally through public pages.
PrivateAccount/profile/role authority. Owner/admin/creator/viewer truth depends on this table.
AuthorityWeb Builder/site pages and published preview content.
BuilderCreator submission intake and review queue source. Submit Video writes here.
CreatorContinue Watching and progress records.
ProgressWatchlist saves for users. Owned by Core Saves/Menu Counts helpers.
Savessb_submissions stores pending creator submissions and review history. Creator pages must not skip the queue.
Review Queue decides approve, approve-only, publish, decline and selected channel. This is admin/owner controlled.
sb_movies is the public Library table used by Home, Library, Search, Genres, Details and Player 1.
Supabase Library Editor is the final cleanup tool after publish. It is not the creator intake page.
Creator pages must use a page rail under the header. Hero buttons are only for real current-page actions, not duplicated route links.
The page flow stays Header Shell, page rail, hero, tabs/content, Footer Shell. Do not rebuild the protected shell from a page.
The shared search helper owns header search preview and opens Global Search with ?q=. Creator pages should load the helper, not invent a new global search.
Watchlist, Favourites and Likes counts come from shared Core Saves and Menu Saves Count helpers. Creator pages should refresh them, not rewrite count logic.
Owner/admin/creator/viewer visibility must follow shared authority rules. Creator pages should not expose owner tools or admin-only actions publicly.
Use current active files. If a new file is genuinely needed, replace a proven inactive old page first. Routine memory goes into the manifest, not endless checkpoints.
Pages consume --accent, --accent2, --p, --p2, --line, --muted, --btnText and --fontScale.
Local cards, tabs and rails can have their own layout, but colours must be driven by the global theme variables.
Creator pages must not become Theme Studio. They can display the theme and refresh the projector, but they do not save global theme settings.
Font scale, contrast comfort, readable layout and player comfort must not be broken by Creator page styling.
The active rail/tab style should use linear-gradient(135deg,var(--accent),var(--accent2)).
Do not add one-off colours that fight the current theme, brand, accessibility or header/footer shell.
Each page gets to own its local job. Global helpers own cross-app jobs. This is how we avoid pages fighting each other.
sb_submissions writesb_moviesOwns platform, users, owner tools, route/brand/user-management control, final safety decisions and protected admin areas.
EverythingCan operate selected review/moderation/editor tools. Admin does not automatically own owner-only user management or platform-core pages.
OperationsCan submit and manage creator/group areas only as allowed. Creator must not get owner/admin powers by accident.
LimitedCan browse/watch/save public content and use profile/accessibility pages as allowed.
PublicShould not see owner/user-management areas. Protected direct URLs should show a clear locked page, not a crash.
LockedUse a clear title. Year in the title is useful because publish tools can infer it.
Use a public playable Mux/HLS/video URL. Do not paste private dashboard links.
Poster/artwork should create or use a public URL before submission save.
The reason/reviewer note explains why the item should be added.
New submissions start as pending.
Submit Video writes sb_submissions, not sb_movies.
New submissions wait for admin review.
QueueCreates or updates sb_movies, then marks the submission approved.
Approve without publishing only when a public row is not needed yet.
StatusUse declined when the submission should not move forward.
StopThe chosen channel should publish into the movie row metadata.
ChannelAfter publish, verify Library, Details, Player 1, poster and source URL.
VerifyNo private keys, account tokens, passwords, service role keys or dashboard-only links in creator forms.
Submit Video creates pending rows only. Review Queue is required before public Library publishing.
The working pattern separates poster URL preparation from submission save. Keep that separation unless fully retested.
Rules explains the release chain. It must not include live/index/publish/delete controls.
Pages should not rewrite Theme Projector, Header Shell, Footer Shell, Core Saves, Search Fallback, Menu Counts or access gate logic.
Creator/group-play pages must respect user ownership, role permissions, public/private fields and RLS.
Header shell loads and still shows admin/profile state.
One compact footer shell only.
Creator group rail is directly under the header.
Hero uses page actions only, not duplicate route buttons.
Submit Video, Review Queue, Pricing Matrix and User Dashboard links go to current files.
No submit, upload, approve, decline, publish, delete, migrate, schema, storage or live/index buttons appear on Rules.
Theme Bridge, global helpers, page-owned properties, account roles, pricing and Supabase table family are explained.
Header Watchlist/Favourite/Like counters still count through shared saves helper.
Creator Rules V7.12.291 auth gate test: full platform truth map + Supabase table family + account/pricing links + clean Creator rail.