diff --git a/README.md b/README.md
index 799a835..3f1ca04 100644
--- a/README.md
+++ b/README.md
@@ -9,6 +9,8 @@ A collection of popular layouts and patterns made with CSS:
* Good practices (coming soon)
* Accessibility (coming soon)
+
+
## Why
Being a front-end engineer, I have to deal with a lot of layouts and components.
diff --git a/client/Home.tsx b/client/Home.tsx
index 06d6128..e15d163 100644
--- a/client/Home.tsx
+++ b/client/Home.tsx
@@ -2,6 +2,7 @@ import React from 'react';
import CoverCard from './components/CoverCard';
import Heading from './components/Heading';
+import Pattern from './constants/Pattern';
import useDocumentTitle from './hooks/useDocumentTitle';
import Layout from './layouts/Layout';
@@ -57,11 +58,11 @@ const Home = () => {
-
-
-
-
-
+
+
+
+
+
@@ -69,37 +70,37 @@ const Home = () => {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/client/components/CoverCard.tsx b/client/components/CoverCard.tsx
index 651aabd..d862514 100644
--- a/client/components/CoverCard.tsx
+++ b/client/components/CoverCard.tsx
@@ -1,11 +1,12 @@
import React from 'react';
import { Link } from 'react-router-dom';
+import Pattern from '../constants/Pattern';
import slug from '../helpers/slug';
import CoverLoader from '../loaders/CoverLoader';
interface CoverCardProps {
- pattern: string;
+ pattern: Pattern;
}
const CoverCard: React.FC = ({ pattern }) => {
diff --git a/client/components/RelatedPatterns.tsx b/client/components/RelatedPatterns.tsx
index 06eb348..c9d4a47 100644
--- a/client/components/RelatedPatterns.tsx
+++ b/client/components/RelatedPatterns.tsx
@@ -1,10 +1,11 @@
import React, { useEffect } from 'react';
+import Pattern from '../constants/Pattern';
import CoverCard from './CoverCard';
import Heading from './Heading';
interface RelatedPatternsProps {
- patterns: string[];
+ patterns: Pattern[];
}
const RelatedPatterns: React.FC = ({ patterns }) => {
diff --git a/client/constants/Pattern.ts b/client/constants/Pattern.ts
new file mode 100644
index 0000000..2fcc9fd
--- /dev/null
+++ b/client/constants/Pattern.ts
@@ -0,0 +1,40 @@
+enum Pattern {
+ Badge = 'Badge',
+ Breadcrumb = 'Breadcrumb',
+ ButtonWithIcon = 'Button with icon',
+ Card = 'Card',
+ Centering = 'Centering',
+ DockedAtCorner = 'Docked at corner',
+ DotNavigation = 'Dot navigation',
+ FeatureList = 'Feature list',
+ FixedAtCorner = 'Fixed at corner',
+ HolyGrail = 'Holy grail',
+ InputAddOn = 'Input add-on',
+ MediaObject = 'Media object',
+ Menu = 'Menu',
+ Modal = 'Modal',
+ Notification = 'Notification',
+ Pagination = 'Pagination',
+ PreviousNextButtons = 'Previous next buttons',
+ PricingTable = 'Pricing table',
+ ProgressBar = 'Progress bar',
+ QuestionsAndAnswers = 'Questions and answers',
+ RadioSwitch = 'Radio switch',
+ SameHeightColumns = 'Same height columns',
+ SearchBox = 'Search box',
+ Separator = 'Separator',
+ Sidebar = 'Sidebar',
+ SimpleGrid = 'Simple grid',
+ Slider = 'Slider',
+ SplitNavigation = 'Split navigation',
+ SplitScreen = 'Split screen',
+ StepperInput = 'Stepper input',
+ StickyFooter = 'Sticky footer',
+ StickyHeader = 'Sticky header',
+ Switch = 'Switch',
+ Tab = 'Tab',
+ TogglePasswordVisibility = 'Toggle password visibility',
+ Wizard = 'Wizard',
+}
+
+export default Pattern;
diff --git a/client/loaders/CoverLoader.tsx b/client/loaders/CoverLoader.tsx
index 0a5eac4..9a50c25 100644
--- a/client/loaders/CoverLoader.tsx
+++ b/client/loaders/CoverLoader.tsx
@@ -1,7 +1,9 @@
import loadable, { LoadableComponent } from '@loadable/component';
+import Pattern from '../constants/Pattern';
+
interface CoverLoaderProps {
- pattern: string;
+ pattern: Pattern;
}
const slug = (item: string) => item.toLowerCase().split(' ').join('-');
diff --git a/client/patterns/radio-switch/Details.tsx b/client/patterns/radio-switch/Details.tsx
index b7c7d43..431cf1f 100644
--- a/client/patterns/radio-switch/Details.tsx
+++ b/client/patterns/radio-switch/Details.tsx
@@ -2,6 +2,7 @@ import React, { useState } 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';
@@ -79,7 +80,7 @@ const Details: React.FC<{}> = () => {
-
+
);
};
diff --git a/client/patterns/switch/Details.tsx b/client/patterns/switch/Details.tsx
index ead8306..b3123eb 100644
--- a/client/patterns/switch/Details.tsx
+++ b/client/patterns/switch/Details.tsx
@@ -1,6 +1,7 @@
import React, { useState } from 'react';
import RelatedPatterns from '../../components/RelatedPatterns';
+import Pattern from '../../constants/Pattern';
import DetailsLayout from '../../layouts/DetailsLayout';
import BrowserFrame from '../../placeholders/BrowserFrame';
@@ -65,7 +66,7 @@ const Details: React.FC<{}> = () => {
`}
/>
-
+
);
};
diff --git a/package.json b/package.json
index 87adb44..2397030 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "csslayout",
"scripts": {
- "copy": "rm -rf dist && mkdir dist && cp robots.txt dist && cp sitemap.xml dist",
+ "copy": "rm -rf dist && mkdir dist && cp -rf public/* dist",
"dev": "npm run copy && webpack --mode development",
"dev-server": "npm run copy && webpack-dev-server",
"build": "npm run copy && webpack --mode production && npm run export",
diff --git a/public/images/screenshot.png b/public/images/screenshot.png
new file mode 100644
index 0000000..9fd930f
Binary files /dev/null and b/public/images/screenshot.png differ
diff --git a/robots.txt b/public/robots.txt
similarity index 100%
rename from robots.txt
rename to public/robots.txt
diff --git a/sitemap.xml b/public/sitemap.xml
similarity index 100%
rename from sitemap.xml
rename to public/sitemap.xml