SHA256
feat(ui): старт с личных сообщений и бейдж непрочитанных
This commit is contained in:
+9
-4
@@ -448,7 +448,7 @@ function renderPageFailureFallback(pageId, error) {
|
||||
|
||||
function renderApp() {
|
||||
const route = getRoute();
|
||||
const pageId = route.pageId || (state.session.isAuthorized ? 'profile-view' : 'start-view');
|
||||
const pageId = route.pageId || (state.session.isAuthorized ? 'messages-list' : 'start-view');
|
||||
|
||||
if (!state.session.isAuthorized && !PRE_AUTH_PAGES.includes(pageId)) {
|
||||
navigate('start-view');
|
||||
@@ -456,7 +456,7 @@ function renderApp() {
|
||||
}
|
||||
|
||||
if (state.session.isAuthorized && PRE_AUTH_PAGES.includes(pageId)) {
|
||||
navigate('profile-view');
|
||||
navigate('messages-list');
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -629,6 +629,8 @@ async function init() {
|
||||
? new TextDecoder().decode(parsed.payloadBytes || new Uint8Array(0))
|
||||
: '';
|
||||
|
||||
let shouldRefreshToolbarUnread = false;
|
||||
|
||||
if (messageType === 1 || messageType === 2) {
|
||||
const isIncomingForCurrent = messageType === 1;
|
||||
const added = addSignedMessageToChat({
|
||||
@@ -651,6 +653,9 @@ async function init() {
|
||||
details: { messageKey, baseKey: parsed.baseKey, messageType },
|
||||
});
|
||||
}
|
||||
if (added && isIncomingForCurrent) {
|
||||
shouldRefreshToolbarUnread = true;
|
||||
}
|
||||
if (added && isIncomingForCurrent && Notification.permission === 'granted' && !payload.backlog) {
|
||||
try {
|
||||
new Notification(`Сообщение от ${fromLogin}`, { body: text || '' });
|
||||
@@ -691,7 +696,7 @@ async function init() {
|
||||
}
|
||||
|
||||
const pageId = getRoute().pageId || '';
|
||||
if (pageId === 'chat-view' || pageId === 'messages-list') {
|
||||
if (pageId === 'chat-view' || pageId === 'messages-list' || shouldRefreshToolbarUnread) {
|
||||
renderApp();
|
||||
}
|
||||
});
|
||||
@@ -773,7 +778,7 @@ async function init() {
|
||||
await ensureSessionRuntimeStarted();
|
||||
|
||||
if (!window.location.hash) {
|
||||
navigate(state.session.isAuthorized ? 'profile-view' : 'start-view');
|
||||
navigate(state.session.isAuthorized ? 'messages-list' : 'start-view');
|
||||
} else {
|
||||
renderApp();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user