Skip to content

Commit 7185ed5

Browse files
committed
Continue approved creator platform implementation stack sequentially with independent validation per PR - PR_26169_003-beta-invitations-admin
1 parent 1191d44 commit 7185ed5

110 files changed

Lines changed: 14952 additions & 476 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

account/ai-credits.html

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
<!doctype html>
2+
<html lang="en">
3+
4+
<head>
5+
<meta charset="utf-8">
6+
<meta name="viewport" content="width=device-width, initial-scale=1">
7+
<title>AI Credits - Game Foundry Studio</title>
8+
<meta name="description" content="Review AI credit balances, monthly grants, credit packs, and recent AI credit usage.">
9+
<link rel="icon" href="/favicon.svg">
10+
<link rel="stylesheet" href="../assets/theme-v2/css/theme.css">
11+
</head>
12+
13+
<body>
14+
<div data-partial="header-nav"></div>
15+
<main data-ai-credits-page>
16+
<section class="page-title">
17+
<div class="container">
18+
<div class="kicker">Account</div>
19+
<h1>AI Credits</h1>
20+
<p class="lede">Review your current AI credit balance, monthly membership grant, available packs, and recent usage.</p>
21+
</div>
22+
</section>
23+
<section class="section">
24+
<div class="container account-panel">
25+
<div data-partial="account-side-nav" data-partial-replace></div>
26+
<div class="surface">
27+
<div class="surface-header">
28+
<div>
29+
<div class="kicker">AI Credits</div>
30+
<p class="status" role="status" data-ai-credits-status>Loading AI credits.</p>
31+
</div>
32+
</div>
33+
<div class="surface-body content-stack">
34+
<section class="content-stack" aria-labelledby="ai-credits-balance-title">
35+
<div>
36+
<div class="kicker">Balance</div>
37+
<h2 id="ai-credits-balance-title">Current Balance</h2>
38+
</div>
39+
<div class="content-stack" data-ai-credits-summary>
40+
<p class="status">Loading balance.</p>
41+
</div>
42+
<div data-ai-credits-breakdown></div>
43+
</section>
44+
45+
<section class="content-stack" aria-labelledby="ai-credits-grant-title">
46+
<div>
47+
<div class="kicker">Monthly Grant</div>
48+
<h2 id="ai-credits-grant-title">Membership Grant</h2>
49+
</div>
50+
<div class="content-stack" data-ai-credits-membership>
51+
<p class="status">Loading membership grant.</p>
52+
</div>
53+
</section>
54+
55+
<section class="content-stack" aria-labelledby="ai-credits-packs-title">
56+
<div>
57+
<div class="kicker">Credit Packs</div>
58+
<h2 id="ai-credits-packs-title">Available Packs</h2>
59+
</div>
60+
<div class="grid cols-3" data-ai-credits-packs>
61+
<article class="card">
62+
<div class="card-body content-stack">
63+
<div class="kicker">Loading</div>
64+
<h2>Loading packs.</h2>
65+
<p class="status">Credit pack records are loading from the service.</p>
66+
</div>
67+
</article>
68+
</div>
69+
</section>
70+
71+
<section class="content-stack" aria-labelledby="ai-credits-usage-title">
72+
<div>
73+
<div class="kicker">Usage</div>
74+
<h2 id="ai-credits-usage-title">Recent Usage</h2>
75+
</div>
76+
<div data-ai-credits-usage>
77+
<p class="status">Loading usage.</p>
78+
</div>
79+
</section>
80+
</div>
81+
</div>
82+
</div>
83+
</section>
84+
</main>
85+
<div data-partial="footer"></div>
86+
<script src="../assets/theme-v2/js/gamefoundry-partials.js" defer></script>
87+
<script type="module" src="../assets/theme-v2/js/account-ai-credits.js"></script>
88+
</body>
89+
90+
</html>
91+

