Fixes save menu issues
This commit is contained in:
		@@ -1,28 +1,33 @@
 | 
				
			|||||||
info:
 | 
					info:
 | 
				
			||||||
  title: null
 | 
					  title:
 | 
				
			||||||
  subtitle: null
 | 
					  subtitle:
 | 
				
			||||||
  description: null
 | 
					  description:
 | 
				
			||||||
  canonical: null
 | 
					  canonical:
 | 
				
			||||||
  keywords: null
 | 
					  keywords:
 | 
				
			||||||
  author: null
 | 
					  author:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
social:
 | 
					social:
 | 
				
			||||||
  instagram_url: null
 | 
					  instagram_url:
 | 
				
			||||||
  thumbnail: ''
 | 
					  thumbnail: ''
 | 
				
			||||||
 | 
					
 | 
				
			||||||
menu:
 | 
					menu:
 | 
				
			||||||
  items:
 | 
					  items:
 | 
				
			||||||
  - label: Home
 | 
					  - label: Home
 | 
				
			||||||
    href: /
 | 
					    href: /
 | 
				
			||||||
 | 
					
 | 
				
			||||||
footer:
 | 
					footer:
 | 
				
			||||||
  copyright: Copyright © 2025
 | 
					  copyright: Copyright © 2025
 | 
				
			||||||
  legal_link: /legals/
 | 
					  legal_link: /legals/
 | 
				
			||||||
  legal_label: Legal notice
 | 
					  legal_label: Legal notice
 | 
				
			||||||
 | 
					
 | 
				
			||||||
