import React, { useCallback, useState } from "react";
import Skeleton, { SkeletonProps } from "../Skeleton";
import Avatar from "../../Avatar/Avatar";
import person from "./assets/person.png";
import Button from "../../Button/Button";
import { Replay, ThumbsUp } from "../../Icon/Icons";
import "./Skeleton.stories.scss";
export default {
title: "Feedback/Skeleton",
component: Skeleton
};
const skeletonTemplate = (args: SkeletonProps) => {
return (
);
};
export const Overview = {
render: skeletonTemplate.bind({}),
name: "Overview",
args: {
typeText: Skeleton.types.TEXT,
typeCircle: Skeleton.types.CIRCLE,
smallSize: Skeleton.sizes.TEXT.SMALL,
sizeH4: Skeleton.sizes.TEXT.H4,
sizeH1: Skeleton.sizes.TEXT.H1
}
};
export const Shapes = {
render: () => (
<>Circle>
<>Square>
<>Rectangle>
),
name: "Shapes"
};
export const Text = {
render: () => (
),
name: "Text"
};
export const UpdateInTheSystem = {
render: () => {
const [showSkeleton, setShowSkeleton] = useState(false);
const [showBlock, setSHowBlock] = useState(false);
const [showReload, setshowReload] = useState(true);
const onClickCallback = useCallback(() => {
setshowReload(false);
setSHowBlock(false);
setShowSkeleton(true);
setTimeout(() => {
setShowSkeleton(false);
}, 4000);
setTimeout(() => {
setSHowBlock(true);
}, 4000);
}, [setShowSkeleton, setSHowBlock]);
return (
{showBlock && (
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip
ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu
fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia
deserunt mollit anim id est laborum.
Like
Reply
)}
{showSkeleton && (
)}
{showReload ? "Load update" : "Reload update"}
);
},
name: "Update in the system"
};