diff --git a/public/app.js b/public/app.js index c09e7e2..4888886 100644 --- a/public/app.js +++ b/public/app.js @@ -77,7 +77,7 @@ window.fetch = (input, init = {}) => { const headers = new Headers(init.headers || (typeof input !== "string" ? input.headers : undefined)); const selectedMode = localStorage.getItem("catalog-maker:database-mode") || "local"; const permissions = readDatabasePermissions(selectedMode); - const localWritesEnabled = selectedMode === "local" && [ + const localWritesEnabled = ["local", "scrape"].includes(selectedMode) && [ permissions.allowInsertToggle, permissions.allowUpdateToggle, permissions.allowDeleteToggle, @@ -1181,7 +1181,7 @@ function syncLocalDbFields(mode) { localDbFields.hidden = mode !== "local"; } function syncDatabasePermissions(mode) { - const isReadOnly = mode === "live" || mode === "scrape"; + const isReadOnly = mode === "live"; for (const input of permissionInputs) { input.disabled = isReadOnly; if (isReadOnly) @@ -1205,7 +1205,7 @@ function refreshDatabaseStatusLabel() { const mode = localStorage.getItem("catalog-maker:database-mode") || "local"; const transactionMode = localStorage.getItem("catalog-maker:transaction-mode") || "transaction"; const permissions = readDatabasePermissions(mode); - const writesEnabled = mode === "local" && (permissions.allowInsertToggle || permissions.allowUpdateToggle || permissions.allowDeleteToggle); + const writesEnabled = ["local", "scrape"].includes(mode) && (permissions.allowInsertToggle || permissions.allowUpdateToggle || permissions.allowDeleteToggle); const dbLabel = mode === "live" ? "Live 9bplus DB" : mode === "scrape" ? "Local scrape DB" : "Local 9bplus DB"; const configuredDriver = databaseStatus.dataset.driver; const connectionError = (mode === "local" && configuredDriver !== "mariadb") diff --git a/public/app.ts b/public/app.ts index 6dd027e..0a71f9a 100644 --- a/public/app.ts +++ b/public/app.ts @@ -78,7 +78,7 @@ window.fetch = (input, init = {}) => { const headers = new Headers(init.headers || (typeof input !== "string" ? input.headers : undefined)); const selectedMode = localStorage.getItem("catalog-maker:database-mode") || "local"; const permissions = readDatabasePermissions(selectedMode); - const localWritesEnabled = selectedMode === "local" && [ + const localWritesEnabled = ["local", "scrape"].includes(selectedMode) && [ permissions.allowInsertToggle, permissions.allowUpdateToggle, permissions.allowDeleteToggle, @@ -1270,7 +1270,7 @@ function syncLocalDbFields(mode) { } function syncDatabasePermissions(mode) { - const isReadOnly = mode === "live" || mode === "scrape"; + const isReadOnly = mode === "live"; for (const input of permissionInputs) { input.disabled = isReadOnly; if (isReadOnly) input.checked = false; @@ -1294,7 +1294,7 @@ function refreshDatabaseStatusLabel() { const mode = localStorage.getItem("catalog-maker:database-mode") || "local"; const transactionMode = localStorage.getItem("catalog-maker:transaction-mode") || "transaction"; const permissions = readDatabasePermissions(mode); - const writesEnabled = mode === "local" && ( + const writesEnabled = ["local", "scrape"].includes(mode) && ( permissions.allowInsertToggle || permissions.allowUpdateToggle || permissions.allowDeleteToggle ); const dbLabel = mode === "live" ? "Live 9bplus DB" : mode === "scrape" ? "Local scrape DB" : "Local 9bplus DB"; diff --git a/public/index.html b/public/index.html index faff1a6..79810f4 100644 --- a/public/index.html +++ b/public/index.html @@ -259,7 +259,7 @@ Allow delete -
Write permissions are saved only for Local 9bplus DB. Live and scrape DB stay read-only here.
+Write permissions are saved separately for Local 9bplus DB and Local scrape DB. Live DB stays read-only.