feat: add app update checks and standalone release publishing panel
This commit is contained in:
@@ -24,6 +24,8 @@ class ProfilePage extends StatelessWidget {
|
||||
this.logoutLabel = '退出学校登录',
|
||||
this.onUpdateTerm,
|
||||
this.feedbackSender = const UnconfiguredFeedbackSender(),
|
||||
this.onCheckUpdates,
|
||||
this.checkingUpdates = false,
|
||||
});
|
||||
final AppController controller;
|
||||
final VoidCallback onLogin;
|
||||
@@ -32,6 +34,8 @@ class ProfilePage extends StatelessWidget {
|
||||
final VoidCallback? onUpdateTerm;
|
||||
final String authStatus, logoutLabel;
|
||||
final FeedbackSender feedbackSender;
|
||||
final VoidCallback? onCheckUpdates;
|
||||
final bool checkingUpdates;
|
||||
Future<void> _import(BuildContext context) async {
|
||||
try {
|
||||
final file = await FilePicker.pickFile(
|
||||
@@ -231,6 +235,32 @@ class ProfilePage extends StatelessWidget {
|
||||
),
|
||||
),
|
||||
),
|
||||
Divider(height: 1, color: ink.withValues(alpha: 0.06)),
|
||||
ListTile(
|
||||
key: const Key('check-app-update'),
|
||||
contentPadding: EdgeInsets.zero,
|
||||
leading: const Icon(
|
||||
Icons.system_update_rounded,
|
||||
color: river,
|
||||
size: 23,
|
||||
),
|
||||
title: const Text(
|
||||
'检查更新',
|
||||
style: TextStyle(fontSize: 14, fontWeight: FontWeight.w600),
|
||||
),
|
||||
subtitle: Text(
|
||||
checkingUpdates ? '正在检查…' : '当前版本 $appVersion',
|
||||
style: const TextStyle(fontSize: 11),
|
||||
),
|
||||
trailing: checkingUpdates
|
||||
? const SizedBox(
|
||||
width: 18,
|
||||
height: 18,
|
||||
child: CircularProgressIndicator(strokeWidth: 2),
|
||||
)
|
||||
: const Icon(Icons.chevron_right_rounded),
|
||||
onTap: checkingUpdates ? null : onCheckUpdates,
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user