feat: add elastic glass dock motion and Android tablet layouts
This commit is contained in:
@@ -11,6 +11,7 @@ import '../features/timetable/course_details.dart';
|
||||
import 'app_controller.dart';
|
||||
import 'app_theme.dart';
|
||||
import '../widgets/glass_dock.dart';
|
||||
import '../widgets/adaptive_page.dart';
|
||||
import '../widgets/tab_deck.dart';
|
||||
import '../features/exams/exams_page.dart';
|
||||
import '../features/timetable/timetable_page.dart';
|
||||
@@ -439,46 +440,53 @@ class _ShellState extends State<_Shell> with WidgetsBindingObserver {
|
||||
child: TabDeck(
|
||||
index: _tab,
|
||||
children: [
|
||||
TimetablePage(
|
||||
controller: widget.controller,
|
||||
onSync: _school,
|
||||
AdaptivePage(
|
||||
maxWidth: 1440,
|
||||
child: TimetablePage(
|
||||
controller: widget.controller,
|
||||
onSync: _school,
|
||||
),
|
||||
),
|
||||
ExamsPage(
|
||||
controller: widget.controller,
|
||||
onSync: () {
|
||||
_school(exams: true);
|
||||
},
|
||||
onQueryOptions:
|
||||
_knownSchool ==
|
||||
SupportedSchool.uestcUndergraduate
|
||||
? () => _school(exams: true, chooseTerm: true)
|
||||
: null,
|
||||
AdaptivePage(
|
||||
child: ExamsPage(
|
||||
controller: widget.controller,
|
||||
onSync: () {
|
||||
_school(exams: true);
|
||||
},
|
||||
onQueryOptions:
|
||||
_knownSchool ==
|
||||
SupportedSchool.uestcUndergraduate
|
||||
? () => _school(exams: true, chooseTerm: true)
|
||||
: null,
|
||||
),
|
||||
),
|
||||
ProfilePage(
|
||||
controller: widget.controller,
|
||||
feedbackSender: widget.feedbackSender,
|
||||
onCheckUpdates: widget.updateService == null
|
||||
? null
|
||||
: () => _checkUpdate(),
|
||||
checkingUpdates: _checkingUpdate,
|
||||
onLogin: () => _school(selectSchool: true),
|
||||
schoolName: _knownSchool?.label,
|
||||
onUpdateTerm: () => _school(chooseTerm: true),
|
||||
authStatus:
|
||||
_knownSchool ==
|
||||
SupportedSchool.uestcUndergraduate
|
||||
? widget.undergraduate?.statusLabel ?? '未登录'
|
||||
: widget.school?.statusLabel ?? '未登录',
|
||||
logoutLabel:
|
||||
widget.school?.logoutFailed == true ||
|
||||
widget.undergraduate?.logoutFailed == true
|
||||
? '重试退出学校登录'
|
||||
: '退出学校登录',
|
||||
onLogout:
|
||||
widget.school?.canLogout == true ||
|
||||
widget.undergraduate?.canLogout == true
|
||||
? _logout
|
||||
: null,
|
||||
AdaptivePage(
|
||||
child: ProfilePage(
|
||||
controller: widget.controller,
|
||||
feedbackSender: widget.feedbackSender,
|
||||
onCheckUpdates: widget.updateService == null
|
||||
? null
|
||||
: () => _checkUpdate(),
|
||||
checkingUpdates: _checkingUpdate,
|
||||
onLogin: () => _school(selectSchool: true),
|
||||
schoolName: _knownSchool?.label,
|
||||
onUpdateTerm: () => _school(chooseTerm: true),
|
||||
authStatus:
|
||||
_knownSchool ==
|
||||
SupportedSchool.uestcUndergraduate
|
||||
? widget.undergraduate?.statusLabel ?? '未登录'
|
||||
: widget.school?.statusLabel ?? '未登录',
|
||||
logoutLabel:
|
||||
widget.school?.logoutFailed == true ||
|
||||
widget.undergraduate?.logoutFailed == true
|
||||
? '重试退出学校登录'
|
||||
: '退出学校登录',
|
||||
onLogout:
|
||||
widget.school?.canLogout == true ||
|
||||
widget.undergraduate?.canLogout == true
|
||||
? _logout
|
||||
: null,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user