[MM-64355] Disable server management in the Settings Modal when disabled via group policy (#3430)

* [MM-64355] Disable server management in the Settings Modal when disabled via group policy

* Fix to disallow deleting predefined servers

* Fix lint
This commit is contained in:
Devin Binnie
2025-05-22 08:14:48 -04:00
committed by GitHub
parent 69ef00c177
commit 2879ada39a

View File

@@ -23,6 +23,7 @@ export default function ServerSetting() {
const [servers, setServers] = useState<UniqueServerWithPermissions[]>([]);
const [currentServer, setCurrentServer] = useState<UniqueServerWithPermissions>();
const [modal, setModal] = useState<Modal>();
const [enableServerManagement, setEnableServerManagement] = useState<boolean>(false);
const reloadServers = useCallback(() => {
window.desktop.getUniqueServersWithPermissions().then(setServers);
@@ -32,6 +33,10 @@ export default function ServerSetting() {
const off = window.desktop.onReloadConfiguration(reloadServers);
reloadServers();
window.desktop.getLocalConfiguration().then((config) => {
setEnableServerManagement(config.enableServerManagement);
});
return () => off();
}, []);
@@ -116,6 +121,7 @@ export default function ServerSetting() {
defaultMessage='Servers'
/>
</h3>
{enableServerManagement &&
<button
onClick={showAddServerModal}
className='ServerSetting__addServer btn btn-sm btn-tertiary'
@@ -126,6 +132,7 @@ export default function ServerSetting() {
defaultMessage='Add a server'
/>
</button>
}
</div>
{servers.length === 0 && (
<div className='ServerSetting__noServers'>
@@ -136,12 +143,12 @@ export default function ServerSetting() {
defaultMessage='No servers added'
/>
</div>
<div className='ServerSetting__noServersDescription'>
{enableServerManagement && <div className='ServerSetting__noServersDescription'>
<FormattedMessage
id='renderer.components.settingsPage.serverSetting.noServers.description'
defaultMessage="Add a server to connect to your team's communication hub"
/>
</div>
</div>}
</div>
)}
<div className='ServerSetting__serverList'>
@@ -163,12 +170,14 @@ export default function ServerSetting() {
>
<i className='icon icon-pencil-outline'/>
</button>
{enableServerManagement && !server.server.isPredefined &&
<button
onClick={showRemoveServerModal(server)}
className='ServerSetting__removeServer btn btn-icon btn-sm btn-tertiary btn-transparent btn-danger'
>
<i className='icon icon-trash-can-outline'/>
</button>
}
</div>
)))}
</div>