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..bf64e3a 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,7 +157,6 @@ export default function FileUploader() { setProgress(0); try { - const assetsPrefix = import.meta.env.ASSETS_PREFIX || ""; const BASE_CF_URL = `${assetsPrefix}/api/multipart-upload`; const key = file.name; const CHUNK_SIZE = 5 * 1024 * 1024; // 5MB @@ -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(); @@ -636,6 +638,17 @@ export default function FileUploader() { )} +
+ Environment variables: + +