[client] Do not show upload folder on web and android

This commit is contained in:
Abhishek Shroff
2025-04-30 15:34:30 +05:30
parent f26c6d759b
commit 2946b87320
3 changed files with 23 additions and 12 deletions
+2 -2
View File
@@ -1,5 +1,5 @@
import 'package:flutter/material.dart';
import 'package:phylum/ui/app/fab_action.dart';
import 'package:phylum/ui/app/create_action.dart';
import 'package:phylum/ui/app/nav_list.dart';
import 'package:phylum/ui/explorer/explorer_controller.dart';
import 'package:phylum/ui/explorer/explorer_view.dart';
@@ -59,7 +59,7 @@ class AppLayoutCollapsed extends StatelessWidget {
return ListView(
shrinkWrap: true,
children: [
for (final action in popupMenuActions)
for (final action in getCreateActions(ctx))
if (action == null)
const PopupMenuItem(enabled: false, height: 16, child: Divider())
else
@@ -1,7 +1,10 @@
import 'dart:io';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:phylum/ui/app/app_shortcuts.dart';
enum FabAction {
enum CreateAction {
newFolder(descripiton: 'New Folder', icon: Icon(Icons.create_new_folder), intent: NewFolderIntent()),
uploadFiles(descripiton: 'Upload File(s)', icon: Icon(Icons.upload_file_rounded), intent: UploadFilesIntent()),
uploadFolders(
@@ -11,12 +14,20 @@ enum FabAction {
final Icon icon;
final Intent intent;
const FabAction({required this.descripiton, required this.icon, required this.intent});
const CreateAction({required this.descripiton, required this.icon, required this.intent});
}
final popupMenuActions = [
FabAction.newFolder,
null,
FabAction.uploadFiles,
FabAction.uploadFolders,
];
List<CreateAction?> getCreateActions(BuildContext context) {
if (kIsWeb || Platform.isAndroid) {
return const [
CreateAction.newFolder,
CreateAction.uploadFiles,
];
}
return const [
CreateAction.newFolder,
null,
CreateAction.uploadFiles,
CreateAction.uploadFolders,
];
}
+2 -2
View File
@@ -8,7 +8,7 @@ import 'package:phylum/ui/explorer/page.dart';
import 'package:phylum/libphylum/phylum_account.dart';
import 'package:phylum/ui/app/button_downloads.dart';
import 'package:phylum/ui/app/button_server_status.dart';
import 'package:phylum/ui/app/fab_action.dart';
import 'package:phylum/ui/app/create_action.dart';
import 'package:phylum/ui/preview/resource_preview.dart';
import 'package:provider/provider.dart';
@@ -30,7 +30,7 @@ class NavList extends StatelessWidget {
tooltip: 'Create',
position: PopupMenuPosition.under,
itemBuilder: (context) => [
for (final action in popupMenuActions)
for (final action in getCreateActions(context))
if (action == null)
const PopupMenuItem(enabled: false, height: 16, child: Divider())
else