Skip to content

Commit 363dcae

Browse files
committed
Correct Theme V2 templates to use shared production page chrome - PR_26152_274-theme-v2-template-correction
1 parent 04b701f commit 363dcae

4 files changed

Lines changed: 275 additions & 74 deletions

File tree

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# PR_26152_274 Theme V2 Template Correction
2+
3+
## Scope
4+
5+
- Corrected `src/engine/theme/v2/templates/_tool_template_v2.html`.
6+
- Corrected `src/engine/theme/v2/templates/_page_template_v2.html`.
7+
- Removed standalone/demo-looking header and footer markup from both templates.
8+
- Rewired both templates to the shared reusable page chrome pattern.
9+
- Kept Storage Inspector, samples, and all tools untouched.
10+
11+
## Corrections
12+
13+
| Requirement | Result |
14+
|---|---|
15+
| Shared reusable page chrome | PASS: both templates use `data-partial="header-nav"` and `data-partial="footer"`. |
16+
| Existing Theme V2 header | PASS: header resolves through the shared `header-nav` partial. |
17+
| Existing Theme V2 navigation | PASS: navigation resolves through the shared `header-nav` partial. |
18+
| Existing Theme V2 footer | PASS: footer resolves through the shared `footer` partial. |
19+
| Existing Theme V2 layout | PASS: templates use `page-title`, `section`, `container`, `grid`, `page-hero`, and `tool-workspace`. |
20+
| Existing Theme V2 panels | PASS: templates use `surface`, `surface-header`, `surface-body`, `callout`, and tool panels. |
21+
| Existing Theme V2 accordions | PASS: templates use native `details.vertical-accordion` inside approved accordion stacks/groups. |
22+
| Existing Theme V2 status patterns | PASS: templates use `feedback`, `feedback-title`, `feedback-message`, `event-log`, and `event-log-entry`. |
23+
| Existing Theme V2 dialogs | PASS: templates include closed `dialog` placeholders using approved surface structure. |
24+
| Existing Theme V2 forms | PASS: templates use `form`, `field-group`, labels, inputs, selects, and `field-hint`. |
25+
| Existing Theme V2 tables | PASS: templates use `table-wrapper` and `data-table`. |
26+
27+
## Guardrails
28+
29+
- No new CSS.
30+
- No copied CSS.
31+
- No inline style attributes.
32+
- No inline script.
33+
- No inline event handlers.
34+
- No Storage Inspector rebuild.
35+
- No samples touched.
36+
- No tool rebuild started.
37+
38+
## Validation
39+
40+
- PASS: `git diff --check`
41+
- PASS: Guard scan found no inline style attributes.
42+
- PASS: Guard scan found no inline event handlers.
43+
- PASS: Guard scan found no `<style>` blocks.
44+
- PASS: Guard scan found no `assets/css/styles.css` dependency.
45+
46+
## Notes
47+
48+
- The existing external `assets/js/gamefoundry-partials.js` loader is referenced only to mount the shared reusable header/footer partials, matching production Theme V2 page chrome usage.
49+
- The shared `image-missing.svg` from PR_26152_273 remains unchanged and is used only as a Theme V2 template placeholder asset.
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# PR_26152_274 Theme V2 Template Dependency Map
2+
3+
## Shared Chrome Dependencies
4+
5+
| Dependency | Used By | Purpose | Status |
6+
|---|---|---|---|
7+
| `GameFoundryStudio/assets/partials/header-nav.html` | `_tool_template_v2.html`, `_page_template_v2.html` | Shared Theme V2 header and navigation chrome | Existing |
8+
| `GameFoundryStudio/assets/partials/footer.html` | `_tool_template_v2.html`, `_page_template_v2.html` | Shared Theme V2 footer chrome | Existing |
9+
| `GameFoundryStudio/assets/js/gamefoundry-partials.js` | `_tool_template_v2.html`, `_page_template_v2.html` | Existing shared partial loader for header/footer | Existing |
10+
11+
## Theme V2 Style Dependencies
12+
13+
| Dependency | Theme V2 ownership | Template usage |
14+
|---|---|---|
15+
| `GameFoundryStudio/assets/css/theme/v2/theme.css` | Theme V2 aggregate | Single stylesheet reference for both templates |
16+
| `layout.css` | Layout, page title, sections, grids, page hero, tool workspace | Page and tool layout |
17+
| `panels.css` | Surfaces, callouts, cards, panel bodies | Content sections and tool output surfaces |
18+
| `accordion.css` | Native accordion stack/group styling | Left/right tool panels and page details |
19+
| `status.css` | Feedback cards and event logs | Validation/status placeholders |
20+
| `dialogs.css` | Dialog ownership surface | Closed dialog placeholders |
21+
| `forms.css` | Form rows, labels, inputs, selects, hints | Tool setup and page detail forms |
22+
| `tables.css` | Table wrapper and data table styling | Metadata/output summaries |
23+
| `buttons.css` | Primary and secondary actions | Template action links/buttons |
24+
| `colors.css` | Semantic/body meaning and group color classes | Tool grouping and accent classes |
25+
| `typography.css` | Kicker, headings, lede, body copy | Page and tool copy structure |
26+
27+
## Asset Dependencies
28+
29+
| Dependency | Used By | Purpose | Status |
30+
|---|---|---|---|
31+
| `GameFoundryStudio/assets/images/favicon.svg` | Both templates | Existing site favicon | Existing |
32+
| `src/engine/theme/v2/assets/image-missing.svg` | Both templates | Shared Theme V2 template placeholder | Existing from PR_26152_273 |
33+
34+
## Explicit Non-Dependencies
35+
36+
- No `assets/css/styles.css`.
37+
- No page-local CSS.
38+
- No copied CSS.
39+
- No inline script.
40+
- No inline style.
41+
- No inline event handlers.
42+
- No Storage Inspector files.
43+
- No sample files.
44+
45+
## Validation
46+
47+
- PASS: `git diff --check`
48+
- PASS: Dependency review confirms templates use shared chrome plus existing Theme V2 classes.

