···11/// JavaScript FFI for quickslice_client
2233/**
44+ * Get the window origin (protocol + host + port)
55+ * @returns {string} The window origin (e.g., "http://localhost:8000")
66+ */
77+export function getWindowOrigin() {
88+ return window.location.origin;
99+}
1010+1111+/**
412 * Set a timeout to call a callback after a delay
513 * @param {function} callback - The function to call
614 * @param {number} milliseconds - The delay in milliseconds
+5-2
client/src/quickslice_client.gleam
···1212/// }
1313/// }
1414/// ```
1515+@external(javascript, "./quickslice_client.ffi.mjs", "getWindowOrigin")
1616+fn window_origin() -> String
1717+1518import components/layout
1619import file_upload
1720import generated/queries
···7275}
73767477fn init(_flags) -> #(Model, Effect(Msg)) {
7575- // Create cache
7676- let cache = squall_cache.new("http://localhost:8000/admin/graphql")
7878+ let api_url = window_origin() <> "/admin/graphql"
7979+ let cache = squall_cache.new(api_url)
77807881 // Initialize registry with all extracted queries
7982 let reg = queries.init_registry()