From 5a776fe607cc3922b0432c4454e9efebf7cf40ce Mon Sep 17 00:00:00 2001 From: Guy Van Sanden Date: Thu, 16 Apr 2026 20:47:35 +0200 Subject: [PATCH] v1.0.40 --- js/minimalprofile.js | 83 ++++++++++++-------------------------------- 1 file changed, 23 insertions(+), 60 deletions(-) diff --git a/js/minimalprofile.js b/js/minimalprofile.js index 2706d76..9e068a7 100644 --- a/js/minimalprofile.js +++ b/js/minimalprofile.js @@ -1,76 +1,39 @@ /** - * Minimal Profile - Only run on settings page + * Minimal Profile v40 - NEW SCRIPT */ (function() { 'use strict'; - // Only run on settings page if (!window.location.pathname.includes('/settings/')) { - console.log('MinimalProfile: Not on settings page, skipping'); return; } - console.log('MinimalProfile: START - v1.0.32'); + console.log('MinimalProfile v40: HERE'); - var fieldSelectors = { + var storageKey = 'minimalprofile_hidden'; + var stored = localStorage.getItem(storageKey); + var hidden = stored ? JSON.parse(stored) : []; + var urlParam = new URLSearchParams(window.location.search).get('hide'); + if (urlParam) hidden = urlParam.split(','); + if (!hidden.length) return; + + var map = { 'pronouns': '#account-property-pronouns', 'role': '#account-property-role', - 'headline': '#account-property-headline', - 'biography': '#account-property-biography', - 'organisation': '#account-property-organisation', - 'phone': '#account-property-phone', - 'address': '#account-property-address', - 'birthdate': '#account-property-birthdate', - 'website': '#account-property-website', - 'twitter': '#account-property-twitter', - 'fediverse': '#account-property-fediverse', - 'location': '#account-property-location' + 'headline': '#account-property-headline' }; - - function applyCss(hiddenFields) { - console.log('MinimalProfile: applyCss called with', hiddenFields); - - if (!hiddenFields || hiddenFields.length === 0) { - console.log('MinimalProfile: No fields to hide'); - return; - } - - var css = ''; - hiddenFields.forEach(function(field) { - var selector = fieldSelectors[field]; - if (selector) { - css += '.personal-settings-setting-box:has(' + selector + ') { display: none !important; }'; - console.log('MinimalProfile: Hiding ' + field); - } - }); - - if (css) { - var style = document.createElement('style'); - style.textContent = css; - style.id = 'minimalprofile-dynamic'; - document.head.appendChild(style); - console.log('MinimalProfile: CSS applied'); - } - } - - console.log('MinimalProfile: Fetching config...'); - var req = new XMLHttpRequest(); - req.open('GET', OC.generateUrl('/apps/minimalprofile/api/v1/hidden-fields')); - req.onload = function() { - console.log('MinimalProfile: Status:', req.status); - if (req.status === 200) { - try { - var data = JSON.parse(req.responseText); - console.log('MinimalProfile: Data:', data); - applyCss(data.hiddenFields || []); - } catch (e) { - console.error('MinimalProfile: Parse error', e); - } + var css = ''; + hidden.forEach(function(f) { + if (map[f]) { + css += '.personal-settings-setting-box:has(' + map[f] + ') { display: none !important; }'; + console.log('Hiding:', f); } - }; - req.onerror = function() { - console.error('MinimalProfile: Request failed'); - }; - req.send(); + }); + + if (css) { + var s = document.createElement('style'); + s.textContent = css; + document.head.appendChild(s); + } })(); \ No newline at end of file