feat: integrate landing page with real API and add CMS to backoffice
Landing page: - Events page now fetches from /v1/landing/cms/events (was hardcoded JSON) - Testimonials section and page fetch from /v1/landing/cms/testimonials - Removed dummy data, uses ISR with 60s revalidation - Replaced thumbnail images with text-based cards (API has no thumbnails) - Avatar initials for testimonials instead of placeholder images Backoffice CMS: - Added Events management page (/cms-events) with full CRUD - Added Testimonials management page (/cms-testimonials) with full CRUD - Both follow existing backoffice patterns (DataTable, modals, search, pagination) - Added CMS section to sidebar navigation Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.6
parent
414e4d19b8
commit
2cba806cd5
@@ -2,10 +2,12 @@ import {
|
||||
AppstoreOutlined,
|
||||
AuditOutlined,
|
||||
BookOutlined,
|
||||
CalendarOutlined,
|
||||
CommentOutlined,
|
||||
DownOutlined,
|
||||
InboxOutlined,
|
||||
LogoutOutlined,
|
||||
MessageOutlined,
|
||||
ReadOutlined,
|
||||
ReloadOutlined,
|
||||
RightOutlined,
|
||||
@@ -118,6 +120,22 @@ const MENUS: MenuItem[] = [
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: 'CMS',
|
||||
icon: <BookOutlined className="text-[20px]" />,
|
||||
children: [
|
||||
{
|
||||
label: 'Events',
|
||||
href: '/cms-events',
|
||||
icon: <CalendarOutlined className="text-[20px]" />,
|
||||
},
|
||||
{
|
||||
label: 'Testimonials',
|
||||
href: '/cms-testimonials',
|
||||
icon: <MessageOutlined className="text-[20px]" />,
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: 'Permissions',
|
||||
href: '/permissions',
|
||||
|
||||
Reference in New Issue
Block a user