@@ -20,14 +24,10 @@
.disconnected .dot {
animation: _fade 0.5s 3s infinite alternate forwards;
}
- /*.connected .dot:first-child {
- background-color: #00bbe3;
- transform: scale(1.1);
- }*/
- /*.dots .activedot {
- background-color: #00bbe3;
- transform: scale(1.1);
- }*/
+ .connected .dot:first-child {
+ background-color: #00bbe3;
+ transform: scale(1.1);
+ }
.dots .dot:first-child {
animation-delay: 0.25s;
}
diff --git a/app/src/components/Views/Stream.svelte b/app/src/components/Views/Stream.svelte
new file mode 100644
index 0000000..6e9ca60
--- /dev/null
+++ b/app/src/components/Views/Stream.svelte
@@ -0,0 +1,11 @@
+
+
+

diff --git a/app/src/lib/UseOrientation.ts b/app/src/lib/UseOrientation.ts
new file mode 100644
index 0000000..1297a04
--- /dev/null
+++ b/app/src/lib/UseOrientation.ts
@@ -0,0 +1,23 @@
+import { onMount } from "svelte";
+import { writable, type Writable } from "svelte/store";
+
+onMount(() => {
+ window.addEventListener("", () => {
+ screen.orientation.addEventListener("change", _handleOrientationChange);
+ })
+})
+
+export type OrientationType = 'portrait-primary' | 'portrait-secondary' | 'landscape-primary' | 'landscape-secondary'
+
+export const orientation:Writable
= writable('portrait-primary');
+
+export const isPortrait = writable(true);
+
+const _isPortrait = (orientation:OrientationType | undefined):boolean => {
+ return orientation === "portrait-primary" || orientation === "portrait-secondary";
+}
+
+const _handleOrientationChange = () => {
+ orientation.set(screen.orientation.type)
+ isPortrait.set(_isPortrait(screen.orientation.type))
+}
\ No newline at end of file
diff --git a/app/src/lib/socket.ts b/app/src/lib/socket.ts
new file mode 100644
index 0000000..ffa9d5b
--- /dev/null
+++ b/app/src/lib/socket.ts
@@ -0,0 +1,28 @@
+import { writable, type Writable } from 'svelte/store';
+
+export type WebSocketStatus = 'OPEN' | 'CONNECTING' | 'CLOSED'
+
+export const isConnected = writable(false)
+
+export const status:Writable = writable('CLOSED')
+
+export const socket = writable(null)
+
+export const connect = (url:string) => {
+ status.set('CONNECTING')
+ let _socket = new WebSocket(url);
+ _socket.onopen = _connected;
+ _socket.onclose = _disconnected;
+ socket.set(_socket)
+}
+
+const _connected = () => {
+ status.set('OPEN')
+ isConnected.set(true)
+}
+
+const _disconnected = () => {
+ status.set('CLOSED')
+ isConnected.set(false)
+}
+
diff --git a/app/src/lib/store.ts b/app/src/lib/store.ts
new file mode 100644
index 0000000..6ffbb10
--- /dev/null
+++ b/app/src/lib/store.ts
@@ -0,0 +1 @@
+import { writable } from 'svelte/store';