diff options
| author | Frank <[email protected]> | 2025-05-23 15:57:33 -0400 |
|---|---|---|
| committer | Dax Raad <[email protected]> | 2025-05-26 12:40:17 -0400 |
| commit | d51b4263aba59f60277766fc024f2931fc8874ec (patch) | |
| tree | a9dfed63563a88bc26cb2d37d582e2c14a5d9331 /app/packages/web/src/routes | |
| parent | 34a2dcb80a28e208c986d39ce1e145f245691f62 (diff) | |
| download | opencode-d51b4263aba59f60277766fc024f2931fc8874ec.tar.gz opencode-d51b4263aba59f60277766fc024f2931fc8874ec.zip | |
Share: sync
Diffstat (limited to 'app/packages/web/src/routes')
| -rw-r--r-- | app/packages/web/src/routes/[...404].tsx | 19 | ||||
| -rw-r--r-- | app/packages/web/src/routes/index.tsx | 14 | ||||
| -rw-r--r-- | app/packages/web/src/routes/share/[id].tsx | 150 |
3 files changed, 0 insertions, 183 deletions
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 ( - <main> - <Title>Not Found</Title> - <HttpStatusCode code={404} /> - <h1>Page Not Found</h1> - <p> - Visit{" "} - <a href="https://start.solidjs.com" target="_blank"> - start.solidjs.com - </a>{" "} - to learn how to build SolidStart apps. - </p> - </main> - ); -} 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 ( - <main> - <Title>Share Demo</Title> - <h1>Share Demo</h1> - <p> - <A href="/share/test-share-id">Go to test share</A> - </p> - </main> - ) -} 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<Message[]>([]) - 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 ( - <main> - <Title>Share: {params.id}</Title> - <h1>Share: {params.id}</h1> - - <div style={{ margin: "2rem 0" }}> - <h2>WebSocket Connection</h2> - <p> - Status: <strong>{connectionStatus()}</strong> - </p> - - <h3>Live Updates</h3> - <div - style={{ - border: "1px solid #ccc", - padding: "1rem", - borderRadius: "0.5rem", - maxHeight: "500px", - overflowY: "auto", - }} - > - <Show - when={messages().length > 0} - fallback={<p>Waiting for messages...</p>} - > - <ul style={{ listStyleType: "none", padding: 0 }}> - <For each={messages()}> - {(msg) => ( - <li - style={{ - padding: "0.5rem", - margin: "0.5rem 0", - backgroundColor: "#f5f5f5", - borderRadius: "0.25rem", - }} - > - <div> - <strong>Key:</strong> {msg.key} - </div> - <div> - <strong>Content:</strong> {msg.content} - </div> - </li> - )} - </For> - </ul> - </Show> - </div> - </div> - </main> - ) -} |