build:
 | 
					build:
 | 
				
			||||||
  theme: modern
 | 
					  theme: modern
 | 
				
			||||||
  convert_images: true
 | 
					  convert_images: true
 | 
				
			||||||
  resize_images: true
 | 
					  resize_images: true
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
legals:
 | 
					legals:
 | 
				
			||||||
  hoster_name: null
 | 
					  hoster_name:
 | 
				
			||||||
  hoster_address: null
 | 
					  hoster_address:
 | 
				
			||||||
  hoster_contact: null
 | 
					  hoster_contact:
 | 
				
			||||||
  intellectual_property:
 | 
					  intellectual_property:
 | 
				
			||||||
  - paragraph: ''
 | 
					  - paragraph: ''
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -35,16 +35,13 @@ img, tag {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#footer {
 | 
					#footer {
 | 
				
			||||||
    box-shadow: 0px 20px 100px -44px rgba(0, 0, 0, 0.5);
 | 
					    box-shadow: 0px 20px 100px -44px rgba(0, 0, 0, 0.5);
 | 
				
			||||||
    margin: auto;
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@media (max-width: 768px) {
 | 
					@media (max-width: 768px) {
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    #footer {
 | 
					    #footer {
 | 
				
			||||||
        box-shadow: 0px 20px 100px -44px rgba(0, 0, 0, 0.5);
 | 
					        box-shadow: 0px 20px 100px -44px rgba(0, 0, 0, 0.5);
 | 
				
			||||||
        border-radius: 15px 15px 0 0;
 | 
					 | 
				
			||||||
        max-width: 1140px;
 | 
					        max-width: 1140px;
 | 
				
			||||||
        margin: 0;
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    .tag {
 | 
					    .tag {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,8 +6,10 @@ colors:
 | 
				
			|||||||
  text_dark: '#616161'
 | 
					  text_dark: '#616161'
 | 
				
			||||||
  background: '#FFFFFF'
 | 
					  background: '#FFFFFF'
 | 
				
			||||||
  browser_color: '#FFFFFF'
 | 
					  browser_color: '#FFFFFF'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
favicon:
 | 
					favicon:
 | 
				
			||||||
  path: favicon.png
 | 
					  path: favicon.png
 | 
				
			||||||
 | 
					
 | 
				
			||||||
fonts:
 | 
					fonts:
 | 
				
			||||||
  primary:
 | 
					  primary:
 | 
				
			||||||
    fallback: sans-serif
 | 
					    fallback: sans-serif
 | 
				
			||||||
@@ -15,8 +17,9 @@ fonts:
 | 
				
			|||||||
  secondary:
 | 
					  secondary:
 | 
				
			||||||
    fallback: serif
 | 
					    fallback: serif
 | 
				
			||||||
    name: Montserrat
 | 
					    name: Montserrat
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
google_fonts:
 | 
					google_fonts:
 | 
				
			||||||
- family: ''
 | 
					- family: 'Lato'
 | 
				
			||||||
  weights:
 | 
					  weights:
 | 
				
			||||||
  - '200'
 | 
					  - '200'
 | 
				
			||||||
  - '400'
 | 
					  - '400'
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,8 +6,10 @@ colors:
 | 
				
			|||||||
  primary_dark: '#005384'
 | 
					  primary_dark: '#005384'
 | 
				
			||||||
  secondary: '#00B0F0'
 | 
					  secondary: '#00B0F0'
 | 
				
			||||||
  text_dark: '#616161'
 | 
					  text_dark: '#616161'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
favicon:
 | 
					favicon:
 | 
				
			||||||
  path: favicon.png
 | 
					  path: favicon.png
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
fonts:
 | 
					fonts:
 | 
				
			||||||
  primary:
 | 
					  primary:
 | 
				
			||||||
    name: trixie.woff
 | 
					    name: trixie.woff
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,8 +6,10 @@ colors:
 | 
				
			|||||||
  text_dark: '#616161'
 | 
					  text_dark: '#616161'
 | 
				
			||||||
  background: '#FFFFFF'
 | 
					  background: '#FFFFFF'
 | 
				
			||||||
  browser_color: '#FFFFFF'
 | 
					  browser_color: '#FFFFFF'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
favicon:
 | 
					favicon:
 | 
				
			||||||
  path: favicon.png
 | 
					  path: favicon.png
 | 
				
			||||||
 | 
					
 | 
				
			||||||
fonts:
 | 
					fonts:
 | 
				
			||||||
  primary:
 | 
					  primary:
 | 
				
			||||||
    fallback: sans-serif
 | 
					    fallback: sans-serif
 | 
				
			||||||
@@ -15,6 +17,7 @@ fonts:
 | 
				
			|||||||
  secondary:
 | 
					  secondary:
 | 
				
			||||||
    fallback: serif
 | 
					    fallback: serif
 | 
				
			||||||
    name: Montserrat
 | 
					    name: Montserrat
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
google_fonts:
 | 
					google_fonts:
 | 
				
			||||||
- family: ''
 | 
					- family: ''
 | 
				
			||||||
  weights:
 | 
					  weights:
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,8 +6,10 @@ colors:
 | 
				
			|||||||
  primary_dark: '#005384'
 | 
					  primary_dark: '#005384'
 | 
				
			||||||
  secondary: '#00B0F0'
 | 
					  secondary: '#00B0F0'
 | 
				
			||||||
  text_dark: '#616161'
 | 
					  text_dark: '#616161'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
favicon:
 | 
					favicon:
 | 
				
			||||||
  path: favicon.png
 | 
					  path: favicon.png
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
fonts:
 | 
					fonts:
 | 
				
			||||||
  primary:
 | 
					  primary:
 | 
				
			||||||
    name: trixie.woff
 | 
					    name: trixie.woff
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -78,6 +78,8 @@ html,body {
 | 
				
			|||||||
	font-weight: 400;
 | 
						font-weight: 400;
 | 
				
			||||||
	line-height:1.5;
 | 
						line-height:1.5;
 | 
				
			||||||
	color:var(--color-primary-dark);
 | 
						color:var(--color-primary-dark);
 | 
				
			||||||
 | 
						display: flex;
 | 
				
			||||||
 | 
						flex-direction: column;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
html {
 | 
					html {
 | 
				
			||||||
@@ -237,12 +239,23 @@ h2 {
 | 
				
			|||||||
/* Hero */
 | 
					/* Hero */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#hero {
 | 
					#hero {
 | 
				
			||||||
	height: 100%;
 | 
					  min-height: 100vh;
 | 
				
			||||||
	width: 100%;
 | 
					  flex: 1 0 auto;
 | 
				
			||||||
 | 
					  display: flex;
 | 
				
			||||||
 | 
					  flex-direction: column;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#hero .section {
 | 
				
			||||||
 | 
					  height: 100%;
 | 
				
			||||||
 | 
					  display: flex;
 | 
				
			||||||
 | 
					  flex-direction: column;
 | 
				
			||||||
 | 
					  width: 100%;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#hero .content-wrapper, #hero .section {
 | 
					#hero .content-wrapper, #hero .section {
 | 
				
			||||||
	height:100%;
 | 
						height:100%;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.hero-background {
 | 
					.hero-background {
 | 
				
			||||||
	height: 66%;
 | 
						height: 66%;
 | 
				
			||||||
	width: 100%;
 | 
						width: 100%;
 | 
				
			||||||
@@ -303,7 +316,6 @@ h2 {
 | 
				
			|||||||
    font-size: 22px;
 | 
					    font-size: 22px;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
.gallery {
 | 
					.gallery {
 | 
				
			||||||
		padding-top: 15px;
 | 
							padding-top: 15px;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@@ -341,6 +353,11 @@ h2 {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
/* Footer */
 | 
					/* Footer */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#footer {
 | 
				
			||||||
 | 
						margin: auto 0 0 0;
 | 
				
			||||||
 | 
						width: 100%;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.navigation {
 | 
					.navigation {
 | 
				
			||||||
	text-align: center;
 | 
						text-align: center;
 | 
				
			||||||
	padding-top: 40px;
 | 
						padding-top: 40px;
 | 
				
			||||||
@@ -470,8 +487,7 @@ h2 {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	#legals.content-wrapper {
 | 
						#legals.content-wrapper {
 | 
				
			||||||
		max-width: 90%;
 | 
							max-width: 90%;
 | 
				
			||||||
		margin: auto;
 | 
							margin: 50px auto;
 | 
				
			||||||
		margin-top: 50px;
 | 
					 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	.legals-content {
 | 
						.legals-content {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -463,6 +463,12 @@ document.addEventListener("DOMContentLoaded", () => {
 | 
				
			|||||||
  function isSectionSaved(section) {
 | 
					  function isSectionSaved(section) {
 | 
				
			||||||
    const values = getSectionValues(section);
 | 
					    const values = getSectionValues(section);
 | 
				
			||||||
    const config = loadedConfig[section] || {};
 | 
					    const config = loadedConfig[section] || {};
 | 
				
			||||||
 | 
					    function normalizeMenuItems(items) {
 | 
				
			||||||
 | 
					      return (items || []).map(item => ({
 | 
				
			||||||
 | 
					        label: item.label || "",
 | 
				
			||||||
 | 
					        href: item.href || ""
 | 
				
			||||||
 | 
					      }));
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
    switch (section) {
 | 
					    switch (section) {
 | 
				
			||||||
      case "info":
 | 
					      case "info":
 | 
				
			||||||
        return Object.keys(values).every(
 | 
					        return Object.keys(values).every(
 | 
				
			||||||
@@ -477,8 +483,8 @@ document.addEventListener("DOMContentLoaded", () => {
 | 
				
			|||||||
          values.instagram_url === (config.instagram_url || "") &&
 | 
					          values.instagram_url === (config.instagram_url || "") &&
 | 
				
			||||||
          values.thumbnail === (config.thumbnail || "");
 | 
					          values.thumbnail === (config.thumbnail || "");
 | 
				
			||||||
      case "menu":
 | 
					      case "menu":
 | 
				
			||||||
        return JSON.stringify(values.items) === JSON.stringify(config.items || []);
 | 
					        return JSON.stringify(normalizeMenuItems(values.items)) === JSON.stringify(normalizeMenuItems(config.items));
 | 
				
			||||||
      case "footer":
 | 
					            case "footer":
 | 
				
			||||||
        return values.copyright && values.legal_label &&
 | 
					        return values.copyright && values.legal_label &&
 | 
				
			||||||
          values.copyright === (config.copyright || "") &&
 | 
					          values.copyright === (config.copyright || "") &&
 | 
				
			||||||
          values.legal_label === (config.legal_label || "");
 | 
					          values.legal_label === (config.legal_label || "");
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user