Files
MyClub/frontend/src/data/defaultElements.ts
T
Tomas Dvorak 823fabee02 de day #74
2025-10-28 22:38:27 +01:00

157 lines
3.4 KiB
TypeScript

// Default element configuration for homepage
// This provides the initial intended order and elements
import { PageElementConfig } from '../services/pageElements';
// Elements that are actually implemented on HomePage
// Only these should be available in the editor
export const HOMEPAGE_IMPLEMENTED_ELEMENTS = [
'style-pack', // Global style pack selector
'header', // Site navigation/header
'hero-topbar', // Club bar above hero
'hero', // Hero section with news cards (grid/scroller/swiper variants)
'news', // Featured news articles
'matches', // Upcoming/recent matches
'matches-slider', // Matches slider by competition
'table', // League standings table
'team', // Players scroller
'gallery', // Photo gallery albums from Zonerama
'videos', // Videos section
'merch', // Merchandise/fanshop
'newsletter',// Newsletter subscription
'poll', // Polls / voting widget
'sponsors', // Sponsors/partners
'banner', // Advertisement banners (various placements)
];
export const DEFAULT_HOMEPAGE_ELEMENTS: PageElementConfig[] = [
{
page_type: 'homepage',
element_name: 'style-pack',
variant: 'default',
visible: true,
display_order: -1,
settings: {},
},
{
page_type: 'homepage',
element_name: 'header',
variant: 'unified',
visible: true,
display_order: 0,
settings: {},
},
{
page_type: 'homepage',
element_name: 'hero-topbar',
variant: 'brand',
visible: true,
display_order: 1,
settings: {},
},
{
page_type: 'homepage',
element_name: 'hero',
variant: 'grid',
visible: true,
display_order: 1,
settings: {},
},
{
page_type: 'homepage',
element_name: 'news',
variant: 'grid',
visible: true,
display_order: 11,
settings: {},
},
{
page_type: 'homepage',
element_name: 'matches',
variant: 'compact',
visible: true,
display_order: 2,
settings: {},
},
{
page_type: 'homepage',
element_name: 'matches-slider',
variant: 'carousel',
visible: true,
display_order: 4,
settings: {},
},
{
page_type: 'homepage',
element_name: 'sponsors',
variant: 'grid',
visible: true,
display_order: 9,
settings: {},
},
{
page_type: 'homepage',
element_name: 'gallery',
variant: 'grid',
visible: false,
display_order: 5,
settings: {},
},
{
page_type: 'homepage',
element_name: 'videos',
variant: 'grid',
visible: false,
display_order: 7,
settings: {},
},
{
page_type: 'homepage',
element_name: 'team',
variant: 'grid',
visible: false,
display_order: 6,
settings: {},
},
{
page_type: 'homepage',
element_name: 'merch',
variant: 'grid',
visible: true,
display_order: 8,
settings: {},
},
{
page_type: 'homepage',
element_name: 'table',
variant: 'split_news',
visible: true,
display_order: 3,
settings: {},
},
{
page_type: 'homepage',
element_name: 'banner',
variant: 'top',
visible: false,
display_order: 10,
settings: {},
},
{
page_type: 'homepage',
element_name: 'newsletter',
variant: 'default',
visible: false,
display_order: 4,
settings: {},
},
{
page_type: 'homepage',
element_name: 'poll',
variant: 'vertical',
visible: false,
display_order: 12,
settings: {},
},
];