2.0 - WebUI builder ("Cielight" merge) #9
							
								
								
									
										
											BIN
										
									
								
								config/photos/thumbnail.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								config/photos/thumbnail.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 920 KiB  | 
@@ -45,69 +45,105 @@
 | 
				
			|||||||
    <form id="site-info-form">
 | 
					    <form id="site-info-form">
 | 
				
			||||||
      <fieldset>
 | 
					      <fieldset>
 | 
				
			||||||
        <legend>Info</legend>
 | 
					        <legend>Info</legend>
 | 
				
			||||||
        <label>Title: <input type="text" name="info.title"></label><br>
 | 
					        <div class="input-field">
 | 
				
			||||||
        <label>Subtitle: <input type="text" name="info.subtitle"></label><br>
 | 
					            <label>Title:</label>
 | 
				
			||||||
        <label>Description: <textarea name="info.description"></textarea></label><br>
 | 
					            <input type="text" name="info.title">
 | 
				
			||||||
        <label>Canonical URL: <input type="text" name="info.canonical"></label><br>
 | 
					        </div>
 | 
				
			||||||
        <label>Keywords (comma separated): <input type="text" name="info.keywords"></label><br>
 | 
					        <div class="input-field">
 | 
				
			||||||
        <label>Author: <input type="text" name="info.author"></label><br>
 | 
					            <label>Subtitle:</label>
 | 
				
			||||||
 | 
					            <input type="text" name="info.subtitle">
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        <div class="input-field">
 | 
				
			||||||
 | 
					            <label>Description:</label>
 | 
				
			||||||
 | 
					            <textarea name="info.description"></textarea>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        <div class="input-field">
 | 
				
			||||||
 | 
					          <label>Canonical URL:</label>
 | 
				
			||||||
 | 
					          <input type="text" name="info.canonical">
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        <div class="input-field">
 | 
				
			||||||
 | 
					            <label>Keywords (comma separated):</label>
 | 
				
			||||||
 | 
					            <input type="text" name="info.keywords">
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        <div class="input-field">
 | 
				
			||||||
 | 
					            <label>Author:</label>
 | 
				
			||||||
 | 
					            <input type="text" name="info.author">
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
      </fieldset>
 | 
					      </fieldset>
 | 
				
			||||||
      <fieldset>
 | 
					      <fieldset>
 | 
				
			||||||
        <legend>Social</legend>
 | 
					        <legend>Social</legend>
 | 
				
			||||||
        <label>Instagram URL: <input type="text" name="social.instagram_url"></label><br>
 | 
					          <div class="input-field">
 | 
				
			||||||
        <label>Thumbnail: <input type="text" name="social.thumbnail" readonly></label>
 | 
					            <label>Instagram URL: </label>
 | 
				
			||||||
 | 
					            <input type="text" name="social.instagram_url">
 | 
				
			||||||
 | 
					          </div>
 | 
				
			||||||
 | 
					          <div class="input-field">
 | 
				
			||||||
 | 
					            <label>Thumbnail: </label>
 | 
				
			||||||
 | 
					            <input type="text" name="social.thumbnail" readonly>
 | 
				
			||||||
 | 
					          </div>
 | 
				
			||||||
 | 
					          <div class="input-field">
 | 
				
			||||||
 | 
					              <label>Upload Thumbnail: </label>
 | 
				
			||||||
              <input type="file" id="thumbnail-upload" accept="image/png,image/jpeg,image/webp">
 | 
					              <input type="file" id="thumbnail-upload" accept="image/png,image/jpeg,image/webp">
 | 
				
			||||||
              <img id="thumbnail-preview" src="" alt="Thumbnail preview" style="max-width:100px;display:none;">
 | 
					              <img id="thumbnail-preview" src="" alt="Thumbnail preview" style="max-width:100px;display:none;">
 | 
				
			||||||
 | 
					          </div>
 | 
				
			||||||
      </fieldset>
 | 
					      </fieldset>
 | 
				
			||||||
      <fieldset>
 | 
					      <fieldset>
 | 
				
			||||||
        <legend>Menu</legend>
 | 
					        <legend>Menu</legend>
 | 
				
			||||||
        <div id="menu-items-list"></div>
 | 
					        <div id="menu-items-list">
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
        <button type="button" id="add-menu-item">+ Add menu item</button>
 | 
					        <button type="button" id="add-menu-item">+ Add menu item</button>
 | 
				
			||||||
      </fieldset>
 | 
					      </fieldset>
 | 
				
			||||||
      <fieldset>
 | 
					      <fieldset>
 | 
				
			||||||
        <legend>Footer</legend>
 | 
					        <legend>Footer</legend>
 | 
				
			||||||
        <label>Copyright: <input type="text" name="footer.copyright"></label><br>
 | 
					        <div class="input-field">
 | 
				
			||||||
        <label>Legal Label: <input type="text" name="footer.legal_label"></label><br>
 | 
					          <label>Copyright: </label>
 | 
				
			||||||
 | 
					          <input type="text" name="footer.copyright"></label>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        <div class="input-field">
 | 
				
			||||||
 | 
					          <label>Legal Label: </label>
 | 
				
			||||||
 | 
					          <input type="text" name="footer.legal_label"></label>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
      </fieldset>
 | 
					      </fieldset>
 | 
				
			||||||
      <fieldset>
 | 
					      <fieldset>
 | 
				
			||||||
        <legend>Build</legend>
 | 
					        <legend>Build</legend>
 | 
				
			||||||
        <label>Theme:
 | 
					        <div class="input-field">
 | 
				
			||||||
 | 
					          <label>Theme:</label>
 | 
				
			||||||
          <select name="build.theme" id="theme-select"></select>
 | 
					          <select name="build.theme" id="theme-select"></select>
 | 
				
			||||||
        </label>
 | 
					        </div>
 | 
				
			||||||
        <label>
 | 
					        <div class="input-field">
 | 
				
			||||||
 | 
					          <label>Convert images</label>
 | 
				
			||||||
          <input type="checkbox" name="build.convert_images" id="convert-images-checkbox">
 | 
					          <input type="checkbox" name="build.convert_images" id="convert-images-checkbox">
 | 
				
			||||||
            Convert images
 | 
					        </div>
 | 
				
			||||||
        </label><br>
 | 
					        <div class="input-field">
 | 
				
			||||||
        <label>
 | 
					          <label>Resize images</label>
 | 
				
			||||||
          <input type="checkbox" name="build.resize_images" id="resize-images-checkbox">
 | 
					          <input type="checkbox" name="build.resize_images" id="resize-images-checkbox">
 | 
				
			||||||
            Resize images
 | 
					        </div>
 | 
				
			||||||
        </label><br>
 | 
					 | 
				
			||||||
      </fieldset>
 | 
					      </fieldset>
 | 
				
			||||||
      <fieldset>
 | 
					      <fieldset>
 | 
				
			||||||
        <legend>Legals</legend>
 | 
					        <legend>Legals</legend>
 | 
				
			||||||
        <label>Hoster Name: <input type="text" name="legals.hoster_name"></label><br>
 | 
					        <div class="input-field">
 | 
				
			||||||
        <label>Hoster Address: <input type="text" name="legals.hoster_adress"></label><br>
 | 
					          <label>Hoster Name:</label>
 | 
				
			||||||
        <label>Hoster Contact: <input type="text" name="legals.hoster_contact"></label><br>
 | 
					          <input type="text" name="legals.hoster_name">
 | 
				
			||||||
        <div>
 | 
					        </div>
 | 
				
			||||||
 | 
					        <div class="input-field">
 | 
				
			||||||
 | 
					          <label>Hoster Address:</label>
 | 
				
			||||||
 | 
					          <input type="text" name="legals.hoster_adress">
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        <div class="input-field">
 | 
				
			||||||
 | 
					          <label>Hoster Contact:</label>
 | 
				
			||||||
 | 
					          <input type="text" name="legals.hoster_contact">
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        <div class="input-field">
 | 
				
			||||||
          <label>Intellectual Property:</label>
 | 
					          <label>Intellectual Property:</label>
 | 
				
			||||||
          <div id="ip-list"></div>
 | 
					          <div id="ip-list"></div>
 | 
				
			||||||
          <button type="button" id="add-ip-paragraph">+ Add paragraph</button>
 | 
					          <button type="button" id="add-ip-paragraph">+ Add paragraph</button>
 | 
				
			||||||
        </div>
 | 
					        </div>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
    </fieldset>
 | 
					    </fieldset>
 | 
				
			||||||
      <button type="submit">Save</button>
 | 
					      <button type="submit">Save</button>
 | 
				
			||||||
    </form>
 | 
					    
 | 
				
			||||||
    <div id="site-info-status"></div>
 | 
					 | 
				
			||||||
  </div>
 | 
					 | 
				
			||||||
  <div id="delete-modal" class="modal" style="display:none;">
 | 
					 | 
				
			||||||
    <div class="modal-content">
 | 
					 | 
				
			||||||
      <span id="delete-modal-close" class="modal-close">×</span>
 | 
					 | 
				
			||||||
      <h3>Confirm Deletion</h3>
 | 
					 | 
				
			||||||
      <p id="delete-modal-text">Are you sure you want to delete this image?</p>
 | 
					 | 
				
			||||||
      <div class="modal-actions">
 | 
					 | 
				
			||||||
        <button id="delete-modal-confirm" class="modal-btn danger">Delete</button>
 | 
					 | 
				
			||||||
        <button id="delete-modal-cancel" class="modal-btn">Cancel</button>
 | 
					 | 
				
			||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
  </div>
 | 
					  </div>
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
  <script src="{{ url_for('static', filename='js/site-info.js') }}"></script>
 | 
					  <script src="{{ url_for('static', filename='js/site-info.js') }}"></script>
 | 
				
			||||||
