From 890e6c0ad2739f82b6ba453850ce439aacdc7a7d Mon Sep 17 00:00:00 2001 From: Kato Date: Wed, 2 Sep 2026 20:14:25 +0000 Subject: [PATCH] Update profile modal: username text + publish checkbox + editable fields --- css/styles.css | 2 ++ index.html | 60 ++++++++++++++++++++++++++++++++++++++++---------- js/main.js | 35 ++++++++++++++++++----------- 3 files changed, 72 insertions(+), 25 deletions(-) diff --git a/css/styles.css b/css/styles.css index 718ba78..4f66767 100644 --- a/css/styles.css +++ b/css/styles.css @@ -83,6 +83,8 @@ a:hover { text-decoration: underline; } .modal-content { background: var(--white); padding: 32px; border-radius: 16px; width: 90%; max-width: 500px; position: relative; box-shadow: 0 10px 30px rgba(0,0,0,.2); } .modal-content h3 { margin-bottom: 24px; } .close-btn { position: absolute; top: 16px; right: 20px; font-size: 24px; cursor: pointer; color: #6b7280; } +.username-display { padding: 12px 0; font-size: 1.1rem; font-weight: 600; color: var(--black); } +.profile-form .hidden { display: none; } .login-panel h3 { font-size: 1.25rem; font-weight: 700; margin-bottom: 20px; padding-bottom: 10px; border-bottom: 1px solid var(--gray2); } .form-group { margin-bottom: 16px; } .form-group label { display: block; font-size: .85rem; font-weight: 600; margin-bottom: 6px; } diff --git a/index.html b/index.html index f133b08..7d36c87 100644 --- a/index.html +++ b/index.html @@ -175,25 +175,61 @@ ×

Profil bearbeiten

Edit Profile

-
+
- - - + + +
odoo4projects
- - - + + +
+ + Folgendes veröffentlichen: + Publish the following: +
-
- - - + - +
diff --git a/js/main.js b/js/main.js index 9483417..b290c76 100644 --- a/js/main.js +++ b/js/main.js @@ -267,14 +267,18 @@ async function openProfileModal() { const response = await fetch(PROFILE_URL + '?sessionid=' + encodeURIComponent(sessionid)); console.log('openProfileModal response:', response.status, await response.clone().json()); if (response.ok) { - const data = await response.json(); - console.log('openProfileModal data:', data); - if (data.data && Array.isArray(data.data) && data.data.length > 0) { - const user = data.data[0]; - document.getElementById('profile-username').value = user.username || ''; - document.getElementById('profile-name').value = user.name || ''; - document.getElementById('profile-llc').value = user.company || ''; - } + const user = await response.json(); + console.log('openProfileModal user:', user); + document.getElementById('profile-username-display').textContent = user.username || ''; + document.getElementById('profile-name').value = user.name || ''; + document.getElementById('profile-company').value = user.company || ''; + document.getElementById('profile-email').value = user.email || ''; + document.getElementById('profile-homepage').value = user.homepage || ''; + document.getElementById('profile-image').value = user.image || ''; + document.getElementById('profile-location').value = user.location || ''; + document.getElementById('profile-description').value = user.Description || ''; + document.getElementById('profile-publish').checked = true; + document.getElementById('profile-edit-fields').classList.remove('hidden'); } } catch (error) { console.error('openProfileModal error:', error); @@ -295,17 +299,22 @@ function logout() { async function saveProfile() { const name = document.getElementById('profile-name').value.trim(); - const llc = document.getElementById('profile-llc').value.trim(); - if (!name || !llc) { alert('Bitte geben Sie Name und LLC-Namen ein.'); return; } + const company = document.getElementById('profile-company').value.trim(); + if (!name || !company) { alert('Bitte geben Sie Name und LLC-Namen ein.'); return; } try { - const response = await fetch(API_URL, { + const response = await fetch(PROFILE_URL, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ - username: document.getElementById('profile-username').value, + username: document.getElementById('profile-username-display').textContent, name: name, - llc: llc + company: company, + email: document.getElementById('profile-email').value, + homepage: document.getElementById('profile-homepage').value, + image: document.getElementById('profile-image').value, + location: document.getElementById('profile-location').value, + Description: document.getElementById('profile-description').value }) }); console.log('saveProfile response:', response.status, await response.clone().json());