fixes and functions
This commit is contained in:
@@ -119,7 +119,7 @@ export function startNoteEditor(adapter) {
|
||||
redo() { return this.move(1); },
|
||||
};
|
||||
const compactLayoutQuery = window.matchMedia("(max-width: 1499px)");
|
||||
const singlePaneQuery = window.matchMedia("(max-width: 760px)");
|
||||
const singlePaneQuery = window.matchMedia("(max-width: 760px) and (orientation: landscape)");
|
||||
let compactView = uiState.view === "preview" ? "preview" : "edit";
|
||||
let renderedView = singlePaneQuery.matches ? compactView : uiState.view;
|
||||
let refreshFilesForAliases = () => { };
|
||||
@@ -1241,6 +1241,7 @@ export function startNoteEditor(adapter) {
|
||||
|
||||
const { loadFiles } = bindNoteFiles({
|
||||
editor, toast, getAccessToken: () => accessToken,
|
||||
getUploadMaxSize: () => Number(info?.upload_max_size_bytes) || 0,
|
||||
canDelete: () => Boolean(info?.can_delete_files),
|
||||
canUpload: () => Boolean(info?.can_upload_files),
|
||||
canEdit: canEditDocument,
|
||||
@@ -1374,6 +1375,7 @@ export function startNoteEditor(adapter) {
|
||||
}
|
||||
|
||||
async function initialize() {
|
||||
applyUi();
|
||||
try {
|
||||
const session = await validateCurrentSession();
|
||||
nickname = session?.nickname || getNickname();
|
||||
@@ -1426,7 +1428,10 @@ export function startNoteEditor(adapter) {
|
||||
setHeaderMenuOpen(!headerActions.classList.contains("is-open"));
|
||||
});
|
||||
headerActions.addEventListener("click", event => {
|
||||
if (compactLayoutQuery.matches && event.target.closest("button")) setHeaderMenuOpen(false);
|
||||
const button = event.target.closest("button");
|
||||
if (compactLayoutQuery.matches && button && !button.closest(".page-settings-menu")) {
|
||||
setHeaderMenuOpen(false);
|
||||
}
|
||||
});
|
||||
document.addEventListener("click", event => {
|
||||
if (!event.target.closest(".header-navigation")) setHeaderMenuOpen(false);
|
||||
@@ -1860,6 +1865,7 @@ export function startNoteEditor(adapter) {
|
||||
function updatePageControls() {
|
||||
const passwordProtected = Boolean(info?.protected);
|
||||
const workspacePassword = adapter.passwordScope === "workspace";
|
||||
const canSetPassword = !passwordProtected && Boolean(adapter.setPassword) && Boolean(info?.can_set_password);
|
||||
if (!passwordProtected) {
|
||||
publicPageEnabled.checked = false;
|
||||
unprotectPublicPage.checked = false;
|
||||
@@ -1868,12 +1874,15 @@ export function startNoteEditor(adapter) {
|
||||
? "Access to page options requires a password-protected workspace."
|
||||
: "Access to page options requires a password-protected note.";
|
||||
if (pagePasswordRequirement) {
|
||||
pagePasswordRequirement.textContent = requirementText;
|
||||
pagePasswordRequirement.textContent = canSetPassword
|
||||
? `Set a ${workspacePassword ? "workspace" : "note"} password here to enable Page publishing.`
|
||||
: requirementText;
|
||||
pagePasswordRequirement.hidden = passwordProtected;
|
||||
}
|
||||
if (setPagePasswordLabel) setPagePasswordLabel.textContent = workspacePassword ? "Set workspace password" : "Set password";
|
||||
if (setPagePasswordHelp) setPagePasswordHelp.textContent = workspacePassword ? "Protects the entire workspace. Minimum 8 characters." : "Minimum 8 characters.";
|
||||
const canSetPassword = !passwordProtected && Boolean(adapter.setPassword) && Boolean(info?.can_set_password);
|
||||
if (setPagePasswordLabel) setPagePasswordLabel.textContent = workspacePassword ? "Workspace password" : "Note password";
|
||||
if (setPagePasswordHelp) setPagePasswordHelp.textContent = workspacePassword
|
||||
? "At least 8 characters. It protects the workspace and all notes."
|
||||
: "At least 8 characters. It also protects editing access.";
|
||||
setPagePasswordForm.hidden = !canSetPassword;
|
||||
const enabled = passwordProtected && publicPageEnabled.checked;
|
||||
publicPageEnabled.disabled = !passwordProtected;
|
||||
@@ -1885,6 +1894,7 @@ export function startNoteEditor(adapter) {
|
||||
"false",
|
||||
);
|
||||
pageSettings?.classList.toggle("is-enabled", enabled);
|
||||
pageSettings?.classList.toggle("needs-password", canSetPassword);
|
||||
pageSettings?.querySelector("summary")?.setAttribute(
|
||||
"title",
|
||||
!passwordProtected
|
||||
@@ -1896,6 +1906,11 @@ export function startNoteEditor(adapter) {
|
||||
: "Published page disabled",
|
||||
);
|
||||
}
|
||||
pageSettings?.addEventListener("toggle", () => {
|
||||
if (pageSettings.open && !setPagePasswordForm.hidden) {
|
||||
requestAnimationFrame(() => setPagePasswordInput.focus());
|
||||
}
|
||||
});
|
||||
document.addEventListener("pointerdown", event => {
|
||||
const target = event.target instanceof Element ? event.target : null;
|
||||
if (pageSettings?.open && !target?.closest(".page-settings")) pageSettings.open = false;
|
||||
@@ -1929,6 +1944,8 @@ export function startNoteEditor(adapter) {
|
||||
loadFiles();
|
||||
connect();
|
||||
toast("Password set. Page options are now available.");
|
||||
pageSettings.open = true;
|
||||
requestAnimationFrame(() => publicPageEnabled.focus());
|
||||
} catch (error) {
|
||||
setPagePasswordError.textContent = error.message;
|
||||
} finally {
|
||||
|
||||
Reference in New Issue
Block a user