diff --git a/client/App.tsx b/client/App.tsx index 7e48bbf..c124daa 100644 --- a/client/App.tsx +++ b/client/App.tsx @@ -37,9 +37,8 @@ const App = () => { - - - + + diff --git a/client/Home.tsx b/client/Home.tsx index 161903b..d95b9d5 100644 --- a/client/Home.tsx +++ b/client/Home.tsx @@ -91,6 +91,7 @@ const Home = () => { + diff --git a/client/constants/Pattern.ts b/client/constants/Pattern.ts index 5d58adf..7bec69e 100644 --- a/client/constants/Pattern.ts +++ b/client/constants/Pattern.ts @@ -21,6 +21,7 @@ enum Pattern { ProgressBar = 'Progress bar', QuestionsAndAnswers = 'Questions and answers', RadioSwitch = 'Radio switch', + Rating = 'Rating', SameHeightColumns = 'Same height columns', SearchBox = 'Search box', Separator = 'Separator', diff --git a/client/patterns/rating/Cover.tsx b/client/patterns/rating/Cover.tsx new file mode 100644 index 0000000..d25d967 --- /dev/null +++ b/client/patterns/rating/Cover.tsx @@ -0,0 +1,36 @@ +import React from 'react'; + +import Frame from '../../placeholders/Frame'; + +const Cover: React.FC<{}> = () => { + return ( + +
+
+
+
+
+
+
+
+
+ + ); +}; + +export default Cover; diff --git a/client/patterns/rating/Details.tsx b/client/patterns/rating/Details.tsx new file mode 100644 index 0000000..6f4ca6f --- /dev/null +++ b/client/patterns/rating/Details.tsx @@ -0,0 +1,85 @@ +import React from 'react'; + +import DetailsLayout from '../../layouts/DetailsLayout'; +import BrowserFrame from '../../placeholders/BrowserFrame'; +import Star from './Star'; + +const Details: React.FC<{}> = () => { + return ( + +
+ +
+ + + + + +
+
+ )} + source={` + + +
+ + + + + +
+`} + /> + +
+ ); +}; + +export default Details; diff --git a/client/patterns/rating/Star.tsx b/client/patterns/rating/Star.tsx new file mode 100644 index 0000000..acae76c --- /dev/null +++ b/client/patterns/rating/Star.tsx @@ -0,0 +1,17 @@ +import React from 'react'; + +import './star.css'; + +interface StarProps { + isActive: boolean; +} + +const Star: React.FC = ({ isActive }) => { + return ( + + ); +}; + +export default Star; diff --git a/client/patterns/rating/star.css b/client/patterns/rating/star.css new file mode 100644 index 0000000..d44bd5b --- /dev/null +++ b/client/patterns/rating/star.css @@ -0,0 +1,26 @@ +.rating { + align-items: center; + display: flex; + font-size: 32px; + justify-content: center; + flex-direction: row-reverse; +} + +.rating .star:hover, .rating .star:hover ~ .star { + color: transparent; +} + +.rating .star:hover:before, .rating .star:hover ~ .star:before { + color: #00449e; + content: '\2605'; + left: 0; + position: absolute; +} + +.star { + background-color: transparent; + border: transparent; + margin: 0 2px; + padding: 0; + position: relative; +} diff --git a/client/placeholders/Frame.tsx b/client/placeholders/Frame.tsx index 1437ddc..e789bff 100644 --- a/client/placeholders/Frame.tsx +++ b/client/placeholders/Frame.tsx @@ -3,8 +3,9 @@ import React from 'react'; const Frame: React.FC<{}> = ({ children }) => { return (
https://csslayout.io/property-list https://csslayout.io/questions-and-answers https://csslayout.io/radio-switch + https://csslayout.io/rating https://csslayout.io/same-height-columns https://csslayout.io/search-box https://csslayout.io/separator