diff --git a/web/bun.lock b/web/bun.lock
index 7f6a309..23af8b6 100644
--- a/web/bun.lock
+++ b/web/bun.lock
@@ -5,7 +5,6 @@
"": {
"name": "drop-web",
"dependencies": {
- "@solidjs/router": "^0.15.3",
"solid-js": "^1.9.5",
},
"devDependencies": {
@@ -166,8 +165,6 @@
"@rollup/rollup-win32-x64-msvc": ["@rollup/rollup-win32-x64-msvc@4.59.0", "", { "os": "win32", "cpu": "x64" }, "sha512-2HRCml6OztYXyJXAvdDXPKcawukWY2GpR5/nxKp4iBgiO3wcoEGkAaqctIbZcNB6KlUQBIqt8VYkNSj2397EfA=="],
- "@solidjs/router": ["@solidjs/router@0.15.4", "", { "peerDependencies": { "solid-js": "^1.8.6" } }, "sha512-WOpgg9a9T638cR+5FGbFi/IV4l2FpmBs1GpIMSPa0Ce9vyJN7Wts+X2PqMf9IYn0zUj2MlSJtm1gp7/HI/n5TQ=="],
-
"@tailwindcss/node": ["@tailwindcss/node@4.2.1", "", { "dependencies": { "@jridgewell/remapping": "^2.3.5", "enhanced-resolve": "^5.19.0", "jiti": "^2.6.1", "lightningcss": "1.31.1", "magic-string": "^0.30.21", "source-map-js": "^1.2.1", "tailwindcss": "4.2.1" } }, "sha512-jlx6sLk4EOwO6hHe1oCGm1Q4AN/s0rSrTTPBGPM0/RQ6Uylwq17FuU8IeJJKEjtc6K6O07zsvP+gDO6MMWo7pg=="],
"@tailwindcss/oxide": ["@tailwindcss/oxide@4.2.1", "", { "optionalDependencies": { "@tailwindcss/oxide-android-arm64": "4.2.1", "@tailwindcss/oxide-darwin-arm64": "4.2.1", "@tailwindcss/oxide-darwin-x64": "4.2.1", "@tailwindcss/oxide-freebsd-x64": "4.2.1", "@tailwindcss/oxide-linux-arm-gnueabihf": "4.2.1", "@tailwindcss/oxide-linux-arm64-gnu": "4.2.1", "@tailwindcss/oxide-linux-arm64-musl": "4.2.1", "@tailwindcss/oxide-linux-x64-gnu": "4.2.1", "@tailwindcss/oxide-linux-x64-musl": "4.2.1", "@tailwindcss/oxide-wasm32-wasi": "4.2.1", "@tailwindcss/oxide-win32-arm64-msvc": "4.2.1", "@tailwindcss/oxide-win32-x64-msvc": "4.2.1" } }, "sha512-yv9jeEFWnjKCI6/T3Oq50yQEOqmpmpfzG1hcZsAOaXFQPfzWprWrlHSdGPEF3WQTi8zu8ohC9Mh9J470nT5pUw=="],
diff --git a/web/package.json b/web/package.json
index c4824be..ecb1424 100644
--- a/web/package.json
+++ b/web/package.json
@@ -7,7 +7,6 @@
"build": "vite build"
},
"dependencies": {
- "@solidjs/router": "^0.15.3",
"solid-js": "^1.9.5"
},
"devDependencies": {
diff --git a/web/src/index.tsx b/web/src/index.tsx
index 0bd32a2..601c2cb 100644
--- a/web/src/index.tsx
+++ b/web/src/index.tsx
@@ -1,4 +1,3 @@
-import { Router, Route } from "@solidjs/router";
import { render } from "solid-js/web";
import App from "./App";
@@ -7,12 +6,10 @@ import View from "./pages/View";
import "./styles.css";
+const Page = () =>
+ location.pathname === "/" ? : ;
+
render(
- () => (
-
-
-
-
- ),
+ () => ,
document.getElementById("root")!,
);
diff --git a/web/src/pages/Upload.tsx b/web/src/pages/Upload.tsx
index d239dfa..78de314 100644
--- a/web/src/pages/Upload.tsx
+++ b/web/src/pages/Upload.tsx
@@ -224,7 +224,7 @@ export default function Upload() {
xhr.send(formData);
});
- const url = `${location.origin}/p/${res.id}#${encoded}`;
+ const url = `${location.origin}/${res.id}#${encoded}`;
setResultUrl(url);
removeFile();
} catch (e: any) {
diff --git a/web/src/pages/View.tsx b/web/src/pages/View.tsx
index 6f16647..5b05e80 100644
--- a/web/src/pages/View.tsx
+++ b/web/src/pages/View.tsx
@@ -1,4 +1,3 @@
-import { useParams } from "@solidjs/router";
import { createSignal, Show, onMount, onCleanup } from "solid-js";
import { importKey } from "../lib/crypto";
@@ -23,7 +22,8 @@ type Stage = "loading" | "meta" | "decrypting" | "content" | "error";
type ContentType = "text" | "image" | "video" | "audio" | "binary";
export default function View() {
- const params = useParams();
+ const parts = location.pathname.split("/").filter(Boolean);
+ const id = parts[0] === "p" ? parts[1] : parts[0];
const [stage, setStage] = createSignal("loading");
const [error, setError] = createSignal("");
@@ -52,7 +52,7 @@ export default function View() {
onCleanup(() => worker.terminate());
onMount(async () => {
- const id = params.id;
+
const keyEncoded = window.location.hash.slice(1);
if (!id || !keyEncoded) {
@@ -95,7 +95,7 @@ export default function View() {
try {
const xhr = new XMLHttpRequest();
- xhr.open("GET", `/api/file/${params.id}`);
+ xhr.open("GET", `/api/file/${id}`);
xhr.responseType = "arraybuffer";
const buf = await new Promise((resolve, reject) => {