feat(app): экраны импорта отчётов, целей, доходов, ребалансировки, налогов и бенчмарков
Импорт (/imports, /instruments/pending) и фаза 4 (/goals, /income, /rebalance, /tax, аналитика-хаб с benchmarks_card) — по docs/ai/import-contract.md и docs/ai/phase4-contract.md. file_picker для загрузки отчёта.
This commit is contained in:
@@ -7,14 +7,22 @@ import 'features/accounts/accounts_page.dart';
|
||||
import 'features/cashflow/cashflow_page.dart';
|
||||
import 'features/categories/categories_page.dart';
|
||||
import 'features/events/events_page.dart';
|
||||
import 'features/goals/goals_page.dart';
|
||||
import 'features/home/home_page.dart';
|
||||
import 'features/income/income_page.dart';
|
||||
import 'features/imports/import_preview_page.dart';
|
||||
import 'features/imports/imports_page.dart';
|
||||
import 'features/login/login_page.dart';
|
||||
import 'features/pending/pending_page.dart';
|
||||
import 'features/portfolio/instrument_page.dart';
|
||||
import 'features/portfolio/portfolio_page.dart';
|
||||
import 'features/rebalance/rebalance_page.dart';
|
||||
import 'features/rules/rules_page.dart';
|
||||
import 'features/settings/settings_page.dart';
|
||||
import 'features/shell/analytics_page.dart';
|
||||
import 'features/shell/app_shell.dart';
|
||||
import 'features/sync/sync_page.dart';
|
||||
import 'features/tax/tax_page.dart';
|
||||
import 'features/transactions/transactions_page.dart';
|
||||
|
||||
final routerProvider = Provider<GoRouter>((ref) {
|
||||
@@ -48,7 +56,25 @@ final routerProvider = Provider<GoRouter>((ref) {
|
||||
builder: (_, state) =>
|
||||
InstrumentPage(instrumentId: int.parse(state.pathParameters['id']!)),
|
||||
),
|
||||
// Аналитика: one navigation destination, four contract routes. The hub is what
|
||||
// the shell points at; each screen below keeps its own top-level path and stays
|
||||
// deep-linkable (see `alsoMatches` in `app_shell.dart`).
|
||||
GoRoute(path: '/analytics', builder: (_, _) => const AnalyticsHubPage()),
|
||||
GoRoute(path: '/income', builder: (_, _) => const IncomePage()),
|
||||
GoRoute(path: '/rebalance', builder: (_, _) => const RebalancePage()),
|
||||
GoRoute(path: '/goals', builder: (_, _) => const GoalsPage()),
|
||||
GoRoute(path: '/tax', builder: (_, _) => const TaxPage()),
|
||||
GoRoute(path: '/events', builder: (_, _) => const EventsPage()),
|
||||
GoRoute(path: '/imports', builder: (_, _) => const ImportsPage()),
|
||||
GoRoute(
|
||||
path: '/imports/:id',
|
||||
builder: (_, state) =>
|
||||
ImportPreviewPage(importId: int.parse(state.pathParameters['id']!)),
|
||||
),
|
||||
GoRoute(
|
||||
path: '/instruments/pending',
|
||||
builder: (_, _) => const PendingInstrumentsPage(),
|
||||
),
|
||||
GoRoute(path: '/cashflow', builder: (_, _) => const CashflowPage()),
|
||||
GoRoute(
|
||||
path: '/categories',
|
||||
|
||||
Reference in New Issue
Block a user