diff --git a/astro.config.mjs b/astro.config.mjs index 5d4cd39..c4928d7 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -4,12 +4,12 @@ import cloudflare from "@astrojs/cloudflare"; import tailwindcss from "@tailwindcss/vite"; import react from "@astrojs/react"; +const BASE_URL = process.env.BASE_URL || "/"; +const base = BASE_URL.endsWith('/') ? BASE_URL : BASE_URL + '/'; + // https://astro.build/config export default defineConfig({ - base: "/app", - build: { - assetsPrefix: "/app", - }, + base, security: { checkOrigin: false, }, @@ -33,4 +33,4 @@ export default defineConfig({ : undefined, }, }, -}); +}); \ No newline at end of file diff --git a/src/components/FileUploader.tsx b/src/components/FileUploader.tsx index 950e36c..3898bed 100644 --- a/src/components/FileUploader.tsx +++ b/src/components/FileUploader.tsx @@ -20,6 +20,9 @@ export default function FileUploader() { "simple" ); + const assetsPrefix = import.meta.env.BASE_URL.endsWith('/') ? + import.meta.env.BASE_URL : import.meta.env.BASE_URL + '/'; + // File type icons mapping const fileIcons: Record = { pdf: "📄", @@ -70,7 +73,7 @@ export default function FileUploader() { const loadFiles = async () => { try { setLoading(true); - const response = await fetch(`${import.meta.env.BASE_URL}/api/list-assets`); + const response = await fetch(`${assetsPrefix}api/list-assets`); if (!response.ok) { throw new Error("Failed to load files"); @@ -119,7 +122,7 @@ export default function FileUploader() { formData.append("file", file); - const response = await fetch(`${import.meta.env.BASE_URL}/api/upload`, { + const response = await fetch(`${assetsPrefix}api/upload`, { method: "POST", body: formData, }); @@ -154,8 +157,7 @@ export default function FileUploader() { setProgress(0); try { - const assetsPrefix = import.meta.env.ASSETS_PREFIX || ""; - const BASE_CF_URL = `${assetsPrefix}/api/multipart-upload`; + const BASE_CF_URL = `${assetsPrefix}api/multipart-upload`; const key = file.name; const CHUNK_SIZE = 5 * 1024 * 1024; // 5MB const totalParts = Math.ceil(file.size / CHUNK_SIZE); @@ -527,7 +529,7 @@ export default function FileUploader() { const fileLink = file.link || (file.key - ? `${import.meta.env.ASSETS_PREFIX}/api/asset?key=${file.key}` + ? `${assetsPrefix}api/asset?key=${file.key}` : ""); const uploadDate = file.dateUploaded || file.uploaded || new Date().toISOString(); diff --git a/src/pages/files.astro b/src/pages/files.astro index 183c7f3..d20d911 100644 --- a/src/pages/files.astro +++ b/src/pages/files.astro @@ -1,14 +1,11 @@ --- import Layout from '../layouts/Layout.astro'; - -// Get the assets prefix from environment -const assetsPrefix = Astro.locals.runtime?.env?.ASSETS_PREFIX || '/app'; ---

File Uploader

- +
@@ -18,15 +15,15 @@ const assetsPrefix = Astro.locals.runtime?.env?.ASSETS_PREFIX || '/app'; -
- +
- +