diff --git a/themes/starter/components/About.js b/themes/starter/components/About.js index f730fbb4..203205db 100644 --- a/themes/starter/components/About.js +++ b/themes/starter/components/About.js @@ -11,28 +11,28 @@ export const About = () => { {/* */}
-
-
-
+
+
+
{/* 左侧的文字说明板块 */} -
-
+
+

{siteConfig('STARTER_ABOUT_TITLE', null, CONFIG)}

-

{siteConfig('STARTER_ABOUT_BUTTON_TEXT', null, CONFIG)} @@ -40,49 +40,49 @@ export const About = () => {
{/* 右侧的图片海报 */} -
-
-
+
+
+
about image
-
+
about image
- + {siteConfig('STARTER_ABOUT_TIPS_1', null, CONFIG)} - + {siteConfig('STARTER_ABOUT_TIPS_2', null, CONFIG)} {siteConfig('STARTER_ABOUT_TIPS_3', null, CONFIG)}
- + { - + { - + { +export const Blog = (props) => { + const count = siteConfig('STARTER_BLOG_COUNT', 3, CONFIG) + const posts = props?.allNavPages + ? props.allNavPages.slice(0, count) + : [] return <> {/* */} -
-
+
+
{/* 区块标题文字 */} -
-
-
- +
+
+
+ {siteConfig('STARTER_BLOG_TITLE', null, CONFIG)}

{siteConfig('STARTER_BLOG_TEXT_1', null, CONFIG)}

+ } className="text-base text-body-color dark:text-dark-6">

{/* 博客列表 此处优先展示3片文章 */} -
-
-
-
- +
+ {posts?.map((item, index) => { + return
+
+
- Dec 22, 2023 + {item.publishDay}

- Meet AutoManage, the best AI management tools + {item.title}

- Lorem Ipsum is simply dummy text of the printing and - typesetting industry. + {item.summary}

+ }) }
diff --git a/themes/starter/components/Brand.js b/themes/starter/components/Brand.js index a2f26167..db51823e 100644 --- a/themes/starter/components/Brand.js +++ b/themes/starter/components/Brand.js @@ -1,72 +1,34 @@ +/* eslint-disable @next/next/no-img-element */ + +import CONFIG from '../config' + +/** + * 合作伙伴 + * @returns + */ export const Brand = () => { return <> {/* */} -
-
+
+
diff --git a/themes/starter/components/CTA.js b/themes/starter/components/CTA.js index 702fafb9..756b1f26 100644 --- a/themes/starter/components/CTA.js +++ b/themes/starter/components/CTA.js @@ -3,30 +3,30 @@ export const CTA = () => { {/* */}
-
-
-
-
-
+
+
+
+
+

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 @@ -36,7 +36,7 @@ export const CTA = () => {
- + { /> - + { return <> {/* */} -
+
-
-
-
-
-
+
+
+ + {/* 联系方式左侧文字 */} +
+
+
- CONTACT US + {siteConfig('STARTER_CONTACT_TITLE', null, CONFIG)}

- Let's talk about your problem. + {siteConfig('STARTER_CONTACT_TEXT', null, CONFIG)}

-
-
-
- - - - +
+
+
+
- Our Location + {siteConfig('STARTER_CONTACT_LOCATION_TITLE', null, CONFIG)}
-

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

+ {siteConfig('STARTER_CONTACT_LOCATION_TEXT', null, CONFIG)}

-
-
- - - +
+
+
- How Can We Help? + {siteConfig('STARTER_CONTACT_EMAIL_TITLE', null, CONFIG)}
-

- info@yourdomain.com -

-

- contact@yourdomain.com +

+ {siteConfig('STARTER_CONTACT_EMAIL_TEXT', null, CONFIG)}

-
+ + {/* 联系方式右侧留言 */} +

- Send us a Message + {siteConfig('STARTER_CONTACT_MSG_TITLE', null, CONFIG)}

-
+
+ // for="fullName" + className="mb-4 block text-sm text-body-color dark:text-dark-6"> + {siteConfig('STARTER_CONTACT_MSG_NAME', null, CONFIG)}* +
-
+
+ // for="email" + className="mb-4 block text-sm text-body-color dark:text-dark-6"> + {siteConfig('STARTER_CONTACT_MSG_EMAIL', null, CONFIG)}* +
-
- +
+
-
+
+ // for="message" + className="mb-4 block text-sm text-body-color dark:text-dark-6"> + {siteConfig('STARTER_CONTACT_MSG_TEXT', null, CONFIG)}* +
-
+
+
diff --git a/themes/starter/components/FAQ.js b/themes/starter/components/FAQ.js index 408090c8..daff2aaf 100644 --- a/themes/starter/components/FAQ.js +++ b/themes/starter/components/FAQ.js @@ -18,22 +18,22 @@ export const FAQ = () => { return <> {/* */}
-
-
-
-
- +
+
+
+
+ {siteConfig('STARTER_FAQ_TITLE', null, CONFIG)}

{siteConfig('STARTER_FAQ_TEXT_1', null, CONFIG)}

{siteConfig('STARTER_FAQ_TEXT_2', null, CONFIG)}

@@ -41,80 +41,80 @@ export const FAQ = () => {
-
-
-
+
+
+
-
+

{siteConfig('STARTER_FAQ_1_QUESTION', null, CONFIG)}

+ } className="text-base text-body-color dark:text-dark-6">

-
+
-
+

{siteConfig('STARTER_FAQ_2_QUESTION', null, CONFIG)}

+ } className="text-base text-body-color dark:text-dark-6">

-
-
+
+
-
+

{siteConfig('STARTER_FAQ_3_QUESTION', null, CONFIG)}

+ } className="text-base text-body-color dark:text-dark-6">

-
+
-
+

{siteConfig('STARTER_FAQ_4_QUESTION', null, CONFIG)}

+ } className="text-base text-body-color dark:text-dark-6">

@@ -124,10 +124,10 @@ export const FAQ = () => { {/* 背景图案 */}
- + - +
diff --git a/themes/starter/components/Footer.js b/themes/starter/components/Footer.js index fb2d7127..9724123b 100644 --- a/themes/starter/components/Footer.js +++ b/themes/starter/components/Footer.js @@ -1,267 +1,94 @@ import { siteConfig } from '@/lib/config' import CONFIG from '../config' +import { Logo } from './Logo' +import SocialButton from '@/themes/fukasawa/components/SocialButton' +import { SVGFooterCircleBG } from './svg/SVGFooterCircleBG' +import { checkContainHttp, sliceUrlFromHttp } from '@/lib/utils' /* eslint-disable @next/next/no-img-element */ -export const Footer = () => { +export const Footer = (props) => { + console.log('prop', props) + const latestPosts = props?.latestPosts ? props?.latestPosts.slice(0, 2) : [] + return <> {/* */} diff --git a/themes/starter/components/Logo.js b/themes/starter/components/Logo.js index ca6065a9..f2492f52 100644 --- a/themes/starter/components/Logo.js +++ b/themes/starter/components/Logo.js @@ -10,7 +10,7 @@ import CONFIG from '../config'; * 站点图标 * @returns */ -export const Logo = () => { +export const Logo = ({ white }) => { const router = useRouter() const { isDarkMode } = useGlobal() const logoWhite = siteConfig('STARTER_LOGO_WHITE', null, CONFIG) @@ -30,7 +30,7 @@ export const Logo = () => { const navBarScrollListener = throttle(() => { const scrollY = window.scrollY; // 何时显示浅色或白底的logo - if (isDarkMode || (!isDarkMode && router.route === '/' && scrollY < 1)) { + if (white || isDarkMode || (!isDarkMode && router.route === '/' && scrollY < 1)) { setLogo(siteConfig('STARTER_LOGO_WHITE', null, CONFIG)) setLogoTextColor('text-white') } else { diff --git a/themes/starter/components/MadeWithButton.js b/themes/starter/components/MadeWithButton.js index 8bdda3a6..a833f78b 100644 --- a/themes/starter/components/MadeWithButton.js +++ b/themes/starter/components/MadeWithButton.js @@ -5,23 +5,23 @@ export const MadeWithButton = () => { - + Made with - - + + tailgrids diff --git a/themes/starter/components/Pricing.js b/themes/starter/components/Pricing.js index 131a9ba9..466f74f7 100644 --- a/themes/starter/components/Pricing.js +++ b/themes/starter/components/Pricing.js @@ -10,21 +10,21 @@ export const Pricing = () => { {/* */}
-
-
-
-
- +
+
+
+
+ {siteConfig('STARTER_PRICING_TITLE', null, CONFIG)}

{siteConfig('STARTER_PRICING_TEXT_1', null, CONFIG)}

-

+

{siteConfig('STARTER_PRICING_TEXT_2', null, CONFIG)}

@@ -32,35 +32,35 @@ export const Pricing = () => {
{/* 第一个付费计划 */} -
-
+
+
{siteConfig('STARTER_PRICING_1_TITLE', null, CONFIG)}

- {siteConfig('STARTER_PRICING_1_PRICE_CURRENCY', null, CONFIG)} - {siteConfig('STARTER_PRICING_1_PRICE', null, CONFIG)} + {siteConfig('STARTER_PRICING_1_PRICE_CURRENCY', null, CONFIG)} + {siteConfig('STARTER_PRICING_1_PRICE', null, CONFIG)} {siteConfig('STARTER_PRICING_1_PRICE_PERIOD', null, CONFIG)}

-
-
+
+
{siteConfig('STARTER_PRICING_1_HEADER', null, CONFIG)}
-
+
{siteConfig('STARTER_PRICING_1_FEATURES', null, CONFIG)?.split(',').map((feature, index) => { - return

+ return

{feature}

})} @@ -69,7 +69,7 @@ export const Pricing = () => {
{siteConfig('STARTER_PRICING_1_BUTTON_TEXT', null, CONFIG)} @@ -77,39 +77,39 @@ export const Pricing = () => {
{/* 第二个付费计划 */} -
+

{siteConfig('STARTER_PRICING_2_TAG', null, CONFIG)}

{siteConfig('STARTER_PRICING_2_TITLE', null, CONFIG)}

- {siteConfig('STARTER_PRICING_1_PRICE_CURRENCY', null, CONFIG)} - {siteConfig('STARTER_PRICING_1_PRICE', null, CONFIG)} + {siteConfig('STARTER_PRICING_1_PRICE_CURRENCY', null, CONFIG)} + {siteConfig('STARTER_PRICING_1_PRICE', null, CONFIG)} {siteConfig('STARTER_PRICING_2_PRICE_PERIOD', null, CONFIG)}

-
-
+
+
{siteConfig('STARTER_PRICING_2_HEADER', null, CONFIG)}
-
+
{siteConfig('STARTER_PRICING_2_FEATURES', null, CONFIG)?.split(',').map((feature, index) => { - return

+ return

{feature}

})} @@ -118,7 +118,7 @@ export const Pricing = () => {
{siteConfig('STARTER_PRICING_2_BUTTON_TEXT', null, CONFIG)} @@ -126,34 +126,34 @@ export const Pricing = () => {
{/* 第三个付费计划 */} -
+
{siteConfig('STARTER_PRICING_3_TITLE', null, CONFIG)}

- {siteConfig('STARTER_PRICING_3_PRICE_CURRENCY', null, CONFIG)} - {siteConfig('STARTER_PRICING_3_PRICE', null, CONFIG)} + {siteConfig('STARTER_PRICING_3_PRICE_CURRENCY', null, CONFIG)} + {siteConfig('STARTER_PRICING_3_PRICE', null, CONFIG)} {siteConfig('STARTER_PRICING_3_PRICE_PERIOD', null, CONFIG)}

-
-
+
+
{siteConfig('STARTER_PRICING_3_HEADER', null, CONFIG)}
-
+
{siteConfig('STARTER_PRICING_3_FEATURES', null, CONFIG)?.split(',').map((feature, index) => { - return

+ return

{feature}

})} @@ -162,7 +162,7 @@ export const Pricing = () => {
{siteConfig('STARTER_PRICING_3_BUTTON_TEXT', null, CONFIG)} diff --git a/themes/starter/components/SocialButton.js b/themes/starter/components/SocialButton.js new file mode 100644 index 00000000..b9def55b --- /dev/null +++ b/themes/starter/components/SocialButton.js @@ -0,0 +1,44 @@ +import { siteConfig } from '@/lib/config' + +/** + * 社交联系方式按钮组 + * @returns {JSX.Element} + * @constructor + */ +const SocialButton = () => { + return
+
+ {siteConfig('CONTACT_GITHUB') && + + } + {siteConfig('CONTACT_TWITTER') && + + } + {siteConfig('CONTACT_TELEGRAM') && + + } + {siteConfig('CONTACT_LINKEDIN') && + + } + {siteConfig('CONTACT_WEIBO') && + + } + {siteConfig('CONTACT_INSTAGRAM') && + + } + {siteConfig('CONTACT_EMAIL') && + + } + {JSON.parse(siteConfig('ENABLE_RSS')) && + + } + {siteConfig('CONTACT_BILIBILI') && + + } + {siteConfig('CONTACT_YOUTUBE') && + + } +
+
+} +export default SocialButton diff --git a/themes/starter/components/Team.js b/themes/starter/components/Team.js index d605a545..5d24e18e 100644 --- a/themes/starter/components/Team.js +++ b/themes/starter/components/Team.js @@ -11,74 +11,74 @@ export const Team = () => { {/* */}
-
-
-
-
- +
+
+
+
+ {siteConfig('STARTER_TEAM_TITLE', null, CONFIG)}

{siteConfig('STARTER_TEAM_TEXT_1', null, CONFIG)}

+ } className="text-base text-body-color dark:text-dark-6">

{/* 团队成员排列矩阵 */} -
+
{CONFIG.STARTER_TEAM_ITEMS.map((item, index) => { - return
+ return
{/* 头像 */} -
+
team image
{/* 文字介绍 */} -
+

{item.STARTER_TEAM_ITEM_NICKNAME}

-

+

{item.STARTER_TEAM_ITEM_DESCRIPTION}

{/* 社交链接 */} -
- + diff --git a/themes/starter/components/Testimonials.js b/themes/starter/components/Testimonials.js index b0d8e134..6fdd98b6 100644 --- a/themes/starter/components/Testimonials.js +++ b/themes/starter/components/Testimonials.js @@ -20,6 +20,7 @@ const loadExternal = async () => { return } // Testimonial + // eslint-disable-next-line no-unused-vars const testimonialSwiper = new Swiper('.testimonial-carousel', { slidesPerView: 1, spaceBetween: 30, @@ -45,7 +46,6 @@ const loadExternal = async () => { } } }); - console.log('swiper', testimonialSwiper) }; export const Testimonials = () => { @@ -58,64 +58,64 @@ export const Testimonials = () => { {/* */}
-
-
-
-
- +
+
+
+
+ {siteConfig('STARTER_TESTIMONIALS_TITLE', null, CONFIG)}

{siteConfig('STARTER_TESTIMONIALS_TEXT_1', null, CONFIG)}

-

+

{siteConfig('STARTER_TESTIMONIALS_TEXT_2', null, CONFIG)}

-
-