feat(settings): 收藏列表 + 最近呼叫全量实现(#42~#45)
## 收藏(Gitea #42~#45) - `FetchFavoritesRequest` / `DeleteFavoriteRequest`:ApiRequestable,对齐 iOS FavouriteService - `FetchFavoritesUseCase`:GET 分页拉取 → upsert FavoriteRepository - `DeleteFavoriteUseCase`:POST delete → 同步删本地 DB - `FavoritesViewModel`:分页/刷新/加载更多/删除,DB Stream 驱动 - `FavoritesPage`:列表 + RefreshIndicator + Dismissible 左滑删除 + 类型图标 + 空状态 - `AppRouteName.settingsFavorites` + 路由注册 + auth guard - `settings_page.dart` 收藏行 onTap 接入导航 ## 最近呼叫(框架,API 对接待续) - `CallLogRequest` / `FetchCallLogsUseCase` / `RecentCallsViewModel` - `RecentCallsPage`:双 Tab(全部/未接)+ _CallLogTile(图标/时长/时间) - `AppRouteName.settingsRecentCalls` + 路由注册 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,9 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
|
||||
import 'package:go_router/go_router.dart';
|
||||
|
||||
import 'package:im_app/app/router/app_route_name.dart';
|
||||
import 'package:im_app/core/foundation/config.dart';
|
||||
import 'package:im_app/features/settings/presentation/settings_view_model.dart';
|
||||
|
||||
@@ -99,13 +102,13 @@ class SettingsPage extends ConsumerWidget {
|
||||
icon: Icons.star_rounded,
|
||||
iconColor: _favoriteColor,
|
||||
title: '收藏',
|
||||
onTap: () {}, // TODO: 收藏页
|
||||
onTap: () => context.push(AppRouteName.settingsFavorites.path),
|
||||
),
|
||||
_RowConfig(
|
||||
icon: Icons.phone_rounded,
|
||||
iconColor: _callColor,
|
||||
title: '最近呼叫',
|
||||
onTap: () {}, // TODO: 呼叫记录页
|
||||
onTap: () => vm.navigateToRecentCalls(context),
|
||||
),
|
||||
_RowConfig(
|
||||
icon: Icons.laptop_rounded,
|
||||
|
||||
Reference in New Issue
Block a user