src/engine/theme/v2/templates/_page_template_v2.html

Lines changed: 95 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -3,71 +3,129 @@
33

44
<head>
55
<meta charset="utf-8">
6+
<base href="../../../../../GameFoundryStudio/">
67
<meta name="viewport" content="width=device-width, initial-scale=1">
78
<title>Page Template V2 - Game Foundry Studio</title>
8-
<meta name="description" content="Theme V2 page template foundation.">
9-
<link rel="stylesheet" href="../theme.css">
9+
<meta name="description" content="Theme V2 production content page template.">
10+
<link rel="icon" href="assets/images/favicon.svg" type="image/svg+xml">
11+
<link rel="stylesheet" href="assets/css/theme/v2/theme.css">
1012
</head>
1113

1214
<body>
13-
<header class="site-header" aria-label="Site header">
14-
<div class="container nav">
15-
<a class="brand" href="#">
16-
<span>Game Foundry Studio</span>
17-
</a>
18-
<nav class="nav-links" aria-label="Main navigation">
19-
<a href="#">Toolbox</a>
20-
<a href="#">Games</a>
21-
<a href="#">Marketplace</a>
22-
</nav>
23-
</div>
24-
</header>
25-
15+
<div data-partial="header-nav"></div>
2616
<main>
2717
<section class="page-title">
2818
<div class="container">
2919
<div class="kicker">Page Category</div>
3020
<h1>Page Title</h1>
31-
<p class="lede">Page purpose and key visitor outcome.</p>
21+
<p class="lede">Production-ready page purpose and visitor outcome.</p>
3222
</div>
3323
</section>
3424

