Preview HyperTwist desktop workflows on auth pages
This commit is contained in:
parent
4e5f48f0c1
commit
efb3bb6a99
3 changed files with 37 additions and 1 deletions
|
|
@ -212,6 +212,8 @@ describe('public auth and download pages', () => {
|
|||
expect(screen.getByText('Current input, XR, and settings truth')).toBeTruthy()
|
||||
expect(screen.getByText('Protected browser dashboard')).toBeTruthy()
|
||||
expect(screen.getByText('Native Unreal desktop runtime')).toBeTruthy()
|
||||
expect(screen.getByText('What the desktop runtime is for once you are signed in')).toBeTruthy()
|
||||
expect(screen.getByText('1. Run a classic-cube training session')).toBeTruthy()
|
||||
|
||||
await userEvent.type(screen.getByLabelText('Email'), 'operator@hypertwist.app')
|
||||
await userEvent.type(screen.getByLabelText('Password'), 'password123')
|
||||
|
|
@ -238,6 +240,8 @@ describe('public auth and download pages', () => {
|
|||
expect(screen.getByText('Why the browser is intentionally narrower')).toBeTruthy()
|
||||
expect(screen.getByText('Protected browser dashboard')).toBeTruthy()
|
||||
expect(screen.getByText('Native Unreal desktop runtime')).toBeTruthy()
|
||||
expect(screen.getByText('What the desktop runtime is for once you are signed in')).toBeTruthy()
|
||||
expect(screen.getByText('2. Run a recognition and correction workflow')).toBeTruthy()
|
||||
|
||||
await userEvent.type(screen.getByLabelText('Name'), 'Operator')
|
||||
await userEvent.type(screen.getByLabelText('Email'), 'operator@hypertwist.app')
|
||||
|
|
@ -298,6 +302,7 @@ describe('public auth and download pages', () => {
|
|||
expect(screen.getByText('Browser account access does not replace the simulator.')).toBeTruthy()
|
||||
expect(screen.getByRole('link', { name: 'Open support' }).getAttribute('href')).toBe('/support?topic=operator-access')
|
||||
expect(screen.getByText('Protected operator dashboard')).toBeTruthy()
|
||||
expect(screen.getByText('What the desktop runtime is for once you are signed in')).toBeTruthy()
|
||||
})
|
||||
|
||||
it('shows enabled OAuth buttons and routes provider clicks through the login handler', async () => {
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ import {
|
|||
} from '../auth/supertokens-runtime'
|
||||
import { SiteMetadata } from '../components/seo/SiteMetadata'
|
||||
import { OperationalStatusCallout } from '../components/ui/OperationalStatusCallout'
|
||||
import { browserDesktopRealityCards, deliverySurfaceCards, operatorManualTracks } from '../site-data'
|
||||
import { browserDesktopRealityCards, deliverySurfaceCards, desktopWorkflowTracks, operatorManualTracks } from '../site-data'
|
||||
import { buildSupportPath, getDownloadPlatformLabel, normalizeDownloadPlatform } from '../site-routes'
|
||||
|
||||
function AuthShell({
|
||||
|
|
@ -165,6 +165,30 @@ function AuthAccessGuide({ nextPath }: { nextPath: string }) {
|
|||
)
|
||||
}
|
||||
|
||||
function AuthWorkflowPreview() {
|
||||
return (
|
||||
<div className="card-grid top-gap">
|
||||
<article className="card card--compact">
|
||||
<h3>What the desktop runtime is for once you are signed in</h3>
|
||||
<p>
|
||||
Browser access resolves account, release, and pairing posture. The actual simulator work still happens in the desktop runtime afterward.
|
||||
</p>
|
||||
</article>
|
||||
{desktopWorkflowTracks.slice(0, 2).map((track) => (
|
||||
<article key={track.title} className="card card--compact">
|
||||
<h3>{track.title}</h3>
|
||||
<p>{track.description}</p>
|
||||
<ul className="list top-gap">
|
||||
{track.steps.map((step) => (
|
||||
<li key={step}>{step}</li>
|
||||
))}
|
||||
</ul>
|
||||
</article>
|
||||
))}
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
function AuthBrowserDesktopRealityPanel() {
|
||||
return (
|
||||
<div className="top-gap">
|
||||
|
|
@ -341,6 +365,7 @@ export function LoginPage() {
|
|||
</div>
|
||||
<AuthBrowserDesktopRealityPanel />
|
||||
<AuthAccessGuide nextPath={nextPath} />
|
||||
<AuthWorkflowPreview />
|
||||
</AuthShell>
|
||||
</>
|
||||
)
|
||||
|
|
@ -439,6 +464,7 @@ export function RegisterPage() {
|
|||
</div>
|
||||
<AuthBrowserDesktopRealityPanel />
|
||||
<AuthAccessGuide nextPath={nextPath} />
|
||||
<AuthWorkflowPreview />
|
||||
</AuthShell>
|
||||
</>
|
||||
)
|
||||
|
|
|
|||
|
|
@ -1143,6 +1143,11 @@ export const publicManualRouteAtlasCards = [
|
|||
] as const
|
||||
|
||||
export const changelogEntries = [
|
||||
{
|
||||
date: 'June 30, 2026',
|
||||
title: 'Login and registration now preview the real desktop workflows too',
|
||||
details: 'The public auth entry pages now keep a compact desktop-workflow preview beside the existing access and topology guidance, so operators can see the concrete classic-cube and recognition workflows they are signing in for before they ever cross into the protected browser shell.',
|
||||
},
|
||||
{
|
||||
date: 'June 30, 2026',
|
||||
title: 'Protected browser routes now teach the concrete desktop workflows too',
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue