/** * Minimal Profile - Load and hide configured fields */ (function() { 'use strict'; console.log('MinimalProfile: START - version 1.0.31'); var fieldSelectors = { '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' }; function applyCss(hiddenFields) { console.log('MinimalProfile: applyCss called with', hiddenFields); console.log('MinimalProfile: hiddenFields type', typeof hiddenFields, Array.isArray(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:', css); } } console.log('MinimalProfile: Fetching config...'); var url = OC.generateUrl('/apps/minimalprofile/api/v1/hidden-fields'); console.log('MinimalProfile: URL:', url); var req = new XMLHttpRequest(); req.open('GET', url); req.onload = function() { console.log('MinimalProfile: Status:', req.status, req.statusText); console.log('MinimalProfile: Response:', req.responseText); if (req.status === 200) { try { var data = JSON.parse(req.responseText); console.log('MinimalProfile: Parsed data:', data); applyCss(data.hiddenFields); } catch (e) { console.error('MinimalProfile: Parse error', e); } } }; req.onerror = function() { console.error('MinimalProfile: Request FAILED'); }; req.send(); })();