From d51b4263aba59f60277766fc024f2931fc8874ec Mon Sep 17 00:00:00 2001 From: Frank Date: Fri, 23 May 2025 15:57:33 -0400 Subject: Share: sync --- app/packages/web/src/routes/[...404].tsx | 19 ---- app/packages/web/src/routes/index.tsx | 14 --- app/packages/web/src/routes/share/[id].tsx | 150 ----------------------------- 3 files changed, 183 deletions(-) delete mode 100644 app/packages/web/src/routes/[...404].tsx delete mode 100644 app/packages/web/src/routes/index.tsx delete mode 100644 app/packages/web/src/routes/share/[id].tsx (limited to 'app/packages/web/src/routes') diff --git a/app/packages/web/src/routes/[...404].tsx b/app/packages/web/src/routes/[...404].tsx deleted file mode 100644 index 4ea71ec7f..000000000 --- a/app/packages/web/src/routes/[...404].tsx +++ /dev/null @@ -1,19 +0,0 @@ -import { Title } from "@solidjs/meta"; -import { HttpStatusCode } from "@solidjs/start"; - -export default function NotFound() { - return ( -
- Not Found - -

Page Not Found

-

- Visit{" "} - - start.solidjs.com - {" "} - to learn how to build SolidStart apps. -

-
- ); -} diff --git a/app/packages/web/src/routes/index.tsx b/app/packages/web/src/routes/index.tsx deleted file mode 100644 index 415b32744..000000000 --- a/app/packages/web/src/routes/index.tsx +++ /dev/null @@ -1,14 +0,0 @@ -import { Title } from "@solidjs/meta" -import { A } from "@solidjs/router" - -export default function Home() { - return ( -
- Share Demo -

Share Demo

-

- Go to test share -

-
- ) -} diff --git a/app/packages/web/src/routes/share/[id].tsx b/app/packages/web/src/routes/share/[id].tsx deleted file mode 100644 index 851197de7..000000000 --- a/app/packages/web/src/routes/share/[id].tsx +++ /dev/null @@ -1,150 +0,0 @@ -import { Title } from "@solidjs/meta" -import { createSignal, onCleanup, onMount, Show, For } from "solid-js" -import { useParams } from "@solidjs/router" - -type Message = { - key: string - content: string -} - -export default function SharePage() { - const params = useParams<{ id: string }>() - const [messages, setMessages] = createSignal([]) - const [connectionStatus, setConnectionStatus] = createSignal("Disconnected") - - onMount(() => { - // Get the API URL from environment - const apiUrl = import.meta.env.VITE_API_URL - const shareId = params.id - - console.log("Mounting Share component with ID:", shareId) - console.log("API URL:", apiUrl) - - if (!apiUrl) { - console.error("API URL not found in environment variables") - setConnectionStatus("Error: API URL not found") - return - } - - let reconnectTimer: number | undefined - let socket: WebSocket | null = null - - // Function to create and set up WebSocket with auto-reconnect - const setupWebSocket = () => { - // Close any existing connection - if (socket) { - socket.close() - } - - setConnectionStatus("Connecting...") - - // Always use secure WebSocket protocol (wss) - const wsBaseUrl = apiUrl.replace(/^https?:\/\//, "wss://") - const wsUrl = `${wsBaseUrl}/share_poll?share_id=${shareId}` - console.log("Connecting to WebSocket URL:", wsUrl) - - // Create WebSocket connection - socket = new WebSocket(wsUrl) - - // Handle connection opening - socket.onopen = () => { - setConnectionStatus("Connected") - console.log("WebSocket connection established") - } - - // Handle incoming messages - socket.onmessage = (event) => { - console.log("WebSocket message received") - try { - const data = JSON.parse(event.data) as Message - setMessages((prev) => [...prev, data]) - } catch (error) { - console.error("Error parsing WebSocket message:", error) - } - } - - // Handle errors - socket.onerror = (error) => { - console.error("WebSocket error:", error) - setConnectionStatus("Error: Connection failed") - } - - // Handle connection close and reconnection - socket.onclose = (event) => { - console.log(`WebSocket closed: ${event.code} ${event.reason}`) - setConnectionStatus("Disconnected, reconnecting...") - - // Try to reconnect after 2 seconds - clearTimeout(reconnectTimer) - reconnectTimer = window.setTimeout( - setupWebSocket, - 2000, - ) as unknown as number - } - } - - // Initial connection - setupWebSocket() - - // Clean up on component unmount - onCleanup(() => { - console.log("Cleaning up WebSocket connection") - if (socket) { - socket.close() - } - clearTimeout(reconnectTimer) - }) - }) - - return ( -
- Share: {params.id} -

Share: {params.id}

- -
-

WebSocket Connection

-

- Status: {connectionStatus()} -

- -

Live Updates

-
- 0} - fallback={

Waiting for messages...

} - > -
    - - {(msg) => ( -
  • -
    - Key: {msg.key} -
    -
    - Content: {msg.content} -
    -
  • - )} -
    -
-
-
-
-
- ) -} -- cgit v1.2.3