feat: make content data dynamic from cms and fix button and badge ui (#27)
* 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>
This commit is contained in:
co-authored by
Fahim Ardani
Maulana Sodiqin
parent
246adb57a1
commit
598bd22b5a
@@ -0,0 +1,93 @@
|
||||
import { GlobalConfig } from 'payload';
|
||||
|
||||
export const TestimonialsSection: GlobalConfig = {
|
||||
slug: 'testimonials-section',
|
||||
label: 'Testimonials Section',
|
||||
fields: [
|
||||
{
|
||||
name: 'title',
|
||||
label: 'Section Title',
|
||||
type: 'text',
|
||||
defaultValue: 'Testimoni Member',
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
name: 'subtitle',
|
||||
label: 'Section Subtitle',
|
||||
type: 'textarea',
|
||||
defaultValue:
|
||||
'Apa kata mereka yang telah bergabung dengan komunitas IMPHNEN?',
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
name: 'items',
|
||||
label: 'Testimonials Items',
|
||||
type: 'array',
|
||||
fields: [
|
||||
{ name: 'quote', type: 'textarea', label: 'Quote', required: true },
|
||||
{ name: 'name', type: 'text', label: 'Name', required: true },
|
||||
{ name: 'role', type: 'text', label: 'Role', required: true },
|
||||
{
|
||||
name: 'avatar',
|
||||
type: 'upload',
|
||||
label: 'Avatar',
|
||||
relationTo: 'media',
|
||||
required: true,
|
||||
},
|
||||
],
|
||||
defaultValue: [
|
||||
{
|
||||
quote:
|
||||
'Saya yang tadinya tidak mengerti apa-apa tentang programming, sekarang bisa membuat website sendiri dengan mudah. Terima kasih IMPHNEN!',
|
||||
name: 'Budi Santoso',
|
||||
role: 'Web Developer Pemula',
|
||||
avatar: { id: '', relationTo: 'media' },
|
||||
},
|
||||
{
|
||||
quote:
|
||||
'Komunitas yang sangat supportif! Setiap pertanyaan selalu dijawab dengan cepat dan jelas. Diskusi programnya mudah dipahami.',
|
||||
name: 'Anita Ratna',
|
||||
role: 'Mobile App Developer',
|
||||
avatar: { id: '', relationTo: 'media' },
|
||||
},
|
||||
{
|
||||
quote:
|
||||
'Server Discord IMPHNEN adalah tempat belajar terbaik untuk programmer pemula seperti saya. Materinya lengkap dan komunitasnya sangat membantu!',
|
||||
name: 'Dedi Permana',
|
||||
role: 'Data Scientist',
|
||||
avatar: { id: '', relationTo: 'media' },
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: 'stats',
|
||||
label: 'Statistics',
|
||||
type: 'array',
|
||||
fields: [
|
||||
{ name: 'value', type: 'text', label: 'Value', required: true },
|
||||
{ name: 'label', type: 'text', label: 'Label', required: true },
|
||||
],
|
||||
defaultValue: [
|
||||
{ value: '98%', label: 'Tingkat Kemalasan' },
|
||||
{ value: '4.9/5', label: 'Rating Drama' },
|
||||
{ value: '85%', label: 'Mendapat Pekerjaan' },
|
||||
{ value: '24/7', label: 'Yapping' },
|
||||
],
|
||||
},
|
||||
{
|
||||
name: 'joinTitle',
|
||||
label: 'Join Section Title',
|
||||
type: 'text',
|
||||
defaultValue: 'Bergabunglah dengan 10,000+ programmer Indonesia lainnya',
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
name: 'joinText',
|
||||
label: 'Join Section Text',
|
||||
type: 'textarea',
|
||||
defaultValue:
|
||||
'Komunitas kami terus berkembang dengan programmer dari berbagai latar belakang dan tingkat keahlian. Bersama-sama, kita belajar, berbagi, dan tumbuh sebagai profesional.',
|
||||
required: true,
|
||||
},
|
||||
],
|
||||
};
|
||||
Reference in New Issue
Block a user