mirror of https://github.com/CympleTech/ESSE.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
2.0 KiB
64 lines
2.0 KiB
import 'package:flutter/material.dart'; |
|
import 'package:provider/provider.dart'; |
|
|
|
import 'package:esse/l10n/localizations.dart'; |
|
import 'package:esse/provider.dart'; |
|
|
|
import 'package:esse/apps/assistant/page.dart'; |
|
import 'package:esse/apps/file/page.dart'; |
|
import 'package:esse/apps/group_chat/page.dart'; |
|
|
|
|
|
enum InnerService { |
|
Files, |
|
Assistant, |
|
GroupChat, |
|
} |
|
|
|
extension InnerServiceExtension on InnerService { |
|
List<String> params(AppLocalizations lang) { |
|
switch (this) { |
|
case InnerService.Files: |
|
return [lang.files, lang.filesBio, 'assets/logo/logo_files.png']; |
|
case InnerService.Assistant: |
|
return [lang.assistant, lang.assistantBio, 'assets/logo/logo_assistant.png']; |
|
case InnerService.GroupChat: |
|
return [lang.groupChat, lang.groupChatBio, 'assets/logo/logo_assistant.png']; |
|
} |
|
} |
|
|
|
void callback(context, isDesktop, lang) { |
|
Widget coreWidget = null; |
|
String listTitle = null; |
|
Widget listHome = null; |
|
|
|
if (isDesktop) { |
|
switch (this) { |
|
case InnerService.Files: |
|
listTitle = lang.files; |
|
listHome = FolderList(); |
|
break; |
|
case InnerService.Assistant: |
|
coreWidget = AssistantDetail(); |
|
break; |
|
case InnerService.GroupChat: |
|
listTitle = lang.groupChat; |
|
listHome = GroupChatList(); |
|
break; |
|
} |
|
Provider.of<AccountProvider>(context, listen: false).updateActivedApp(coreWidget, listTitle, listHome); |
|
} else { |
|
switch (this) { |
|
case InnerService.Files: |
|
Provider.of<AccountProvider>(context, listen: false).updateActivedApp(null, lang.files, FolderList()); |
|
break; |
|
case InnerService.Assistant: |
|
Navigator.push(context, MaterialPageRoute(builder: (_) => AssistantPage())); |
|
break; |
|
case InnerService.GroupChat: |
|
Provider.of<AccountProvider>(context, listen: false).updateActivedApp(null, lang.groupChat, GroupChatList()); |
|
break; |
|
} |
|
} |
|
} |
|
}
|
|
|