mirror of
https://github.com/chillpadclub/bedolaga-cabinet.git
synced 2026-07-28 09:33:46 +00:00
feat: add multi-channel subscription blocking UI and admin management
- Channel subscription blocking screen with per-channel status display - Safe URL handling with protocol validation (no open redirect) - Race-condition-safe subscription check with useRef guard - Admin channel management page with create, toggle, delete - Error handlers on all admin mutations with haptic feedback - Proper type guard for channel subscription error detection - Accessibility: aria-labels on icon-only buttons - Localization: en, ru, zh, fa translations
This commit is contained in:
@@ -7,9 +7,22 @@ interface MaintenanceInfo {
|
||||
reason?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* User-facing channel subscription status returned by the blocking 403 response.
|
||||
* Intentionally separate from `RequiredChannel` (api/adminChannels.ts) which
|
||||
* represents the admin CRUD entity with `is_active` / `sort_order` fields.
|
||||
*/
|
||||
interface ChannelInfo {
|
||||
channel_id: string;
|
||||
channel_link?: string;
|
||||
title?: string;
|
||||
is_subscribed: boolean;
|
||||
}
|
||||
|
||||
interface ChannelSubscriptionInfo {
|
||||
message: string;
|
||||
channel_link?: string;
|
||||
channels?: ChannelInfo[];
|
||||
}
|
||||
|
||||
interface BlacklistedInfo {
|
||||
|
||||
Reference in New Issue
Block a user