Добавил гостевой режим, единые shine-ссылки и пометку о нестабильности мнений

This commit is contained in:
AidarKC
2026-05-20 16:14:59 +03:00
parent aa35d87885
commit 21413268f3
46 changed files with 1125 additions and 310 deletions
+33 -2
View File
@@ -1,5 +1,6 @@
import { resolveToolbarActive } from '../router.js';
import { resolveToolbarActive } from '../router.js';
import { state } from '../state.js';
import { openAuthRequiredModal } from '../services/auth-required-modal.js';
const ITEMS = [
{ pageId: 'messages-list', label: 'Личные сообщения', icon: '💬' },
@@ -27,6 +28,35 @@ function getTotalUnreadMessages() {
return total;
}
function navigateWithGuestRules(pageId, navigate) {
if (state.session.isAuthorized) {
navigate(pageId);
return;
}
if (pageId === 'messages-list') {
openAuthRequiredModal({
title: 'Личные сообщения недоступны',
text: 'Вы не авторизованы. Для личных сообщений сначала войдите в систему.',
});
return;
}
if (pageId === 'profile-view') {
openAuthRequiredModal({
title: 'Профиль недоступен',
text: 'Вы не авторизованы. Для профиля сначала войдите в систему.',
});
return;
}
if (pageId === 'notifications-view') {
openAuthRequiredModal({
title: 'Уведомления недоступны',
text: 'Вы не авторизованы. Для уведомлений сначала войдите в систему.',
});
return;
}
navigate(pageId);
}
export function renderToolbar(currentPageId, navigate) {
const root = document.createElement('nav');
root.className = 'toolbar';
@@ -63,7 +93,7 @@ export function renderToolbar(currentPageId, navigate) {
if (item.pageId === 'channels-list') {
installChannelsHoldSwitcher(btn, navigate);
} else {
btn.addEventListener('click', () => navigate(item.pageId));
btn.addEventListener('click', () => navigateWithGuestRules(item.pageId, navigate));
}
root.append(btn);
});
@@ -156,3 +186,4 @@ function installChannelsHoldSwitcher(button, navigate) {
event.preventDefault();
});
}