diff --git a/app/Helpers/PageSettingsHelper.php b/app/Helpers/PageSettingsHelper.php new file mode 100644 index 0000000..969d5e7 --- /dev/null +++ b/app/Helpers/PageSettingsHelper.php @@ -0,0 +1,16 @@ + function () { + return PageSettingsHelper::pageSettings(); + }, + 'siteName' => function () { + return config('app.name'); + }, + ]); } } diff --git a/config/standard-pagesettings.php b/config/standard-pagesettings.php new file mode 100644 index 0000000..9750d9d --- /dev/null +++ b/config/standard-pagesettings.php @@ -0,0 +1,353 @@ + [ + 'site_name' => 'Østfold Milsim', + 'site_description' => 'Østfold Milsim er en airsoftklubb som holder til i Østfold. Vi har medlemmer fra hele Østfold, og har som mål å være en klubb for alle som er interessert i airsoft.', + 'site_keywords' => 'airsoft, milsim, østfold, norge, norway, airsoftklubb, airsoftklubb østfold, airsoftklubb norge, airsoftklubb norway, airsoftklubb østfold milsim, airsoftklubb norge milsim, airsoftklubb norway milsim, airsoftklubb østfold milsim norge, airsoftklubb norge milsim østfold, airsoftklubb norway milsim østfold, airsoftklubb østfold milsim norway, airsoftklubb norge milsim norway, airsoftklubb norway milsim østfold', + + 'webmaster' => 'Webmasters Navn', + 'webmaster_email' => 'ikke@ikke.no', + 'webmaster_phone' => '12345678', + 'kasserer' => 'Vet Ikke', + 'kasserer_email' => 'vet.ikke@ikke.no', + 'kasserer_phone' => '12345678', + 'postadresse' => 'Østfold Milsim, Postboks 123, 1234 Oslo', + 'besoksadresse' => 'Østfold Milsim, Østfoldveien 123, 1234 Oslo', + 'orgnr' => '123456789', + 'bankkontonr' => '1234.56.78901', + 'banknavn' => 'Østfold Milsim Bank', + + 'facebook' => 'https://www.facebook.com/ostfoldmilsim', + 'instagram' => 'https://www.instagram.com/ostfoldmilsim', + 'twitter' => 'https://www.twitter.com/ostfoldmilsim', + 'youtube' => 'https://www.youtube.com/ostfoldmilsim', + 'twitch' => 'https://www.twitch.tv/ostfoldmilsim', + 'discord' => 'https://www.discord.gg/ostfoldmilsim', + + 'membership_fee' => '500', + 'membership_time_interval_months' => '12', + 'membership_fee_description' => 'Årlig medlemskontigent', + 'membership_fee_description_long' => 'Årlig medlemskontigent for medlemskap i Østfold Milsim', + 'membership_child_age_limit' => '18', + 'membership_child_fee' => '250', + 'membership_age_limit' => '16', + 'membership_annual' => true, + 'renew_alert' => '4', + 'sales_terms' => '# Salgsbetingelser for Klubben', + 'use_terms' => '# Bruksvilkår for Klubben', + 'privacy_policy' => '# Personvernerklæring for Klubben', + 'comment_rules' => '# Regler for kommentering', + 'enable_vat' => false, + + 'module_vipps_payment' => false, + 'module_stripe_payment' => false, + 'module_registrationcodes' => false, + 'module_required_full_profile' => false, + 'module_mobile_app_scan_notification' => false, + 'mobile_app_scan_notification_message' => '', + 'mobile_app_scan_notification_threshold' => 1, + + 'mobile_app_welcome_text' => '', + 'mobile_app_background_color' => '#003e71', + 'mobile_app_text_color' => '#ffffff', + 'mobile_app_header_color' => '#40c4ff', + 'mobile_app_appbar_background_color' => '#0085f2', + 'mobile_app_appbar_text_color' => '#ffffff', + 'mobile_app_navigation_background_color' => '#ffffff', + 'mobile_app_navigation_icon_color' => '#9E9E9E', + 'mobile_app_navigation_active_icon_color' => '#0085f2', + 'mobile_app_input_color' => '#ffffff', + 'mobile_app_input_accent_color' => '#40c4ff', + 'mobile_app_logo' => 0, + + 'membership_levels' => [], + ], + + 'department_defaults' => [ + 'membership_fee' => '500', + 'membership_child_fee' => '250', + 'membership_time_interval_months' => '12', + 'membership_fee_description' => 'Årlig medlemskontigent', + 'membership_fee_description_long' => 'Årlig medlemskontigent for medlemskap i Østfold Milsim', + ], + + 'department_defaults_fieldTypes' => [ + 'membership_fee' => 'number', + 'membership_time_interval_months' => 'number', + 'membership_fee_description' => 'text', + 'membership_fee_description_long' => 'textarea', + ], + + 'department_defaults_validation' => [ + 'deptId' => [ + 'required', + 'integer', + 'exists:departments,id', + ], + 'membership_fee' => [ + 'required', + 'numeric', + 'digits_between:1,6', + ], + 'membership_child_fee' => [ + 'required', + 'numeric', + 'digits_between:1,6', + ], + 'membership_time_interval_months' => [ + 'required', + 'numeric', + 'digits_between:1,2', + ], + 'membership_fee_description' => [ + 'required', + 'string', + 'max:255', + ], + 'membership_fee_description_long' => [ + 'required', + 'string', + ], + ], + + 'validation' => [ + 'site_name' => [ + 'required', + 'string', + 'max:255', + ], + 'site_description' => [ + 'required', + 'string', + ], + 'site_keywords' => [ + 'required', + 'string', + ], + 'webmaster' => [ + 'required', + 'string', + 'max:255', + ], + 'webmaster_email' => [ + 'required', + 'string', + 'email', + 'max:255', + ], + 'webmaster_phone' => [ + 'required', + 'numeric', + 'digits:8', + ], + 'kasserer' => [ + 'required', + 'string', + 'max:255', + ], + 'kasserer_email' => [ + 'required', + 'string', + 'email', + 'max:255', + ], + 'kasserer_phone' => [ + 'required', + 'numeric', + 'digits:8', + ], + 'postadresse' => [ + 'required', + 'string', + 'max:255', + ], + 'besoksadresse' => [ + 'required', + 'string', + 'max:255', + ], + 'orgnr' => [ + 'required', + 'numeric', + 'digits:9', + ], + 'bankkontonr' => [ + 'required', + 'string', + 'max:13', + ], + 'banknavn' => [ + 'nullable', + 'string', + 'max:255', + ], + 'facebook' => [ + 'nullable', + 'string', + 'max:255', + ], + 'instagram' => [ + 'nullable', + 'string', + 'max:255', + ], + 'twitter' => [ + 'nullable', + 'string', + 'max:255', + ], + 'youtube' => [ + 'nullable', + 'string', + 'max:255', + ], + 'twitch' => [ + 'nullable', + 'string', + 'max:255', + ], + 'discord' => [ + 'nullable', + 'string', + 'max:255', + ], + 'membership_fee' => [ + 'required', + 'numeric', + 'digits_between:1,6', + ], + 'membership_time_interval_months' => [ + 'required', + 'numeric', + 'digits_between:1,2', + ], + 'membership_fee_description' => [ + 'required', + 'string', + 'max:255', + ], + 'membership_fee_description_long' => [ + 'required', + 'string', + ], + 'membership_child_age_limit' => [ + 'required', + 'numeric', + 'digits_between:1,2', + ], + 'membership_child_fee' => [ + 'required', + 'numeric', + 'digits_between:1,6', + ], + 'membership_age_limit' => [ + 'required', + 'numeric', + 'digits_between:1,2', + ], + 'membership_annual' => [ + 'nullable', + 'boolean', + ], + 'renew_alert' => [ + 'required', + 'numeric', + 'digits_between:1,12', + ], + 'sales_terms' => [ + 'required', + 'string', + ], + 'use_terms' => [ + 'required', + 'string', + ], + 'privacy_policy' => [ + 'required', + 'string', + ], + 'mobile_app_background_color' => [ + 'required', + 'string', + 'regex:/^#([a-f0-9]{3}){1,2}$/i', + ], + 'mobile_app_text_color' => [ + 'required', + 'string', + 'regex:/^#([a-f0-9]{3}){1,2}$/i', + ], + 'mobile_app_header_color' => [ + 'required', + 'string', + 'regex:/^#([a-f0-9]{3}){1,2}$/i', + ], + 'mobile_app_logo' => [ + 'nullable', + 'integer', + 'exists:image_nodes,id', + ], + 'mobile_app_appbar_background_color' => [ + 'required', + 'string', + 'regex:/^#([a-f0-9]{3}){1,2}$/i', + ], + 'mobile_app_appbar_text_color' => [ + 'required', + 'string', + 'regex:/^#([a-f0-9]{3}){1,2}$/i', + ], + 'mobile_app_navigation_background_color' => [ + 'required', + 'string', + 'regex:/^#([a-f0-9]{3}){1,2}$/i', + ], + 'mobile_app_navigation_icon_color' => [ + 'required', + 'string', + 'regex:/^#([a-f0-9]{3}){1,2}$/i', + ], + 'mobile_app_navigation_active_icon_color' => [ + 'required', + 'string', + 'regex:/^#([a-f0-9]{3}){1,2}$/i', + ], + 'mobile_app_input_color' => [ + 'required', + 'string', + 'regex:/^#([a-f0-9]{3}){1,2}$/i', + ], + 'mobile_app_input_accent_color' => [ + 'required', + 'string', + 'regex:/^#([a-f0-9]{3}){1,2}$/i', + ], + + 'membership_levels' => [ + 'array' + ], + + 'mobile_app_scan_notification_message' => [ + 'required_if:module_mobile_app_scan_notification,true', + 'max:255' + ], + + 'mobile_app_scan_notification_threshold' => [ + 'required_if:module_mobile_app_scan_notification,true', + 'between:1,99' + ] + ] +]; \ No newline at end of file diff --git a/resources/js/components/AppHeader.vue b/resources/js/components/AppHeader.vue index 2aa05d1..7f2d326 100644 --- a/resources/js/components/AppHeader.vue +++ b/resources/js/components/AppHeader.vue @@ -108,7 +108,7 @@ const rightNavItems: NavItem[] = [ - + diff --git a/resources/js/components/AppSidebar.vue b/resources/js/components/AppSidebar.vue index 9844272..9b686a6 100644 --- a/resources/js/components/AppSidebar.vue +++ b/resources/js/components/AppSidebar.vue @@ -36,7 +36,7 @@ const footerNavItems: NavItem[] = [ - + diff --git a/resources/js/components/Blocks/Statics/FrontPageMembershipInfo.vue b/resources/js/components/Blocks/Statics/FrontPageMembershipInfo.vue index 769b99b..ca040c1 100644 --- a/resources/js/components/Blocks/Statics/FrontPageMembershipInfo.vue +++ b/resources/js/components/Blocks/Statics/FrontPageMembershipInfo.vue @@ -31,7 +31,7 @@ varer i {{ page.props.pageSettings['membership_time_interval_months'] }} måneder eller ut kalenderåret før det må fornyes. Betalinger kan gjøres på nettsiden via vipps eller bankkort ved å besøke - + din medlemsside . diff --git a/resources/js/components/Blocks/Statics/FrontPageMembershipInfoRendered.vue b/resources/js/components/Blocks/Statics/FrontPageMembershipInfoRendered.vue index 59929e2..f5e6ab9 100644 --- a/resources/js/components/Blocks/Statics/FrontPageMembershipInfoRendered.vue +++ b/resources/js/components/Blocks/Statics/FrontPageMembershipInfoRendered.vue @@ -74,7 +74,7 @@ varer i {{ page.props.pageSettings['membership_time_interval_months'] }} måneder eller ut kalenderåret før det må fornyes. Betalinger kan gjøres på nettsiden via vipps eller bankkort ved å besøke - + din medlemsside . diff --git a/resources/js/components/FrontPage/FooterSection.vue b/resources/js/components/FrontPage/FooterSection.vue index 7f0e991..814c0a9 100644 --- a/resources/js/components/FrontPage/FooterSection.vue +++ b/resources/js/components/FrontPage/FooterSection.vue @@ -91,7 +91,7 @@

medlemsider

  • - Din medlemside + Din medlemside
  • Din brukerprofil diff --git a/resources/js/pages/Backend/PageBuilder/Preview.vue b/resources/js/pages/Backend/PageBuilder/Preview.vue index 509e7c0..925b96f 100644 --- a/resources/js/pages/Backend/PageBuilder/Preview.vue +++ b/resources/js/pages/Backend/PageBuilder/Preview.vue @@ -238,7 +238,7 @@ }); } else if (payload === 'medlemside' && useEventBus.value) { clickMenuButton(); - loadLink(route('dashboard')); + loadLink(route('page-builder.index')); } else if (payload === 'loggpaa' && useEventBus.value) { clickMenuButton(); loadLink(route('login')); diff --git a/resources/js/pages/Root.vue b/resources/js/pages/Root.vue index 541c497..fc526af 100644 --- a/resources/js/pages/Root.vue +++ b/resources/js/pages/Root.vue @@ -238,7 +238,7 @@ }); } else if (payload === 'medlemside' && useEventBus.value) { clickMenuButton(); - loadLink(route('dashboard')); + loadLink(route('page-builder.index')); } else if (payload === 'loggpaa' && useEventBus.value) { clickMenuButton(); loadLink(route('login'));