3.0 Beta 3

This commit is contained in:
2026-04-11 13:22:56 +02:00
parent a01b5347d6
commit 7e5ea20409
24 changed files with 569 additions and 327 deletions

View File

@@ -1,11 +1,15 @@
<ng-template [(tuiDialog)]="changeLogOpen" [tuiDialogOptions]="{closable: false, dismissible: false, label: 'chat.changeLogDialog.label'|translate}">
<h3>{{"version"|translate}}</h3>
<ng-template [(tuiDialog)]="changeLogOpen"
[tuiDialogOptions]="{closable: false, dismissible: false, label: 'chat.changeLogDialog.label'|translate}">
<h3>{{ "version"|translate }}</h3>
<ul>
<li>{{"chat.changeLogDialog.changeLog.1"|translate}}</li>
<li>{{"chat.changeLogDialog.changeLog.2"|translate}}</li>
<li>{{ "chat.changeLogDialog.changeLog.1"|translate }}</li>
<li>{{ "chat.changeLogDialog.changeLog.2"|translate }}</li>
<li>{{ "chat.changeLogDialog.changeLog.3"|translate }}</li>
</ul>
<button tuiButton iconStart="@tui.check" (click)="localStorage.setItem('changeLogLastRead', environment.version); changeLogOpen.set(false)">{{"ok"|translate}}</button>
<button tuiButton iconStart="@tui.check"
(click)="localStorage.setItem('changeLogLastRead', environment.version); changeLogOpen.set(false)">{{ "ok"|translate }}
</button>
</ng-template>
@if (serviceManager.currentSession() == null) {
@@ -13,37 +17,74 @@
<tui-loader size="xl"/>
</main>
} @else {
<main id="layout" tuiGroup [collapsed]="true">
<aside id="chatnav">
<aside>
<tui-segmented id="mode_switcher">
<button>
<tui-icon icon="@tui.message-circle"/>
</button>
<button disabled style="pointer-events: none; opacity: 0.5">
<tui-icon icon="@tui.network"/>
</button>
<button disabled style="pointer-events: none; opacity: 0.5">
<tui-icon icon="@tui.image"/>
</button>
</tui-segmented>
@if (breakpoint() != "mobile") {
<main id="layout" tuiGroup [collapsed]="true">
<aside id="chatnav">
<aside>
<tui-segmented id="mode_switcher">
<button>
<tui-icon icon="@tui.message-circle"/>
</button>
<button disabled style="pointer-events: none; opacity: 0.5">
<tui-icon icon="@tui.network"/>
</button>
<button disabled style="pointer-events: none; opacity: 0.5">
<tui-icon icon="@tui.image"/>
</button>
</tui-segmented>
<button id="bottom_btn" tuiButton appearance="flat" disabled>
<tui-icon icon="@tui.cog"/>
</button>
<button id="bottom_btn" tuiButton appearance="flat" disabled>
<tui-icon icon="@tui.cog"/>
</button>
</aside>
<main>
<app-dm-list [token]="serviceManager.currentSession()!.token"
[userid]="serviceManager.currentSession()!.userData.userid"></app-dm-list>
</main>
</aside>
<main>
<app-dm-list [token]="serviceManager.currentSession()!.token" [userid]="serviceManager.currentSession()!.userData.userid"></app-dm-list>
<main id="content">
<div id="content_tint">
@defer (when serviceManager.chatsStatus() != LoadStatus.loading) {
<router-outlet/>
}
</div>
</main>
</aside>
<main id="content">
<div id="content_tint">
@defer (when serviceManager.chatsStatus() != LoadStatus.loading) {
<router-outlet/>
}
</div>
</main>
</main>
} @else {
<main id="layout_mobile">
@if (!routerOutletActive()) {
<div id="navigation">
<div id="navigation_content">
@switch (navigationActiveIndex) {
@case (0) {
<app-dm-list [token]="serviceManager.currentSession()!.token"
[userid]="serviceManager.currentSession()!.userData.userid"></app-dm-list>
}
}
</div>
<nav tuiTabBar [(activeItemIndex)]="navigationActiveIndex">
@for (item of tabBarItems; track item; let i = $index) {
<button
[disabled]="!item.implemented"
[class.disabled]="!item.implemented"
tuiTabBarItem
type="button"
[icon]="item.icon"
(click)="navigationActiveIndex = i"
>
{{ item.text | translate }}
</button>
}
</nav>
</div>
}
@defer (when serviceManager.chatsStatus() != LoadStatus.loading) {
<router-outlet (activate)="routerOutletActive.set(true)" (deactivate)="routerOutletActive.set(false)"/>
}
</main>
}
}