68 lines
2.1 KiB
TypeScript
68 lines
2.1 KiB
TypeScript
import React, { useEffect } from "react";
|
||
import { Button, Modal, ModalSize, useModal } from "@openfun/cunningham-react";
|
||
|
||
const Onboarding = () => {
|
||
const modal = useModal({ isOpenDefault: true });
|
||
// FIXME: remove this workaround once issue #259 will be resolved
|
||
// https://github.com/openfun/cunningham/issues/259
|
||
const [ready, setReady] = React.useState(false);
|
||
|
||
const handleClose = () => {
|
||
sessionStorage.setItem("onboarded", "1");
|
||
modal.close();
|
||
};
|
||
|
||
useEffect(() => {
|
||
setReady(true);
|
||
}, []);
|
||
|
||
if (!ready || sessionStorage.getItem("onboarded")) return null;
|
||
|
||
return (
|
||
<Modal
|
||
size={ModalSize.MEDIUM}
|
||
isOpen={modal.isOpen}
|
||
onClose={handleClose}
|
||
closeOnClickOutside
|
||
rightActions={
|
||
<div className="onboarding__footer">
|
||
<Button color="primary" iconPosition="right" onClick={handleClose}>
|
||
Let's go!
|
||
</Button>
|
||
<Button
|
||
href="https://openfun.github.io/cunningham/storybook"
|
||
color="tertiary-text"
|
||
size="small"
|
||
icon={<span className="material-icons">open_in_new</span>}
|
||
>
|
||
Go to the documentation
|
||
</Button>
|
||
</div>
|
||
}
|
||
>
|
||
<header className="mb-b">
|
||
<span className="onboarding__title-icon">👋</span>
|
||
<h2 className="onboarding__title">Hey there!</h2>
|
||
<p>Welcome on the Cunningham Design System showcase.</p>
|
||
</header>
|
||
<section className="onboarding__content">
|
||
<p>
|
||
👀 Through this demo, you will be able to discover{" "}
|
||
<strong>a bunch of Cunningham components</strong>. Take a look at the{" "}
|
||
<a href="https://openfun.github.io/cunningham/storybook">
|
||
documentation
|
||
</a>{" "}
|
||
to see how to use them.
|
||
</p>
|
||
<p>
|
||
🖌️ You will also discover the <strong>theme feature</strong> of the
|
||
Cunningham Design System. You can switch theme through the components
|
||
in the top right corner.
|
||
</p>
|
||
</section>
|
||
</Modal>
|
||
);
|
||
};
|
||
|
||
export default Onboarding;
|