task(0a00ccbd-6f98-4730-adf2-6f1e864823de): Mount M2 project workbench home and modernize M1 layouts

- FeatureMount: HOME tab now mounts ProjectWorkspaceFragment; delete placeholder HomeFragment
- app/build.gradle.kts + libs.versions.toml: add androidx recyclerview and swiperefreshlayout for project list and pull-to-refresh
- NetworkModule: register ProjectApi (M2 2.5.1.1 GetProjectList) via provideProjectApi
- SessionRepository: add SessionState.Restoring as initial state so cold start renders neutral loading instead of prompting login
- MineFragment/layout: consumer-grade flow with horizontal identity card (whole card acts as login CTA when signed out), config warning card, grouped settings rows; drop back button and manual refresh entry
- MineViewModel: remove manual refresh(); session restore is now automatic on cold start
- LoginFragment/layout: MaterialToolbar back, segmented MaterialButtonToggleGroup for account/SMS mode, TextInputLayout floating-label inputs, linear progress below button
- ConfigFragment/ChangePasswordFragment layouts: unify back navigation to Toolbar, switch plain EditTexts to TextInputLayout, replace ProgressBar with LinearProgressIndicator
- strings.xml: add M2 home workbench copy and mine/login labels; remove unused action_back, mine_login, mine_refresh, mine_config_ready, mine_logout_confirm
This commit is contained in:
阿猫
2026-09-03 23:50:20 +08:00
parent dec274b1af
commit ddd5009bb1
29 changed files with 1668 additions and 431 deletions

View File

@@ -1,5 +1,6 @@
package com.stec.cmd
import com.stec.cmd.feature.home.ProjectWorkspaceFragment
import com.stec.cmd.feature.mine.MineFragment
/**
@@ -30,7 +31,7 @@ object FeatureMount {
/** 挂载注册表S1+ 替换 fragmentClass 即完成业务页挂载。 */
val mounts: List<MountItem> = listOf(
MountItem(Tab.HOME, HomeFragment::class.java, "M2 项目工作台"),
MountItem(Tab.HOME, ProjectWorkspaceFragment::class.java, "M2 项目工作台"),
MountItem(Tab.TASK, TaskFragment::class.java, "M3 任务管理"),
MountItem(Tab.COLLECT, CollectFragment::class.java, "M4+M5 数据采集"),
MountItem(Tab.STATS, StatsFragment::class.java, "M6 统计与上传"),