mirror of
https://github.com/Unleash/unleash.git
synced 2025-02-09 00:18:00 +01:00
refactor: use copy library and add explicit export
This commit is contained in:
parent
8af7c5ea49
commit
99ab4ed67a
@ -31,7 +31,7 @@ import Dialogue from '../../../common/Dialogue';
|
|||||||
import { CREATE_API_TOKEN_BUTTON } from '../../../../testIds';
|
import { CREATE_API_TOKEN_BUTTON } from '../../../../testIds';
|
||||||
import { Alert } from '@material-ui/lab';
|
import { Alert } from '@material-ui/lab';
|
||||||
import copy from 'copy-to-clipboard';
|
import copy from 'copy-to-clipboard';
|
||||||
import { useLocationSettings } from "../../../../hooks/useLocationSettings";
|
import { useLocationSettings } from '../../../../hooks/useLocationSettings';
|
||||||
|
|
||||||
interface IApiToken {
|
interface IApiToken {
|
||||||
createdAt: Date;
|
createdAt: Date;
|
||||||
@ -42,13 +42,13 @@ interface IApiToken {
|
|||||||
environment: string;
|
environment: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
const ApiTokenList = () => {
|
export const ApiTokenList = () => {
|
||||||
const styles = useStyles();
|
const styles = useStyles();
|
||||||
const { hasAccess } = useContext(AccessContext);
|
const { hasAccess } = useContext(AccessContext);
|
||||||
const { uiConfig } = useUiConfig();
|
const { uiConfig } = useUiConfig();
|
||||||
const [showDelete, setShowDelete] = useState(false);
|
const [showDelete, setShowDelete] = useState(false);
|
||||||
const [delToken, setDeleteToken] = useState<IApiToken>();
|
const [delToken, setDeleteToken] = useState<IApiToken>();
|
||||||
const { locationSettings } = useLocationSettings()
|
const { locationSettings } = useLocationSettings();
|
||||||
const { setToastData } = useToast();
|
const { setToastData } = useToast();
|
||||||
const { tokens, loading, refetch, error } = useApiTokens();
|
const { tokens, loading, refetch, error } = useApiTokens();
|
||||||
const { deleteToken } = useApiTokensApi();
|
const { deleteToken } = useApiTokensApi();
|
||||||
@ -315,5 +315,3 @@ const ApiTokenList = () => {
|
|||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
export default ApiTokenList;
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import { Typography } from '@material-ui/core';
|
import { Typography } from '@material-ui/core';
|
||||||
import { useCommonStyles } from '../../../../common.styles';
|
import { useCommonStyles } from '../../../../common.styles';
|
||||||
import Dialogue from '../../../common/Dialogue';
|
import Dialogue from '../../../common/Dialogue';
|
||||||
import UserToken from './UserToken/UserToken';
|
import { UserToken } from './UserToken/UserToken';
|
||||||
|
|
||||||
interface IConfirmUserLink {
|
interface IConfirmUserLink {
|
||||||
open: boolean;
|
open: boolean;
|
||||||
@ -9,7 +9,7 @@ interface IConfirmUserLink {
|
|||||||
token: string;
|
token: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
const ConfirmToken = ({
|
export const ConfirmToken = ({
|
||||||
open,
|
open,
|
||||||
closeConfirm,
|
closeConfirm,
|
||||||
token,
|
token,
|
||||||
@ -31,5 +31,3 @@ const ConfirmToken = ({
|
|||||||
</Dialogue>
|
</Dialogue>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
export default ConfirmToken;
|
|
||||||
|
@ -1,39 +1,29 @@
|
|||||||
import { IconButton } from '@material-ui/core';
|
import { IconButton } from '@material-ui/core';
|
||||||
import CopyIcon from '@material-ui/icons/FileCopy';
|
import CopyIcon from '@material-ui/icons/FileCopy';
|
||||||
|
import copy from 'copy-to-clipboard';
|
||||||
import useToast from '../../../../../hooks/useToast';
|
import useToast from '../../../../../hooks/useToast';
|
||||||
|
|
||||||
interface IUserTokenProps {
|
interface IUserTokenProps {
|
||||||
token: string;
|
token: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
const UserToken = ({ token }: IUserTokenProps) => {
|
export const UserToken = ({ token }: IUserTokenProps) => {
|
||||||
const { setToastData } = useToast();
|
const { setToastData } = useToast();
|
||||||
|
|
||||||
const handleCopy = () => {
|
const copyToken = () => {
|
||||||
try {
|
if (copy(token)) {
|
||||||
return navigator.clipboard
|
setToastData({
|
||||||
.writeText(token)
|
type: 'success',
|
||||||
.then(() => {
|
title: 'Token copied',
|
||||||
setToastData({
|
text: `Token is copied to clipboard`,
|
||||||
type: 'success',
|
});
|
||||||
title: 'Token copied',
|
} else
|
||||||
text: `Token is copied to clipboard`,
|
setToastData({
|
||||||
});
|
type: 'error',
|
||||||
})
|
title: 'Could not copy token',
|
||||||
.catch(() => {
|
});
|
||||||
setError();
|
|
||||||
});
|
|
||||||
} catch (e) {
|
|
||||||
setError();
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const setError = () =>
|
|
||||||
setToastData({
|
|
||||||
type: 'error',
|
|
||||||
title: 'Could not copy token',
|
|
||||||
});
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div
|
<div
|
||||||
style={{
|
style={{
|
||||||
@ -48,11 +38,9 @@ const UserToken = ({ token }: IUserTokenProps) => {
|
|||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
{token}
|
{token}
|
||||||
<IconButton onClick={handleCopy}>
|
<IconButton onClick={copyToken}>
|
||||||
<CopyIcon />
|
<CopyIcon />
|
||||||
</IconButton>
|
</IconButton>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
export default UserToken;
|
|
||||||
|
@ -7,11 +7,11 @@ import useToast from '../../../../hooks/useToast';
|
|||||||
import useApiTokensApi from '../../../../hooks/api/actions/useApiTokensApi/useApiTokensApi';
|
import useApiTokensApi from '../../../../hooks/api/actions/useApiTokensApi/useApiTokensApi';
|
||||||
import PermissionButton from '../../../common/PermissionButton/PermissionButton';
|
import PermissionButton from '../../../common/PermissionButton/PermissionButton';
|
||||||
import { ADMIN } from '../../../providers/AccessProvider/permissions';
|
import { ADMIN } from '../../../providers/AccessProvider/permissions';
|
||||||
import ConfirmToken from '../ConfirmToken/ConfirmToken';
|
import { ConfirmToken } from '../ConfirmToken/ConfirmToken';
|
||||||
import { useState } from 'react';
|
import { useState } from 'react';
|
||||||
import { scrollToTop } from '../../../common/util';
|
import { scrollToTop } from '../../../common/util';
|
||||||
|
|
||||||
const CreateApiToken = () => {
|
export const CreateApiToken = () => {
|
||||||
const { setToastApiError } = useToast();
|
const { setToastApiError } = useToast();
|
||||||
const { uiConfig } = useUiConfig();
|
const { uiConfig } = useUiConfig();
|
||||||
const history = useHistory();
|
const history = useHistory();
|
||||||
@ -95,10 +95,7 @@ const CreateApiToken = () => {
|
|||||||
mode="Create"
|
mode="Create"
|
||||||
clearErrors={clearErrors}
|
clearErrors={clearErrors}
|
||||||
>
|
>
|
||||||
<PermissionButton
|
<PermissionButton permission={ADMIN} type="submit">
|
||||||
permission={ADMIN}
|
|
||||||
type="submit"
|
|
||||||
>
|
|
||||||
Create token
|
Create token
|
||||||
</PermissionButton>
|
</PermissionButton>
|
||||||
</ApiTokenForm>
|
</ApiTokenForm>
|
||||||
@ -110,5 +107,3 @@ const CreateApiToken = () => {
|
|||||||
</FormTemplate>
|
</FormTemplate>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
export default CreateApiToken;
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
import ApiTokenList from '../api-token/ApiTokenList/ApiTokenList';
|
import { ApiTokenList } from '../api-token/ApiTokenList/ApiTokenList';
|
||||||
import AdminMenu from '../menu/AdminMenu';
|
import AdminMenu from '../menu/AdminMenu';
|
||||||
import ConditionallyRender from '../../common/ConditionallyRender';
|
import ConditionallyRender from '../../common/ConditionallyRender';
|
||||||
import AccessContext from '../../../contexts/AccessContext';
|
import AccessContext from '../../../contexts/AccessContext';
|
||||||
|
@ -27,7 +27,7 @@ import CreateProjectRole from '../admin/project-roles/CreateProjectRole/CreatePr
|
|||||||
import EditProjectRole from '../admin/project-roles/EditProjectRole/EditProjectRole';
|
import EditProjectRole from '../admin/project-roles/EditProjectRole/EditProjectRole';
|
||||||
import CreateUser from '../admin/users/CreateUser/CreateUser';
|
import CreateUser from '../admin/users/CreateUser/CreateUser';
|
||||||
import EditUser from '../admin/users/EditUser/EditUser';
|
import EditUser from '../admin/users/EditUser/EditUser';
|
||||||
import CreateApiToken from '../admin/api-token/CreateApiToken/CreateApiToken';
|
import { CreateApiToken } from '../admin/api-token/CreateApiToken/CreateApiToken';
|
||||||
import CreateEnvironment from '../environments/CreateEnvironment/CreateEnvironment';
|
import CreateEnvironment from '../environments/CreateEnvironment/CreateEnvironment';
|
||||||
import EditEnvironment from '../environments/EditEnvironment/EditEnvironment';
|
import EditEnvironment from '../environments/EditEnvironment/EditEnvironment';
|
||||||
import CreateContext from '../context/CreateContext/CreateContext';
|
import CreateContext from '../context/CreateContext/CreateContext';
|
||||||
|
Loading…
Reference in New Issue
Block a user