mirror of https://github.com/portainer/portainer
47 lines
1.1 KiB
TypeScript
47 lines
1.1 KiB
TypeScript
|
import { FileText, Info } from 'lucide-react';
|
||
|
|
||
|
import { Authorized } from '@/react/hooks/useUser';
|
||
|
|
||
|
import { Icon } from '@@/Icon';
|
||
|
import { Link } from '@@/Link';
|
||
|
|
||
|
interface State {
|
||
|
showQuickActionInspect: boolean;
|
||
|
showQuickActionLogs: boolean;
|
||
|
}
|
||
|
|
||
|
export function TaskTableQuickActions({
|
||
|
taskId,
|
||
|
state = {
|
||
|
showQuickActionInspect: true,
|
||
|
showQuickActionLogs: true,
|
||
|
},
|
||
|
}: {
|
||
|
taskId: string;
|
||
|
state?: State;
|
||
|
}) {
|
||
|
return (
|
||
|
<div className="inline-flex space-x-1">
|
||
|
{state.showQuickActionLogs && (
|
||
|
<Authorized authorizations="DockerTaskLogs">
|
||
|
<Link
|
||
|
to="docker.tasks.task.logs"
|
||
|
params={{ id: taskId }}
|
||
|
title="Logs"
|
||
|
>
|
||
|
<Icon icon={FileText} className="space-right" />
|
||
|
</Link>
|
||
|
</Authorized>
|
||
|
)}
|
||
|
|
||
|
{state.showQuickActionInspect && (
|
||
|
<Authorized authorizations="DockerTaskInspect">
|
||
|
<Link to="docker.tasks.task" params={{ id: taskId }} title="Inspect">
|
||
|
<Icon icon={Info} className="space-right" />
|
||
|
</Link>
|
||
|
</Authorized>
|
||
|
)}
|
||
|
</div>
|
||
|
);
|
||
|
}
|