improve UI
This commit is contained in:
Vendored
+38
-39
@@ -179,8 +179,6 @@ body[theme=black] * {
|
|||||||
#background-wrapper {
|
#background-wrapper {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
inset: 0px;
|
inset: 0px;
|
||||||
transform: scale(1.2);
|
|
||||||
filter: blur(40px);
|
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
@@ -189,18 +187,22 @@ body[theme=black] * {
|
|||||||
main {
|
main {
|
||||||
z-index: 2;
|
z-index: 2;
|
||||||
}
|
}
|
||||||
#background-wrapper div {
|
#background-wrapper > div {
|
||||||
content: "";
|
|
||||||
position: absolute;
|
position: absolute;
|
||||||
inset: 0px;
|
inset: -100px;
|
||||||
z-index: -1;
|
z-index: -1;
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
|
opacity: .3;
|
||||||
|
}
|
||||||
|
#background-wrapper > div > div {
|
||||||
|
position: absolute;
|
||||||
|
inset: 0px;
|
||||||
|
filter: blur(80px);
|
||||||
}
|
}
|
||||||
#background-wrapper #sky {
|
#background-wrapper #sky {
|
||||||
left: -100%;
|
left: -100%;
|
||||||
bottom: -50%;
|
bottom: -50%;
|
||||||
background-image: radial-gradient(var(--sky-1), var(--sky-2));
|
background-image: radial-gradient(var(--sky-1), var(--sky-2));
|
||||||
opacity: 0.4;
|
|
||||||
}
|
}
|
||||||
body {
|
body {
|
||||||
transition: --sky-1 1s, --sky-2 5s;
|
transition: --sky-1 1s, --sky-2 5s;
|
||||||
@@ -209,27 +211,25 @@ body {
|
|||||||
--color-1: hsl(104.61, 100%, 46.85%);
|
--color-1: hsl(104.61, 100%, 46.85%);
|
||||||
--color-2: hsl(37.43, 88.75%, 53.58%);
|
--color-2: hsl(37.43, 88.75%, 53.58%);
|
||||||
filter: var(--backdrop-grass-filter);
|
filter: var(--backdrop-grass-filter);
|
||||||
opacity: 0.3;
|
|
||||||
background-image:
|
background-image:
|
||||||
linear-gradient(
|
linear-gradient(
|
||||||
350deg,
|
350deg,
|
||||||
var(--color-1),
|
var(--color-1),
|
||||||
var(--color-2) 30%,
|
var(--color-2) 30%,
|
||||||
transparent 40%);
|
transparent 50%);
|
||||||
}
|
}
|
||||||
#background-wrapper #grass-2 {
|
#background-wrapper #grass-2 {
|
||||||
--color-1: hsl(110, 60%, 40%);
|
--color-1: hsl(110, 60%, 40%);
|
||||||
--color-2: hsl(110, 60%, 35%);
|
--color-2: hsl(110, 60%, 35%);
|
||||||
filter: var(--backdrop-grass-filter);
|
filter: var(--backdrop-grass-filter);
|
||||||
opacity: 0.3;
|
|
||||||
background-image:
|
background-image:
|
||||||
linear-gradient(
|
linear-gradient(
|
||||||
9deg,
|
9deg,
|
||||||
var(--color-1),
|
var(--color-1),
|
||||||
var(--color-2) 30%,
|
var(--color-2) 30%,
|
||||||
transparent 35%);
|
transparent 45%);
|
||||||
}
|
}
|
||||||
body[theme=dark] #background-wrapper {
|
body[theme=dark] #background-wrapper > div {
|
||||||
opacity: 0.5;
|
opacity: 0.5;
|
||||||
}
|
}
|
||||||
body[theme=dark] #background-wrapper #sky {
|
body[theme=dark] #background-wrapper #sky {
|
||||||
@@ -274,47 +274,51 @@ body[theme=dark] #background-wrapper #grass-2 {
|
|||||||
transition: all calc(var(--animation-duration) / 2);
|
transition: all calc(var(--animation-duration) / 2);
|
||||||
}
|
}
|
||||||
body[keystroke-active] [ctkeystroke]::after {
|
body[keystroke-active] [ctkeystroke]::after {
|
||||||
opacity: 1;
|
opacity: .7;
|
||||||
transform: translateY(0px);
|
transform: translateY(0px);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* src/View/homePage.css */
|
/* src/View/homePage.css */
|
||||||
|
#home-page {
|
||||||
|
overflow: auto;
|
||||||
|
padding: var(--content-padding);
|
||||||
|
min-width: unset;
|
||||||
|
max-width: 1000px;
|
||||||
|
}
|
||||||
|
#home-page > h1 {
|
||||||
|
font-size: 3rem;
|
||||||
|
font-family: IBM Plex Sans Thin;
|
||||||
|
}
|
||||||
#home-page > div {
|
#home-page > div {
|
||||||
|
position: relative;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
gap: var(--large-gap);
|
flex-wrap: wrap;
|
||||||
scroll-snap-type: x mandatory;
|
|
||||||
scroll-behavior: smooth;
|
|
||||||
overflow: hidden;
|
|
||||||
overflow-x: scroll;
|
|
||||||
padding: 0px;
|
padding: 0px;
|
||||||
|
height: auto;
|
||||||
|
overflow: visible;
|
||||||
}
|
}
|
||||||
#home-page > div > div {
|
#home-page > div > div {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
justify-content: start;
|
justify-content: start;
|
||||||
gap: var(--gap-between-tiles);
|
|
||||||
padding: var(--content-padding);
|
|
||||||
padding-top: calc(var(--header-height) + var(--content-margin));
|
|
||||||
width: 100%;
|
width: 100%;
|
||||||
min-width: 100%;
|
min-width: 100%;
|
||||||
height: 100%;
|
|
||||||
overflow-y: auto;
|
|
||||||
scroll-snap-align: center;
|
|
||||||
}
|
}
|
||||||
#home-page #overview-section,
|
#home-page #overview-section {
|
||||||
#home-page #chat-section {
|
gap: var(--gap-between-tiles);
|
||||||
padding-bottom: calc(var(--content-padding) + var(--header-height) + var(--safe-area-bottom));
|
}
|
||||||
|
#home-page #chat-section > button {
|
||||||
|
margin-bottom: var(--gap-between-tiles);
|
||||||
}
|
}
|
||||||
#home-page #chat-grid {
|
#home-page #chat-grid {
|
||||||
margin-top: var(--content-padding);
|
|
||||||
display: grid;
|
display: grid;
|
||||||
gap: var(--gap-between-tiles);
|
gap: var(--gap-between-tiles);
|
||||||
grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr));
|
grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr));
|
||||||
}
|
}
|
||||||
@media (min-width: 640px) {
|
@media (min-width: 640px) {
|
||||||
#home-page > div {
|
#home-page > div {
|
||||||
overflow-x: hidden;
|
gap: var(--content-padding);
|
||||||
}
|
}
|
||||||
#home-page #overview-section {
|
#home-page #overview-section {
|
||||||
width: 20rem;
|
width: 20rem;
|
||||||
@@ -325,18 +329,13 @@ body[keystroke-active] [ctkeystroke]::after {
|
|||||||
min-width: unset;
|
min-width: unset;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@media (min-width: 1200px) {
|
@media (min-width: 1000px) {
|
||||||
#home-page #overview-section,
|
#home-page > div {
|
||||||
#home-page #chat-section {
|
gap: var(--large-gap);
|
||||||
padding-left: 3rem;
|
|
||||||
padding-right: 3rem;
|
|
||||||
}
|
}
|
||||||
#home-page #chat-grid {
|
#home-page > h1 {
|
||||||
margin-top: 3rem;
|
padding-top: 3rem;
|
||||||
}
|
padding-bottom: 1rem;
|
||||||
#home-page #overview-section {
|
|
||||||
width: var(--max-input-width);
|
|
||||||
min-width: var(--max-input-width);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Vendored
+79
-87
@@ -318,7 +318,7 @@
|
|||||||
refreshButton: "Refresh",
|
refreshButton: "Refresh",
|
||||||
saveButton: "Save",
|
saveButton: "Save",
|
||||||
setButton: "Set",
|
setButton: "Set",
|
||||||
filterOrCreateLabel: "Search or create",
|
filterOrCreateLabel: (type) => `Search or create ${type}`,
|
||||||
createLabel: (query) => `Create "${query}"`,
|
createLabel: (query) => `Create "${query}"`,
|
||||||
reloadAppButton: "Reload App",
|
reloadAppButton: "Reload App",
|
||||||
fileVersionLabel: "Version",
|
fileVersionLabel: "Version",
|
||||||
@@ -344,8 +344,8 @@
|
|||||||
},
|
},
|
||||||
homePage: {
|
homePage: {
|
||||||
appName: "Coordination Tool",
|
appName: "Coordination Tool",
|
||||||
|
greeting: (name) => `Hi ${name}`,
|
||||||
///
|
///
|
||||||
overviewHeadline: "Overview",
|
|
||||||
serverAddress: "Server address",
|
serverAddress: "Server address",
|
||||||
serverAddressPlaceholder: "wss://192.168.0.69:3000",
|
serverAddressPlaceholder: "wss://192.168.0.69:3000",
|
||||||
connectAudioLabel: "connect to server",
|
connectAudioLabel: "connect to server",
|
||||||
@@ -355,11 +355,8 @@
|
|||||||
manageStorageButton: "Manage storage",
|
manageStorageButton: "Manage storage",
|
||||||
transferDataButton: "Transfer or export data",
|
transferDataButton: "Transfer or export data",
|
||||||
updateButton: (version) => `Update to ${version}`,
|
updateButton: (version) => `Update to ${version}`,
|
||||||
scrollToChatButton: "Chats",
|
|
||||||
///
|
///
|
||||||
backToOverviewAudioLabel: "go back to overview",
|
typeChat: "chat",
|
||||||
chatsHeadline: "Chats",
|
|
||||||
addChatAudioLabel: "name of new chat",
|
|
||||||
addChatPlaceholder: "Add chat",
|
addChatPlaceholder: "Add chat",
|
||||||
addChatButton: "Add chat"
|
addChatButton: "Add chat"
|
||||||
},
|
},
|
||||||
@@ -520,6 +517,7 @@
|
|||||||
task: {
|
task: {
|
||||||
noBoardSelected: "No board selected",
|
noBoardSelected: "No board selected",
|
||||||
boardNotFound: "Board not found",
|
boardNotFound: "Board not found",
|
||||||
|
typeBoard: "board",
|
||||||
///
|
///
|
||||||
closeBoardButtonAudioLabel: "close board",
|
closeBoardButtonAudioLabel: "close board",
|
||||||
toggleBoardButtonAudioLabel: "toggle board list",
|
toggleBoardButtonAudioLabel: "toggle board list",
|
||||||
@@ -593,7 +591,7 @@
|
|||||||
refreshButton: "Aktualisieren",
|
refreshButton: "Aktualisieren",
|
||||||
saveButton: "Speichern",
|
saveButton: "Speichern",
|
||||||
setButton: "OK",
|
setButton: "OK",
|
||||||
filterOrCreateLabel: "Suchen oder erstellen",
|
filterOrCreateLabel: (type) => `${type} suchen oder erstellen`,
|
||||||
createLabel: (query) => `"${query}" erstellen`,
|
createLabel: (query) => `"${query}" erstellen`,
|
||||||
reloadAppButton: "Neu laden",
|
reloadAppButton: "Neu laden",
|
||||||
fileVersionLabel: "Version",
|
fileVersionLabel: "Version",
|
||||||
@@ -619,7 +617,7 @@
|
|||||||
},
|
},
|
||||||
homePage: {
|
homePage: {
|
||||||
appName: "Coordination Tool",
|
appName: "Coordination Tool",
|
||||||
overviewHeadline: "\xDCbersicht",
|
greeting: (name) => `Hi ${name}!`,
|
||||||
serverAddress: "Serveradresse",
|
serverAddress: "Serveradresse",
|
||||||
serverAddressPlaceholder: "wss://192.168.0.69:3000",
|
serverAddressPlaceholder: "wss://192.168.0.69:3000",
|
||||||
connectAudioLabel: "mit Server verbinden",
|
connectAudioLabel: "mit Server verbinden",
|
||||||
@@ -629,10 +627,7 @@
|
|||||||
manageStorageButton: "Daten verwalten",
|
manageStorageButton: "Daten verwalten",
|
||||||
transferDataButton: "Daten \xFCbertragen",
|
transferDataButton: "Daten \xFCbertragen",
|
||||||
updateButton: (version) => `Aktualisieren: ${version}`,
|
updateButton: (version) => `Aktualisieren: ${version}`,
|
||||||
scrollToChatButton: "Chats",
|
typeChat: "Chat",
|
||||||
backToOverviewAudioLabel: "zur\xFCck zur \xFCbersicht",
|
|
||||||
chatsHeadline: "Chats",
|
|
||||||
addChatAudioLabel: "Name des neuen Chats",
|
|
||||||
addChatPlaceholder: "Chat hinzuf\xFCgen",
|
addChatPlaceholder: "Chat hinzuf\xFCgen",
|
||||||
addChatButton: "Chat hinzuf\xFCgen"
|
addChatButton: "Chat hinzuf\xFCgen"
|
||||||
},
|
},
|
||||||
@@ -784,6 +779,7 @@
|
|||||||
task: {
|
task: {
|
||||||
noBoardSelected: "Kein Board ausgew\xE4hlt",
|
noBoardSelected: "Kein Board ausgew\xE4hlt",
|
||||||
boardNotFound: "Board nicht gefunden",
|
boardNotFound: "Board nicht gefunden",
|
||||||
|
typeBoard: "Board",
|
||||||
closeBoardButtonAudioLabel: "board schlie\xDFen",
|
closeBoardButtonAudioLabel: "board schlie\xDFen",
|
||||||
toggleBoardButtonAudioLabel: "board-liste ein/ausblenden",
|
toggleBoardButtonAudioLabel: "board-liste ein/ausblenden",
|
||||||
showBoardSettingsButtonAudioLabel: "Board-Einstellungen anzeigen",
|
showBoardSettingsButtonAudioLabel: "Board-Einstellungen anzeigen",
|
||||||
@@ -847,7 +843,7 @@
|
|||||||
refreshButton: "Actualizar",
|
refreshButton: "Actualizar",
|
||||||
saveButton: "Guardar",
|
saveButton: "Guardar",
|
||||||
setButton: "OK",
|
setButton: "OK",
|
||||||
filterOrCreateLabel: "Buscar o crear",
|
filterOrCreateLabel: (type) => `Buscar o crear ${type}`,
|
||||||
createLabel: (query) => `Crear "${query}"`,
|
createLabel: (query) => `Crear "${query}"`,
|
||||||
reloadAppButton: "Recargar app",
|
reloadAppButton: "Recargar app",
|
||||||
fileVersionLabel: "Versi\xF3n",
|
fileVersionLabel: "Versi\xF3n",
|
||||||
@@ -873,7 +869,7 @@
|
|||||||
},
|
},
|
||||||
homePage: {
|
homePage: {
|
||||||
appName: "Coordination Tool",
|
appName: "Coordination Tool",
|
||||||
overviewHeadline: "Resumen",
|
greeting: (name) => `Hola ${name}!`,
|
||||||
serverAddress: "Direcci\xF3n del servidor",
|
serverAddress: "Direcci\xF3n del servidor",
|
||||||
serverAddressPlaceholder: "wss://192.168.0.69:3000",
|
serverAddressPlaceholder: "wss://192.168.0.69:3000",
|
||||||
connectAudioLabel: "conectar al servidor",
|
connectAudioLabel: "conectar al servidor",
|
||||||
@@ -883,10 +879,7 @@
|
|||||||
manageStorageButton: "Gestionar almacenamiento",
|
manageStorageButton: "Gestionar almacenamiento",
|
||||||
transferDataButton: "Enviar o exportar archivos",
|
transferDataButton: "Enviar o exportar archivos",
|
||||||
updateButton: (version) => `Actualizar a ${version}`,
|
updateButton: (version) => `Actualizar a ${version}`,
|
||||||
scrollToChatButton: "Chats",
|
typeChat: "chat",
|
||||||
backToOverviewAudioLabel: "volver al resumen",
|
|
||||||
chatsHeadline: "Chats",
|
|
||||||
addChatAudioLabel: "nombre del nuevo chat",
|
|
||||||
addChatPlaceholder: "A\xF1adir chat",
|
addChatPlaceholder: "A\xF1adir chat",
|
||||||
addChatButton: "A\xF1adir chat"
|
addChatButton: "A\xF1adir chat"
|
||||||
},
|
},
|
||||||
@@ -1038,6 +1031,7 @@
|
|||||||
task: {
|
task: {
|
||||||
noBoardSelected: "Ning\xFAn tablero seleccionado",
|
noBoardSelected: "Ning\xFAn tablero seleccionado",
|
||||||
boardNotFound: "Tablero no encontrado",
|
boardNotFound: "Tablero no encontrado",
|
||||||
|
typeBoard: "board",
|
||||||
closeBoardButtonAudioLabel: "cerrar tablero",
|
closeBoardButtonAudioLabel: "cerrar tablero",
|
||||||
toggleBoardButtonAudioLabel: "mostrar o ocultar lista de tableros",
|
toggleBoardButtonAudioLabel: "mostrar o ocultar lista de tableros",
|
||||||
showBoardSettingsButtonAudioLabel: "mostrar configuraci\xF3n del tablero",
|
showBoardSettingsButtonAudioLabel: "mostrar configuraci\xF3n del tablero",
|
||||||
@@ -1441,12 +1435,21 @@
|
|||||||
this.closeContext = (contextId, fromHistoryEvent = false) => {
|
this.closeContext = (contextId, fromHistoryEvent = false) => {
|
||||||
if (!this.contexts.map((context) => context.contextId).includes(contextId))
|
if (!this.contexts.map((context) => context.contextId).includes(contextId))
|
||||||
return;
|
return;
|
||||||
|
let exitNext = false;
|
||||||
while (this.contexts.length > 0) {
|
while (this.contexts.length > 0) {
|
||||||
const currentContext = this.context;
|
const currentContext = this.context;
|
||||||
if (!currentContext) return;
|
if (!currentContext) return;
|
||||||
currentContext.handleContextClose(fromHistoryEvent);
|
const response = currentContext.handleContextClose(fromHistoryEvent);
|
||||||
|
if (response == false) return;
|
||||||
this.contextStack.delete(currentContext.contextId);
|
this.contextStack.delete(currentContext.contextId);
|
||||||
if (currentContext.contextId == contextId) break;
|
if (response == true) {
|
||||||
|
exitNext = true;
|
||||||
|
continue;
|
||||||
|
} else if (exitNext == true) {
|
||||||
|
break;
|
||||||
|
} else if (currentContext.contextId == contextId) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
this.handleKeyDown = (e) => {
|
this.handleKeyDown = (e) => {
|
||||||
@@ -2838,6 +2841,11 @@
|
|||||||
};
|
};
|
||||||
this.loadData = () => {
|
this.loadData = () => {
|
||||||
};
|
};
|
||||||
|
// context
|
||||||
|
this.handleContextClose = (fromHistoryEvent) => {
|
||||||
|
if (!fromHistoryEvent) return;
|
||||||
|
return true;
|
||||||
|
};
|
||||||
this.calendarModel = calendarModel;
|
this.calendarModel = calendarModel;
|
||||||
this.boardsAndTasksModel = boardsAndTasksModel;
|
this.boardsAndTasksModel = boardsAndTasksModel;
|
||||||
this.chatViewModel = chatViewModel;
|
this.chatViewModel = chatViewModel;
|
||||||
@@ -4492,6 +4500,11 @@
|
|||||||
this.updateBoardIndices();
|
this.updateBoardIndices();
|
||||||
this.openLastUsedBoard();
|
this.openLastUsedBoard();
|
||||||
};
|
};
|
||||||
|
// context
|
||||||
|
this.handleContextClose = (fromHistoryEvent) => {
|
||||||
|
if (!fromHistoryEvent) return;
|
||||||
|
return true;
|
||||||
|
};
|
||||||
this.loadData();
|
this.loadData();
|
||||||
this.chatViewModel = chatViewModel;
|
this.chatViewModel = chatViewModel;
|
||||||
implementFilter(
|
implementFilter(
|
||||||
@@ -4946,6 +4959,12 @@
|
|||||||
if (Object.values(ReactionSymbols).includes(previousFilter))
|
if (Object.values(ReactionSymbols).includes(previousFilter))
|
||||||
this.setReactionFilter(previousFilter);
|
this.setReactionFilter(previousFilter);
|
||||||
};
|
};
|
||||||
|
// context
|
||||||
|
this.handleContextClose = (fromHistoryEvent) => {
|
||||||
|
if (this.replyViewSelectedMessage.value == void 0 && fromHistoryEvent) return true;
|
||||||
|
this.resetReplyView();
|
||||||
|
return false;
|
||||||
|
};
|
||||||
this.restoreFilter();
|
this.restoreFilter();
|
||||||
this.cannotSendMessage = createProxyState(
|
this.cannotSendMessage = createProxyState(
|
||||||
[
|
[
|
||||||
@@ -5231,22 +5250,23 @@
|
|||||||
(chatViewModel) => chatViewModel.settingsPageViewModel.name.value
|
(chatViewModel) => chatViewModel.settingsPageViewModel.name.value
|
||||||
);
|
);
|
||||||
// state
|
// state
|
||||||
this.newChatPrimaryChannel = new State("");
|
this.chatQuery = new State("");
|
||||||
this.chatViewModels = new ListState();
|
this.chatViewModels = new ListState();
|
||||||
|
this.chatMatches = new ListState();
|
||||||
this.selectedChat = new State(
|
this.selectedChat = new State(
|
||||||
void 0
|
void 0
|
||||||
);
|
);
|
||||||
// guards
|
// guards
|
||||||
this.cannotCreateChat = createProxyState(
|
this.cannotCreateChat = createProxyState(
|
||||||
[this.newChatPrimaryChannel],
|
[this.chatQuery],
|
||||||
() => this.newChatPrimaryChannel.value == ""
|
() => this.chatQuery.value == ""
|
||||||
);
|
);
|
||||||
// methods
|
// methods
|
||||||
this.createChat = () => {
|
this.createChat = () => {
|
||||||
const chatModel = this.coreViewModel.chatListModel.createChat(
|
const chatModel = this.coreViewModel.chatListModel.createChat(
|
||||||
this.newChatPrimaryChannel.value
|
this.chatQuery.value
|
||||||
);
|
);
|
||||||
this.newChatPrimaryChannel.value = "";
|
this.chatQuery.value = "";
|
||||||
const chatViewModel = this.createChatViewModel(chatModel);
|
const chatViewModel = this.createChatViewModel(chatModel);
|
||||||
this.trackChat(chatViewModel);
|
this.trackChat(chatViewModel);
|
||||||
this.updateIndices();
|
this.updateIndices();
|
||||||
@@ -5305,6 +5325,7 @@
|
|||||||
this.settingsViewModel
|
this.settingsViewModel
|
||||||
);
|
);
|
||||||
this.loadChats();
|
this.loadChats();
|
||||||
|
implementFilter(this.chatViewModels, this.chatMatches, this.chatQuery, (chat) => chat.chatModel.info.name);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -5324,16 +5345,7 @@
|
|||||||
|
|
||||||
// src/View/Components/homePageButton.tsx
|
// src/View/Components/homePageButton.tsx
|
||||||
function HomePageButton(action, label, icon, key) {
|
function HomePageButton(action, label, icon, key) {
|
||||||
return /* @__PURE__ */ createElement(
|
return /* @__PURE__ */ createElement("button", { class: "tile flex-no", "on:click": action, ctkeystroke: key }, /* @__PURE__ */ createElement("span", { class: "icon" }, icon), /* @__PURE__ */ createElement("div", null, /* @__PURE__ */ createElement("span", null, label)));
|
||||||
"button",
|
|
||||||
{
|
|
||||||
class: "tile flex-no",
|
|
||||||
"on:click": action,
|
|
||||||
ctkeystroke: key
|
|
||||||
},
|
|
||||||
/* @__PURE__ */ createElement("span", { class: "icon" }, icon),
|
|
||||||
/* @__PURE__ */ createElement("div", null, /* @__PURE__ */ createElement("span", null, label))
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// src/View/Components/chatEntry.tsx
|
// src/View/Components/chatEntry.tsx
|
||||||
@@ -5341,7 +5353,7 @@
|
|||||||
const view = /* @__PURE__ */ createElement(
|
const view = /* @__PURE__ */ createElement(
|
||||||
"button",
|
"button",
|
||||||
{
|
{
|
||||||
class: "tile colored-tile chat-entry animate-highlight",
|
class: "tile colored-tile chat-entry animate-highlight slide-up",
|
||||||
"set:color": chatViewModel.settingsPageViewModel.color,
|
"set:color": chatViewModel.settingsPageViewModel.color,
|
||||||
style: "height: 8rem",
|
style: "height: 8rem",
|
||||||
"on:click": chatViewModel.open,
|
"on:click": chatViewModel.open,
|
||||||
@@ -5370,9 +5382,29 @@
|
|||||||
return ChatEntry(chatViewModel);
|
return ChatEntry(chatViewModel);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// src/View/Components/newItemEntry.tsx
|
||||||
|
function NewItemEntry(coreViewModel2, query, fn) {
|
||||||
|
const isHidden = createProxyState([query], () => query.value == "");
|
||||||
|
const label = createProxyState(
|
||||||
|
[query],
|
||||||
|
() => coreViewModel2.translations.general.createLabel(query.value)
|
||||||
|
);
|
||||||
|
return /* @__PURE__ */ createElement(
|
||||||
|
"button",
|
||||||
|
{
|
||||||
|
class: "standard slide-up",
|
||||||
|
"toggle:hidden": isHidden,
|
||||||
|
"on:click": fn
|
||||||
|
},
|
||||||
|
/* @__PURE__ */ createElement("span", { "subscribe:innerText": label }),
|
||||||
|
/* @__PURE__ */ createElement("span", { class: "icon" }, "add")
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
// src/View/homePage.tsx
|
// src/View/homePage.tsx
|
||||||
function HomePage(coreViewModel2, storageViewModel2, settingsViewModel2, connectionViewModel2, fileTransferViewModel2, chatListViewModel2) {
|
function HomePage(coreViewModel2, storageViewModel2, settingsViewModel2, connectionViewModel2, fileTransferViewModel2, chatListViewModel2) {
|
||||||
const overviewSection = /* @__PURE__ */ createElement("div", { id: "overview-section" }, /* @__PURE__ */ createElement("h2", null, coreViewModel2.translations.homePage.overviewHeadline), /* @__PURE__ */ createElement("label", { class: "tile flex-no" }, /* @__PURE__ */ createElement("span", { class: "icon" }, "cell_tower"), /* @__PURE__ */ createElement("div", null, /* @__PURE__ */ createElement("span", null, coreViewModel2.translations.homePage.serverAddress), /* @__PURE__ */ createElement(
|
const greeting = createProxyState([settingsViewModel2.username], () => coreViewModel2.translations.homePage.greeting(settingsViewModel2.username.value));
|
||||||
|
const overviewSection = /* @__PURE__ */ createElement("div", { id: "overview-section" }, /* @__PURE__ */ createElement("label", { class: "tile flex-no" }, /* @__PURE__ */ createElement("span", { class: "icon" }, "cell_tower"), /* @__PURE__ */ createElement("div", null, /* @__PURE__ */ createElement("span", null, coreViewModel2.translations.homePage.serverAddress), /* @__PURE__ */ createElement(
|
||||||
"input",
|
"input",
|
||||||
{
|
{
|
||||||
list: "previous-connection-list",
|
list: "previous-connection-list",
|
||||||
@@ -5443,38 +5475,25 @@
|
|||||||
},
|
},
|
||||||
/* @__PURE__ */ createElement("span", { "subscribe:innerText": coreViewModel2.updateText }),
|
/* @__PURE__ */ createElement("span", { "subscribe:innerText": coreViewModel2.updateText }),
|
||||||
/* @__PURE__ */ createElement("span", { class: "icon" }, "update")
|
/* @__PURE__ */ createElement("span", { class: "icon" }, "update")
|
||||||
), /* @__PURE__ */ createElement("div", { class: "mobile-only" }, /* @__PURE__ */ createElement("hr", null), /* @__PURE__ */ createElement("div", { class: "flex-row justify-end" }, /* @__PURE__ */ createElement("button", { class: "ghost width-50", "on:click": scrollToChat }, coreViewModel2.translations.homePage.scrollToChatButton, /* @__PURE__ */ createElement("span", { class: "icon" }, "arrow_forward")))));
|
), /* @__PURE__ */ createElement("hr", { class: "mobile-only" }));
|
||||||
const chatSection = /* @__PURE__ */ createElement("div", { id: "chat-section" }, /* @__PURE__ */ createElement("h2", null, coreViewModel2.translations.homePage.chatsHeadline), /* @__PURE__ */ createElement("div", { class: "flex-row width-input" }, /* @__PURE__ */ createElement(
|
const chatSection = /* @__PURE__ */ createElement("div", { id: "chat-section" }, /* @__PURE__ */ createElement("div", { class: "flex-row width-input" }, /* @__PURE__ */ createElement(
|
||||||
"input",
|
"input",
|
||||||
{
|
{
|
||||||
placeholder: coreViewModel2.translations.homePage.addChatPlaceholder,
|
placeholder: coreViewModel2.translations.general.filterOrCreateLabel(coreViewModel2.translations.homePage.typeChat),
|
||||||
"aria-label": coreViewModel2.translations.homePage.addChatAudioLabel,
|
"bind:value": chatListViewModel2.chatQuery,
|
||||||
"bind:value": chatListViewModel2.newChatPrimaryChannel,
|
|
||||||
"on:enter": chatListViewModel2.createChat
|
"on:enter": chatListViewModel2.createChat
|
||||||
}
|
}
|
||||||
), /* @__PURE__ */ createElement(
|
)), /* @__PURE__ */ createElement("hr", null), NewItemEntry(coreViewModel2, chatListViewModel2.chatQuery, chatListViewModel2.createChat), /* @__PURE__ */ createElement(
|
||||||
"button",
|
|
||||||
{
|
|
||||||
class: "primary",
|
|
||||||
"aria-label": coreViewModel2.translations.homePage.addChatButton,
|
|
||||||
"on:click": chatListViewModel2.createChat,
|
|
||||||
"toggle:disabled": chatListViewModel2.cannotCreateChat
|
|
||||||
},
|
|
||||||
/* @__PURE__ */ createElement("span", { class: "icon" }, "add")
|
|
||||||
)), /* @__PURE__ */ createElement(
|
|
||||||
"div",
|
"div",
|
||||||
{
|
{
|
||||||
id: "chat-grid",
|
id: "chat-grid",
|
||||||
"children:append": [
|
"children:append": [
|
||||||
chatListViewModel2.chatViewModels,
|
chatListViewModel2.chatMatches,
|
||||||
ChatViewModelToChatEntry
|
ChatViewModelToChatEntry
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
function scrollToChat() {
|
return /* @__PURE__ */ createElement("article", { id: "home-page" }, /* @__PURE__ */ createElement("h1", { "subscribe:innerText": greeting }), /* @__PURE__ */ createElement("div", null, overviewSection, chatSection));
|
||||||
chatSection.scrollIntoView();
|
|
||||||
}
|
|
||||||
return /* @__PURE__ */ createElement("article", { id: "home-page" }, /* @__PURE__ */ createElement("div", null, overviewSection, chatSection));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// src/View/Components/ribbonButton.tsx
|
// src/View/Components/ribbonButton.tsx
|
||||||
@@ -6413,25 +6432,6 @@
|
|||||||
return /* @__PURE__ */ createElement("div", { class: "width-100 height-100 flex-column justify-center align-center" }, /* @__PURE__ */ createElement("span", { class: "secondary slide-up" }, text));
|
return /* @__PURE__ */ createElement("div", { class: "width-100 height-100 flex-column justify-center align-center" }, /* @__PURE__ */ createElement("span", { class: "secondary slide-up" }, text));
|
||||||
}
|
}
|
||||||
|
|
||||||
// src/View/Components/newItemEntry.tsx
|
|
||||||
function NewItemEntry(coreViewModel2, query, fn) {
|
|
||||||
const isHidden = createProxyState([query], () => query.value == "");
|
|
||||||
const label = createProxyState(
|
|
||||||
[query],
|
|
||||||
() => coreViewModel2.translations.general.createLabel(query.value)
|
|
||||||
);
|
|
||||||
return /* @__PURE__ */ createElement(
|
|
||||||
"button",
|
|
||||||
{
|
|
||||||
class: "standard slide-up",
|
|
||||||
"toggle:hidden": isHidden,
|
|
||||||
"on:click": fn
|
|
||||||
},
|
|
||||||
/* @__PURE__ */ createElement("span", { "subscribe:innerText": label }),
|
|
||||||
/* @__PURE__ */ createElement("span", { class: "icon" }, "add")
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
// src/View/Components/boardEntry.tsx
|
// src/View/Components/boardEntry.tsx
|
||||||
function BoardEntry(boardViewModel) {
|
function BoardEntry(boardViewModel) {
|
||||||
const view = /* @__PURE__ */ createElement(
|
const view = /* @__PURE__ */ createElement(
|
||||||
@@ -6506,7 +6506,7 @@
|
|||||||
class: "no-outline",
|
class: "no-outline",
|
||||||
"bind:value": taskPageViewModel.boardQuery,
|
"bind:value": taskPageViewModel.boardQuery,
|
||||||
"on:enter": taskPageViewModel.createBoard,
|
"on:enter": taskPageViewModel.createBoard,
|
||||||
placeholder: coreViewModel2.translations.general.filterOrCreateLabel
|
placeholder: coreViewModel2.translations.general.filterOrCreateLabel(coreViewModel2.translations.chatPage.task.typeBoard)
|
||||||
}
|
}
|
||||||
))), /* @__PURE__ */ createElement("div", { class: "content gap" }, NewItemEntry(
|
))), /* @__PURE__ */ createElement("div", { class: "content gap" }, NewItemEntry(
|
||||||
coreViewModel2,
|
coreViewModel2,
|
||||||
@@ -8018,15 +8018,7 @@
|
|||||||
function toggle() {
|
function toggle() {
|
||||||
isSelected.value = !isSelected.value;
|
isSelected.value = !isSelected.value;
|
||||||
}
|
}
|
||||||
return /* @__PURE__ */ createElement(
|
return /* @__PURE__ */ createElement("button", { class: "tile", "toggle:selected": isSelected, "on:click": toggle }, /* @__PURE__ */ createElement("div", null, /* @__PURE__ */ createElement("b", { class: "ellipsis" }, fileOption.label), /* @__PURE__ */ createElement("span", { class: "secondary ellipsis" }, StorageModel.pathComponentsToString(...fileOption.path))));
|
||||||
"button",
|
|
||||||
{
|
|
||||||
class: "tile",
|
|
||||||
"toggle:selected": isSelected,
|
|
||||||
"on:click": toggle
|
|
||||||
},
|
|
||||||
/* @__PURE__ */ createElement("div", null, /* @__PURE__ */ createElement("b", { class: "ellipsis" }, fileOption.label), /* @__PURE__ */ createElement("span", { class: "secondary ellipsis" }, StorageModel.pathComponentsToString(...fileOption.path)))
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
function DirectionSelectionModal(coreViewModel2, connectionViewModel2, fileTransferViewModel2) {
|
function DirectionSelectionModal(coreViewModel2, connectionViewModel2, fileTransferViewModel2) {
|
||||||
const isPresented = createProxyState(
|
const isPresented = createProxyState(
|
||||||
@@ -9116,7 +9108,7 @@
|
|||||||
);
|
);
|
||||||
});
|
});
|
||||||
document.body.append(
|
document.body.append(
|
||||||
/* @__PURE__ */ createElement("div", { id: "background-wrapper" }, /* @__PURE__ */ createElement("div", { id: "sky" }), /* @__PURE__ */ createElement("div", { id: "grass-1" }), /* @__PURE__ */ createElement("div", { id: "grass-2" }))
|
/* @__PURE__ */ createElement("div", { id: "background-wrapper" }, /* @__PURE__ */ createElement("div", null, /* @__PURE__ */ createElement("div", { id: "sky" }), /* @__PURE__ */ createElement("div", { id: "grass-1" }), /* @__PURE__ */ createElement("div", { id: "grass-2" })))
|
||||||
);
|
);
|
||||||
document.querySelector("main").append(
|
document.querySelector("main").append(
|
||||||
HomePage(
|
HomePage(
|
||||||
|
|||||||
Vendored
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "CT",
|
"name": "CT",
|
||||||
"display": "fullscreen",
|
"display": "standalone",
|
||||||
"theme_color": "black",
|
"theme_color": "black",
|
||||||
"background_color": "black",
|
"background_color": "black",
|
||||||
"icons": [
|
"icons": [
|
||||||
|
|||||||
Vendored
+12
@@ -8,6 +8,7 @@ BASIC
|
|||||||
outline: none;
|
outline: none;
|
||||||
margin: 0px;
|
margin: 0px;
|
||||||
padding: 0px;
|
padding: 0px;
|
||||||
|
font-synthesis: none !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
html {
|
html {
|
||||||
@@ -325,6 +326,12 @@ body {
|
|||||||
TYPE
|
TYPE
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: IBM Plex Sans Thin;
|
||||||
|
src: url("Fonts/IBMPlexSans-Thin.ttf");
|
||||||
|
font-weight: thin;
|
||||||
|
}
|
||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: IBM Plex Sans;
|
font-family: IBM Plex Sans;
|
||||||
src: url("Fonts/IBMPlexSans-Regular.ttf");
|
src: url("Fonts/IBMPlexSans-Regular.ttf");
|
||||||
@@ -494,6 +501,11 @@ textarea {
|
|||||||
display: none !important;
|
display: none !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
body > main {
|
||||||
|
align-items: safe center;
|
||||||
|
justify-content: safe center;
|
||||||
|
}
|
||||||
|
|
||||||
main,
|
main,
|
||||||
.tile,
|
.tile,
|
||||||
.tile > div {
|
.tile > div {
|
||||||
|
|||||||
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
const VERSION = "2610 Beta 20"
|
const VERSION = "2610 Beta 21.9"
|
||||||
|
|
||||||
function processUrl(event) {
|
function processUrl(event) {
|
||||||
const url = event.request.url;
|
const url = event.request.url;
|
||||||
|
|||||||
Vendored
+1
-1
@@ -1 +1 @@
|
|||||||
2610 Beta 20
|
2610 Beta 21.9
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ const englishTranslations = {
|
|||||||
|
|
||||||
homePage: {
|
homePage: {
|
||||||
appName: "Coordination Tool",
|
appName: "Coordination Tool",
|
||||||
greeting: (name: string) => `Hi ${name}!`,
|
greeting: (name: string) => `Hi ${name}`,
|
||||||
|
|
||||||
///
|
///
|
||||||
|
|
||||||
|
|||||||
@@ -52,12 +52,23 @@ export default class CoreViewModel {
|
|||||||
)
|
)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
let exitNext: boolean = false;
|
||||||
|
|
||||||
while (this.contexts.length > 0) {
|
while (this.contexts.length > 0) {
|
||||||
const currentContext: Context | undefined = this.context;
|
const currentContext: Context | undefined = this.context;
|
||||||
if (!currentContext) return;
|
if (!currentContext) return;
|
||||||
currentContext.handleContextClose(fromHistoryEvent);
|
const response = currentContext.handleContextClose(fromHistoryEvent);
|
||||||
|
if (response == false) return;
|
||||||
this.contextStack.delete(currentContext.contextId);
|
this.contextStack.delete(currentContext.contextId);
|
||||||
if (currentContext.contextId == contextId) break;
|
if (response == true) {
|
||||||
|
exitNext = true;
|
||||||
|
continue;
|
||||||
|
} else if (exitNext == true) {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
else if (currentContext.contextId == contextId) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -196,7 +207,7 @@ export class Context {
|
|||||||
};
|
};
|
||||||
|
|
||||||
close = (): void => {};
|
close = (): void => {};
|
||||||
handleContextClose = (fromHistoryEvent: boolean): void => {};
|
handleContextClose = (fromHistoryEvent: boolean): void|boolean=> {};
|
||||||
|
|
||||||
registerKeyStroke = (key: string, fn: () => void): void => {
|
registerKeyStroke = (key: string, fn: () => void): void => {
|
||||||
this.keystrokes.set(key, fn);
|
this.keystrokes.set(key, fn);
|
||||||
|
|||||||
@@ -220,6 +220,12 @@ export default class CalendarPageViewModel extends TaskContainingPageViewModel {
|
|||||||
|
|
||||||
loadData = (): void => {};
|
loadData = (): void => {};
|
||||||
|
|
||||||
|
// context
|
||||||
|
handleContextClose = (fromHistoryEvent: boolean): void | boolean => {
|
||||||
|
if (!fromHistoryEvent) return;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
// init
|
// init
|
||||||
constructor(
|
constructor(
|
||||||
public readonly coreViewModel: CoreViewModel,
|
public readonly coreViewModel: CoreViewModel,
|
||||||
|
|||||||
@@ -196,6 +196,13 @@ export default class MessagePageViewModel extends Context {
|
|||||||
this.setReactionFilter(previousFilter);
|
this.setReactionFilter(previousFilter);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// context
|
||||||
|
handleContextClose = (fromHistoryEvent: boolean):boolean=> {
|
||||||
|
if (this.replyViewSelectedMessage.value == undefined && fromHistoryEvent) return true;
|
||||||
|
this.resetReplyView();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
// init
|
// init
|
||||||
constructor(
|
constructor(
|
||||||
public readonly coreViewModel: CoreViewModel,
|
public readonly coreViewModel: CoreViewModel,
|
||||||
|
|||||||
@@ -166,6 +166,12 @@ export default class TaskPageViewModel extends ContextHost<string> {
|
|||||||
this.openLastUsedBoard();
|
this.openLastUsedBoard();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// context
|
||||||
|
handleContextClose = (fromHistoryEvent: boolean): void | boolean => {
|
||||||
|
if (!fromHistoryEvent) return;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
// init
|
// init
|
||||||
constructor(
|
constructor(
|
||||||
readonly coreViewModel: CoreViewModel,
|
readonly coreViewModel: CoreViewModel,
|
||||||
|
|||||||
+14
-14
@@ -9,9 +9,7 @@
|
|||||||
/* Gradient */
|
/* Gradient */
|
||||||
#background-wrapper {
|
#background-wrapper {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
inset: -80px;
|
inset: 0px;
|
||||||
|
|
||||||
filter: blur(40px);
|
|
||||||
|
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
@@ -25,14 +23,20 @@ main {
|
|||||||
z-index: 2;
|
z-index: 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
#background-wrapper div {
|
#background-wrapper > div {
|
||||||
content: "";
|
|
||||||
|
|
||||||
position: absolute;
|
position: absolute;
|
||||||
inset: 0px;
|
inset: -100px;
|
||||||
|
|
||||||
z-index: -1;
|
z-index: -1;
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
|
|
||||||
|
opacity: .3;
|
||||||
|
}
|
||||||
|
|
||||||
|
#background-wrapper > div > div {
|
||||||
|
position: absolute;
|
||||||
|
inset: 0px;
|
||||||
|
filter: blur(80px);
|
||||||
}
|
}
|
||||||
|
|
||||||
#background-wrapper #sky {
|
#background-wrapper #sky {
|
||||||
@@ -40,8 +44,6 @@ main {
|
|||||||
bottom: -50%;
|
bottom: -50%;
|
||||||
|
|
||||||
background-image: radial-gradient(var(--sky-1), var(--sky-2));
|
background-image: radial-gradient(var(--sky-1), var(--sky-2));
|
||||||
|
|
||||||
opacity: 0.4;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
body {
|
body {
|
||||||
@@ -55,13 +57,12 @@ body {
|
|||||||
--color-2: hsl(37.43, 88.75%, 53.58%);
|
--color-2: hsl(37.43, 88.75%, 53.58%);
|
||||||
|
|
||||||
filter: var(--backdrop-grass-filter);
|
filter: var(--backdrop-grass-filter);
|
||||||
opacity: 0.3;
|
|
||||||
|
|
||||||
background-image: linear-gradient(
|
background-image: linear-gradient(
|
||||||
350deg,
|
350deg,
|
||||||
var(--color-1),
|
var(--color-1),
|
||||||
var(--color-2) 30%,
|
var(--color-2) 30%,
|
||||||
transparent 40%
|
transparent 50%
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -70,17 +71,16 @@ body {
|
|||||||
--color-2: hsl(110, 60%, 35%);
|
--color-2: hsl(110, 60%, 35%);
|
||||||
|
|
||||||
filter: var(--backdrop-grass-filter);
|
filter: var(--backdrop-grass-filter);
|
||||||
opacity: 0.3;
|
|
||||||
|
|
||||||
background-image: linear-gradient(
|
background-image: linear-gradient(
|
||||||
9deg,
|
9deg,
|
||||||
var(--color-1),
|
var(--color-1),
|
||||||
var(--color-2) 30%,
|
var(--color-2) 30%,
|
||||||
transparent 35%
|
transparent 45%
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
body[theme="dark"] #background-wrapper {
|
body[theme="dark"] #background-wrapper > div {
|
||||||
opacity: 0.5;
|
opacity: 0.5;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+23
-21
@@ -85,30 +85,32 @@ chatListViewModel.selectedChat.subscribe(() => {
|
|||||||
|
|
||||||
document.body.append(
|
document.body.append(
|
||||||
<div id="background-wrapper">
|
<div id="background-wrapper">
|
||||||
<div id="sky"></div>
|
<div>
|
||||||
<div id="grass-1"></div>
|
<div id="sky"></div>
|
||||||
<div id="grass-2"></div>
|
<div id="grass-1"></div>
|
||||||
|
<div id="grass-2"></div>
|
||||||
|
</div>
|
||||||
</div>,
|
</div>,
|
||||||
);
|
);
|
||||||
document
|
document
|
||||||
.querySelector("main")!
|
.querySelector("main")!
|
||||||
.append(
|
.append(
|
||||||
HomePage(
|
HomePage(
|
||||||
coreViewModel,
|
coreViewModel,
|
||||||
storageViewModel,
|
storageViewModel,
|
||||||
settingsViewModel,
|
settingsViewModel,
|
||||||
connectionViewModel,
|
connectionViewModel,
|
||||||
fileTransferViewModel,
|
fileTransferViewModel,
|
||||||
chatListViewModel,
|
chatListViewModel,
|
||||||
),
|
),
|
||||||
ChatPageWrapper(coreViewModel, chatListViewModel),
|
ChatPageWrapper(coreViewModel, chatListViewModel),
|
||||||
OnboardingModalWrapper(coreViewModel, onboardingViewModel),
|
OnboardingModalWrapper(coreViewModel, onboardingViewModel),
|
||||||
ConnectionModal(coreViewModel, connectionViewModel),
|
ConnectionModal(coreViewModel, connectionViewModel),
|
||||||
DataTransferModalWrapper(
|
DataTransferModalWrapper(
|
||||||
coreViewModel,
|
coreViewModel,
|
||||||
connectionViewModel,
|
connectionViewModel,
|
||||||
fileTransferViewModel,
|
fileTransferViewModel,
|
||||||
),
|
),
|
||||||
StorageModal(coreViewModel, storageViewModel),
|
StorageModal(coreViewModel, storageViewModel),
|
||||||
SettingsModal(coreViewModel, settingsViewModel),
|
SettingsModal(coreViewModel, settingsViewModel),
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user