From 4663e87f95dd42116281bc41805f5e0f8e6d0771 Mon Sep 17 00:00:00 2001 From: sherazmalik06 Date: Wed, 22 Jun 2022 23:34:18 +0500 Subject: [PATCH 01/10] Edit: update Packages --- examples/cms-cosmic/components/alert.tsx | 42 +++++++++++++++++++ examples/cms-cosmic/components/avatar.tsx | 19 +++++++++ examples/cms-cosmic/components/container.tsx | 3 ++ .../cms-cosmic/components/cover-image.tsx | 35 ++++++++++++++++ examples/cms-cosmic/components/date.tsx | 6 +++ examples/cms-cosmic/components/footer.tsx | 30 +++++++++++++ examples/cms-cosmic/components/header.tsx | 12 ++++++ examples/cms-cosmic/components/hero-post.tsx | 40 ++++++++++++++++++ examples/cms-cosmic/components/intro.tsx | 28 +++++++++++++ examples/cms-cosmic/components/layout.tsx | 18 ++++++++ examples/cms-cosmic/components/meta.tsx | 42 +++++++++++++++++++ .../cms-cosmic/components/more-stories.tsx | 24 +++++++++++ .../cms-cosmic/components/post-preview.tsx | 31 ++++++++++++++ examples/cms-cosmic/components/post-title.tsx | 7 ++++ .../components/section-separator.tsx | 3 ++ examples/cms-cosmic/lib/api.js | 17 ++++---- examples/cms-cosmic/next-env.d.ts | 5 +++ examples/cms-cosmic/package.json | 19 +++++---- examples/cms-cosmic/tsconfig.json | 42 +++++++++++++++++++ 19 files changed, 407 insertions(+), 16 deletions(-) create mode 100644 examples/cms-cosmic/components/alert.tsx create mode 100644 examples/cms-cosmic/components/avatar.tsx create mode 100644 examples/cms-cosmic/components/container.tsx create mode 100644 examples/cms-cosmic/components/cover-image.tsx create mode 100644 examples/cms-cosmic/components/date.tsx create mode 100644 examples/cms-cosmic/components/footer.tsx create mode 100644 examples/cms-cosmic/components/header.tsx create mode 100644 examples/cms-cosmic/components/hero-post.tsx create mode 100644 examples/cms-cosmic/components/intro.tsx create mode 100644 examples/cms-cosmic/components/layout.tsx create mode 100644 examples/cms-cosmic/components/meta.tsx create mode 100644 examples/cms-cosmic/components/more-stories.tsx create mode 100644 examples/cms-cosmic/components/post-preview.tsx create mode 100644 examples/cms-cosmic/components/post-title.tsx create mode 100644 examples/cms-cosmic/components/section-separator.tsx create mode 100644 examples/cms-cosmic/next-env.d.ts create mode 100644 examples/cms-cosmic/tsconfig.json diff --git a/examples/cms-cosmic/components/alert.tsx b/examples/cms-cosmic/components/alert.tsx new file mode 100644 index 0000000000000..051f3319649ed --- /dev/null +++ b/examples/cms-cosmic/components/alert.tsx @@ -0,0 +1,42 @@ +import Container from './container' +import cn from 'classnames' +import { EXAMPLE_PATH } from '@/lib/constants' + +export default function Alert({ preview }) { + return ( +
+ +
+ {preview ? ( + <> + This is page is a preview.{' '} + + Click here + {' '} + to exit preview mode. + + ) : ( + <> + The source code for this blog is{' '} + + available on GitHub + + . + + )} +
+
+
+ ) +} diff --git a/examples/cms-cosmic/components/avatar.tsx b/examples/cms-cosmic/components/avatar.tsx new file mode 100644 index 0000000000000..d7f7ec3871e87 --- /dev/null +++ b/examples/cms-cosmic/components/avatar.tsx @@ -0,0 +1,19 @@ +import Image from 'next/image' + +export default function Avatar({ name, picture }) { + return ( +
+
+ {picture && ( + {name} + )} +
+
{name}
+
+ ) +} diff --git a/examples/cms-cosmic/components/container.tsx b/examples/cms-cosmic/components/container.tsx new file mode 100644 index 0000000000000..fc1c29dfb0747 --- /dev/null +++ b/examples/cms-cosmic/components/container.tsx @@ -0,0 +1,3 @@ +export default function Container({ children }) { + return
{children}
+} diff --git a/examples/cms-cosmic/components/cover-image.tsx b/examples/cms-cosmic/components/cover-image.tsx new file mode 100644 index 0000000000000..4e754a79b57bd --- /dev/null +++ b/examples/cms-cosmic/components/cover-image.tsx @@ -0,0 +1,35 @@ +import cn from 'classnames' +import Link from 'next/link' +import Imgix from 'react-imgix' + +export default function CoverImage({ title, url, slug }) { + const image = ( + + ) + return ( +
+ {slug ? ( + + {image} + + ) : ( + image + )} +
+ ) +} diff --git a/examples/cms-cosmic/components/date.tsx b/examples/cms-cosmic/components/date.tsx new file mode 100644 index 0000000000000..eac5681378bfd --- /dev/null +++ b/examples/cms-cosmic/components/date.tsx @@ -0,0 +1,6 @@ +import { parseISO, format } from 'date-fns' + +export default function Date({ dateString }) { + const date = parseISO(dateString) + return +} diff --git a/examples/cms-cosmic/components/footer.tsx b/examples/cms-cosmic/components/footer.tsx new file mode 100644 index 0000000000000..b305c3eb40b0d --- /dev/null +++ b/examples/cms-cosmic/components/footer.tsx @@ -0,0 +1,30 @@ +import Container from './container' +import { EXAMPLE_PATH } from '@/lib/constants' + +export default function Footer() { + return ( + + ) +} diff --git a/examples/cms-cosmic/components/header.tsx b/examples/cms-cosmic/components/header.tsx new file mode 100644 index 0000000000000..562e7e3eebb6a --- /dev/null +++ b/examples/cms-cosmic/components/header.tsx @@ -0,0 +1,12 @@ +import Link from 'next/link' + +export default function Header() { + return ( +

+ + Blog + + . +

+ ) +} diff --git a/examples/cms-cosmic/components/hero-post.tsx b/examples/cms-cosmic/components/hero-post.tsx new file mode 100644 index 0000000000000..e8f7823c2b039 --- /dev/null +++ b/examples/cms-cosmic/components/hero-post.tsx @@ -0,0 +1,40 @@ +import Avatar from './avatar' +import Date from './date' +import CoverImage from './cover-image' +import Link from 'next/link' + +export default function HeroPost({ + title, + coverImage, + date, + excerpt, + author, + slug, +}) { + return ( +
+
+ +
+
+
+

+ + {title} + +

+
+ +
+
+
+

{excerpt}

+ +
+
+
+ ) +} diff --git a/examples/cms-cosmic/components/intro.tsx b/examples/cms-cosmic/components/intro.tsx new file mode 100644 index 0000000000000..c3003c6196642 --- /dev/null +++ b/examples/cms-cosmic/components/intro.tsx @@ -0,0 +1,28 @@ +import { CMS_NAME, CMS_URL } from '@/lib/constants' + +export default function Intro() { + return ( +
+

+ Blog. +

+

+ A statically generated blog example using{' '} + + Next.js + {' '} + and{' '} + + {CMS_NAME} + + . +

+
+ ) +} diff --git a/examples/cms-cosmic/components/layout.tsx b/examples/cms-cosmic/components/layout.tsx new file mode 100644 index 0000000000000..ff54d53992783 --- /dev/null +++ b/examples/cms-cosmic/components/layout.tsx @@ -0,0 +1,18 @@ +import Alert from './alert' +import Footer from './footer' +import Meta from './meta' +import 'lazysizes' +import 'lazysizes/plugins/parent-fit/ls.parent-fit' + +export default function Layout({ preview, children }) { + return ( + <> + +
+ +
{children}
+
+