diff --git a/client/App.tsx b/client/App.tsx index cc794b6..2eec746 100644 --- a/client/App.tsx +++ b/client/App.tsx @@ -3,6 +3,7 @@ import { BrowserRouter as Router, Route, Switch as RouteSwitch } from 'react-rou import './index.css'; +import Pattern from './constants/Pattern'; import Home from './Home'; import DetailsLoader from './loaders/DetailsLoader'; @@ -11,46 +12,53 @@ const App = () => { - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - + - - + + + - + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + ); diff --git a/client/Home.tsx b/client/Home.tsx index e15d163..822e308 100644 --- a/client/Home.tsx +++ b/client/Home.tsx @@ -87,6 +87,7 @@ const Home = () => { + diff --git a/client/constants/Pattern.ts b/client/constants/Pattern.ts index 2fcc9fd..5f8044e 100644 --- a/client/constants/Pattern.ts +++ b/client/constants/Pattern.ts @@ -17,6 +17,7 @@ enum Pattern { Pagination = 'Pagination', PreviousNextButtons = 'Previous next buttons', PricingTable = 'Pricing table', + PropertyList = 'Property list', ProgressBar = 'Progress bar', QuestionsAndAnswers = 'Questions and answers', RadioSwitch = 'Radio switch', diff --git a/client/loaders/DetailsLoader.tsx b/client/loaders/DetailsLoader.tsx index 751fb90..2815774 100644 --- a/client/loaders/DetailsLoader.tsx +++ b/client/loaders/DetailsLoader.tsx @@ -1,10 +1,11 @@ import loadable, { LoadableComponent } from '@loadable/component'; import React from 'react'; +import Pattern from '../constants/Pattern'; import './spinner.css'; interface DetailsLoaderProps { - pattern: string; + pattern: Pattern; } const slug = (item: string) => item.toLowerCase().split(' ').join('-'); diff --git a/client/patterns/menu/Details.tsx b/client/patterns/menu/Details.tsx index b772189..13d1712 100644 --- a/client/patterns/menu/Details.tsx +++ b/client/patterns/menu/Details.tsx @@ -1,5 +1,7 @@ import React from 'react'; +import RelatedPatterns from '../../components/RelatedPatterns'; +import Pattern from '../../constants/Pattern'; import DetailsLayout from '../../layouts/DetailsLayout'; import BrowserFrame from '../../placeholders/BrowserFrame'; import Circle from '../../placeholders/Circle'; @@ -108,6 +110,7 @@ const Details: React.FC<{}> = () => { `} /> + ); }; diff --git a/client/patterns/property-list/Cover.tsx b/client/patterns/property-list/Cover.tsx new file mode 100644 index 0000000..91f3dba --- /dev/null +++ b/client/patterns/property-list/Cover.tsx @@ -0,0 +1,30 @@ +import React from 'react'; + +import Circle from '../../placeholders/Circle'; +import Frame from '../../placeholders/Frame'; +import Rectangle from '../../placeholders/Rectangle'; + +const Cover: React.FC<{}> = () => { + return ( + +
+
+
+
+ +
+
+
+ +
+
+
+ +
+
+
+ + ); +}; + +export default Cover; diff --git a/client/patterns/property-list/Details.tsx b/client/patterns/property-list/Details.tsx new file mode 100644 index 0000000..a347fe1 --- /dev/null +++ b/client/patterns/property-list/Details.tsx @@ -0,0 +1,110 @@ +import React from 'react'; + +import Heading from '../../components/Heading'; +import RelatedPatterns from '../../components/RelatedPatterns'; +import Pattern from '../../constants/Pattern'; +import DetailsLayout from '../../layouts/DetailsLayout'; +import BrowserFrame from '../../placeholders/BrowserFrame'; +import Circle from '../../placeholders/Circle'; +import Rectangle from '../../placeholders/Rectangle'; + +const Details: React.FC<{}> = () => { + const Item: React.FC<{}> = ({ children }) => { + return ( +
+ {children} +
+ ); + }; + + return ( + +
+ +
+ +
+
+
+ +
+
+
+ +
+
+
+ +
+
+
+
+
+ )} + source={` + +
+ +
...
+ + +
...
+
+`} + /> + +
+ + +
+ +
Name
+
WebAssembly in Action
+
+ +
Author
+
Gerard Gallant
+
+ +
Publishing date
+
November 2019
+
+ +
ISBN
+
9781617295744
+
+
+
+ +
+ ); +}; + +export default Details; diff --git a/client/placeholders/Circle.tsx b/client/placeholders/Circle.tsx index f09127f..41c3959 100644 --- a/client/placeholders/Circle.tsx +++ b/client/placeholders/Circle.tsx @@ -7,8 +7,9 @@ interface CircleProps { const Circle: React.FC = ({ size = 16 }) => { return (
= ({ height = 8 }) => { return (
); }; diff --git a/public/sitemap.xml b/public/sitemap.xml index 8d515ca..629fd0b 100644 --- a/public/sitemap.xml +++ b/public/sitemap.xml @@ -22,6 +22,7 @@ https://csslayout.io/previous-next-buttons https://csslayout.io/pricing-table https://csslayout.io/progress-bar + https://csslayout.io/property-list https://csslayout.io/questions-and-answers https://csslayout.io/radio-switch https://csslayout.io/same-height-columns