Files
halo/ui/console-src/stores/theme.ts
Ryan Wang ac88ee70cb Rename @halo-dev/console-shared to @halo-dev/ui-shared (#7926)
#### What type of PR is this?

/area ui
/kind api-change
/milestone 2.22.x

#### What this PR does / why we need it:

See #7925 

#### Which issue(s) this PR fixes:

Fixes #7925 

#### Special notes for your reviewer:

#### Does this PR introduce a user-facing change?

```release-note
将 `@halo-dev/console-shared` 重命名为 `@halo-dev/ui-shared`
```
2025-11-10 16:20:41 +00:00

30 lines
758 B
TypeScript

import type { Theme } from "@halo-dev/api-client";
import { consoleApiClient } from "@halo-dev/api-client";
import { utils } from "@halo-dev/ui-shared";
import { defineStore } from "pinia";
import { ref } from "vue";
export const useThemeStore = defineStore("theme", () => {
const activatedTheme = ref<Theme>();
async function fetchActivatedTheme() {
if (!utils.permission.has(["system:themes:view"])) {
return;
}
try {
const { data } = await consoleApiClient.theme.theme.fetchActivatedTheme({
mute: true,
});
if (data) {
activatedTheme.value = data;
}
} catch (e) {
console.error("Failed to fetch active theme", e);
}
}
return { activatedTheme, fetchActivatedTheme };
});