add zoom buttons
This commit is contained in:
Vendored
+19
-3
@@ -923,6 +923,17 @@
|
|||||||
};
|
};
|
||||||
var isEncryptionAvailable = window.crypto.subtle != void 0;
|
var isEncryptionAvailable = window.crypto.subtle != void 0;
|
||||||
var senderName = restoreState("sender-name", "");
|
var senderName = restoreState("sender-name", "");
|
||||||
|
var pageZoom = restoreState("page-zoom", 100);
|
||||||
|
pageZoom.subscribe(() => {
|
||||||
|
document.body.style.zoom = `${pageZoom.value}%`;
|
||||||
|
});
|
||||||
|
var zoomStep = 10;
|
||||||
|
function zoomOut() {
|
||||||
|
pageZoom.value -= zoomStep;
|
||||||
|
}
|
||||||
|
function zoomIn() {
|
||||||
|
pageZoom.value += zoomStep;
|
||||||
|
}
|
||||||
var chats = new ListState();
|
var chats = new ListState();
|
||||||
var chatIds = restoreListState("chat-ids");
|
var chatIds = restoreListState("chat-ids");
|
||||||
var selectedChat = new State(void 0);
|
var selectedChat = new State(void 0);
|
||||||
@@ -964,6 +975,8 @@
|
|||||||
undoChanges: "Undo changes",
|
undoChanges: "Undo changes",
|
||||||
close: "Close",
|
close: "Close",
|
||||||
discard: "Discard",
|
discard: "Discard",
|
||||||
|
zoomOut: "zoom out",
|
||||||
|
zoomIn: "zoom in",
|
||||||
// overview
|
// overview
|
||||||
overview: "Overview",
|
overview: "Overview",
|
||||||
connection: "Connection",
|
connection: "Connection",
|
||||||
@@ -1031,6 +1044,8 @@
|
|||||||
undoChanges: "Deshacer",
|
undoChanges: "Deshacer",
|
||||||
close: "Cerrar",
|
close: "Cerrar",
|
||||||
discard: "Descartar",
|
discard: "Descartar",
|
||||||
|
zoomOut: "alejar",
|
||||||
|
zoomIn: "acercar",
|
||||||
// overview
|
// overview
|
||||||
overview: "Resumen",
|
overview: "Resumen",
|
||||||
connection: "Conexi\xF3n",
|
connection: "Conexi\xF3n",
|
||||||
@@ -1096,6 +1111,8 @@
|
|||||||
undoChanges: "\xC4nderungen verwerfen",
|
undoChanges: "\xC4nderungen verwerfen",
|
||||||
close: "Schlie\xDFen",
|
close: "Schlie\xDFen",
|
||||||
discard: "Verwerfen",
|
discard: "Verwerfen",
|
||||||
|
zoomOut: "verkleinern",
|
||||||
|
zoomIn: "vergr\xF6\xDFern",
|
||||||
// overview
|
// overview
|
||||||
overview: "\xDCbersicht",
|
overview: "\xDCbersicht",
|
||||||
connection: "Verbindung",
|
connection: "Verbindung",
|
||||||
@@ -1330,8 +1347,7 @@
|
|||||||
"button",
|
"button",
|
||||||
{
|
{
|
||||||
class: "height-100",
|
class: "height-100",
|
||||||
"on:click": createObject,
|
disabled: true
|
||||||
"aria-label": translation.createObject
|
|
||||||
},
|
},
|
||||||
/* @__PURE__ */ createElement("span", { class: "icon" }, "visibility")
|
/* @__PURE__ */ createElement("span", { class: "icon" }, "visibility")
|
||||||
)), /* @__PURE__ */ createElement(
|
)), /* @__PURE__ */ createElement(
|
||||||
@@ -1733,7 +1749,7 @@
|
|||||||
|
|
||||||
// src/Tabs/overviewTab.tsx
|
// src/Tabs/overviewTab.tsx
|
||||||
function OverviewTab() {
|
function OverviewTab() {
|
||||||
return /* @__PURE__ */ createElement("article", { id: "settings-tab", "toggle:connected": isConnected }, /* @__PURE__ */ createElement("header", null, translation.overview), /* @__PURE__ */ createElement("div", { class: "flex-column large-gap" }, /* @__PURE__ */ createElement("div", { class: "tile error flex-no", "toggle:hidden": isEncryptionAvailable }, /* @__PURE__ */ createElement("span", { class: "icon" }, "warning"), /* @__PURE__ */ createElement("div", null, /* @__PURE__ */ createElement("b", null, translation.encryptionUnavailableTitle), /* @__PURE__ */ createElement("span", { class: "secondary" }, translation.encryptionUnavailableMessage))), PersonalSection(), ConnectionSection(), ChatListSection()));
|
return /* @__PURE__ */ createElement("article", { id: "settings-tab", "toggle:connected": isConnected }, /* @__PURE__ */ createElement("header", null, translation.overview, /* @__PURE__ */ createElement("span", null, /* @__PURE__ */ createElement("button", { "on:click": zoomOut, "aria-label": translation.zoomOut }, /* @__PURE__ */ createElement("span", { class: "icon" }, "zoom_out")), /* @__PURE__ */ createElement("button", { "on:click": zoomIn, "aria-label": translation.zoomIn }, /* @__PURE__ */ createElement("span", { class: "icon" }, "zoom_in")))), /* @__PURE__ */ createElement("div", { class: "flex-column large-gap" }, /* @__PURE__ */ createElement("div", { class: "tile error flex-no", "toggle:hidden": isEncryptionAvailable }, /* @__PURE__ */ createElement("span", { class: "icon" }, "warning"), /* @__PURE__ */ createElement("div", null, /* @__PURE__ */ createElement("b", null, translation.encryptionUnavailableTitle), /* @__PURE__ */ createElement("span", { class: "secondary" }, translation.encryptionUnavailableMessage))), PersonalSection(), ConnectionSection(), ChatListSection()));
|
||||||
}
|
}
|
||||||
|
|
||||||
// src/index.tsx
|
// src/index.tsx
|
||||||
|
|||||||
Vendored
-4
@@ -1071,10 +1071,6 @@ main {
|
|||||||
grid-template-columns: var(--split-pane-width-desktop) 1fr;
|
grid-template-columns: var(--split-pane-width-desktop) 1fr;
|
||||||
}
|
}
|
||||||
|
|
||||||
footer {
|
|
||||||
bottom: 0px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
article > div {
|
article > div {
|
||||||
padding-bottom: calc(var(--content-padding) + var(--control-height));
|
padding-bottom: calc(var(--content-padding) + var(--control-height));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -133,6 +133,18 @@ UDN.onmailboxdelete = () => {
|
|||||||
// MISC
|
// MISC
|
||||||
export const isEncryptionAvailable = window.crypto.subtle != undefined;
|
export const isEncryptionAvailable = window.crypto.subtle != undefined;
|
||||||
export const senderName = React.restoreState("sender-name", "");
|
export const senderName = React.restoreState("sender-name", "");
|
||||||
|
export const pageZoom = React.restoreState("page-zoom", 100);
|
||||||
|
pageZoom.subscribe(() => {
|
||||||
|
document.body.style.zoom = `${pageZoom.value}%`;
|
||||||
|
});
|
||||||
|
|
||||||
|
const zoomStep = 10;
|
||||||
|
export function zoomOut() {
|
||||||
|
pageZoom.value -= zoomStep;
|
||||||
|
}
|
||||||
|
export function zoomIn() {
|
||||||
|
pageZoom.value += zoomStep;
|
||||||
|
}
|
||||||
|
|
||||||
// CHAT
|
// CHAT
|
||||||
export const chats = new React.ListState<Chat>();
|
export const chats = new React.ListState<Chat>();
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import * as React from "bloatless-react";
|
import * as React from "bloatless-react";
|
||||||
|
|
||||||
import { isConnected, isEncryptionAvailable } from "../Model/model";
|
import { isConnected, isEncryptionAvailable, zoomIn, zoomOut } from "../Model/model";
|
||||||
|
|
||||||
import { ChatListSection } from "../Views/Overview/chatListSection";
|
import { ChatListSection } from "../Views/Overview/chatListSection";
|
||||||
import { ConnectionSection } from "../Views/Overview/connectionSection";
|
import { ConnectionSection } from "../Views/Overview/connectionSection";
|
||||||
@@ -10,7 +10,17 @@ import { translation } from "../translations";
|
|||||||
export function OverviewTab() {
|
export function OverviewTab() {
|
||||||
return (
|
return (
|
||||||
<article id="settings-tab" toggle:connected={isConnected}>
|
<article id="settings-tab" toggle:connected={isConnected}>
|
||||||
<header>{translation.overview}</header>
|
<header>
|
||||||
|
{translation.overview}
|
||||||
|
<span>
|
||||||
|
<button on:click={zoomOut} aria-label={translation.zoomOut}>
|
||||||
|
<span class="icon">zoom_out</span>
|
||||||
|
</button>
|
||||||
|
<button on:click={zoomIn} aria-label={translation.zoomIn}>
|
||||||
|
<span class="icon">zoom_in</span>
|
||||||
|
</button>
|
||||||
|
</span>
|
||||||
|
</header>
|
||||||
|
|
||||||
<div class="flex-column large-gap">
|
<div class="flex-column large-gap">
|
||||||
<div class="tile error flex-no" toggle:hidden={isEncryptionAvailable}>
|
<div class="tile error flex-no" toggle:hidden={isEncryptionAvailable}>
|
||||||
|
|||||||
+10
-1
@@ -7,6 +7,9 @@ const englishTranslations = {
|
|||||||
close: "Close",
|
close: "Close",
|
||||||
discard: "Discard",
|
discard: "Discard",
|
||||||
|
|
||||||
|
zoomOut: "zoom out",
|
||||||
|
zoomIn: "zoom in",
|
||||||
|
|
||||||
// overview
|
// overview
|
||||||
overview: "Overview",
|
overview: "Overview",
|
||||||
|
|
||||||
@@ -99,6 +102,9 @@ const allTranslations: { [key: string]: typeof englishTranslations } = {
|
|||||||
close: "Cerrar",
|
close: "Cerrar",
|
||||||
discard: "Descartar",
|
discard: "Descartar",
|
||||||
|
|
||||||
|
zoomOut: "alejar",
|
||||||
|
zoomIn: "acercar",
|
||||||
|
|
||||||
// overview
|
// overview
|
||||||
overview: "Resumen",
|
overview: "Resumen",
|
||||||
|
|
||||||
@@ -188,6 +194,9 @@ const allTranslations: { [key: string]: typeof englishTranslations } = {
|
|||||||
close: "Schließen",
|
close: "Schließen",
|
||||||
discard: "Verwerfen",
|
discard: "Verwerfen",
|
||||||
|
|
||||||
|
zoomOut: "verkleinern",
|
||||||
|
zoomIn: "vergrößern",
|
||||||
|
|
||||||
// overview
|
// overview
|
||||||
overview: "Übersicht",
|
overview: "Übersicht",
|
||||||
|
|
||||||
@@ -254,7 +263,7 @@ const allTranslations: { [key: string]: typeof englishTranslations } = {
|
|||||||
|
|
||||||
viewAll: "Alle",
|
viewAll: "Alle",
|
||||||
viewNotes: "Notizen",
|
viewNotes: "Notizen",
|
||||||
|
|
||||||
noObjects: "Keine Objekte",
|
noObjects: "Keine Objekte",
|
||||||
noNotes: "Keine Notizen",
|
noNotes: "Keine Notizen",
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user