Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
pterodactyl
GitHub Repository: pterodactyl/panel
Path: blob/1.0-develop/resources/scripts/components/elements/dialog/DialogIcon.tsx
10260 views
1
import React, { useContext, useEffect } from 'react';
2
import { CheckIcon, ExclamationIcon, InformationCircleIcon, ShieldExclamationIcon } from '@heroicons/react/outline';
3
import classNames from 'classnames';
4
import { DialogContext, DialogIconProps, styles } from './';
5
6
const icons = {
7
danger: ShieldExclamationIcon,
8
warning: ExclamationIcon,
9
success: CheckIcon,
10
info: InformationCircleIcon,
11
};
12
13
export default ({ type, position, className }: DialogIconProps) => {
14
const { setIcon, setIconPosition } = useContext(DialogContext);
15
16
useEffect(() => {
17
const Icon = icons[type];
18
19
setIcon(
20
<div className={classNames(styles.dialog_icon, styles[type], className)}>
21
<Icon className={'w-6 h-6'} />
22
</div>
23
);
24
}, [type, className]);
25
26
useEffect(() => {
27
setIconPosition(position);
28
}, [position]);
29
30
return null;
31
};
32
33