Add "DownloadManagement" app feature for use in NativeShell clients (#6833)

* Add "DownloadManagement" app feature for use in NativeShell clients

* Address review feedback

* Address review feedback (round 2)
This commit is contained in:
Niels van Velzen
2025-05-13 21:35:15 +02:00
committed by GitHub
parent b08f7d73c1
commit 7dfc1a1494
5 changed files with 54 additions and 4 deletions
+25 -4
View File
@@ -2,6 +2,7 @@ import AccountCircle from '@mui/icons-material/AccountCircle';
import AppSettingsAlt from '@mui/icons-material/AppSettingsAlt';
import Close from '@mui/icons-material/Close';
import DashboardIcon from '@mui/icons-material/Dashboard';
import Download from '@mui/icons-material/Download';
import Edit from '@mui/icons-material/Edit';
import Logout from '@mui/icons-material/Logout';
import PhonelinkLock from '@mui/icons-material/PhonelinkLock';
@@ -37,6 +38,11 @@ const AppUserMenu: FC<AppUserMenuProps> = ({
const { user } = useApi();
const { data: isQuickConnectEnabled } = useQuickConnectEnabled();
const onDownloadManagerClick = useCallback(() => {
shell.openDownloadManager();
onMenuClose();
}, [ onMenuClose ]);
const onClientSettingsClick = useCallback(() => {
shell.openClientSettings();
onMenuClose();
@@ -98,10 +104,25 @@ const AppUserMenu: FC<AppUserMenuProps> = ({
</ListItemText>
</MenuItem>
{appHost.supports(AppFeature.ClientSettings) && ([
<Divider key='client-settings-divider' />,
{(appHost.supports(AppFeature.DownloadManagement) || appHost.supports(AppFeature.ClientSettings)) && (
<Divider />
)}
{appHost.supports(AppFeature.DownloadManagement) && (
<MenuItem
onClick={onDownloadManagerClick}
>
<ListItemIcon>
<Download />
</ListItemIcon>
<ListItemText>
{globalize.translate('DownloadManager')}
</ListItemText>
</MenuItem>
)}
{appHost.supports(AppFeature.ClientSettings) && (
<MenuItem
key='client-settings-button'
onClick={onClientSettingsClick}
>
<ListItemIcon>
@@ -111,7 +132,7 @@ const AppUserMenu: FC<AppUserMenuProps> = ({
{globalize.translate('ClientSettings')}
</ListItemText>
</MenuItem>
])}
)}
{/* ADMIN LINKS */}
{user?.Policy?.IsAdministrator && ([