* feat: integrate payload cms to landing page * feat: add payload configuration and update TypeScript target * fix: update TypeScript paths for payload configuration * refactor: update config import paths to use local payload.config * fix: update quotation marks for testimonials to use HTML entities * fix: include withPayload in Next.js plugins for proper configuration * feat: implement HeroSection global configuration and integrate with Hero component * feat: add FeaturesSection global configuration and integrate with Features component * feat: add revalidate constant to control page revalidation interval * refactor: optimize data fetching by using Promise.all * fix: update revalidation interval to 10 seconds * feat: add CommunitiesSection configuration and integrate with Community component * refactor: move global section functions to services directory * feat: add support for s3 bucket for media * feat: update Community component to use Iconify for icons and adjust CommunitiesSection configuration * feat: replace Link component with Button for improved button styling in Community component * feat: update FeaturesSection to use Iconify icons and adjust icon properties * feat: add heroImage field to HeroSection and implement image formatting utility * feat: add Learning Resources section with dynamic data fetching and UI integration * feat: enhance LearningResourcesSection with primary and secondary button links * refactor: reorganize layout structure by moving Header and Footer components to RootLayout * feat: implement Testimonials section with dynamic data fetching and UI integration * feat: simplify joinTitle rendering in Testimonials section * feat: implement CallToAction section with dynamic data fetching and UI integration * feat: update CallToActionSection label and wrap Discord button in link * feat: update button components to use onClick for external links and improve styling * feat: wrap logo image in a link to navigate to the homepage * fix: supress scss deps warning * fix: add placeholder to .env.example * chore: add environment placeholder variables for CMS configuration in test build workflow * fix: remove unused environment variables from test build workflow * fix: text color (#26) * chore: update action * feat: integrate payload cms to landing page * feat: add payload configuration and update TypeScript target * fix: update TypeScript paths for payload configuration * refactor: update config import paths to use local payload.config * fix: include withPayload in Next.js plugins for proper configuration * feat: implement HeroSection global configuration and integrate with Hero component * feat: add FeaturesSection global configuration and integrate with Features component * feat: add revalidate constant to control page revalidation interval * refactor: optimize data fetching by using Promise.all * fix: update revalidation interval to 10 seconds * feat: add CommunitiesSection configuration and integrate with Community component * refactor: move global section functions to services directory * feat: add support for s3 bucket for media * feat: update Community component to use Iconify for icons and adjust CommunitiesSection configuration * feat: replace Link component with Button for improved button styling in Community component * feat: update FeaturesSection to use Iconify icons and adjust icon properties * feat: add heroImage field to HeroSection and implement image formatting utility * feat: add Learning Resources section with dynamic data fetching and UI integration * feat: enhance LearningResourcesSection with primary and secondary button links * refactor: reorganize layout structure by moving Header and Footer components to RootLayout * feat: implement Testimonials section with dynamic data fetching and UI integration * feat: simplify joinTitle rendering in Testimonials section * feat: implement CallToAction section with dynamic data fetching and UI integration * feat: update CallToActionSection label and wrap Discord button in link * feat: update button components to use onClick for external links and improve styling * feat: wrap logo image in a link to navigate to the homepage * fix: supress scss deps warning * fix: add placeholder to .env.example * chore: add environment placeholder variables for CMS configuration in test build workflow * fix: remove unused environment variables from test build workflow * fix: remove mistakenly added env from test-build workflow --------- Co-authored-by: Fahim Ardani <fahimardani25@gmail.com> Co-authored-by: Maulana Sodiqin <53475078+maulanasdqn@users.noreply.github.com>
66 lines
2.1 KiB
TypeScript
66 lines
2.1 KiB
TypeScript
import { GlobalConfig } from 'payload';
|
|
|
|
export const CommunitiesSection: GlobalConfig = {
|
|
slug: 'communities-section',
|
|
label: 'Communities Section',
|
|
fields: [
|
|
{
|
|
name: 'items',
|
|
type: 'array',
|
|
required: true,
|
|
defaultValue: [
|
|
{
|
|
iconName: 'tabler:brand-facebook',
|
|
title: 'Facebook Group',
|
|
description:
|
|
'Bergabunglah dengan grup Facebook kami untuk diskusi santai dan berbagi artikel menarik.',
|
|
buttonText: 'Gabung Sekarang',
|
|
buttonLink: 'https://facebook.com/groups/programmerhandal',
|
|
},
|
|
{
|
|
iconName: 'tabler:brand-instagram',
|
|
title: 'Instagram',
|
|
description:
|
|
'Ikuti kami di Instagram untuk tips programming, konten inspiratif, dan info event terbaru.',
|
|
buttonText: 'Follow Kami',
|
|
buttonLink: 'https://www.instagram.com/imphnen.dev',
|
|
},
|
|
{
|
|
iconName: 'tabler:brand-discord-filled',
|
|
title: 'Discord Server',
|
|
description:
|
|
'Diskusikan langsung dengan sesama programmer dan dapatkan bantuan langsung dari para ahli.',
|
|
buttonText: 'Join Server',
|
|
buttonLink: 'https://discord.com/invite/imphnen',
|
|
},
|
|
],
|
|
fields: [
|
|
{
|
|
name: 'iconName',
|
|
type: 'text',
|
|
required: true,
|
|
},
|
|
{ name: 'title', type: 'text', required: true },
|
|
{ name: 'description', type: 'textarea', required: true },
|
|
{ name: 'buttonText', type: 'text', required: true },
|
|
{ name: 'buttonLink', type: 'text', required: true },
|
|
],
|
|
},
|
|
{
|
|
name: 'stats',
|
|
type: 'array',
|
|
required: true,
|
|
defaultValue: [
|
|
{ value: '100K+', label: 'Member Aktif' },
|
|
{ value: '50+', label: 'Event Bulanan' },
|
|
{ value: '100+', label: 'Mentor Profesional' },
|
|
{ value: '5K+', label: 'Diskusi Mingguan' },
|
|
],
|
|
fields: [
|
|
{ name: 'value', type: 'text', required: true },
|
|
{ name: 'label', type: 'text', required: true },
|
|
],
|
|
},
|
|
],
|
|
};
|