// Settings — tabs: Profile, Organization, Telegram, Danger zone.
const { useState: useStateSt } = React;
function Settings({ user, org, onChangeOrg, onLogout, onDeleteOrg, initialTab = 'profile' }) {
const { Button, IconButton, Card, TextInput, SectionHead, Modal } = window.UI;
const I = window.Icons;
const [tab, setTab] = useStateSt(initialTab);
const [deleteOpen, setDeleteOpen] = useStateSt(false);
const [confirm, setConfirm] = useStateSt('');
const [tgConnected, setTgConnected] = useStateSt(false);
const TABS = [
{ id: 'profile', label: 'Профиль', icon: 'Building' },
{ id: 'org', label: 'Организация', icon: 'Layers' },
{ id: 'telegram', label: 'Telegram', icon: 'Telegram' },
{ id: 'danger', label: 'Опасная зона', icon: 'AlertTriangle' },
];
return (
{TABS.map((t) => {
const Icon = I[t.icon];
const active = tab === t.id;
return (
);
})}
{tab === 'profile' && (
аккаунт
{}} placeholder="Анна Котова"/>
{}} disabled/>
Меняется через подтверждение по почте.
Русский
English
сессии
{[
{ d: 'macOS · Safari', loc: 'Москва · сейчас', cur: true },
{ d: 'iOS · Safari', loc: 'Москва · 2 ч назад', cur: false },
].map((s, i) => (
{s.d} {s.cur && текущая}
{s.loc}
{!s.cur &&
}
))}
)}
{tab === 'org' && (
организация
onChangeOrg({ ...org, name: v })}/>
omneee.app/
onChangeOrg({ ...org, slug: v })} className="flex-1"/>
{user.email}
Владелец · единственный участник
)}
{tab === 'telegram' && (
бот для уведомлений
@omneee_bot
Будет писать «пост готов», когда генерация закончится.
Как подключить
- Открыть t.me/omneee_bot
- Нажать /start
- Ввести код подключения A1F-29X
{tgConnected && подключено}
уведомления
{[
['Пост готов', true],
['Найдены новые источники', true],
['Идея переведена в работу', false],
['Еженедельный дайджест', true],
].map(([l, on], i) => (
-
{l}
{}} size="sm"/>
))}
)}
{tab === 'danger' && (
опасная зона
Удалить организацию
Все источники, идеи, посты и брендбук этой организации будут удалены безвозвратно. Это не повлияет на другие организации в вашем аккаунте.
)}
setDeleteOpen(false)} title="Удалить организацию?" sub="Это действие нельзя отменить.">
Будет удалено: 1 брендбук · {/* mock counts */} 12 постов · 8 идей · 5 источников.
Введите {org.slug} для подтверждения
);
}
function Field({ label, children }) {
return (
);
}
window.Screens = window.Screens || {};
window.Screens.Settings = Settings;