+ Enter your admin token to continue +
+Loading your workspace...
+Page not found
+The page you're looking for doesn't exist.
+ ++ {total} entr{total !== 1 ? "ies" : "y"} total · Track admin actions and system events +
+No audit entries
+Audit log is empty or no entries match the current filter.
++ Управление товарами, категориями и локациями +
+{treeError}
+ ++ No locations yet. Add one above. +
+ ) : ( +No categories
+ ) : ( + categories.map((cat) => { + const subs = tree?.subcategories.filter((s) => s.categoryId === cat.id) || []; + return ( +No subcategories
+ ) : ( + subs.map((sub) => ( +No products found
++ {categories.length} categor{categories.length !== 1 ? "ies" : "y"} total · Organize your product catalog +
+No categories found
+Create your first category to get started.
++ Настройки ИИ-ассистента Telegram магазина +
++ Включает или отключает автоматический ответчик +
++ При включении /start показывает ИИ-чат вместо каталога. Бот + сообщает что магазин пополняется. +
++ Доступные модели Ollama Cloud. Для Custom — введите вручную. +
++ Ключ хранится зашифрованным. При отображении маскируется. +
+{title}
+{value}
+{error}
+Overview of your Telegram Shop
+| Product | +User | +Amount | +Status | +Date | +
|---|---|---|---|---|
| {p.productName} | +{p.username} | +{formatCurrency(p.totalPrice)} | ++ + {badge.label} + + | +{relativeTime(p.purchaseDate)} | +
| Type | +Count | +Balance | +USD (mock) | +
|---|---|---|---|
| {w.walletType} | +{w.count} | +{formatCrypto(w.totalBalance)} | +{formatCurrency(w.totalBalanceUsd)} | +
+ {actionDescription(item.action, item.details)} +
++ {role === "super_admin" ? "Super Admin" : "Admin"} +
++ TG Shop Admin v2.0 +
++ {count} pending purchase{count !== 1 ? 's' : ''} awaiting review +
++ {item.product?.name ?? `Product #${item.productId}`} +
++ {item.user?.username ?? + item.user?.firstName ?? + `User #${item.userId}`} +
++ {item.amount} USDT +
+All caught up!
+No pending purchases
+Активность по часам
++ Активность за год ({today.getFullYear()}) +
+{m.content}
+{error || "Лид не найден"}
++ ID: {lead.id} · Telegram: {lead.telegramId || "—"} +
+Баланс
++ ${((user?.totalBalance || 0) + (user?.bonusBalance || 0)).toFixed(2)} +
++ {user ? `#${user.id} ${user.username || ""}` : "не покупатель"} +
+Покупки
++ {user?._count.purchases ?? 0} +
++ {user?.purchases.filter((p) => p.status === "completed").length ?? 0} completed +
+Сессии
+{sessions.length}
++ {sessions.filter((s) => s.isActive).length} активных +
+AI Скор
++ {lead.aiLeadScore != null ? `${Math.round(lead.aiLeadScore * 100)}%` : "—"} +
+готовность клиента
+Кошельки
+ {user.wallets.map((w) => ( +Нет переписок
+Клиент ещё не общался с ИИ-агентом
+Нет данных об активности
+Действия появятся после взаимодействия с ботом
+Нет покупок
+Этот клиент ещё не совершал покупок
+| ID | +Товар | +Кол-во | +Сумма | +Статус | +Дата | +
|---|---|---|---|---|---|
| {p.id} | +{p.product.name} | +{p.quantity} | +${p.totalPrice.toFixed(2)} | +
+ |
+ + {format(new Date(p.purchaseDate), "MMM d, yyyy")} + | +
+ Клиенты из Telegram чата +
++ Manage translation keys for {totalKeys} translatable strings across {totalLocales} languages +
+No locale data
+No translations found.
+No matches
+No translation keys match "{debouncedSearch}"
++ {locations.length} location{locations.length !== 1 ? "s" : ""} total · Manage delivery regions and zones +
+No locations found
+Create your first location to get started.
++ {total} purchase{total !== 1 ? "s" : ""} total · Track and manage all transactions{status ? ` · Filtered by status: ${STATUS_LABELS[status] || status}` : ""} +
+No purchases found
+There are no purchases matching the current filter.
+Access Denied
+Only super admins can access this page.
+Manage demo data and database state. Requires re-authentication for destructive actions.
+Database Contains Data
+The database is currently populated with demo data.
+Database is Empty
+No demo data has been seeded yet.
++ This will delete all existing data and populate the database + with sample demo data. This action is irreversible. +
++ Type your admin password to confirm. +
++ This will permanently delete all records from every table + in the database. This action cannot be undone. +
++ Type your admin password to confirm. +
+Configure bot settings, WireGuard VPN, and admin panel options. Changes require a restart.
+ + {!settings ? ( +{meta.description}
+ )} + {isBool ? ( ++ {this.state.error?.message || 'An unexpected error occurred.'} +
++ Showing {rangeStart}\u2013{rangeEnd} of {total} +
+