refactor: extract promo offers modals to separate pages

- Create AdminPromoOfferTemplateEdit.tsx for template editing
- Create AdminPromoOfferSend.tsx for sending offers with result screen
- Add routes for /admin/promo-offers/templates/:id/edit and /admin/promo-offers/send
- Simplify AdminPromoOffers.tsx by removing modals
- Add i18n keys for new pages
This commit is contained in:
c0mrade
2026-02-02 06:14:15 +03:00
parent 2920ca45e8
commit f73579b37f
8 changed files with 710 additions and 608 deletions

View File

@@ -51,6 +51,8 @@ const AdminUsers = lazy(() => import('./pages/AdminUsers'));
const AdminPayments = lazy(() => import('./pages/AdminPayments'));
const AdminPaymentMethods = lazy(() => import('./pages/AdminPaymentMethods'));
const AdminPromoOffers = lazy(() => import('./pages/AdminPromoOffers'));
const AdminPromoOfferTemplateEdit = lazy(() => import('./pages/AdminPromoOfferTemplateEdit'));
const AdminPromoOfferSend = lazy(() => import('./pages/AdminPromoOfferSend'));
const AdminRemnawave = lazy(() => import('./pages/AdminRemnawave'));
const AdminEmailTemplates = lazy(() => import('./pages/AdminEmailTemplates'));
const AdminUserDetail = lazy(() => import('./pages/AdminUserDetail'));
@@ -494,6 +496,26 @@ function App() {
</AdminRoute>
}
/>
<Route
path="/admin/promo-offers/templates/:id/edit"
element={
<AdminRoute>
<LazyPage>
<AdminPromoOfferTemplateEdit />
</LazyPage>
</AdminRoute>
}
/>
<Route
path="/admin/promo-offers/send"
element={
<AdminRoute>
<LazyPage>
<AdminPromoOfferSend />
</LazyPage>
</AdminRoute>
}
/>
<Route
path="/admin/remnawave"
element={