3525
<section class="section">
3626
<div class="container page-hero">
37-
<img src="../assets/image-missing.svg" alt="Page hero placeholder">
27+
<img src="../src/engine/theme/v2/assets/image-missing.svg" alt="Page hero placeholder">
3828
<div>
3929
<h2>Primary page message.</h2>
40-
<p class="lede">Supporting context for the page experience.</p>
30+
<p class="lede">A concise production page summary that supports the headline.</p>
4131
<a class="btn primary" href="#template-content">Primary Link</a>
4232
</div>
4333
</div>
4434
</section>
4535

4636
<section class="section" id="template-content">
4737
<div class="container">
48-
<div class="grid cols-3">
49-
<article class="callout">
50-
<h2>Section One</h2>
51-
<p>Short content block for the first page focus.</p>
52-
</article>
53-
<article class="callout">
54-
<h2>Section Two</h2>
55-
<p>Short content block for the second page focus.</p>
56-
</article>
57-
<article class="callout">
58-
<h2>Section Three</h2>
59-
<p>Short content block for the third page focus.</p>
60-
</article>
38+
<div class="surface">
39+
<div class="surface-header">
40+
<div class="kicker">Overview</div>
41+
<h2>Page section heading</h2>
42+
</div>
43+
<div class="surface-body">
44+
<div class="grid cols-3">
45+
<article class="callout">
46+
<h2>Purpose</h2>
47+
<p>Describe the page responsibility.</p>
48+
</article>
49+
<article class="callout">
50+
<h2>Status</h2>
51+
<p>Summarize current availability or lifecycle state.</p>
52+
</article>
53+
<article class="callout">
54+
<h2>Next Step</h2>
55+
<p>Route users to the next approved action.</p>
56+
</article>
57+
</div>
58+
</div>
59+
</div>
60+
</div>
61+
</section>
62+
63+
<section class="section">
64+
<div class="container">
65+
<div class="accordion-group">
66+
<details class="vertical-accordion" open>
67+
<summary>Details</summary>
68+
<div class="accordion-body">
69+
<form aria-label="Template page form">
70+
<div class="field-group">
71+
<label for="template-page-title">Title</label>
72+
<input id="template-page-title" name="template-page-title" type="text" value="Page Draft">
73+
<p class="field-hint">Use Theme V2 form structure for settings and filters.</p>
74+
</div>
75+
</form>
76+
</div>
77+
</details>
78+
<details class="vertical-accordion">
79+
<summary>Status</summary>
80+
<div class="accordion-body">
81+
<div class="feedback">
82+
<strong class="feedback-title">Ready</strong>
83+
<p class="feedback-message">This page template uses shared Theme V2 chrome and components.</p>
84+
</div>
85+
</div>
86+
</details>
6187
</div>
6288
</div>
6389
</section>
64-
</main>
6590

66-
<footer class="footer">
67-
<div class="container footer__inner">
68-
<div class="footer__tagline">Build &middot; Play &middot; Share</div>
69-
</div>
70-
</footer>
91+
<section class="section">
92+
<div class="container">
93+
<div class="table-wrapper">
94+
<table class="data-table">
95+
<caption>Page metadata summary</caption>
96+
<thead>
97+
<tr>
98+
<th>Field</th>
99+
<th>Value</th>
100+
</tr>
101+
</thead>
102+
<tbody>
103+
<tr>
104+
<td>Template Type</td>
105+
<td>Theme V2 Page</td>
106+
</tr>
107+
<tr>
108+
<td>Chrome</td>
109+
<td>Shared partials</td>
110+
</tr>
111+
</tbody>
112+
</table>
113+
</div>
114+
<dialog aria-labelledby="template-page-dialog-title">
115+
<div class="surface">
116+
<div class="surface-header">
117+
<h2 id="template-page-dialog-title">Dialog Title</h2>
118+
</div>
119+
<div class="surface-body">
120+
<p>Dialog content uses Theme V2 dialog ownership when implemented.</p>
121+
</div>
122+
</div>
123+
</dialog>
124+
</div>
125+
</section>
126+
</main>
127+
<div data-partial="footer"></div>
128+
<script src="assets/js/gamefoundry-partials.js" defer></script>
71129
</body>
72130

73131
</html>

0 commit comments

Comments
 (0)