</body>
 | 
					</body>
 | 
				
			||||||
</html>
 | 
					</html>
 | 
				
			||||||
@@ -61,6 +61,7 @@ h1, h2 {
 | 
				
			|||||||
  padding: 10px;
 | 
					  padding: 10px;
 | 
				
			||||||
  text-align: center;
 | 
					  text-align: center;
 | 
				
			||||||
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
 | 
					  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
 | 
				
			||||||
 | 
					  border: 1px solid #2f2e2e80;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.photo img {
 | 
					.photo img {
 | 
				
			||||||
@@ -464,3 +465,47 @@ h1, h2 {
 | 
				
			|||||||
    gap: 8px;
 | 
					    gap: 8px;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* --- Site Info --- */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#site-info-form input, #site-info-form textarea {
 | 
				
			||||||
 | 
					    display: block;
 | 
				
			||||||
 | 
					    margin-top: 5px;
 | 
				
			||||||
 | 
					    border: none;
 | 
				
			||||||
 | 
					    backdrop-filter: blur(20px);
 | 
				
			||||||
 | 
					    background: #00293054;
 | 
				
			||||||
 | 
					    border-radius: 5px;
 | 
				
			||||||
 | 
					    outline: none;
 | 
				
			||||||
 | 
					    font-size: 14px;
 | 
				
			||||||
 | 
					    font-weight: 400;
 | 
				
			||||||
 | 
					    color: #fff;
 | 
				
			||||||
 | 
					    border-radius: 5px;
 | 
				
			||||||
 | 
					    border: 1px solid #aaa;
 | 
				
			||||||
 | 
					    padding: 0 15px;
 | 
				
			||||||
 | 
					    height: 42px;
 | 
				
			||||||
 | 
					    margin: 8px 0;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#site-info-form label {
 | 
				
			||||||
 | 
					  font-size: 12px;
 | 
				
			||||||
 | 
					  font-weight: 500;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#site-info-form .input-field {
 | 
				
			||||||
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    width: calc(100% / 3 - 15px);
 | 
				
			||||||
 | 
					    flex-direction: column;
 | 
				
			||||||
 | 
					    margin: 4px 0;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#site-info-form fieldset{
 | 
				
			||||||
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    align-items: center;
 | 
				
			||||||
 | 
					    justify-content: space-between;
 | 
				
			||||||
 | 
					    flex-wrap: wrap;
 | 
				
			||||||
 | 
					    border:none;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					h3 {
 | 
				
			||||||
 | 
					  display: block;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Reference in New Issue
	
	Block a user