You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
76 lines
1.7 KiB
76 lines
1.7 KiB
2 years ago
|
import React, { useRef, useState } from 'react';
|
||
|
import { Button, Divider, Space, Tour } from 'antd';
|
||
|
import type { TourProps } from 'antd';
|
||
|
import { EllipsisOutlined } from '@ant-design/icons';
|
||
|
|
||
|
const App: React.FC = () => {
|
||
|
const ref1 = useRef(null);
|
||
|
const ref2 = useRef(null);
|
||
|
const ref3 = useRef(null);
|
||
|
|
||
|
const [open, setOpen] = useState<boolean>(false);
|
||
|
|
||
|
const steps: TourProps['steps'] = [
|
||
|
{
|
||
|
title: 'Upload File',
|
||
|
description: 'Put your files here.',
|
||
|
cover: (
|
||
|
<img
|
||
|
alt="tour.png"
|
||
|
src="https://user-images.githubusercontent.com/5378891/197385811-55df8480-7ff4-44bd-9d43-a7dade598d70.png"
|
||
|
/>
|
||
|
),
|
||
|
target: () => ref1.current,
|
||
|
},
|
||
|
{
|
||
|
title: 'Save',
|
||
|
description: 'Save your changes.',
|
||
|
target: () => ref2.current,
|
||
|
mask: {
|
||
|
style: {
|
||
|
boxShadow: 'inset 0 0 15px #fff',
|
||
|
},
|
||
|
color: 'rgba(40, 0, 255, .4)',
|
||
|
},
|
||
|
},
|
||
|
{
|
||
|
title: 'Other Actions',
|
||
|
description: 'Click to see other actions.',
|
||
|
target: () => ref3.current,
|
||
|
mask: false,
|
||
|
},
|
||
|
];
|
||
|
|
||
|
return (
|
||
|
<>
|
||
|
<Button type="primary" onClick={() => setOpen(true)}>
|
||
|
Begin Tour
|
||
|
</Button>
|
||
|
|
||
|
<Divider />
|
||
|
|
||
|
<Space>
|
||
|
<Button ref={ref1}> Upload</Button>
|
||
|
<Button ref={ref2} type="primary">
|
||
|
Save
|
||
|
</Button>
|
||
|
<Button ref={ref3} icon={<EllipsisOutlined />} />
|
||
|
</Space>
|
||
|
|
||
|
<Tour
|
||
|
open={open}
|
||
|
onClose={() => setOpen(false)}
|
||
|
steps={steps}
|
||
|
mask={{
|
||
|
style: {
|
||
|
boxShadow: 'inset 0 0 15px #333',
|
||
|
},
|
||
|
color: 'rgba(80, 255, 255, .4)',
|
||
|
}}
|
||
|
/>
|
||
|
</>
|
||
|
);
|
||
|
};
|
||
|
|
||
|
export default App;
|