1
0
Fork 0
mirror of synced 2024-07-03 13:30:46 +12:00

Fix issues with colours in app skeletons

This commit is contained in:
Andrew Kingston 2024-03-26 10:43:56 +00:00
parent 7b452bbb93
commit 6c9127427c
5 changed files with 27 additions and 16 deletions

View file

@ -247,9 +247,9 @@
<!-- svelte-ignore a11y-no-static-element-interactions -->
<!-- svelte-ignore a11y-click-events-have-key-events -->
<div class="component-container">
{#if loading}
{#if loading || true}
<div
class={`loading ${$themeStore.theme}`}
class={`loading spectrum spectrum--medium ${$themeStore.baseTheme} ${$themeStore.theme}`}
class:tablet={$previewStore.previewDevice === "tablet"}
class:mobile={$previewStore.previewDevice === "mobile"}
>

View file

@ -1,5 +1,6 @@
import { writable, get } from "svelte/store"
import { API } from "api"
import { getBaseTheme } from "@budibase/frontend-core"
const INITIAL_THEMES_STATE = {
theme: "",
@ -12,11 +13,15 @@ export const themes = () => {
})
const syncAppTheme = app => {
store.update(state => ({
...state,
theme: app.theme || "spectrum--light",
customTheme: app.customTheme,
}))
store.update(state => {
const theme = app.theme || "spectrum--light"
return {
...state,
theme,
baseTheme: getBaseTheme(theme),
customTheme: app.customTheme,
}
})
}
const save = async (theme, appId) => {

View file

@ -1,7 +1,7 @@
import { derived } from "svelte/store"
import { appStore } from "./app"
import { builderStore } from "./builder"
import { Constants } from "@budibase/frontend-core"
import { getBaseTheme } from "@budibase/frontend-core"
// This is the good old acorn bug where having the word "g l o b a l" makes it
// think that this is not ES6 compatible and starts throwing errors when using
@ -29,13 +29,6 @@ const createThemeStore = () => {
// Ensure theme is set
theme = theme || defaultTheme
// Get base theme
let base =
Constants.Themes.find(x => `spectrum--${x.class}` === theme)?.base || ""
if (base) {
base = `spectrum--${base}`
}
// Delete and nullish keys from the custom theme
if (customTheme) {
Object.entries(customTheme).forEach(([key, value]) => {
@ -59,7 +52,7 @@ const createThemeStore = () => {
return {
theme,
baseTheme: base,
baseTheme: getBaseTheme(theme),
customTheme,
customThemeCss,
}

View file

@ -7,3 +7,4 @@ export * as RowUtils from "./rows"
export { memo, derivedMemo } from "./memo"
export { createWebsocket } from "./websocket"
export * from "./download"
export * from "./theme"

View file

@ -0,0 +1,12 @@
import { Themes } from "../constants.js"
export const getBaseTheme = theme => {
if (!theme) {
return ""
}
let base = Themes.find(x => `spectrum--${x.class}` === theme)?.base || ""
if (base) {
base = `spectrum--${base}`
}
return base
}