Move settings to extra pages

This commit is contained in:
天クマ 2026-07-17 11:23:41 -03:00
commit b1f7938b37
4 changed files with 69 additions and 44 deletions

View file

@ -121,10 +121,8 @@
</footer> </footer>
</div> </div>
</main> </main>
</div>
<!-- Settings Modal --> <section class="extra-page" id="settings-page">
<div class="modal-overlay hidden" id="settings-modal">
<div class="modal-content"> <div class="modal-content">
<header class="modal-header"> <header class="modal-header">
<h2>SETTINGS</h2> <h2>SETTINGS</h2>
@ -149,6 +147,7 @@
<button class="btn primary-btn" id="save-settings">Save Config</button> <button class="btn primary-btn" id="save-settings">Save Config</button>
</footer> </footer>
</div> </div>
</section>
</div> </div>
<!-- Client-side script loaded as ES Module --> <!-- Client-side script loaded as ES Module -->

View file

@ -10,6 +10,9 @@ let activeChatState = null;
const messageTone = new Audio("./message.ogg"); const messageTone = new Audio("./message.ogg");
document.addEventListener('DOMContentLoaded', async () => { document.addEventListener('DOMContentLoaded', async () => {
elements.inputApiKey.value = config.apiKey;
elements.inputWahaUrl.value = config.wahaUrl;
elements.inputSession.value = config.session;
await updateOnlineStatus(); await updateOnlineStatus();
setupEventListeners(); setupEventListeners();
try { try {
@ -381,9 +384,7 @@ async function sendFileMessage(file) {
} }
function openSettings() { function openSettings() {
elements.inputWahaUrl.value = config.wahaUrl;
elements.inputSession.value = config.session;
elements.inputApiKey.value = config.apiKey;
ui.toggleModal(true); ui.toggleModal(true);
} }

View file

@ -20,7 +20,7 @@ export const elements = {
backToSidebarBtn: document.querySelector('.chat-header'), backToSidebarBtn: document.querySelector('.chat-header'),
sidebar: document.querySelector('.sidebar'), sidebar: document.querySelector('.sidebar'),
appContainer: document.querySelector('.app-container'), appContainer: document.querySelector('.app-container'),
settingsModal: document.getElementById('settings-modal'), settingsModal: document.getElementById('settings-page'),
settingsIconBtn: document.querySelector('.header-actions button[title="Settings"]'), settingsIconBtn: document.querySelector('.header-actions button[title="Settings"]'),
cancelSettingsBtn: document.getElementById('cancel-settings'), cancelSettingsBtn: document.getElementById('cancel-settings'),
saveSettingsBtn: document.getElementById('save-settings'), saveSettingsBtn: document.getElementById('save-settings'),
@ -41,9 +41,9 @@ export const ui = {
*/ */
toggleModal(show) { toggleModal(show) {
if (show) { if (show) {
elements.settingsModal.classList.remove('hidden'); elements.settingsModal.scrollTo();
} else { } else {
elements.settingsModal.classList.add('hidden'); elements.sidebar.scrollTo();
} }
}, },

View file

@ -738,6 +738,16 @@ input:focus {
display: none !important; display: none !important;
} }
/* Extra Pages */
.extra-page {
display: none;
}
.extra-page-content {
padding: 24px;
color: var(--text-secondary);
}
@media (max-width: 768px) { @media (max-width: 768px) {
.app-container { .app-container {
width: 100%; width: 100%;
@ -783,6 +793,21 @@ input:focus {
scroll-snap-stop: always; scroll-snap-stop: always;
} }
.extra-page {
display: block;
width: 100%;
flex: 0 0 100%;
position: relative;
left: auto;
top: auto;
height: 100%;
z-index: 1;
scroll-snap-align: start;
scroll-snap-stop: always;
background-color: var(--bg-main);
overflow-y: auto;
}
/* Disable scrolling to active chat if none is selected */ /* Disable scrolling to active chat if none is selected */
/* .app-container.no-active-chat .chat-area { /* .app-container.no-active-chat .chat-area {
display: none !important; display: none !important;