Расширение Azure DevOps - тема пользователя и компоненты FluentUI
Я разрабатываю расширение для Azure DevOps в основном с использованием компонентов из azure-DevOps-ui (система дизайна Forumula), которая автоматически берет тему из пользовательских настроек. Я также использую некоторые компоненты из FluentUI (бывший office-ui-fabric-react), но мне трудно заставить их использовать эту тему. Например. при переключении на темную тему компоненты FluenUI остаются белыми.
У кого-нибудь это сработало?
Нужно ли указывать все стили вручную? Но как тогда получить информацию о текущем пользователе темы DevOps?
2 ответа
Вызов этого API и получение значения WebPlatform/Theme:
https://dev.azure.com/{org}/_apis/Settings/Entries/globalme
//vss-extension.json
"scopes": [ "vso.settings" ]
// vss-web-extension-sdk
import * as SettingsServices from "VSS/Settings/Services";
var entries = service.getEntriesAsync("WebPlatform", SettingsServices.SettingsUserScope.Me); //https://dev.azure.com/{org}/_apis/Settings/Entries/me/WebPlatform
// тело ответа:
{"count":2,"value":{"Theme":"ms.vss-web.vsts-theme-dark","Navigation/ProjectMRU":[{"projectId":"4ba0eb7f-64c0-4612-ad43-23055e664faa"},{"projectId":"a7037c27-f23a-4c14-9497-633b7e611bbb"}]}}