fix(webdav): 重新登录成功后回到主页,而不是停在文件列表

原因:_connect() 成功后用 pushReplacement(WebDAVFileListPage),
把 Setup 页替换成文件列表,所以看起来"登录完不返回"。

- 改为 Navigator.popUntil(isFirst):无论首次配置还是重新登录,都回主页
- 首页"重新登录"入口改为 await push,返回后重新加载 WebDAV 状态并刷新
- 清理两个未使用的 import
This commit is contained in:
2026-11-01 11:55:38 +08:00
parent 7bf8d18f18
commit 432e3b1260
2 changed files with 10 additions and 12 deletions
+4 -9
View File
@@ -1,6 +1,5 @@
import 'package:flutter/material.dart';
import '../services/webdav_service.dart';
import 'webdav_file_list_page.dart';
import '../base/base_state.dart';
class WebDAVSetupPage extends StatefulWidget {
@@ -72,14 +71,10 @@ class _WebDAVSetupPageState extends BaseState<WebDAVSetupPage> {
backgroundColor: Color(0xFF4CAF50),
),
);
// ⭐ 用 pushReplacement 替换当前页面(WebDAVSetupPage)
// 此时栈底是 HomePage,替换后栈变为 [HomePage, WebDAVFileListPage]
Navigator.pushReplacement(
context,
MaterialPageRoute(
builder: (_) => const WebDAVFileListPage(),
),
);
// 登录成功后直接回到主页:
// - 首次配置:用户配完先进主页,再自己点 WebDAV 进入文件列表
// - 重新登录:从主页 push 进来,直接回主页,不会停在文件列表
Navigator.of(context).popUntil((route) => route.isFirst);
}
} catch (e) {
safeSetState(() {