diff --git a/src/pages/AdminApps.tsx b/src/pages/AdminApps.tsx index df15423..8ed24d2 100644 --- a/src/pages/AdminApps.tsx +++ b/src/pages/AdminApps.tsx @@ -590,7 +590,7 @@ export default function AdminApps() { const { capabilities } = usePlatform(); // Use native Telegram back button in Mini App - useBackButton(() => navigate('/admin', { replace: true })); + useBackButton(() => navigate('/admin')); const [selectedPlatform, setSelectedPlatform] = useState('ios'); const [editingApp, setEditingApp] = useState<{ app: AppDefinition; isNew: boolean } | null>(null); diff --git a/src/pages/AdminBroadcastCreate.tsx b/src/pages/AdminBroadcastCreate.tsx index 7d555fc..0bc4f2d 100644 --- a/src/pages/AdminBroadcastCreate.tsx +++ b/src/pages/AdminBroadcastCreate.tsx @@ -119,7 +119,7 @@ export default function AdminBroadcastCreate() { const queryClient = useQueryClient(); const fileInputRef = useRef(null); - useBackButton(() => navigate('/admin/broadcasts', { replace: true })); + useBackButton(() => navigate('/admin/broadcasts')); // Channel selection const [channel, setChannel] = useState('telegram'); diff --git a/src/pages/AdminBroadcastDetail.tsx b/src/pages/AdminBroadcastDetail.tsx index 2b760e6..244d725 100644 --- a/src/pages/AdminBroadcastDetail.tsx +++ b/src/pages/AdminBroadcastDetail.tsx @@ -159,7 +159,7 @@ export default function AdminBroadcastDetail() { const broadcastId = id ? parseInt(id, 10) : null; - useBackButton(() => navigate('/admin/broadcasts', { replace: true })); + useBackButton(() => navigate('/admin/broadcasts')); // Fetch broadcast details const { diff --git a/src/pages/AdminBroadcasts.tsx b/src/pages/AdminBroadcasts.tsx index ede052c..f8fd05c 100644 --- a/src/pages/AdminBroadcasts.tsx +++ b/src/pages/AdminBroadcasts.tsx @@ -132,7 +132,7 @@ export default function AdminBroadcasts() { const { capabilities } = usePlatform(); // Use native Telegram back button in Mini App - useBackButton(() => navigate('/admin', { replace: true })); + useBackButton(() => navigate('/admin')); const [page, setPage] = useState(0); const limit = 20; diff --git a/src/pages/AdminCampaignCreate.tsx b/src/pages/AdminCampaignCreate.tsx index b82a133..e5d8566 100644 --- a/src/pages/AdminCampaignCreate.tsx +++ b/src/pages/AdminCampaignCreate.tsx @@ -156,7 +156,7 @@ export default function AdminCampaignCreate() { const navigate = useNavigate(); const queryClient = useQueryClient(); - useBackButton(() => navigate('/admin/campaigns', { replace: true })); + useBackButton(() => navigate('/admin/campaigns')); // Form state const [name, setName] = useState(''); diff --git a/src/pages/AdminCampaignEdit.tsx b/src/pages/AdminCampaignEdit.tsx index 796d05a..6c50895 100644 --- a/src/pages/AdminCampaignEdit.tsx +++ b/src/pages/AdminCampaignEdit.tsx @@ -133,7 +133,7 @@ export default function AdminCampaignEdit() { const campaignId = parseInt(id || '0'); - useBackButton(() => navigate('/admin/campaigns', { replace: true })); + useBackButton(() => navigate('/admin/campaigns')); // Fetch campaign const { diff --git a/src/pages/AdminCampaignStats.tsx b/src/pages/AdminCampaignStats.tsx index 78e64b7..1c7403b 100644 --- a/src/pages/AdminCampaignStats.tsx +++ b/src/pages/AdminCampaignStats.tsx @@ -98,7 +98,7 @@ export default function AdminCampaignStats() { const [copied, setCopied] = useState(false); const [showUsers, setShowUsers] = useState(false); - useBackButton(() => navigate('/admin/campaigns', { replace: true })); + useBackButton(() => navigate('/admin/campaigns')); // Fetch stats const { diff --git a/src/pages/AdminCampaigns.tsx b/src/pages/AdminCampaigns.tsx index 2217d2e..7ed0359 100644 --- a/src/pages/AdminCampaigns.tsx +++ b/src/pages/AdminCampaigns.tsx @@ -68,7 +68,7 @@ export default function AdminCampaigns() { const { capabilities } = usePlatform(); // Use native Telegram back button in Mini App - useBackButton(() => navigate('/admin', { replace: true })); + useBackButton(() => navigate('/admin')); const [deleteConfirm, setDeleteConfirm] = useState(null); diff --git a/src/pages/AdminDashboard.tsx b/src/pages/AdminDashboard.tsx index 9a2490e..6babd35 100644 --- a/src/pages/AdminDashboard.tsx +++ b/src/pages/AdminDashboard.tsx @@ -366,7 +366,7 @@ export default function AdminDashboard() { const { capabilities } = usePlatform(); // Use native Telegram back button in Mini App - useBackButton(() => navigate('/admin', { replace: true })); + useBackButton(() => navigate('/admin')); const [stats, setStats] = useState(null); const [loading, setLoading] = useState(true); diff --git a/src/pages/AdminPaymentMethodEdit.tsx b/src/pages/AdminPaymentMethodEdit.tsx index c4de007..15927c2 100644 --- a/src/pages/AdminPaymentMethodEdit.tsx +++ b/src/pages/AdminPaymentMethodEdit.tsx @@ -73,7 +73,7 @@ export default function AdminPaymentMethodEdit() { const { capabilities } = usePlatform(); // Use native Telegram back button in Mini App - useBackButton(() => navigate('/admin/payment-methods', { replace: true })); + useBackButton(() => navigate('/admin/payment-methods')); // Fetch payment methods const { data: methods, isLoading } = useQuery({ diff --git a/src/pages/AdminPaymentMethods.tsx b/src/pages/AdminPaymentMethods.tsx index ebbf18a..7d10f56 100644 --- a/src/pages/AdminPaymentMethods.tsx +++ b/src/pages/AdminPaymentMethods.tsx @@ -240,7 +240,7 @@ export default function AdminPaymentMethods() { const { capabilities } = usePlatform(); // Use native Telegram back button in Mini App - useBackButton(() => navigate('/admin', { replace: true })); + useBackButton(() => navigate('/admin')); const [methods, setMethods] = useState([]); const [orderChanged, setOrderChanged] = useState(false); diff --git a/src/pages/AdminPayments.tsx b/src/pages/AdminPayments.tsx index 30d0663..c80d6df 100644 --- a/src/pages/AdminPayments.tsx +++ b/src/pages/AdminPayments.tsx @@ -29,7 +29,7 @@ export default function AdminPayments() { const { capabilities } = usePlatform(); // Use native Telegram back button in Mini App - useBackButton(() => navigate('/admin', { replace: true })); + useBackButton(() => navigate('/admin')); const [page, setPage] = useState(1); const [methodFilter, setMethodFilter] = useState(''); diff --git a/src/pages/AdminPromoGroupCreate.tsx b/src/pages/AdminPromoGroupCreate.tsx index a8accb1..436ccdf 100644 --- a/src/pages/AdminPromoGroupCreate.tsx +++ b/src/pages/AdminPromoGroupCreate.tsx @@ -56,7 +56,7 @@ export default function AdminPromoGroupCreate() { const queryClient = useQueryClient(); const isEdit = !!id; - useBackButton(() => navigate('/admin/promo-groups', { replace: true })); + useBackButton(() => navigate('/admin/promo-groups')); // Form state const [name, setName] = useState(''); diff --git a/src/pages/AdminPromoGroups.tsx b/src/pages/AdminPromoGroups.tsx index f259af9..a4aa870 100644 --- a/src/pages/AdminPromoGroups.tsx +++ b/src/pages/AdminPromoGroups.tsx @@ -62,7 +62,7 @@ export default function AdminPromoGroups() { const { capabilities } = usePlatform(); // Use native Telegram back button in Mini App - useBackButton(() => navigate('/admin', { replace: true })); + useBackButton(() => navigate('/admin')); const [deleteConfirm, setDeleteConfirm] = useState(null); diff --git a/src/pages/AdminPromoOfferSend.tsx b/src/pages/AdminPromoOfferSend.tsx index 43cdf99..fb68f0d 100644 --- a/src/pages/AdminPromoOfferSend.tsx +++ b/src/pages/AdminPromoOfferSend.tsx @@ -76,7 +76,7 @@ export default function AdminPromoOfferSend() { const navigate = useNavigate(); const queryClient = useQueryClient(); - useBackButton(() => navigate('/admin/promo-offers', { replace: true })); + useBackButton(() => navigate('/admin/promo-offers')); const [selectedTemplateId, setSelectedTemplateId] = useState(null); const [sendMode, setSendMode] = useState<'segment' | 'user'>('segment'); diff --git a/src/pages/AdminPromoOfferTemplateEdit.tsx b/src/pages/AdminPromoOfferTemplateEdit.tsx index 7e2210b..40f4ff5 100644 --- a/src/pages/AdminPromoOfferTemplateEdit.tsx +++ b/src/pages/AdminPromoOfferTemplateEdit.tsx @@ -22,7 +22,7 @@ export default function AdminPromoOfferTemplateEdit() { const { id } = useParams<{ id: string }>(); const queryClient = useQueryClient(); - useBackButton(() => navigate('/admin/promo-offers', { replace: true })); + useBackButton(() => navigate('/admin/promo-offers')); // Form state const [name, setName] = useState(''); diff --git a/src/pages/AdminPromoOffers.tsx b/src/pages/AdminPromoOffers.tsx index 75e21bf..06eaad7 100644 --- a/src/pages/AdminPromoOffers.tsx +++ b/src/pages/AdminPromoOffers.tsx @@ -109,7 +109,7 @@ export default function AdminPromoOffers() { const { capabilities } = usePlatform(); // Use native Telegram back button in Mini App - useBackButton(() => navigate('/admin', { replace: true })); + useBackButton(() => navigate('/admin')); const [activeTab, setActiveTab] = useState<'templates' | 'logs'>('templates'); diff --git a/src/pages/AdminPromocodeCreate.tsx b/src/pages/AdminPromocodeCreate.tsx index dcaffd0..8c615e2 100644 --- a/src/pages/AdminPromocodeCreate.tsx +++ b/src/pages/AdminPromocodeCreate.tsx @@ -51,7 +51,7 @@ export default function AdminPromocodeCreate() { const isEdit = !!id; // Use native Telegram back button in Mini App - useBackButton(() => navigate('/admin/promocodes', { replace: true })); + useBackButton(() => navigate('/admin/promocodes')); // Form state const [code, setCode] = useState(''); diff --git a/src/pages/AdminPromocodeStats.tsx b/src/pages/AdminPromocodeStats.tsx index 0ead519..f6f7662 100644 --- a/src/pages/AdminPromocodeStats.tsx +++ b/src/pages/AdminPromocodeStats.tsx @@ -89,7 +89,7 @@ export default function AdminPromocodeStats() { const navigate = useNavigate(); const { id } = useParams<{ id: string }>(); - useBackButton(() => navigate('/admin/promocodes', { replace: true })); + useBackButton(() => navigate('/admin/promocodes')); const { data: promocode, diff --git a/src/pages/AdminPromocodes.tsx b/src/pages/AdminPromocodes.tsx index 561cae7..684b2f8 100644 --- a/src/pages/AdminPromocodes.tsx +++ b/src/pages/AdminPromocodes.tsx @@ -114,7 +114,7 @@ export default function AdminPromocodes() { const { capabilities } = usePlatform(); // Use native Telegram back button in Mini App - useBackButton(() => navigate('/admin', { replace: true })); + useBackButton(() => navigate('/admin')); const [deleteConfirm, setDeleteConfirm] = useState(null); const [copiedCode, setCopiedCode] = useState(null); diff --git a/src/pages/AdminRemnawave.tsx b/src/pages/AdminRemnawave.tsx index 8183a6d..c95072e 100644 --- a/src/pages/AdminRemnawave.tsx +++ b/src/pages/AdminRemnawave.tsx @@ -879,7 +879,7 @@ export default function AdminRemnawave() { const { capabilities } = usePlatform(); // Use native Telegram back button in Mini App - useBackButton(() => navigate('/admin', { replace: true })); + useBackButton(() => navigate('/admin')); // State const [activeTab, setActiveTab] = useState('overview'); diff --git a/src/pages/AdminRemnawaveSquadDetail.tsx b/src/pages/AdminRemnawaveSquadDetail.tsx index 89dff09..a4383a6 100644 --- a/src/pages/AdminRemnawaveSquadDetail.tsx +++ b/src/pages/AdminRemnawaveSquadDetail.tsx @@ -55,7 +55,7 @@ export default function AdminRemnawaveSquadDetail() { const { uuid } = useParams<{ uuid: string }>(); const navigate = useNavigate(); - useBackButton(() => navigate('/admin/remnawave', { replace: true })); + useBackButton(() => navigate('/admin/remnawave')); // Fetch all squads and find the one we need const { diff --git a/src/pages/AdminServerEdit.tsx b/src/pages/AdminServerEdit.tsx index 889ce68..2ad4e04 100644 --- a/src/pages/AdminServerEdit.tsx +++ b/src/pages/AdminServerEdit.tsx @@ -49,7 +49,7 @@ export default function AdminServerEdit() { const serverId = parseInt(id || '0'); - useBackButton(() => navigate('/admin/servers', { replace: true })); + useBackButton(() => navigate('/admin/servers')); const { data: server, diff --git a/src/pages/AdminServers.tsx b/src/pages/AdminServers.tsx index b70ae80..941a49f 100644 --- a/src/pages/AdminServers.tsx +++ b/src/pages/AdminServers.tsx @@ -59,7 +59,7 @@ export default function AdminServers() { const { capabilities } = usePlatform(); // Use native Telegram back button in Mini App - useBackButton(() => navigate('/admin', { replace: true })); + useBackButton(() => navigate('/admin')); // Queries const { data: serversData, isLoading } = useQuery({ diff --git a/src/pages/AdminSettings.tsx b/src/pages/AdminSettings.tsx index e9e86c2..8e145ff 100644 --- a/src/pages/AdminSettings.tsx +++ b/src/pages/AdminSettings.tsx @@ -51,7 +51,7 @@ export default function AdminSettings() { const { capabilities } = usePlatform(); // Use native Telegram back button in Mini App - useBackButton(() => navigate('/admin', { replace: true })); + useBackButton(() => navigate('/admin')); // State const [activeSection, setActiveSection] = useState('branding'); diff --git a/src/pages/AdminTariffCreate.tsx b/src/pages/AdminTariffCreate.tsx index c7e2386..af70c84 100644 --- a/src/pages/AdminTariffCreate.tsx +++ b/src/pages/AdminTariffCreate.tsx @@ -92,7 +92,7 @@ export default function AdminTariffCreate() { const queryClient = useQueryClient(); const isEdit = !!id; - useBackButton(() => navigate('/admin/tariffs', { replace: true })); + useBackButton(() => navigate('/admin/tariffs')); // Step: null = type selection, 'period' or 'daily' = form const [tariffType, setTariffType] = useState(null); diff --git a/src/pages/AdminTariffs.tsx b/src/pages/AdminTariffs.tsx index 7180759..55850c6 100644 --- a/src/pages/AdminTariffs.tsx +++ b/src/pages/AdminTariffs.tsx @@ -77,7 +77,7 @@ export default function AdminTariffs() { const { capabilities } = usePlatform(); // Use native Telegram back button in Mini App - useBackButton(() => navigate('/admin', { replace: true })); + useBackButton(() => navigate('/admin')); // Queries const { data: tariffsData, isLoading } = useQuery({ diff --git a/src/pages/AdminTicketSettings.tsx b/src/pages/AdminTicketSettings.tsx index 8fccfaa..72df75e 100644 --- a/src/pages/AdminTicketSettings.tsx +++ b/src/pages/AdminTicketSettings.tsx @@ -22,7 +22,7 @@ export default function AdminTicketSettings() { const navigate = useNavigate(); const queryClient = useQueryClient(); - useBackButton(() => navigate('/admin/tickets', { replace: true })); + useBackButton(() => navigate('/admin/tickets')); const { data: settings, diff --git a/src/pages/AdminTickets.tsx b/src/pages/AdminTickets.tsx index 903e2c6..fc6c7cc 100644 --- a/src/pages/AdminTickets.tsx +++ b/src/pages/AdminTickets.tsx @@ -124,7 +124,7 @@ export default function AdminTickets() { const { capabilities } = usePlatform(); // Use native Telegram back button in Mini App - useBackButton(() => navigate('/admin', { replace: true })); + useBackButton(() => navigate('/admin')); const [selectedTicketId, setSelectedTicketId] = useState(null); const [statusFilter, setStatusFilter] = useState(''); diff --git a/src/pages/AdminUserDetail.tsx b/src/pages/AdminUserDetail.tsx index 69481a9..eb1087b 100644 --- a/src/pages/AdminUserDetail.tsx +++ b/src/pages/AdminUserDetail.tsx @@ -82,7 +82,7 @@ export default function AdminUserDetail() { const navigate = useNavigate(); const { id } = useParams<{ id: string }>(); - useBackButton(() => navigate('/admin/users', { replace: true })); + useBackButton(() => navigate('/admin/users')); const localeMap: Record = { ru: 'ru-RU', en: 'en-US', zh: 'zh-CN', fa: 'fa-IR' }; const locale = localeMap[i18n.language] || 'ru-RU'; diff --git a/src/pages/AdminUsers.tsx b/src/pages/AdminUsers.tsx index 7f7e8fd..4132af4 100644 --- a/src/pages/AdminUsers.tsx +++ b/src/pages/AdminUsers.tsx @@ -399,7 +399,7 @@ export default function AdminUsers() { const { capabilities } = usePlatform(); // Use native Telegram back button in Mini App - useBackButton(() => navigate('/admin', { replace: true })); + useBackButton(() => navigate('/admin')); const [users, setUsers] = useState([]); const [stats, setStats] = useState(null); diff --git a/src/pages/AdminWheel.tsx b/src/pages/AdminWheel.tsx index 7645663..213e7a0 100644 --- a/src/pages/AdminWheel.tsx +++ b/src/pages/AdminWheel.tsx @@ -292,7 +292,7 @@ export default function AdminWheel() { const { capabilities } = usePlatform(); // Use native Telegram back button in Mini App - useBackButton(() => navigate('/admin', { replace: true })); + useBackButton(() => navigate('/admin')); const [activeTab, setActiveTab] = useState('settings'); const [expandedPrizeId, setExpandedPrizeId] = useState(null);