fixes
This commit is contained in:
+17
-3
@@ -92,6 +92,20 @@ function renderNotes(notes = notesCache) {
|
||||
${deleteButton(note)}
|
||||
</article>`).join("");
|
||||
}
|
||||
async function showSystemNotFound() {
|
||||
try {
|
||||
const response = await fetch(`${location.pathname.replace(/\/$/, "")}/__not_found__`, {
|
||||
cache: "no-store",
|
||||
credentials: "same-origin",
|
||||
});
|
||||
const html = await response.text();
|
||||
document.open();
|
||||
document.write(html);
|
||||
document.close();
|
||||
} catch {
|
||||
document.body.textContent = "404 Not Found";
|
||||
}
|
||||
}
|
||||
async function openWorkspace() {
|
||||
try {
|
||||
const data = await api(`/api/workspaces/${encodeURIComponent(slug)}/open`, { method: "POST", body: JSON.stringify({ access_token: accessToken || null }) });
|
||||
@@ -106,8 +120,8 @@ async function openWorkspace() {
|
||||
if (info?.protected || e.message.toLowerCase().includes("password")) {
|
||||
document.querySelector("#password-error").textContent = e.message;
|
||||
if (!dialog.open) dialog.showModal();
|
||||
} else if (e.status === 403) {
|
||||
location.replace("/errors/private-workspace");
|
||||
} else if (e.status === 403 || e.status === 404) {
|
||||
await showSystemNotFound();
|
||||
} else document.querySelector("#workspace-error").textContent = e.message;
|
||||
}
|
||||
}
|
||||
@@ -119,7 +133,7 @@ async function init() {
|
||||
document.querySelector("#workspace-url").textContent = location.pathname;
|
||||
if (info.protected && !accessToken) dialog.showModal(); else openWorkspace();
|
||||
} catch (e) {
|
||||
if (e.status === 403) location.replace("/errors/private-workspace");
|
||||
if (e.status === 403 || e.status === 404) await showSystemNotFound();
|
||||
else document.querySelector("#workspace-error").textContent = e.message;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user