From 87e18d0333c3a495f3d9638725d9e943e95320e1 Mon Sep 17 00:00:00 2001 From: Phuoc Nguyen Date: Sun, 17 Nov 2019 15:37:29 +0700 Subject: [PATCH] Add progress bar --- client/App.jsx | 2 + client/Home.jsx | 7 +++ client/layouts/progress-bar/Cover.jsx | 17 +++++++ client/layouts/progress-bar/Details.jsx | 68 +++++++++++++++++++++++++ 4 files changed, 94 insertions(+) create mode 100644 client/layouts/progress-bar/Cover.jsx create mode 100644 client/layouts/progress-bar/Details.jsx diff --git a/client/App.jsx b/client/App.jsx index f211598..c11643c 100644 --- a/client/App.jsx +++ b/client/App.jsx @@ -11,6 +11,7 @@ import InputAddon from './layouts/input-add-on/Details'; import MediaObject from './layouts/media-object/Details'; import Menu from './layouts/menu/Details'; import PreviousNextButtons from './layouts/previous-next-buttons/Details'; +import ProgressBar from './layouts/progress-bar/Details'; import SameHeightColumns from './layouts/same-height-columns/Details'; import Sidebar from './layouts/sidebar/Details'; import SplitScreen from './layouts/split-screen/Details'; @@ -32,6 +33,7 @@ const App = () => { + diff --git a/client/Home.jsx b/client/Home.jsx index 5b33cef..b4900dd 100644 --- a/client/Home.jsx +++ b/client/Home.jsx @@ -10,6 +10,7 @@ import InputAddonCover from './layouts/input-add-on/Cover'; import MediaObjectCover from './layouts/media-object/Cover'; import MenuCover from './layouts/menu/Cover'; import PreviousNextButtonCover from './layouts/previous-next-buttons/Cover'; +import ProgressBarCover from './layouts/progress-bar/Cover'; import SameHeightColumnsCover from './layouts/same-height-columns/Cover'; import SidebarCover from './layouts/sidebar/Cover'; import SplitScreenCover from './layouts/split-screen/Cover'; @@ -125,6 +126,12 @@ const Home = () => {

Previous next buttons

+
+ + +

Progress bar

+ +
diff --git a/client/layouts/progress-bar/Cover.jsx b/client/layouts/progress-bar/Cover.jsx new file mode 100644 index 0000000..78bc62e --- /dev/null +++ b/client/layouts/progress-bar/Cover.jsx @@ -0,0 +1,17 @@ +import React from 'react'; + +import Frame from '../../placeholders/Frame'; + +const Cover = () => { + return ( + +
+
+
+
+
+ + ); +}; + +export default Cover; diff --git a/client/layouts/progress-bar/Details.jsx b/client/layouts/progress-bar/Details.jsx new file mode 100644 index 0000000..072964c --- /dev/null +++ b/client/layouts/progress-bar/Details.jsx @@ -0,0 +1,68 @@ +import React, { useState } from 'react'; + +import DetailsLayout from '../../DetailsLayout'; +import BrowserFrame from '../../placeholders/BrowserFrame'; +import SampleCode from '../../SampleCode'; +import useDocumentTitle from '../../useDocumentTitle'; +import useInterval from '../../hooks/useInterval'; + +const Details = () => { + useDocumentTitle('CSS Layout ∙ Progress bar'); + const [progress, setProgress] = useState(0); + useInterval(() => { + setProgress(v => v === 100 ? 0 : v + 1); + }, 1 * 100); + + return ( + +

Progress bar

+ +
+
+ {progress}% +
+
+
+ } + source={ + +
+ + 40% +
+
+`} +/> + } + /> + + ); +}; + +export default Details;