Skip to content
代码片段 群组 项目
提交 6cee8cc1 编辑于 作者: Neil Wang's avatar Neil Wang
浏览文件

fix: #681 无账户登录情况下切换语言会导致私有化登录失败

上级 cde50b70
No related branches found
No related tags found
无相关合并请求
...@@ -187,7 +187,7 @@ class _AccountPageState extends State<AccountPage> { ...@@ -187,7 +187,7 @@ class _AccountPageState extends State<AccountPage> {
Column( Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Text(item, Text(_menuItems[item]!.displayTitle,
style: ProjectStyle.build( style: ProjectStyle.build(
textTheme.titleSmall, textTheme.titleSmall,
ConnectionProvider().isUsed(item) ? const Color(0xFF87878C) : Colors.black, ConnectionProvider().isUsed(item) ? const Color(0xFF87878C) : Colors.black,
...@@ -218,7 +218,7 @@ class _AccountPageState extends State<AccountPage> { ...@@ -218,7 +218,7 @@ class _AccountPageState extends State<AccountPage> {
), ),
), ),
onTap: () { onTap: () {
if (ConnectionProvider().isUsed(_selectedItem.displayTitle)) { if (ConnectionProvider().isUsed(_selectedItem.name)) {
Toast.error(context, JiHuLocalizations.dictionary().same_type_account_only_login_one); Toast.error(context, JiHuLocalizations.dictionary().same_type_account_only_login_one);
return; return;
} }
......
...@@ -9,7 +9,7 @@ extension LoginMenuSetExtension on LoginMenuSet { ...@@ -9,7 +9,7 @@ extension LoginMenuSetExtension on LoginMenuSet {
String get name => () { String get name => () {
switch (this) { switch (this) {
case LoginMenuSet.selfManaged: case LoginMenuSet.selfManaged:
return JiHuLocalizations.dictionary().self_managed; return 'Self-Managed';
case LoginMenuSet.jihulab: case LoginMenuSet.jihulab:
return 'jihulab.com'; return 'jihulab.com';
case LoginMenuSet.gitlab: case LoginMenuSet.gitlab:
...@@ -19,19 +19,24 @@ extension LoginMenuSetExtension on LoginMenuSet { ...@@ -19,19 +19,24 @@ extension LoginMenuSetExtension on LoginMenuSet {
} }
class LoginConfig { class LoginConfig {
String displayTitle; String Function() titleFunction;
String host; String host;
String name;
String pageRouteName; String pageRouteName;
Type pageType; Type pageType;
LoginConfig({required this.displayTitle, required this.host, required this.pageRouteName, required this.pageType}); LoginConfig({required this.titleFunction, required this.host, required this.name, required this.pageRouteName, required this.pageType});
String get displayTitle {
return titleFunction();
}
} }
Map<String, LoginConfig> loginMenuList = { Map<String, LoginConfig> loginMenuList = {
LoginMenuSet.selfManaged.name: LoginMenuSet.selfManaged.name: LoginConfig(
LoginConfig(displayTitle: JiHuLocalizations.dictionary().self_managed, host: 'Self-Managed', pageRouteName: SelfManagedLoginPage.routeName, pageType: SelfManagedLoginPage), titleFunction: () => JiHuLocalizations.dictionary().self_managed, host: 'Self-Managed', name: 'Self-Managed', pageRouteName: SelfManagedLoginPage.routeName, pageType: SelfManagedLoginPage),
LoginMenuSet.jihulab.name: LoginConfig(displayTitle: 'jihulab.com', host: 'jihulab.com', pageRouteName: LoginPage.routeName, pageType: LoginPage), LoginMenuSet.jihulab.name: LoginConfig(titleFunction: () => 'jihulab.com', host: 'jihulab.com', name: 'jihulab.com', pageRouteName: LoginPage.routeName, pageType: LoginPage),
LoginMenuSet.gitlab.name: LoginConfig(displayTitle: 'gitlab.com', host: 'gitlab.com', pageRouteName: LoginPage.routeName, pageType: LoginPage), LoginMenuSet.gitlab.name: LoginConfig(titleFunction: () => 'gitlab.com', host: 'gitlab.com', name: 'gitlab.com', pageRouteName: LoginPage.routeName, pageType: LoginPage),
}; };
class UnauthorizedView extends StatefulWidget { class UnauthorizedView extends StatefulWidget {
...@@ -105,8 +110,8 @@ class _UnauthorizedViewState extends State<UnauthorizedView> { ...@@ -105,8 +110,8 @@ class _UnauthorizedViewState extends State<UnauthorizedView> {
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [ children: [
Text(item, style: textTheme.titleSmall), Text(_menuItems[item]!.displayTitle, style: textTheme.titleSmall),
if (_selectedItem.displayTitle == item) if (_selectedItem.name == item)
Icon( Icon(
Icons.check, Icons.check,
color: colorScheme.primary, color: colorScheme.primary,
......
0% 加载中 .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册