NewScopedTokenButton.tsx33 lines · main
1import { useState } from 'react'
2import { Button } from 'ui'
3
4import { NewScopedTokenSheet } from './NewScopedTokenSheet'
5import { type NewScopedAccessToken } from '@/data/scoped-access-tokens/scoped-access-token-create-mutation'
6
7export interface NewScopedTokenButtonProps {
8 onCreateToken: (token: NewScopedAccessToken) => void
9}
10
11export const NewScopedTokenButton = ({ onCreateToken }: NewScopedTokenButtonProps) => {
12 const [visible, setVisible] = useState(false)
13
14 return (
15 <>
16 <Button
17 type="primary"
18 onClick={() => {
19 setVisible(true)
20 }}
21 >
22 Generate new token
23 </Button>
24
25 <NewScopedTokenSheet
26 visible={visible}
27 onOpenChange={setVisible}
28 tokenScope={undefined}
29 onCreateToken={onCreateToken}
30 />
31 </>
32 )
33}