diff --git a/public/images/landing-2/404.svg b/public/images/landing-2/404.svg new file mode 100644 index 00000000..79e94624 --- /dev/null +++ b/public/images/landing-2/404.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/public/images/landing-2/about/about-image-01.jpg b/public/images/landing-2/about/about-image-01.jpg new file mode 100644 index 00000000..9cdc28a4 Binary files /dev/null and b/public/images/landing-2/about/about-image-01.jpg differ diff --git a/public/images/landing-2/about/about-image-02.jpg b/public/images/landing-2/about/about-image-02.jpg new file mode 100644 index 00000000..f8d10918 Binary files /dev/null and b/public/images/landing-2/about/about-image-02.jpg differ diff --git a/public/images/landing-2/blog/article-author-01.png b/public/images/landing-2/blog/article-author-01.png new file mode 100644 index 00000000..6d376483 Binary files /dev/null and b/public/images/landing-2/blog/article-author-01.png differ diff --git a/public/images/landing-2/blog/article-author-02.png b/public/images/landing-2/blog/article-author-02.png new file mode 100644 index 00000000..e0928f51 Binary files /dev/null and b/public/images/landing-2/blog/article-author-02.png differ diff --git a/public/images/landing-2/blog/article-author-03.png b/public/images/landing-2/blog/article-author-03.png new file mode 100644 index 00000000..1209a41a Binary files /dev/null and b/public/images/landing-2/blog/article-author-03.png differ diff --git a/public/images/landing-2/blog/article-author-04.png b/public/images/landing-2/blog/article-author-04.png new file mode 100644 index 00000000..b60009a5 Binary files /dev/null and b/public/images/landing-2/blog/article-author-04.png differ diff --git a/public/images/landing-2/blog/author-01.png b/public/images/landing-2/blog/author-01.png new file mode 100644 index 00000000..cfad7368 Binary files /dev/null and b/public/images/landing-2/blog/author-01.png differ diff --git a/public/images/landing-2/blog/bannder-ad.png b/public/images/landing-2/blog/bannder-ad.png new file mode 100644 index 00000000..72c54efe Binary files /dev/null and b/public/images/landing-2/blog/bannder-ad.png differ diff --git a/public/images/landing-2/blog/blog-01.jpg b/public/images/landing-2/blog/blog-01.jpg new file mode 100644 index 00000000..9c117386 Binary files /dev/null and b/public/images/landing-2/blog/blog-01.jpg differ diff --git a/public/images/landing-2/blog/blog-02.jpg b/public/images/landing-2/blog/blog-02.jpg new file mode 100644 index 00000000..8c7c5354 Binary files /dev/null and b/public/images/landing-2/blog/blog-02.jpg differ diff --git a/public/images/landing-2/blog/blog-03.jpg b/public/images/landing-2/blog/blog-03.jpg new file mode 100644 index 00000000..e735ad0b Binary files /dev/null and b/public/images/landing-2/blog/blog-03.jpg differ diff --git a/public/images/landing-2/blog/blog-details-01.jpg b/public/images/landing-2/blog/blog-details-01.jpg new file mode 100644 index 00000000..18405648 Binary files /dev/null and b/public/images/landing-2/blog/blog-details-01.jpg differ diff --git a/public/images/landing-2/blog/blog-footer-01.jpg b/public/images/landing-2/blog/blog-footer-01.jpg new file mode 100644 index 00000000..0b98efdf Binary files /dev/null and b/public/images/landing-2/blog/blog-footer-01.jpg differ diff --git a/public/images/landing-2/blog/blog-footer-02.jpg b/public/images/landing-2/blog/blog-footer-02.jpg new file mode 100644 index 00000000..63c95dbc Binary files /dev/null and b/public/images/landing-2/blog/blog-footer-02.jpg differ diff --git a/public/images/landing-2/blog/dotted-shape.svg b/public/images/landing-2/blog/dotted-shape.svg new file mode 100644 index 00000000..ebb755ab --- /dev/null +++ b/public/images/landing-2/blog/dotted-shape.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/images/landing-2/blog/quote-bg.svg b/public/images/landing-2/blog/quote-bg.svg new file mode 100644 index 00000000..0bfe5c30 --- /dev/null +++ b/public/images/landing-2/blog/quote-bg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/images/landing-2/brands/ayroui-white.svg b/public/images/landing-2/brands/ayroui-white.svg new file mode 100644 index 00000000..cff071ae --- /dev/null +++ b/public/images/landing-2/brands/ayroui-white.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/public/images/landing-2/brands/ayroui.svg b/public/images/landing-2/brands/ayroui.svg new file mode 100644 index 00000000..07c9c65f --- /dev/null +++ b/public/images/landing-2/brands/ayroui.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/public/images/landing-2/brands/graygrids-white.svg b/public/images/landing-2/brands/graygrids-white.svg new file mode 100644 index 00000000..c67f2a78 --- /dev/null +++ b/public/images/landing-2/brands/graygrids-white.svg @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/images/landing-2/brands/graygrids.svg b/public/images/landing-2/brands/graygrids.svg new file mode 100644 index 00000000..3e585981 --- /dev/null +++ b/public/images/landing-2/brands/graygrids.svg @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/images/landing-2/brands/lineicons-white.svg b/public/images/landing-2/brands/lineicons-white.svg new file mode 100644 index 00000000..f87604f3 --- /dev/null +++ b/public/images/landing-2/brands/lineicons-white.svg @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/images/landing-2/brands/lineicons.svg b/public/images/landing-2/brands/lineicons.svg new file mode 100644 index 00000000..32c4f6ed --- /dev/null +++ b/public/images/landing-2/brands/lineicons.svg @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/images/landing-2/brands/tailgrids-white.svg b/public/images/landing-2/brands/tailgrids-white.svg new file mode 100644 index 00000000..00a3b911 --- /dev/null +++ b/public/images/landing-2/brands/tailgrids-white.svg @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/images/landing-2/brands/tailgrids.svg b/public/images/landing-2/brands/tailgrids.svg new file mode 100644 index 00000000..72f1405b --- /dev/null +++ b/public/images/landing-2/brands/tailgrids.svg @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/images/landing-2/brands/uideck-white.svg b/public/images/landing-2/brands/uideck-white.svg new file mode 100644 index 00000000..68c5bb3e --- /dev/null +++ b/public/images/landing-2/brands/uideck-white.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/public/images/landing-2/brands/uideck.svg b/public/images/landing-2/brands/uideck.svg new file mode 100644 index 00000000..712612fe --- /dev/null +++ b/public/images/landing-2/brands/uideck.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/public/images/landing-2/favicon.png b/public/images/landing-2/favicon.png new file mode 100644 index 00000000..565e7693 Binary files /dev/null and b/public/images/landing-2/favicon.png differ diff --git a/public/images/landing-2/footer/shape-1.svg b/public/images/landing-2/footer/shape-1.svg new file mode 100644 index 00000000..9077a676 --- /dev/null +++ b/public/images/landing-2/footer/shape-1.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/public/images/landing-2/footer/shape-3.svg b/public/images/landing-2/footer/shape-3.svg new file mode 100644 index 00000000..caa49058 --- /dev/null +++ b/public/images/landing-2/footer/shape-3.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/public/images/landing-2/hero/brand.svg b/public/images/landing-2/hero/brand.svg new file mode 100644 index 00000000..badad418 --- /dev/null +++ b/public/images/landing-2/hero/brand.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/images/landing-2/hero/hero-image.jpg b/public/images/landing-2/hero/hero-image.jpg new file mode 100644 index 00000000..bdf04b54 Binary files /dev/null and b/public/images/landing-2/hero/hero-image.jpg differ diff --git a/public/images/landing-2/logo/favicon.svg b/public/images/landing-2/logo/favicon.svg new file mode 100644 index 00000000..cdf1d91f --- /dev/null +++ b/public/images/landing-2/logo/favicon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/images/landing-2/logo/logo-white.svg b/public/images/landing-2/logo/logo-white.svg new file mode 100644 index 00000000..60c45844 --- /dev/null +++ b/public/images/landing-2/logo/logo-white.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/public/images/landing-2/logo/logo.svg b/public/images/landing-2/logo/logo.svg new file mode 100644 index 00000000..74f74640 --- /dev/null +++ b/public/images/landing-2/logo/logo.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/public/images/landing-2/team/dotted-shape.svg b/public/images/landing-2/team/dotted-shape.svg new file mode 100644 index 00000000..4a60b6d2 --- /dev/null +++ b/public/images/landing-2/team/dotted-shape.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/images/landing-2/team/shape-2.svg b/public/images/landing-2/team/shape-2.svg new file mode 100644 index 00000000..a49060dd --- /dev/null +++ b/public/images/landing-2/team/shape-2.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/images/landing-2/team/team-01.png b/public/images/landing-2/team/team-01.png new file mode 100644 index 00000000..f12ff515 Binary files /dev/null and b/public/images/landing-2/team/team-01.png differ diff --git a/public/images/landing-2/team/team-02.png b/public/images/landing-2/team/team-02.png new file mode 100644 index 00000000..873da2b7 Binary files /dev/null and b/public/images/landing-2/team/team-02.png differ diff --git a/public/images/landing-2/team/team-03.png b/public/images/landing-2/team/team-03.png new file mode 100644 index 00000000..f12ff515 Binary files /dev/null and b/public/images/landing-2/team/team-03.png differ diff --git a/public/images/landing-2/team/team-04.png b/public/images/landing-2/team/team-04.png new file mode 100644 index 00000000..2eba5d6f Binary files /dev/null and b/public/images/landing-2/team/team-04.png differ diff --git a/public/images/landing-2/testimonials/author-01.jpg b/public/images/landing-2/testimonials/author-01.jpg new file mode 100644 index 00000000..5d8a66d3 Binary files /dev/null and b/public/images/landing-2/testimonials/author-01.jpg differ diff --git a/public/images/landing-2/testimonials/author-02.jpg b/public/images/landing-2/testimonials/author-02.jpg new file mode 100644 index 00000000..d240eb1c Binary files /dev/null and b/public/images/landing-2/testimonials/author-02.jpg differ diff --git a/public/images/landing-2/testimonials/author-03.jpg b/public/images/landing-2/testimonials/author-03.jpg new file mode 100644 index 00000000..e78dfafb Binary files /dev/null and b/public/images/landing-2/testimonials/author-03.jpg differ diff --git a/public/images/landing-2/testimonials/icon-star.svg b/public/images/landing-2/testimonials/icon-star.svg new file mode 100644 index 00000000..666ced1a --- /dev/null +++ b/public/images/landing-2/testimonials/icon-star.svg @@ -0,0 +1,3 @@ + + + diff --git a/tailwind.config.js b/tailwind.config.js index 76f8e710..f5780609 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -6,6 +6,26 @@ module.exports = { darkMode: BLOG.APPEARANCE === 'class' ? 'media' : 'class', // or 'media' or 'class' theme: { fontFamily: fontFamilies, + screens: { + sm: '540px', + // => @media (min-width: 576px) { ... } + + md: '720px', + // => @media (min-width: 768px) { ... } + + lg: '960px', + // => @media (min-width: 992px) { ... } + + xl: '1140px', + // => @media (min-width: 1200px) { ... } + + '2xl': '1320px' + // => @media (min-width: 1400px) { ... } + }, + container: { + center: true, + padding: '16px' + }, extend: { colors: { day: { @@ -18,11 +38,43 @@ module.exports = { 'background-gray': '#f5f5f5', 'black-gray': '#101414', 'light-gray': '#e5e5e5' - } + }, + black: '#212b36', + 'dark-700': '#090e34b3', + dark: { + DEFAULT: '#111928', + 2: '#1F2A37', + 3: '#374151', + 4: '#4B5563', + 5: '#6B7280', + 6: '#9CA3AF', + 7: '#D1D5DB', + 8: '#E5E7EB' + }, + primary: '#3758F9', + 'blue-dark': '#1B44C8', + secondary: '#13C296', + 'body-color': '#637381', + 'body-secondary': '#8899A8', + warning: '#FBBF24', + stroke: '#DFE4EA', + 'gray-1': '#F9FAFB', + 'gray-2': '#F3F4F6', + 'gray-7': '#CED4DA' }, maxWidth: { side: '14rem', '9/10': '90%' + }, + boxShadow: { + input: '0px 7px 20px rgba(0, 0, 0, 0.03)', + form: '0px 1px 55px -11px rgba(0, 0, 0, 0.01)', + pricing: '0px 0px 40px 0px rgba(0, 0, 0, 0.08)', + 'switch-1': '0px 0px 5px rgba(0, 0, 0, 0.15)', + testimonial: '0px 10px 20px 0px rgba(92, 115, 160, 0.07)', + 'testimonial-btn': '0px 8px 15px 0px rgba(72, 72, 138, 0.08)', + 1: '0px 1px 3px 0px rgba(166, 175, 195, 0.40)', + 2: '0px 5px 12px 0px rgba(0, 0, 0, 0.10)' } } }, diff --git a/themes/landing-2/components/About.js b/themes/landing-2/components/About.js new file mode 100644 index 00000000..6ac66a83 --- /dev/null +++ b/themes/landing-2/components/About.js @@ -0,0 +1,203 @@ +/* eslint-disable react/no-unescaped-entities */ +export const About = () => { + return <> + {/* */} +
+
+
+
+
+
+

+ Brilliant Toolkit to Build Nextgen Website Faster. +

+

+ The main ‘thrust' is to focus on educating attendees on how to + best protect highly vulnerable business applications with + interactive panel discussions and roundtables led by subject + matter experts. +
+
+ The main ‘thrust' is to focus on educating attendees on how to + best protect highly vulnerable business applications with + interactive panel. +

+ + + Know More + +
+
+ +
+
+
+
+ about image +
+
+ +
+
+ about image +
+ +
+
+ + 09 + + + We have + + + Years of experience + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+ {/* */} + +} diff --git a/themes/landing-2/components/BackToTopButton.js b/themes/landing-2/components/BackToTopButton.js new file mode 100644 index 00000000..799de8f6 --- /dev/null +++ b/themes/landing-2/components/BackToTopButton.js @@ -0,0 +1,51 @@ +import { useEffect } from 'react' + +export const BackToTopButton = () => { + useEffect(() => { + // ====== scroll top js + function scrollTo(element, to = 0, duration = 500) { + const start = element.scrollTop; + const change = to - start; + const increment = 20; + let currentTime = 0; + + const animateScroll = () => { + currentTime += increment; + + const val = Math.easeInOutQuad(currentTime, start, change, duration); + + element.scrollTop = val; + + if (currentTime < duration) { + setTimeout(animateScroll, increment); + } + }; + + animateScroll(); + } + + Math.easeInOutQuad = function (t, b, c, d) { + t /= d / 2; + if (t < 1) return (c / 2) * t * t + b; + t--; + return (-c / 2) * (t * (t - 2) - 1) + b; + }; + + document.querySelector('.back-to-top').onclick = () => { + scrollTo(document.documentElement); + }; + }) + + return <> + {/* */} + + {/* */} + +} diff --git a/themes/landing-2/components/Blog.js b/themes/landing-2/components/Blog.js new file mode 100644 index 00000000..bf68e5d2 --- /dev/null +++ b/themes/landing-2/components/Blog.js @@ -0,0 +1,132 @@ +export const Blog = () => { + return <> + {/* */} +
+
+
+
+
+ + Our Blogs + +

+ Our Recent News +

+

+ There are many variations of passages of Lorem Ipsum available + but the majority have suffered alteration in some form. +

+
+
+
+
+
+
+
+ + image + +
+
+ + Dec 22, 2023 + +

+ + Meet AutoManage, the best AI management tools + +

+

+ Lorem Ipsum is simply dummy text of the printing and + typesetting industry. +

+
+
+
+
+
+
+ + image + +
+
+ + Mar 15, 2023 + +

+ + How to earn more money as a wellness coach + +

+

+ Lorem Ipsum is simply dummy text of the printing and + typesetting industry. +

+
+
+
+
+
+
+ + image + +
+
+ + Jan 05, 2023 + +

+ + The no-fuss guide to upselling and cross selling + +

+

+ Lorem Ipsum is simply dummy text of the printing and + typesetting industry. +

+
+
+
+
+
+
+ {/* */} + +} diff --git a/themes/landing-2/components/Brand.js b/themes/landing-2/components/Brand.js new file mode 100644 index 00000000..555632fe --- /dev/null +++ b/themes/landing-2/components/Brand.js @@ -0,0 +1,75 @@ +export const Brand = () => { + return <> + + {/* */} +
+
+ +
+
+ {/* */} + +} diff --git a/themes/landing-2/components/CTA.js b/themes/landing-2/components/CTA.js new file mode 100644 index 00000000..ae1a195a --- /dev/null +++ b/themes/landing-2/components/CTA.js @@ -0,0 +1,106 @@ +export const CTA = () => { + return <> + + {/* */} +
+
+
+
+
+
+

+ What Are You Looking For? + + Get Started Now + +

+

+ There are many variations of passages of Lorem Ipsum but the + majority have suffered in some form. +

+ + Start using Play + +
+
+
+
+
+
+ + + + + + + + + + + + + + +
+
+ {/* */} + +} diff --git a/themes/landing-2/components/Contact.js b/themes/landing-2/components/Contact.js new file mode 100644 index 00000000..28ba956b --- /dev/null +++ b/themes/landing-2/components/Contact.js @@ -0,0 +1,167 @@ +/* eslint-disable react/no-unescaped-entities */ +export const Contact = () => { + return <> + {/* */} +
+
+
+
+
+
+
+
+ + CONTACT US + +

+ Let's talk about your problem. +

+
+
+
+
+ + + + +
+
+
+ Our Location +
+

+ 401 Broadway, 24th Floor, Orchard Cloud View, London +

+
+
+
+
+ + + +
+
+
+ How Can We Help? +
+

+ info@yourdomain.com +

+

+ contact@yourdomain.com +

+
+
+
+
+
+
+
+

+ Send us a Message +

+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ +
+
+
+
+
+
+
+ {/* */} + + +} diff --git a/themes/landing-2/components/FAQ.js b/themes/landing-2/components/FAQ.js new file mode 100644 index 00000000..b128f268 --- /dev/null +++ b/themes/landing-2/components/FAQ.js @@ -0,0 +1,772 @@ +import { useEffect } from 'react' + +export const FAQ = () => { + useEffect(() => { + // ===== Faq accordion + const faqs = document.querySelectorAll('.single-faq'); + faqs.forEach((el) => { + el.querySelector('.faq-btn').addEventListener('click', () => { + el.querySelector('.icon').classList.toggle('rotate-180'); + el.querySelector('.faq-content').classList.toggle('hidden'); + }); + }); + }) + return <> + {/* */} +
+
+
+
+
+ + FAQ + +

+ Any Questions? Look Here +

+

+ There are many variations of passages of Lorem Ipsum available + but the majority have suffered alteration in some form. +

+
+
+
+
+
+
+
+ + + + + +
+
+

+ Is TailGrids Well-documented? +

+

+ It takes 2-3 weeks to get your first blog post ready. That + includes the in-depth research & creation of your monthly + content ui/ux strategy that we do writing your first blog + post. +

+
+
+
+
+ + + + + +
+
+

+ Is TailGrids Well-documented? +

+

+ It takes 2-3 weeks to get your first blog post ready. That + includes the in-depth research & creation of your monthly + content ui/ux strategy that we do writing your first blog + post. +

+
+
+
+
+
+
+ + + + + +
+
+

+ Is TailGrids Well-documented? +

+

+ It takes 2-3 weeks to get your first blog post ready. That + includes the in-depth research & creation of your monthly + content ui/ux strategy that we do writing your first blog + post. +

+
+
+
+
+ + + + + +
+
+

+ Is TailGrids Well-documented? +

+

+ It takes 2-3 weeks to get your first blog post ready. That + includes the in-depth research & creation of your monthly + content ui/ux strategy that we do writing your first blog + post. +

+
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ {/* */} + +} diff --git a/themes/landing-2/components/Features.js b/themes/landing-2/components/Features.js new file mode 100644 index 00000000..f08bb99c --- /dev/null +++ b/themes/landing-2/components/Features.js @@ -0,0 +1,214 @@ +export const Features = () => { + return <> + {/* */} +
+
+
+
+
+ + Features + +

+ Main Features Of Play +

+

+ There are many variations of passages of Lorem Ipsum available + but the majority have suffered alteration in some form. +

+
+
+
+
+
+
+
+ + + + +
+

+ Free and Open-Source +

+

+ Lorem Ipsum is simply dummy text of the printing and industry. +

+ + Learn More + +
+
+
+
+
+ + + + +
+

+ Multipurpose Template +

+

+ Lorem Ipsum is simply dummy text of the printing and industry. +

+ + Learn More + +
+
+
+
+
+ + + + + + + + + + + + +
+

+ High-quality Design +

+

+ Lorem Ipsum is simply dummy text of the printing and industry. +

+ + Learn More + +
+
+
+
+
+ + + + + + + +
+

+ All Essential Elements +

+

+ Lorem Ipsum is simply dummy text of the printing and industry. +

+ + Learn More + +
+
+
+
+
+ {/* */} + +} diff --git a/themes/landing-2/components/Footer.js b/themes/landing-2/components/Footer.js new file mode 100644 index 00000000..ba20e84a --- /dev/null +++ b/themes/landing-2/components/Footer.js @@ -0,0 +1,583 @@ +export const Footer = () => { + return <> + {/* */} + + {/* */} + +} diff --git a/themes/landing-2/components/Hero.js b/themes/landing-2/components/Hero.js new file mode 100644 index 00000000..854b97bb --- /dev/null +++ b/themes/landing-2/components/Hero.js @@ -0,0 +1,1381 @@ +export const Hero = () => { + return <> + {/* */} +
+
+
+
+
+

+ Open-Source Web Template for SaaS, Startup, Apps, and More +

+

+ Multidisciplinary Web Template Built with Your Favourite + Technology - HTML Bootstrap, Tailwind and React NextJS. +

+ + +
+
+ +
+
+
+ hero +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ {/* */} + +} diff --git a/themes/landing-2/components/MadeWithButton.js b/themes/landing-2/components/MadeWithButton.js new file mode 100644 index 00000000..7f1a1cb1 --- /dev/null +++ b/themes/landing-2/components/MadeWithButton.js @@ -0,0 +1,28 @@ +export const MadeWithButton = () => { + return <> + {/* */} + + + Made with + + + + tailgrids + + + + +} diff --git a/themes/landing-2/components/NavBar.js b/themes/landing-2/components/NavBar.js new file mode 100644 index 00000000..4f9f70af --- /dev/null +++ b/themes/landing-2/components/NavBar.js @@ -0,0 +1,374 @@ +/* eslint-disable no-unreachable */ +import { useEffect } from 'react' + +export const NavBar = () => { + useEffect(() => { + // ======= Sticky + window.onscroll = function () { + // 这里有点bug + return + // eslint-disable-next-line camelcase + const ud_header = document.querySelector('.ud-header'); + const sticky = ud_header.offsetTop; + const logo = document.querySelectorAll('.header-logo'); + + if (window.pageYOffset > sticky) { + ud_header.classList.add('sticky'); + } else { + ud_header.classList.remove('sticky'); + } + + if (logo.length) { + // === logo change + if (ud_header.classList.contains('sticky')) { + document.querySelector('.header-logo').src = + '/images/landing-2/logo/logo.svg' + } else { + document.querySelector('.header-logo').src = + '/images/landing-2/logo/logo-white.svg' + } + } + + if (document.documentElement.classList.contains('dark')) { + if (logo.length) { + // === logo change + if (ud_header.classList.contains('sticky')) { + document.querySelector('.header-logo').src = + '/images/landing-2/logo/logo-white.svg' + } + } + } + + // show or hide the back-top-top button + const backToTop = document.querySelector('.back-to-top'); + if ( + document.body.scrollTop > 50 || + document.documentElement.scrollTop > 50 + ) { + backToTop.style.display = 'flex'; + } else { + backToTop.style.display = 'none'; + } + }; + + // ===== responsive navbar + const navbarToggler = document.querySelector('#navbarToggler'); + const navbarCollapse = document.querySelector('#navbarCollapse'); + + navbarToggler.addEventListener('click', () => { + navbarToggler.classList.toggle('navbarTogglerActive'); + navbarCollapse.classList.toggle('hidden'); + }); + + //= ==== close navbar-collapse when a clicked + document + .querySelectorAll('#navbarCollapse ul li:not(.submenu-item) a') + .forEach((e) => + e.addEventListener('click', () => { + navbarToggler.classList.remove('navbarTogglerActive'); + navbarCollapse.classList.add('hidden'); + }) + ); + + // ===== Sub-menu + const submenuItems = document.querySelectorAll('.submenu-item'); + submenuItems.forEach((el) => { + el.querySelector('a').addEventListener('click', () => { + el.querySelector('.submenu').classList.toggle('hidden'); + }); + }); + + /* ======== themeSwitcher start ========= */ + + // themeSwitcher + const themeSwitcher = document.getElementById('themeSwitcher'); + + // Theme Vars + const userTheme = localStorage.getItem('theme'); + const systemTheme = window.matchMedia('(prefers-color0scheme: dark)').matches; + + // Initial Theme Check + const themeCheck = () => { + if (userTheme === 'dark' || (!userTheme && systemTheme)) { + document.documentElement.classList.add('dark'); + } + }; + + // Manual Theme Switch + const themeSwitch = () => { + if (document.documentElement.classList.contains('dark')) { + document.documentElement.classList.remove('dark'); + localStorage.setItem('theme', 'light'); + return; + } + + document.documentElement.classList.add('dark'); + localStorage.setItem('theme', 'dark'); + }; + + // call theme switch on clicking buttons + themeSwitcher.addEventListener('click', () => { + themeSwitch(); + }); + + // invoke theme check on initial load + themeCheck(); + /* ======== themeSwitcher End ========= */ + }) + + return <> + {/* */} +
+
+
+
+ + logo + +
+
+
+ + +
+
+ + +
+
+
+
+
+ {/* */} + +} diff --git a/themes/landing-2/components/Pricing.js b/themes/landing-2/components/Pricing.js new file mode 100644 index 00000000..492ab747 --- /dev/null +++ b/themes/landing-2/components/Pricing.js @@ -0,0 +1,180 @@ +export const Pricing = () => { + return <> + {/* */} +
+
+
+
+
+ + Pricing Table + +

+ Awesome Pricing Plan +

+

+ There are many variations of passages of Lorem Ipsum available + but the majority have suffered alteration in some form. +

+
+
+
+
+
+
+ + Starter + +

+ $ + 25.00 + + Per Month + +

+
+
+ Features +
+
+

+ Up to 1 User +

+

+ All UI components +

+

+ Lifetime access +

+

+ Free updates +

+
+
+ + Purchase Now + +
+
+
+
+

+ Recommended +

+ + Basic + +

+ $ + 59.00 + + Per Month + +

+
+
+ Features +
+
+

+ Up to 1 User +

+

+ All UI components +

+

+ Lifetime access +

+

+ Free updates +

+
+
+ + Purchase Now + +
+
+
+
+ + Premium + +

+ $ + 99.00 + + Per Month + +

+
+
+ Features +
+
+

+ Up to 1 User +

+

+ All UI components +

+

+ Lifetime access +

+

+ Free updates +

+
+
+ + Purchase Now + +
+
+
+
+
+ {/* */} + + +} diff --git a/themes/landing-2/components/Team.js b/themes/landing-2/components/Team.js new file mode 100644 index 00000000..35412537 --- /dev/null +++ b/themes/landing-2/components/Team.js @@ -0,0 +1,957 @@ +export const Team = () => { + return <> + {/* */} +
+
+
+
+
+ + Our Team Members + +

+ Our Creative Team +

+

+ There are many variations of passages of Lorem Ipsum available + but the majority have suffered alteration in some form. +

+
+
+
+
+
+
+
+ team image + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ Melissa Tatcher +

+

+ Marketing Expert +

+ +
+
+
+
+
+
+ team image + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ Stuard Ferrel +

+

+ Digital Marketer +

+ +
+
+
+
+
+
+ team image + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ Eva Hudson +

+

+ Creative Designer +

+ +
+
+
+
+
+
+ team image + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ Jackie Sanders +

+

+ SEO Expert +

+ +
+
+
+
+
+
+ {/* */} + +} diff --git a/themes/landing-2/components/Testimonials.js b/themes/landing-2/components/Testimonials.js new file mode 100644 index 00000000..60f8ba2a --- /dev/null +++ b/themes/landing-2/components/Testimonials.js @@ -0,0 +1,397 @@ +/* eslint-disable react/no-unescaped-entities */ +/* eslint-disable @next/next/no-img-element */ +export const Testimonials = () => { + return <> + {/* */} +
+
+
+
+
+ + Testimonials + +

+ What our Clients Say +

+

+ There are many variations of passages of Lorem Ipsum available + but the majority have suffered alteration in some form. +

+
+
+
+ +
+ +
+
+
+ {/* */} + +} diff --git a/themes/landing-2/config.js b/themes/landing-2/config.js new file mode 100644 index 00000000..08316f90 --- /dev/null +++ b/themes/landing-2/config.js @@ -0,0 +1,8 @@ +/** + * 另一个落地页主题 + */ +const CONFIG = { + + LANDING_NEWSLETTER: process.env.NEXT_PUBLIC_THEME_LANDING_NEWSLETTER || false // 是否开启邮件订阅 请先配置mailchimp功能 https://docs.tangly1024.com/article/notion-next-mailchimp +} +export default CONFIG diff --git a/themes/landing-2/index.js b/themes/landing-2/index.js new file mode 100644 index 00000000..679ef32a --- /dev/null +++ b/themes/landing-2/index.js @@ -0,0 +1,137 @@ + +'use client' + +/** + * 这是一个空白主题,方便您用作创建新主题时的模板,从而开发出您自己喜欢的主题 + * 1. 禁用了代码质量检查功能,提高了代码的宽容度;您可以使用标准的html写法 + * 2. 内容大部分是在此文件中写死,notion数据从props参数中传进来 + * 3. 您可在此网站找到更多喜欢的组件 https://www.tailwind-kit.com/ + */ +import { useRouter } from 'next/router' +import { isBrowser, loadExternalResource } from '@/lib/utils' +import { siteConfig } from '@/lib/config' +import CONFIG from './config' +import NotionPage from '@/components/NotionPage' +import Loading from '@/components/Loading' +import { useEffect } from 'react' +import { Style } from './style' +import { NavBar } from './components/NavBar' +import { Hero } from './components/Hero' +import { Features } from './components/Features' +import { About } from './components/About' +import { Pricing } from './components/Pricing' +import { Testimonials } from './components/Testimonials' +import { FAQ } from './components/FAQ' +import { Team } from './components/Team' +import { Blog } from './components/Blog' +import { Contact } from './components/Contact' +import { Brand } from './components/Brand' +import { Footer } from './components/Footer' +import { BackToTopButton } from './components/BackToTopButton' +import { MadeWithButton } from './components/MadeWithButton' + +/** + * 一些外部js + */ +const loadExternal = async () => { + await loadExternalResource('https://cdnjs.cloudflare.com/ajax/libs/Swiper/11.0.5/swiper-bundle.min.js', 'js'); + await loadExternalResource('https://cdnjs.cloudflare.com/ajax/libs/Swiper/11.0.5/swiper-bundle.css', 'css'); + await loadExternalResource('https://cdnjs.cloudflare.com/ajax/libs/wow/1.1.2/wow.min.js', 'js'); + const WOW = window.WOW; + if (WOW) { + new WOW().init(); + } +}; + +/** + * 布局框架 + * Landing-2 主题用作产品落地页展示 + * 结合Stripe或者lemonsqueezy插件可以成为saas支付订阅 + * https://play-tailwind.tailgrids.com/ + * @param {*} props + * @returns + */ +const LayoutBase = (props) => { + const { children } = props + + useEffect(() => { + loadExternal() + }, []) + + return
+ +} + +export { Style }