chore: update get workspace setting

This commit is contained in:
Steven
2023-09-20 23:33:04 +08:00
parent 0af4903657
commit e82e61d54d
3 changed files with 38 additions and 5 deletions

View File

@ -1,11 +1,14 @@
import { useEffect, useState } from "react";
import { Outlet } from "react-router-dom";
import DemoBanner from "./components/DemoBanner";
import { workspaceSettingServiceClient } from "./grpcweb";
import { globalService } from "./services";
import useUserStore from "./stores/v1/user";
import { WorkspaceSetting } from "./types/proto/api/v2/workspace_setting_service";
function App() {
const userStore = useUserStore();
const [workspaceSetting, setWorkspaceSetting] = useState<WorkspaceSetting>(WorkspaceSetting.fromPartial({}));
const [loading, setLoading] = useState(true);
useEffect(() => {
@ -16,6 +19,15 @@ function App() {
// do nothing
}
try {
const { setting } = await workspaceSettingServiceClient.getWorkspaceSetting({});
if (setting) {
setWorkspaceSetting(setting);
}
} catch (error) {
// do nothing
}
try {
await userStore.fetchCurrentUser();
} catch (error) {
@ -28,6 +40,13 @@ function App() {
initialState();
}, []);
useEffect(() => {
const styleEl = document.createElement("style");
styleEl.innerHTML = workspaceSetting.customStyle;
styleEl.setAttribute("type", "text/css");
document.body.insertAdjacentElement("beforeend", styleEl);
}, [workspaceSetting.customStyle]);
return !loading ? (
<>
<DemoBanner />