220 lines
9.1 KiB
HTML
220 lines
9.1 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<meta charset="UTF-8">
|
|
<title>Lumeex</title>
|
|
<link rel="stylesheet" href="{{ url_for('static', filename='style/style.css') }}">
|
|
</head>
|
|
<body>
|
|
<!-- Top bar -->
|
|
<div class="nav-bar">
|
|
<div class="content-inner nav">
|
|
<input type="checkbox" id="nav-check">
|
|
<div class="nav-header">
|
|
<div class="nav-title">
|
|
<a href="/"><img src="{{ url_for('static', filename='img/logo.svg') }}"></a>
|
|
</div>
|
|
</div>
|
|
<div class="nav-btn">
|
|
<label for="nav-check">
|
|
<span></span>
|
|
<span></span>
|
|
<span></span>
|
|
</label>
|
|
</div>
|
|
<div class="nav-links">
|
|
<ul class="nav-list">
|
|
<li class="nav-item"><a href="/gallery-editor">Gallery</a></li>
|
|
<li class="nav-item"><a href="/site-info">Site info</a></li>
|
|
<li class="nav-item"><a href="/theme-editor">Theme info</a></li>
|
|
<li class="nav-item">
|
|
<button id="build-btn" class="button">🚀 Build !</button>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- Toast container for notifications -->
|
|
<div id="site-info" class="content-inner">
|
|
<div id="toast-container"></div>
|
|
<h1>Edit Site Info</h1>
|
|
<form id="site-info-form">
|
|
<!-- Info Section -->
|
|
<fieldset>
|
|
<h2>Info</h2>
|
|
<p>Set the basic information for your site and SEO</p>
|
|
<div class="fields">
|
|
<div class="input-field">
|
|
<label>Title</label>
|
|
<input type="text" name="info.title" placeholder="Your site title" required>
|
|
</div>
|
|
<div class="input-field">
|
|
<label>Subtitle</label>
|
|
<input type="text" name="info.subtitle" placeholder="Your site subtitle" required>
|
|
</div>
|
|
<div class="input-field">
|
|
<label>Description</label>
|
|
<input type="text" name="info.description" placeholder="Your site description" required>
|
|
</div>
|
|
<div class="input-field">
|
|
<label>Canonical URL</label>
|
|
<input type="text" name="info.canonical" placeholder="https://yoursite.com" required>
|
|
</div>
|
|
<div class="input-field">
|
|
<label>Keywords (comma separated)</label>
|
|
<input type="text" name="info.keywords" placeholder="photo, gallery, photography" required>
|
|
</div>
|
|
<div class="input-field">
|
|
<label>Author</label>
|
|
<input type="text" name="info.author" placeholder="Your Name" required>
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
<!-- Social Section -->
|
|
<fieldset>
|
|
<h2>Social</h2>
|
|
<p>Set your social media links and thumbnail for link sharing</p>
|
|
<div class="fields">
|
|
<div class="input-field">
|
|
<label>Instagram URL</label>
|
|
<input type="text" name="social.instagram_url" placeholder="https://instagram.com/yourprofile" required>
|
|
<label class="thumbnail-form-label">Thumbnail</label>
|
|
<input type="file" id="thumbnail-upload" accept="image/png,image/jpeg,image/webp" style="display:none;">
|
|
<button type="button" id="choose-thumbnail-btn" class="up-btn">📸 Upload a photo</button>
|
|
<div class="thumbnail-form">
|
|
<input type="hidden" name="social.thumbnail" id="social-thumbnail">
|
|
<img id="thumbnail-preview" src="" alt="Thumbnail preview" style="max-width:100px;display:none;">
|
|
<button type="button" id="remove-thumbnail-btn" class="remove-btn up-btn danger" style="display:none;">Remove</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
<!-- Menu Section -->
|
|
<fieldset>
|
|
<h2>Menu</h2>
|
|
<p>Manage your site menu items. You can use tag combination to propose custom filters</p>
|
|
<div class="fields">
|
|
<div class="input-field" style="flex: 1 1 100%;">
|
|
<div id="menu-items-list"></div>
|
|
<button type="button" id="add-menu-item">+ Add menu item</button>
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
<!-- Footer Section -->
|
|
<fieldset>
|
|
<h2>Footer</h2>
|
|
<p>Set your copyright informations and legal link name</p>
|
|
<div class="fields">
|
|
<div class="input-field">
|
|
<label>Copyright</label>
|
|
<input type="text" name="footer.copyright" required>
|
|
</div>
|
|
<div class="input-field">
|
|
<label>Legal Label</label>
|
|
<input type="text" name="footer.legal_label" re>
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
<!-- Legals Section -->
|
|
<fieldset>
|
|
<h2>Legals</h2>
|
|
<p>Set your legal informations</p>
|
|
<div class="fields">
|
|
<div class="input-field">
|
|
<label>Hoster Name</label>
|
|
<input type="text" name="legals.hoster_name" placeholder="Name" required>
|
|
</div>
|
|
<div class="input-field">
|
|
<label>Hoster Address</label>
|
|
<input type="text" name="legals.hoster_address" placeholder="Street, Postal Code, City, Country" required>
|
|
</div>
|
|
<div class="input-field">
|
|
<label>Hoster Contact</label>
|
|
<input type="text" name="legals.hoster_contact" placeholder="Email or/and Phone" required>
|
|
</div>
|
|
<div class="input-field" style="flex: 1 1 100%;">
|
|
<label>Intellectual Property</label>
|
|
<div id="ip-list"></div>
|
|
<button type="button" id="add-ip-paragraph">+ Add paragraph</button>
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
<!-- Build Section -->
|
|
<fieldset>
|
|
<h2>Build</h2>
|
|
<p>Select a theme from the dropdown menu or add your custom theme folder</p>
|
|
<div class="fields">
|
|
<div class="input-field">
|
|
<label>Theme</label>
|
|
<select name="build.theme" id="theme-select" required></select>
|
|
<button type="button" id="remove-theme-btn" class="remove-btn up-btn danger">🗑 Remove selected theme</button>
|
|
<input type="file" id="theme-upload" webkitdirectory directory multiple style="display:none;">
|
|
<button type="button" id="choose-theme-btn" class="up-btn">📂 Upload custom theme folder</button>
|
|
<label class="thumbnail-form-label">Images processing</label>
|
|
<p>If checked, images will be converted for web and resized to fit the theme</p>
|
|
<label>
|
|
<input class="thumbnail-form-label" type="checkbox" name="build.convert_images" id="convert-images-checkbox">
|
|
Convert images
|
|
</label>
|
|
<label>
|
|
<input type="checkbox" name="build.resize_images" id="resize-images-checkbox">
|
|
Resize images
|
|
</label>
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
<button type="submit">Save</button>
|
|
</form>
|
|
<div class="section">
|
|
<h2>Steps</h2>
|
|
<p> Follow the steps to generate your static gallery</p>
|
|
<ul id="stepper">
|
|
<li><a href="/gallery-editor">Upload your photos</a></li>
|
|
<div>→</div>
|
|
<li><a class="step-active" href="/site-info">Configure site info</a></li>
|
|
<div>→</div>
|
|
<li><a href="/theme-editor">Customize your theme</a></li>
|
|
<div>→</div>
|
|
<li><button id="stepper-build">Generate your static site!</button></li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
<!-- Delete confirmation modal (now outside .content-inner) -->
|
|
<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 remove this thumbnail?</p>
|
|
<div class="modal-actions">
|
|
<button id="delete-modal-confirm" class="modal-btn danger">Remove</button>
|
|
<button id="delete-modal-cancel" class="modal-btn">Cancel</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- Delete theme confirmation modal -->
|
|
<div id="delete-theme-modal" class="modal" style="display:none;">
|
|
<div class="modal-content">
|
|
<span id="delete-theme-modal-close" class="modal-close">×</span>
|
|
<h3>Confirm Theme Deletion</h3>
|
|
<p id="delete-theme-modal-text">Are you sure you want to remove this theme?</p>
|
|
<div class="modal-actions">
|
|
<button id="delete-theme-modal-confirm" class="modal-btn danger">Remove</button>
|
|
<button id="delete-theme-modal-cancel" class="modal-btn">Cancel</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- Build success modal -->
|
|
<div id="build-success-modal" class="modal" style="display:none;">
|
|
<div class="modal-content">
|
|
<span id="build-success-modal-close" class="modal-close">×</span>
|
|
<h3>✅ Build completed!</h3>
|
|
<p>Your files are available in the output folder.</p>
|
|
<button id="download-zip-btn" class="modal-btn">Download ZIP</button>
|
|
<div id="zip-loader" style="display:none;">Creating ZIP...</div>
|
|
</div>
|
|
</div>
|
|
<script src="{{ url_for('static', filename='js/site-info.js')}}"></script>
|
|
<script src="{{ url_for('static', filename='js/build.js') }}"></script>
|
|
</body>
|
|
</html> |