add indicator when disconnected = shortcut to connection modal

This commit is contained in:
marlon-erler
2026-04-01 08:38:40 +00:00
parent 9d400a9929
commit fd8aafed6d
6 changed files with 51 additions and 6 deletions
+13
View File
@@ -49,6 +49,19 @@ export function ChatPage(chatViewModel: ChatViewModel) {
>
<span class="icon">close</span>
</button>
<button
class="danger"
aria-label={translations.general.restoreConnection}
on:click={
chatViewModel.connectionViewModel
.showConnectionModal
}
toggle:hidden={
chatViewModel.connectionViewModel.isConnected
}
>
<span class="icon">signal_disconnected</span>
</button>
<span>
{ChatViewToggleButton(
+6
View File
@@ -21,6 +21,8 @@ const englishTranslations = {
fileVersionLabel: "Version",
searchLabel: "Search",
restoreConnection: "Restore connection",
},
regional: {
@@ -295,6 +297,8 @@ const allTranslations: { [language: string]: typeof englishTranslations } = {
fileVersionLabel: "Version",
searchLabel: "Suche",
restoreConnection: "Verbindung wiederherstellen",
},
regional: {
@@ -537,6 +541,8 @@ const allTranslations: { [language: string]: typeof englishTranslations } = {
fileVersionLabel: "Versión",
searchLabel: "Buscar",
restoreConnection: "Conectar de nuevo",
},
regional: {
+5
View File
@@ -7,11 +7,13 @@ import CoreViewModel from "../Global/coreViewModel";
import { IndexManager } from "../../Model/Utility/utility";
import SettingsViewModel from "../Global/settingsViewModel";
import StorageModel from "../../Model/Global/storageModel";
import ConnectionViewModel from "../Global/connectionViewModel";
export default class ChatListViewModel {
storageModel: StorageModel;
chatListModel: ChatListModel;
settingsViewModel: SettingsViewModel;
connectionViewModel: ConnectionViewModel;
// data
chatIndexManager: IndexManager<ChatViewModel> = new IndexManager(
@@ -61,6 +63,7 @@ export default class ChatListViewModel {
this.storageModel,
chatModel,
this.settingsViewModel,
this.connectionViewModel,
this,
);
};
@@ -97,10 +100,12 @@ export default class ChatListViewModel {
storageModel: StorageModel,
chatListModel: ChatListModel,
settingsViewModel: SettingsViewModel,
connectionViewModel: ConnectionViewModel,
) {
this.storageModel = storageModel;
this.chatListModel = chatListModel;
this.settingsViewModel = settingsViewModel;
this.connectionViewModel = connectionViewModel;
this.loadChats();
}
+4
View File
@@ -18,11 +18,13 @@ import SettingsPageViewModel from "../Pages/settingsPageViewModel";
import SettingsViewModel from "../Global/settingsViewModel";
import TaskPageViewModel from "../Pages/taskPageViewModel";
import { translations } from "../../View/translations";
import ConnectionViewModel from "../Global/connectionViewModel";
export default class ChatViewModel {
chatModel: ChatModel;
storageModel: StorageModel;
settingsViewModel: SettingsViewModel;
connectionViewModel: ConnectionViewModel;
chatListViewModel: ChatListViewModel;
calendarViewModel: CalendarPageViewModel;
@@ -109,12 +111,14 @@ export default class ChatViewModel {
storageModel: StorageModel,
chatModel: ChatModel,
settingsViewModel: SettingsViewModel,
connectionViewModel: ConnectionViewModel,
chatListViewModel: ChatListViewModel,
) {
// models
this.storageModel = storageModel;
this.chatModel = chatModel;
this.settingsViewModel = settingsViewModel;
this.connectionViewModel = connectionViewModel;
this.chatListViewModel = chatListViewModel;
// page viewModels
+1
View File
@@ -50,6 +50,7 @@ const chatListViewModel = new ChatListViewModel(
storageModel,
chatListModel,
settingsViewModel,
connectionViewModel,
);
const fileTransferViewModel = new FileTransferViewModel(
fileTransferModel,