admin/invitations.html

Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
<!doctype html>
2+
<html lang="en">
3+
4+
<head>
5+
<meta charset="utf-8">
6+
<base href="/">
7+
<meta name="viewport" content="width=device-width, initial-scale=1">
8+
<title>Invitations - Game Foundry Studio LLC</title>
9+
<meta name="description" content="Admin Beta invitation workflow for creating, listing, revoking, and reviewing invitation status.">
10+
<link rel="icon" href="/favicon.svg">
11+
<link rel="stylesheet" href="assets/theme-v2/css/theme.css">
12+
</head>
13+
14+
<body class="meaning-molten-orange">
15+
<div data-partial="header-nav"></div>
16+
<main data-admin-only="true" data-admin-invitations data-admin-wireframe="invitations">
17+
<section class="page-title">
18+
<div class="container">
19+
<div class="kicker">Admin</div>
20+
<h1>Invitations</h1>
21+
<p class="lede">Create and monitor invitation-only Beta access with visible status diagnostics and auditable invitation records.</p>
22+
</div>
23+
</section>
24+
<section class="section">
25+
<div class="container container--tool-wide">
26+
<div class="tool-workspace tool-workspace--wide">
27+
<aside class="tool-column tool-group-platform">
28+
<div class="tool-column-header">
29+
<h2>Admin</h2>
30+
</div>
31+
<div class="accordion-stack">
32+
<details class="vertical-accordion" open>
33+
<summary>Admin Tools</summary>
34+
<nav class="accordion-body content-stack" aria-label="Admin tool pages" data-admin-tool-menu>
35+
<a class="btn btn--compact" href="/admin/infrastructure.html">Infrastructure</a>
36+
<a class="btn btn--compact primary" aria-current="page" href="/admin/invitations.html">Invitations</a>
37+
<a class="btn btn--compact" href="/admin/operations.html">Operations</a>
38+
<a class="btn btn--compact" href="/admin/platform-settings.html">Platform Settings</a>
39+
<a class="btn btn--compact" href="/admin/system-health.html">System Health</a>
40+
<a class="btn btn--compact" href="/admin/tool-votes.html">Tool Votes</a>
41+
<a class="btn btn--compact" href="/admin/users.html">Users</a>
42+
</nav>
43+
</details>
44+
<details class="vertical-accordion" open>
45+
<summary>Create Beta Invitation</summary>
46+
<form class="accordion-body content-stack" data-admin-invitation-form>
47+
<label>Email <input type="email" autocomplete="email" required data-admin-invitation-email></label>
48+
<label>Expires <input type="datetime-local" data-admin-invitation-expires-at></label>
49+
<button class="btn btn--compact primary" type="submit">Create Invitation</button>
50+
</form>
51+
</details>
52+
</div>
53+
</aside>
54+
<div data-tool-display-mode data-asset-root="assets/theme-v2/images" data-tool-slug="admin-invitations" data-tool-icon-src="assets/theme-v2/images/image-missing.svg" data-tool-character-src="assets/theme-v2/images/image-missing.svg"></div>
55+
<section class="tool-center-panel content-stack" aria-labelledby="admin-invitations-title">
56+
<div>
57+
<div class="kicker">Beta Access</div>
58+
<h2 id="admin-invitations-title">Invitation Queue</h2>
59+
</div>
60+
<p class="status" role="status" data-admin-invitation-status>Loading Beta invitations.</p>
61+
<div class="table-wrapper">
62+
<table class="data-table" aria-label="Beta invitation records">
63+
<caption>Beta Invitations</caption>
64+
<thead>
65+
<tr>
66+
<th scope="col">Email</th>
67+
<th scope="col">Plan</th>
68+
<th scope="col">Status</th>
69+
<th scope="col">Expires</th>
70+
<th scope="col">Invited By</th>
71+
<th scope="col">Accepted By</th>
72+
<th scope="col">Code</th>
73+
<th scope="col">Action</th>
74+
</tr>
75+
</thead>
76+
<tbody data-admin-invitation-rows>
77+
<tr><td>Loading</td><td>BETA</td><td>Loading</td><td>Loading</td><td>Loading</td><td>Loading</td><td>Loading</td><td>Loading</td></tr>
78+
</tbody>
79+
</table>
80+
</div>
81+
</section>
82+
<aside class="tool-column tool-group-platform">
83+
<div class="tool-column-header">
84+
<h2>Inspector</h2>
85+
</div>
86+
<div class="accordion-stack">
87+
<details class="vertical-accordion" open>
88+
<summary>Status</summary>
89+
<div class="accordion-body content-stack">
90+
<p class="status" role="status" data-admin-invitation-summary>Beta is invitation-only and Studio-equivalent.</p>
91+
</div>
92+
</details>
93+
<details class="vertical-accordion" open>
94+
<summary>Guardrails</summary>
95+
<div class="accordion-body content-stack">
96+
<p>Invitations reference the BETA plan without storing pricing, storage limits, team limits, or AI credit limits on the invitation record.</p>
97+
<p>Accepted invitations report a membership assignment handoff for the membership assignment PR.</p>
98+
</div>
99+
</details>
100+
</div>
101+
</aside>
102+
</div>
103+
</div>
104+
</section>
105+
</main>
106+
<div data-partial="footer"></div>
107+
<script src="assets/theme-v2/js/gamefoundry-partials.js" defer></script>
108+
<script src="assets/theme-v2/js/tool-display-mode.js" defer></script>
109+
<script type="module" src="assets/theme-v2/js/admin-invitations.js"></script>
110+
</body>
111+
112+
</html>

0 commit comments

Comments
 (0)