@mui/icons-material#ExitToApp TypeScript Examples
The following examples show how to use
@mui/icons-material#ExitToApp.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: LogoutButton.tsx From multi-downloader-nx with MIT License | 6 votes |
LogoutButton: React.FC = () => {
const messageChannel = React.useContext(messageChannelContext);
const [, dispatch] = useStore();
const logout = () => {
if (messageChannel?.isDownloading())
return alert('You are currently downloading. Please finish the download first.');
if (messageChannel?.logout())
dispatch({
type: 'service',
payload: undefined
})
else
alert('Unable to change service');
}
return <Require value={messageChannel}>
<Button
startIcon={<ExitToApp />}
variant='contained'
onClick={logout}
>
Service select
</Button>
</Require>
}
Example #2
Source File: Sider.tsx From your_spotify with GNU General Public License v3.0 | 5 votes |
links = [
{
label: 'General',
items: [
{ label: 'Home', link: '/', icon: <HomeOutlined />, iconOn: <Home /> },
{
label: 'All stats',
link: '/all',
icon: <BarChartOutlined />,
iconOn: <BarChart />,
},
],
},
{
label: 'Tops',
items: [
{
label: 'Top songs',
link: '/top/songs',
icon: <MusicNoteOutlined />,
iconOn: <MusicNote />,
},
{
label: 'Top artists',
link: '/top/artists',
icon: <PersonOutlined />,
iconOn: <Person />,
},
{
label: 'Top albums',
link: '/top/albums',
icon: <AlbumOutlined />,
iconOn: <Album />,
},
],
},
{
label: 'With people',
items: [
{
label: 'Affinity',
link: '/collaborative/affinity',
icon: <MusicNoteOutlined />,
iconOn: <MusicNote />,
},
],
},
{
label: 'Settings',
items: [
{
label: 'Share this page',
link: '/share',
icon: <ShareOutlined />,
iconOn: <Share />,
},
{
label: 'Settings',
link: '/settings',
icon: <SettingsOutlined />,
iconOn: <Settings />,
},
{
label: 'Logout',
link: '/logout',
icon: <ExitToApp />,
iconOn: <ExitToApp />,
},
],
},
]
Example #3
Source File: Dashboard.tsx From NekoMaid with MIT License | 5 votes |
Players: React.FC<{ players?: CurrentStatus['players'] }> = React.memo(({ players }) => {
const his = useHistory()
const plugin = usePlugin()
const globalData = useGlobalData()
const [page, setPage] = useState(1)
const [id, update] = useState(0)
return <Card>
<CardHeader title={lang.dashboard.onlinePlayers} />
<Divider />
<CardContent>
{players?.length === 0
? <Empty />
: <>
<List sx={{ paddingTop: 0 }}>
{players
? players.slice((page - 1) * 8, page * 8).map(p => {
const name = typeof p === 'string' ? p : p.name
return <Tooltip key={name} title={'IP: ' + ((p as any).ip || lang.unknown)}>
<ListItem
secondaryAction={<>
<IconButton
edge='end'
size='small'
onClick={() => dialog(lang.dashboard.confirmKick(<span className='bold'>{name}</span>), lang.reason)
.then(it => it != null && plugin.emit('dashboard:kick', (res: boolean) => {
action(res)
if (!players) return
players.splice(players.indexOf(it!), 1)
update(id + 1)
}, name, it || null))
}
><ExitToApp /></IconButton>
<IconButton edge='end' onClick={() => his.push('/NekoMaid/playerList/' + name)} size='small'><MoreHoriz /></IconButton>
</>
}
>
<ListItemAvatar>
<Avatar
src={getSkin(globalData, name, true)}
imgProps={{ crossOrigin: 'anonymous', onClick () { his.push('/NekoMaid/playerList/' + name) }, style: { width: 40, height: 40 } }}
sx={{ cursor: 'pointer' }}
variant='rounded'
/>
</ListItemAvatar>
<ListItemText primary={name} />
</ListItem>
</Tooltip>
})
: <LoadingList />
}
</List>
{players && <Pagination
page={page}
onChange={(_, it) => setPage(it)}
count={Math.max(Math.ceil(players.length / 8), 1)}
sx={{ display: 'flex', justifyContent: 'flex-end' }}
/>}
</>}
</CardContent>
</Card>
})