summaryrefslogtreecommitdiffhomepage
path: root/app/packages/web/src/routes
diff options
context:
space:
mode:
authorFrank <[email protected]>2025-05-23 15:57:33 -0400
committerDax Raad <[email protected]>2025-05-26 12:40:17 -0400
commitd51b4263aba59f60277766fc024f2931fc8874ec (patch)
treea9dfed63563a88bc26cb2d37d582e2c14a5d9331 /app/packages/web/src/routes
parent34a2dcb80a28e208c986d39ce1e145f245691f62 (diff)
downloadopencode-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].tsx19
-rw-r--r--app/packages/web/src/routes/index.tsx14
-rw-r--r--app/packages/web/src/routes/share/[id].tsx150
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>
- )
-}