Use Util::addInlineStyle in event listener

This commit is contained in:
2026-04-16 14:37:17 +02:00
parent 93fa190e5e
commit 4190154853
2 changed files with 66 additions and 3 deletions

50
lib/Service/Config.php Normal file
View File

@@ -0,0 +1,50 @@
<?php
declare(strict_types=1);
namespace OCA\MinimalProfile\Service;
use OCP\IConfig;
class Config {
public function __construct(
private IConfig $config,
) {
}
public function getHiddenFields(): array {
$value = $this->config->getAppValue('minimalprofile', 'hidden_fields', '');
if ($value === '') {
return [];
}
return json_decode($value, true) ?? [];
}
public function generateCss(array $fields): string {
$selectors = [
'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',
];
$css = '';
foreach ($fields as $field) {
if (isset($selectors[$field])) {
$selector = $selectors[$field];
$css .= $selector . ' { display: none !important; }' . "\n";
$css .= '.personal-settings-setting-box:has(' . $selector . ') { display: none !important; }' . "\n";
}
}
return $css;
}
}