* 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>
118 lines
3.3 KiB
TypeScript
118 lines
3.3 KiB
TypeScript
// payload config
|
|
import { GlobalConfig } from 'payload';
|
|
|
|
export const LearningResourcesSection: GlobalConfig = {
|
|
slug: 'learning-resources-section',
|
|
label: 'Learning Resources Section',
|
|
fields: [
|
|
{
|
|
name: 'title',
|
|
type: 'text',
|
|
required: true,
|
|
defaultValue: 'Sumber Belajar',
|
|
},
|
|
{
|
|
name: 'description',
|
|
type: 'textarea',
|
|
required: true,
|
|
defaultValue:
|
|
'Akses berbagai materi belajar yang akan membantu kamu menguasai konsep programming dengan cara yang menyenangkan.',
|
|
},
|
|
{
|
|
name: 'resources',
|
|
type: 'array',
|
|
required: true,
|
|
fields: [
|
|
{ name: 'icon', 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 },
|
|
],
|
|
defaultValue: [
|
|
{
|
|
icon: 'tabler:video',
|
|
title: 'Video Tutorial',
|
|
description:
|
|
'Belajar melalui tutorial video dari langkah awal hingga mahir.',
|
|
buttonText: 'Lihat Semua Video',
|
|
buttonLink: '#',
|
|
},
|
|
{
|
|
icon: 'tabler:article',
|
|
title: 'Artikel & Tutorial',
|
|
description:
|
|
'Pelajari konsep programming melalui artikel yang disusun secara terstruktur.',
|
|
buttonText: 'Baca Artikel',
|
|
buttonLink: '#',
|
|
},
|
|
{
|
|
icon: 'tabler:brand-vscode',
|
|
title: 'Tantangan Koding',
|
|
description:
|
|
'Uji kemampuan koding kamu dengan tantangan yang menyenangkan dan menantang.',
|
|
buttonText: 'Mulai Tantangan',
|
|
buttonLink: '#',
|
|
},
|
|
{
|
|
icon: 'tabler:device-desktop-share',
|
|
title: 'Sharing Session',
|
|
description:
|
|
'Ikuti sesi berbagi pengalaman dari programmer berpengalaman dan belajar dari pengalaman mereka.',
|
|
buttonText: 'Jadwal Session',
|
|
buttonLink: '#',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
name: 'featured',
|
|
type: 'group',
|
|
fields: [
|
|
{
|
|
name: 'label',
|
|
type: 'text',
|
|
required: true,
|
|
defaultValue: 'Rekomendasi Terbaik',
|
|
},
|
|
{
|
|
name: 'title',
|
|
type: 'text',
|
|
required: true,
|
|
defaultValue: 'Kursus Lengkap Web Development',
|
|
},
|
|
{
|
|
name: 'description',
|
|
type: 'textarea',
|
|
required: true,
|
|
defaultValue:
|
|
'Pelajari HTML, CSS, JavaScript, React, dan Node.js dalam satu kursus komprehensif yang dirancang untuk pemula hingga tingkat menengah.',
|
|
},
|
|
{
|
|
name: 'primaryButtonText',
|
|
type: 'text',
|
|
required: true,
|
|
defaultValue: 'Mulai Kursus',
|
|
},
|
|
{
|
|
name: 'primaryButtonLink',
|
|
type: 'text',
|
|
required: true,
|
|
defaultValue: '#',
|
|
},
|
|
{
|
|
name: 'secondaryButtonText',
|
|
type: 'text',
|
|
required: true,
|
|
defaultValue: 'Lihat Silabus',
|
|
},
|
|
{
|
|
name: 'secondaryButtonLink',
|
|
type: 'text',
|
|
required: true,
|
|
defaultValue: '#',
|
|
},
|
|
],
|
|
},
|
|
],
|
|
};
|