diff --git a/client/constants/Pattern.ts b/client/constants/Pattern.ts
index 1efff21..485ea8f 100644
--- a/client/constants/Pattern.ts
+++ b/client/constants/Pattern.ts
@@ -24,6 +24,7 @@ enum Pattern {
FeatureComparison = 'Feature comparison',
FeatureList = 'Feature list',
FixedAtCorner = 'Fixed at corner',
+ FixedAtSide = 'Fixed at side',
FloatingLabel = 'Floating label',
FullScreenMenu = 'Full screen menu',
HolyGrail = 'Holy grail',
diff --git a/client/pages/ExplorePage.tsx b/client/pages/ExplorePage.tsx
index a28903a..01414d5 100644
--- a/client/pages/ExplorePage.tsx
+++ b/client/pages/ExplorePage.tsx
@@ -150,6 +150,7 @@ const ExplorePage = () => {
+
diff --git a/client/patterns/fixed-at-corner/Details.tsx b/client/patterns/fixed-at-corner/Details.tsx
index 2e3cb17..4517860 100644
--- a/client/patterns/fixed-at-corner/Details.tsx
+++ b/client/patterns/fixed-at-corner/Details.tsx
@@ -70,7 +70,7 @@ const Details: React.FC<{}> = () => {
`}
/>
-
+
);
};
diff --git a/client/patterns/fixed-at-side/Cover.tsx b/client/patterns/fixed-at-side/Cover.tsx
new file mode 100644
index 0000000..7377c5e
--- /dev/null
+++ b/client/patterns/fixed-at-side/Cover.tsx
@@ -0,0 +1,31 @@
+import React from 'react';
+
+import Frame from '../../placeholders/Frame';
+
+const Cover: React.FC<{}> = () => {
+ return (
+
+
+
+ );
+};
+
+export default Cover;
diff --git a/client/patterns/fixed-at-side/Details.tsx b/client/patterns/fixed-at-side/Details.tsx
new file mode 100644
index 0000000..b0ffaff
--- /dev/null
+++ b/client/patterns/fixed-at-side/Details.tsx
@@ -0,0 +1,255 @@
+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';
+
+const Details: React.FC<{}> = () => {
+ return (
+
+
+ )}
+ source={`
+
+
+ ...
+
+`}
+ />
+
+
+
+
+
+
+
+
A Feedback button
+
+ Feedback
+
+
+
+
+
Navgiate between full page sections
+
+
+
+
+
Social sharing toolbar
+
+
+
+
+
+
+
+ );
+};
+
+export default Details;
diff --git a/client/placeholders/BrowserFrame.tsx b/client/placeholders/BrowserFrame.tsx
index 1f85c28..4447470 100644
--- a/client/placeholders/BrowserFrame.tsx
+++ b/client/placeholders/BrowserFrame.tsx
@@ -4,7 +4,7 @@ import SampleCode from '../components/SampleCode';
interface BrowserFrameProps {
content: React.ReactNode;
- source: string;
+ source?: string;
}
const BrowserFrame: React.FC = ({ content, source }) => {
@@ -55,21 +55,23 @@ const BrowserFrame: React.FC = ({ content, source }) => {
width: '16px',
}}
/>
-
-
-
+ {source && (
+
+
+
+ )}
= ({ content, source }) => {
>
{content}
-
-
-
+ {source && (
+
+
+
+ )}
);
diff --git a/public/sitemap.xml b/public/sitemap.xml
index 7f70f96..19af251 100644
--- a/public/sitemap.xml
+++ b/public/sitemap.xml
@@ -25,6 +25,7 @@
https://csslayout.io/patterns/feature-comparison
https://csslayout.io/patterns/feature-list
https://csslayout.io/patterns/fixed-at-corner
+ https://csslayout.io/patterns/fixed-at-side
https://csslayout.io/patterns/floating-label
https://csslayout.io/patterns/full-screen-menu
https://csslayout.io/patterns/holy-grail