diff --git a/packages/kolibri/components/pages/AppBarPage/internal/AppBar.vue b/packages/kolibri/components/pages/AppBarPage/internal/AppBar.vue index 496a6978404..f2ed029edfd 100644 --- a/packages/kolibri/components/pages/AppBarPage/internal/AppBar.vue +++ b/packages/kolibri/components/pages/AppBarPage/internal/AppBar.vue @@ -2,7 +2,10 @@
@@ -10,9 +13,12 @@ @@ -26,7 +32,7 @@ > @@ -94,7 +100,7 @@ @@ -27,7 +27,7 @@ :ariaLabel="coreString('moreOptions')" icon="optionsHorizontal" appearance="flat-button" - :color="$themeTokens.text" + :color="themeConfig.appBar.textColor" :primary="false" class="kiconbutton-style" > @@ -51,6 +51,7 @@ import isUndefined from 'lodash/isUndefined'; import commonCoreStrings from 'kolibri/uiText/commonCoreStrings'; import useKResponsiveWindow from 'kolibri-design-system/lib/composables/useKResponsiveWindow'; + import themeConfig from 'kolibri/styles/themeConfig'; import NavbarLink from './NavbarLink'; /** * Used for navigation between sub-pages of a top-level Kolibri section @@ -67,6 +68,7 @@ windowIsLarge, windowIsMedium, windowWidth, + themeConfig, }; }, props: { diff --git a/packages/kolibri/components/pages/AppBarPage/internal/SideNav.vue b/packages/kolibri/components/pages/AppBarPage/internal/SideNav.vue index aac3431052e..ec9a7a84953 100644 --- a/packages/kolibri/components/pages/AppBarPage/internal/SideNav.vue +++ b/packages/kolibri/components/pages/AppBarPage/internal/SideNav.vue @@ -196,14 +196,15 @@ height: topBarHeight + 'px', width: `${width}`, paddingTop: windowIsSmall ? '4px' : '8px', - backgroundColor: $themeTokens.appBar, + backgroundColor: themeConfig.appBar.background, + color: themeConfig.appBar.textColor, }" > {{ sideNavTitleText }}
diff --git a/packages/kolibri/styles/internal/themeSpec.js b/packages/kolibri/styles/internal/themeSpec.js index 681fcaa1dee..02b9fef4490 100644 --- a/packages/kolibri/styles/internal/themeSpec.js +++ b/packages/kolibri/styles/internal/themeSpec.js @@ -1,4 +1,5 @@ import logger from 'kolibri-logging'; +import { themeTokens } from 'kolibri-design-system/lib/styles/theme'; import isObject from 'lodash/isObject'; const logging = logger.getLogger(__filename); @@ -42,6 +43,25 @@ const _imageSpec = { }; export default { + appBar: { + type: Object, + default: null, + spec: { + background: { + type: String, + default: themeTokens().appBar, + }, + textColor: { + type: String, + default: themeTokens().text, + }, + topLogo: { + type: Object, + default: null, + spec: _imageSpec, + }, + }, + }, brandColors: { type: Object, default: null, diff --git a/packages/kolibri/styles/themeConfig.js b/packages/kolibri/styles/themeConfig.js index 0bd59d23632..5d11aa0aa28 100644 --- a/packages/kolibri/styles/themeConfig.js +++ b/packages/kolibri/styles/themeConfig.js @@ -2,6 +2,8 @@ import Vue from 'vue'; const themeConfig = Vue.observable({ appBar: { + background: null, + textColor: null, topLogo: { src: null, alt: null,