diff --git a/client/constants/Pattern.ts b/client/constants/Pattern.ts
index 2da6d25..36c774e 100644
--- a/client/constants/Pattern.ts
+++ b/client/constants/Pattern.ts
@@ -18,6 +18,7 @@ enum Pattern {
CloseButton = 'Close button',
CookieBanner = 'Cookie banner',
CornerRibbon = 'Corner ribbon',
+ CurvedBackground = 'Curved background',
CustomCheckboxButton = 'Custom checkbox button',
CustomRadioButton = 'Custom radio button',
DiagonalSection = 'Diagonal section',
diff --git a/client/pages/ExplorePage.tsx b/client/pages/ExplorePage.tsx
index 92d2ccb..1df6279 100644
--- a/client/pages/ExplorePage.tsx
+++ b/client/pages/ExplorePage.tsx
@@ -156,6 +156,7 @@ const ExplorePage = () => {
+
diff --git a/client/patterns/curved-background/Cover.tsx b/client/patterns/curved-background/Cover.tsx
new file mode 100644
index 0000000..d2c86c1
--- /dev/null
+++ b/client/patterns/curved-background/Cover.tsx
@@ -0,0 +1,33 @@
+/**
+ * A collection of popular layouts and patterns made with CSS (https://csslayout.io)
+ * (c) 2019 - 2020 Nguyen Huu Phuoc
+ */
+
+import React from 'react';
+
+import Frame from '../../placeholders/Frame';
+
+const Cover: React.FC<{}> = () => {
+ return (
+
+
+
+ );
+};
+
+export default Cover;
diff --git a/client/patterns/curved-background/Details.tsx b/client/patterns/curved-background/Details.tsx
new file mode 100644
index 0000000..1b73e69
--- /dev/null
+++ b/client/patterns/curved-background/Details.tsx
@@ -0,0 +1,64 @@
+/**
+ * A collection of popular layouts and patterns made with CSS (https://csslayout.io)
+ * (c) 2019 - 2020 Nguyen Huu Phuoc
+ */
+
+import React from 'react';
+import { Helmet } from 'react-helmet';
+
+import RelatedPatterns from '../../components/RelatedPatterns';
+import Pattern from '../../constants/Pattern';
+import DetailsLayout from '../../layouts/DetailsLayout';
+import BrowserFrame from '../../placeholders/BrowserFrame';
+
+const Details: React.FC<{}> = () => {
+ return (
+
+
+
+
+
+
+ )}
+ source={`
+
+ ...
+
+`}
+ />
+
+
+
+
+ );
+};
+
+export default Details;
diff --git a/client/patterns/diagonal-section/Details.tsx b/client/patterns/diagonal-section/Details.tsx
index 4851965..cb36676 100644
--- a/client/patterns/diagonal-section/Details.tsx
+++ b/client/patterns/diagonal-section/Details.tsx
@@ -6,6 +6,8 @@
import React from 'react';
import { Helmet } from 'react-helmet';
+import RelatedPatterns from '../../components/RelatedPatterns';
+import Pattern from '../../constants/Pattern';
import DetailsLayout from '../../layouts/DetailsLayout';
import Block from '../../placeholders/Block';
import BrowserFrame from '../../placeholders/BrowserFrame';
@@ -90,6 +92,8 @@ const Details: React.FC<{}> = () => {
`}
/>
+
+
);
};
diff --git a/public/sitemap.xml b/public/sitemap.xml
index 92d74da..4f0b426 100644
--- a/public/sitemap.xml
+++ b/public/sitemap.xml
@@ -14,6 +14,7 @@
https://csslayout.io/patterns/close-button
https://csslayout.io/patterns/cookie-banner
https://csslayout.io/patterns/corner-ribbon
+ https://csslayout.io/patterns/curved-background
https://csslayout.io/patterns/custom-checkbox-button
https://csslayout.io/patterns/custom-radio-button
https://csslayout.io/patterns/diagonal-section