diff --git a/WebApp/src/lib/assets/favicon.svg b/WebApp/src/lib/assets/favicon.svg index cc5dc66..15ee285 100644 --- a/WebApp/src/lib/assets/favicon.svg +++ b/WebApp/src/lib/assets/favicon.svg @@ -1 +1,27 @@ -svelte-logo \ No newline at end of file + + PhoneCam + + + + Phone + + + Cam + + diff --git a/WebApp/src/lib/auth/AuthPanel.svelte b/WebApp/src/lib/auth/AuthPanel.svelte new file mode 100644 index 0000000..559ce7d --- /dev/null +++ b/WebApp/src/lib/auth/AuthPanel.svelte @@ -0,0 +1,135 @@ + + +
+
+
+
+ + PhoneCam Browser Console +
+ +
+

+ Turn any browser into a live security surface. +

+

+ Authenticate once, assign this browser as a camera or client, and manage motion alerts, recordings, and live feeds from a single control plane. +

+
+ +
+
+

Assign roles

+

Register this browser as a camera station or a client viewer without leaving the web app.

+
+
+

Stay live

+

Watch feeds, monitor connection health, and see motion activity arrive in real time.

+
+
+

Carry context

+

Your saved device and session restore cleanly so returning to the workspace is fast.

+
+
+
+ + +
+ +

PhoneCam

+
+ {title()} + {description()} +
+
+ + +
+ + appController.setAuthField('email', (event.currentTarget as HTMLInputElement).value)} + /> +
+ +
+ + appController.setAuthField('password', (event.currentTarget as HTMLInputElement).value)} + /> +
+ + {#if isSignup()} +
+ + appController.setAuthField('name', (event.currentTarget as HTMLInputElement).value)} + /> +
+ {/if} +
+ + + + +
+ {isSignup() ? 'Already provisioned?' : 'Need a new workspace?'} + +
+
+
+
+
diff --git a/WebApp/src/routes/(shell)/auth/+page.ts b/WebApp/src/routes/(shell)/auth/+page.ts new file mode 100644 index 0000000..9d83b62 --- /dev/null +++ b/WebApp/src/routes/(shell)/auth/+page.ts @@ -0,0 +1,5 @@ +import { redirect } from '@sveltejs/kit'; + +export function load() { + throw redirect(307, '/auth/login'); +} diff --git a/WebApp/src/routes/(shell)/auth/login/+page.svelte b/WebApp/src/routes/(shell)/auth/login/+page.svelte new file mode 100644 index 0000000..787b432 --- /dev/null +++ b/WebApp/src/routes/(shell)/auth/login/+page.svelte @@ -0,0 +1,9 @@ + + + + + diff --git a/WebApp/src/routes/(shell)/auth/signup/+page.svelte b/WebApp/src/routes/(shell)/auth/signup/+page.svelte new file mode 100644 index 0000000..89a868b --- /dev/null +++ b/WebApp/src/routes/(shell)/auth/signup/+page.svelte @@ -0,0 +1,9 @@ + + + + + diff --git a/WebApp/src/routes/+page.svelte b/WebApp/src/routes/+page.svelte index eae7b4e..d137310 100644 --- a/WebApp/src/routes/+page.svelte +++ b/WebApp/src/routes/+page.svelte @@ -1,90 +1,457 @@ - -
- - -
- + + PhoneCam | Browser-Based Security Intelligence + + + +
+ +
+ + +
+
+
+
+
+ +
+
+ {#if mounted} + -
- PhoneCam Web - Sign in to manage visual security from your browser. -
- - -
- - appController.setAuthField('email', (event.currentTarget as HTMLInputElement).value)} - /> -
-
- - appController.setAuthField('password', (event.currentTarget as HTMLInputElement).value)} - /> -
- {#if $appState.isRegistering} -
- - appController.setAuthField('name', (event.currentTarget as HTMLInputElement).value)} - /> + + + {/if} +
+
+ +
+ +
+
+ {#if mounted} +
+
+ + Live browser-based security +
+ +
+

+ Transform any browser into a security hub. +

+

+ PhoneCam turns your devices into professional security stations. No apps to install—just pure WebRTC power for live capture, motion tracking, and remote viewing. +

+
+ +
+ + +
+ +
+ {#each evidence as item} +
+
+ {item} +
+ {/each} +
+
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+
+
+
+
+
+
+
+ Live Station Beta +
+
+ +
+
+
+ +
+ +
+

Rec • 00:12:45

+
+
+
+ + 720p @ 30fps +
+
+ +
+
+ +
+
+ + +
+
+
+
+
+

MOTION DETECTED

+
+
+ +
+
+

Signal Strength

+
+
+
+
+
+ 94% +
+
+
+

Security Nodes

+
+
+
+
+
+
+ 03 +
+
+
+
+
+
+
{/if} - - - -
- - OR - +
+
+ + +
+
+
+

Intelligence at the edge.

+

Powerful features that work entirely within your browser.

- - - -
- + +
+ {#each features as feature, i} +
+
+ +
+

{feature.title}

+

{feature.description}

+
+ {/each} +
+
+
+ + +
+
+
+
+

Hybrid Architecture

+

One platform, two distinct experiences.

+

+ Depending on how you sign in, PhoneCam adapts its entire interface to provide either a high-performance capture station or a comprehensive monitoring console. +

+ +
+ {#each operationalRoles as role} +
+
+ +
+
+

{role.title}

+

{role.description}

+
+
+ {/each} +
+
+ +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+
+ +
+
+

Security

+

Active Guard

+
+
+

System state is encrypted and synchronized across all active nodes.

+
+
+
+
+
+ + +
+
+
+ +
+
+ +
+

Ready to secure your space?

+

+ Join the PhoneCam network today. Set up your first camera in seconds and monitor from anywhere. +

+
+ + +
+
+
+
+
+ + + + + + diff --git a/WebApp/static/icons/apple-touch-icon.png b/WebApp/static/icons/apple-touch-icon.png index c7b9b04..5edb9e8 100644 Binary files a/WebApp/static/icons/apple-touch-icon.png and b/WebApp/static/icons/apple-touch-icon.png differ diff --git a/WebApp/static/icons/maskable-512x512.png b/WebApp/static/icons/maskable-512x512.png index 57ef5ee..d466dd4 100644 Binary files a/WebApp/static/icons/maskable-512x512.png and b/WebApp/static/icons/maskable-512x512.png differ diff --git a/WebApp/static/icons/phonecam-icon.svg b/WebApp/static/icons/phonecam-icon.svg index 29d5d7d..57fb5b3 100644 --- a/WebApp/static/icons/phonecam-icon.svg +++ b/WebApp/static/icons/phonecam-icon.svg @@ -1,16 +1,27 @@ - - - - - - - - - - - - - - + PhoneCam + + + + Phone + + + Cam + diff --git a/WebApp/static/icons/pwa-192x192.png b/WebApp/static/icons/pwa-192x192.png index c7b9b04..5edb9e8 100644 Binary files a/WebApp/static/icons/pwa-192x192.png and b/WebApp/static/icons/pwa-192x192.png differ diff --git a/WebApp/static/icons/pwa-512x512.png b/WebApp/static/icons/pwa-512x512.png index 57ef5ee..d466dd4 100644 Binary files a/WebApp/static/icons/pwa-512x512.png and b/WebApp/static/icons/pwa-512x512.png differ