comparison mrjunejune/src/jrpg/index.html @ 261:b401627fc49e

Add JRPG mock flows and interactive previews Add scripted mock SSE commands, custom event forwarding, animated chat turns, full-height message navigation, and a cyberpunk resume dossier. Co-authored-by: Copilot <[email protected]>
author MrJuneJune <mrjunejune@users.noreply.github.com>
date Wed, 05 Aug 2026 20:38:32 -0700
parents 1f9877b637e9
children 0f45474c1b1a
comparison
equal deleted inserted replaced
260:1f9877b637e9 261:b401627fc49e
16 <img data-character alt=""> 16 <img data-character alt="">
17 </mjj-jrpg-character> 17 </mjj-jrpg-character>
18 18
19 <mjj-jrpg-chat aria-labelledby="conversation-title"> 19 <mjj-jrpg-chat aria-labelledby="conversation-title">
20 <div class="jrpg-panel-heading"> 20 <div class="jrpg-panel-heading">
21 <span aria-hidden="true">QUEST 01</span>
22 <h1 id="conversation-title">Conversations</h1> 21 <h1 id="conversation-title">Conversations</h1>
23 </div> 22 </div>
24 <zen-message-scroller> 23 <zen-message-scroller>
25 <div 24 <div
26 class="jrpg-message-viewport" 25 class="jrpg-message-viewport"
27 data-zen-viewport 26 data-zen-viewport
28 role="log" 27 role="log"
29 aria-live="polite" 28 aria-live="polite"
30 aria-relevant="additions" 29 aria-relevant="additions text"
31 > 30 >
32 <ol class="jrpg-messages" data-messages> 31 <ol class="jrpg-messages" data-messages>
33 <li class="jrpg-message" data-speaker="Epi"> 32 <li class="jrpg-message" data-speaker="Epi" data-turn-group="start">
34 <strong>Epi</strong> 33 <strong>Epi</strong>
35 <p>Welcome, traveler. Pick a destination or tell me what you are looking for.</p> 34 <p>Welcome, traveler. Pick a destination or tell me what you are looking for.</p>
36 </li> 35 </li>
37 <li class="jrpg-message" data-speaker="System"> 36 <li class="jrpg-message" data-speaker="System" data-turn-group="start">
38 <strong>System</strong> 37 <strong>System</strong>
39 <p>The Shiba terminal is ready.</p> 38 <p>The Shiba terminal is ready.</p>
40 </li> 39 </li>
41 </ol> 40 </ol>
42 </div> 41 </div>
43 </zen-message-scroller> 42 </zen-message-scroller>
44 <p class="jrpg-next" aria-hidden="true"> 43 <nav class="jrpg-turn-navigation" aria-label="Conversation turns">
45 NEXT <zen-icon name="chevron-right" size="0.9em"></zen-icon> 44 <zen-button appearance="plain" size="sm">
46 </p> 45 <button type="button" data-turn-previous aria-label="Previous turn" disabled>
46 <zen-icon name="chevron-left"></zen-icon>
47 Previous
48 </button>
49 </zen-button>
50 <span data-turn-position aria-live="polite">START</span>
51 <zen-button appearance="plain" size="sm">
52 <button type="button" data-turn-next aria-label="Next turn" disabled>
53 Next
54 <zen-icon name="chevron-right"></zen-icon>
55 </button>
56 </zen-button>
57 </nav>
47 </mjj-jrpg-chat> 58 </mjj-jrpg-chat>
48 </section> 59 </section>
49 60
50 <section class="jrpg-utility" aria-label="Selected destination"> 61 <section class="jrpg-utility" aria-label="Selected destination">
51 <div class="jrpg-brand"> 62 <div class="jrpg-brand">
62 <p class="jrpg-preview-kicker" data-preview-kicker>CHARACTER RECORD</p> 73 <p class="jrpg-preview-kicker" data-preview-kicker>CHARACTER RECORD</p>
63 <zen-heading size="xl"> 74 <zen-heading size="xl">
64 <h2 data-preview-title>Resume</h2> 75 <h2 data-preview-title>Resume</h2>
65 </zen-heading> 76 </zen-heading>
66 <p data-preview-copy>Experience, projects, and the systems I have helped build.</p> 77 <p data-preview-copy>Experience, projects, and the systems I have helped build.</p>
78 <ul class="jrpg-work-showcase" data-work-showcase>
79 <li>
80 <a href="https://www.microsoft.com/en-us/microsoft-copilot/blog/2026/02/26/copilot-tasks-from-answers-to-actions/">
81 <span>Copilot Tasks</span>
82 <small>Agentic execution</small>
83 </a>
84 </li>
85 <li>
86 <a href="https://www.cio.com/article/3977098/microsoft-doubles-down-on-multi-model-ai-as-it-builds-a-copilot-super-app.html">
87 <span>Copilot SuperApp</span>
88 <small>AI platform</small>
89 </a>
90 </li>
91 </ul>
67 <dl class="jrpg-preview-stats"> 92 <dl class="jrpg-preview-stats">
68 <div> 93 <div>
69 <dt>TYPE</dt> 94 <dt>TYPE</dt>
70 <dd data-preview-type>Profile</dd> 95 <dd data-preview-type>Profile</dd>
71 </div> 96 </div>
80 <button type="button" data-zen-trigger> 105 <button type="button" data-zen-trigger>
81 Inspect 106 Inspect
82 <zen-icon name="search"></zen-icon> 107 <zen-icon name="search"></zen-icon>
83 </button> 108 </button>
84 </zen-button> 109 </zen-button>
85 <dialog aria-labelledby="jrpg-dialog-title"> 110 <dialog class="jrpg-resume-dialog" aria-labelledby="jrpg-dialog-title">
86 <div class="jrpg-dialog-heading"> 111 <div class="jrpg-dialog-heading">
87 <p>DESTINATION DATA</p> 112 <p>DESTINATION DATA</p>
88 <zen-button appearance="plain" size="md"> 113 <zen-button appearance="plain" size="md">
89 <button type="button" data-zen-close aria-label="Close destination details"> 114 <button type="button" data-zen-close aria-label="Close destination details">
90 <zen-icon name="close"></zen-icon> 115 <zen-icon name="close"></zen-icon>
91 </button> 116 </button>
92 </zen-button> 117 </zen-button>
93 </div> 118 </div>
94 <h2 id="jrpg-dialog-title" data-dialog-title>Resume</h2> 119 <h2 id="jrpg-dialog-title" data-dialog-title>Resume</h2>
95 <p data-dialog-copy>Experience, projects, and the systems I have helped build.</p> 120 <p data-dialog-copy>Experience, projects, and the systems I have helped build.</p>
96 <zen-button appearance="plain" size="lg"> 121 <section
97 <a href="/resume" data-preview-link> 122 class="jrpg-resume-dossier"
98 Open destination 123 data-resume-dossier
99 <zen-icon name="arrow-right"></zen-icon> 124 aria-label="Resume dossier"
100 </a> 125 >
101 </zen-button> 126 <p data-resume-status>Loading resume dossier...</p>
127 <div data-resume-content></div>
128 </section>
129 <div class="jrpg-dialog-actions">
130 <zen-button appearance="plain" size="lg">
131 <a href="/resume" data-preview-link>
132 Open full page
133 <zen-icon name="arrow-right"></zen-icon>
134 </a>
135 </zen-button>
136 <zen-button appearance="plain" size="lg" data-resume-download>
137 <a href="/public/resume.pdf">
138 Download PDF
139 <zen-icon name="download"></zen-icon>
140 </a>
141 </zen-button>
142 </div>
102 </dialog> 143 </dialog>
103 </zen-dialog> 144 </zen-dialog>
104 </article> 145 </article>
105 </mjj-jrpg-preview> 146 </mjj-jrpg-preview>
106 </section> 147 </section>
116 maxlength="500" 157 maxlength="500"
117 placeholder="Ask Epi about this site..." 158 placeholder="Ask Epi about this site..."
118 required 159 required
119 ></textarea> 160 ></textarea>
120 </zen-field> 161 </zen-field>
121 <zen-button appearance="plain" size="lg"> 162 <div class="jrpg-composer-actions">
122 <button type="submit"> 163 <zen-button appearance="plain" size="lg">
123 Send 164 <button type="submit">
124 <zen-icon name="arrow-right"></zen-icon> 165 Send
125 </button> 166 <zen-icon name="arrow-right"></zen-icon>
126 </zen-button> 167 </button>
127 <zen-button appearance="plain" size="lg" data-cancel-control hidden> 168 </zen-button>
128 <button type="button" data-cancel> 169 <zen-button appearance="plain" size="lg" data-cancel-control hidden>
129 Cancel 170 <button type="button" data-cancel>
130 <zen-icon name="close"></zen-icon> 171 Cancel
131 </button> 172 <zen-icon name="close"></zen-icon>
132 </zen-button> 173 </button>
174 </zen-button>
175 </div>
133 <p class="jrpg-composer-hint">Enter to send / Shift + Enter for a new line</p> 176 <p class="jrpg-composer-hint">Enter to send / Shift + Enter for a new line</p>
134 </form> 177 </form>
135 </mjj-jrpg-composer> 178 </mjj-jrpg-composer>
136 179
137 <mjj-jrpg-menu> 180 <mjj-jrpg-menu>