diff --git a/src/components/palette_editor/palette_editor.vue b/src/components/palette_editor/palette_editor.vue
index b6350b0f2..cebe73ee1 100644
--- a/src/components/palette_editor/palette_editor.vue
+++ b/src/components/palette_editor/palette_editor.vue
@@ -1,31 +1,27 @@
-
- updatePalette(key, value)"
- />
-
-
-
-
-
+
updatePalette(key, value)"
+ />
+
+
@@ -106,18 +102,23 @@ const updatePalette = (paletteKey, value) => {
diff --git a/src/components/settings_modal/tabs/style_tab/style_tab.js b/src/components/settings_modal/tabs/style_tab/style_tab.js
index cbd25dfc2..fb42e193e 100644
--- a/src/components/settings_modal/tabs/style_tab/style_tab.js
+++ b/src/components/settings_modal/tabs/style_tab/style_tab.js
@@ -2,6 +2,7 @@ import { ref, reactive, computed, watch } from 'vue'
import { get, set } from 'lodash'
import Select from 'src/components/select/select.vue'
+import SelectMotion from 'src/components/select/select_motion.vue'
import Checkbox from 'src/components/checkbox/checkbox.vue'
import ComponentPreview from 'src/components/component_preview/component_preview.vue'
import StringSetting from '../../helpers/string_setting.vue'
@@ -42,6 +43,7 @@ library.add(
export default {
components: {
Select,
+ SelectMotion,
Checkbox,
Tooltip,
StringSetting,
@@ -70,8 +72,9 @@ export default {
})
// ### Palette stuff
- const palettes = reactive({
- light: {
+ const palettes = reactive([
+ {
+ name: 'light',
bg: '#f2f6f9',
fg: '#d6dfed',
text: '#304055',
@@ -83,7 +86,8 @@ export default {
cOrange: '#ffa500',
border: '#d8e6f9'
},
- dark: {
+ {
+ name: 'dark',
bg: '#121a24',
fg: '#182230',
text: '#b9b9ba',
@@ -94,10 +98,11 @@ export default {
cGreen: '#0fa00f',
cOrange: '#ffa500'
}
- })
+ ])
const palettesOut = computed(() => {
- return Object.entries(palettes).map(([name, palette]) => {
+ console.log('WORK DAMN', palettes)
+ return palettes.map(({ name, ...palette }) => {
const entries = Object
.entries(palette)
.map(([slot, data]) => ` ${slot}: ${data};`)
@@ -107,9 +112,10 @@ export default {
}).join('\n\n')
})
- const editedPalette = ref('dark')
+ const editedPalette = ref(0)
const palette = computed({
get () {
+ console.log(palettes, editedPalette.value)
return palettes[editedPalette.value]
},
set (newPalette) {
@@ -117,6 +123,19 @@ export default {
}
})
+ const getNewPalette = () => ({
+ name: 'new palette',
+ bg: '#121a24',
+ fg: '#182230',
+ text: '#b9b9ba',
+ link: '#d8a070',
+ accent: '#d8a070',
+ cRed: '#FF0000',
+ cBlue: '#0095ff',
+ cGreen: '#0fa00f',
+ cOrange: '#ffa500'
+ })
+
// ### I18n stuff
// The paths in i18n are getting ridicously long, this effectively shortens them
const getI18nPath = (componentName) => `settings.style.themes3.editor.components.${componentName}`
@@ -420,10 +439,12 @@ export default {
const updatePreview = () => {
try {
+ const { name, ...paletteData } = palette.value
+ console.log('WORK', paletteData)
const rules = init({
inputRuleset: editorFriendlyToOriginal.value,
initialStaticVars: {
- ...palette.value
+ ...paletteData
},
ultimateBackgroundColor: '#000000',
rootComponentName: selectedComponentName.value,
@@ -514,7 +535,9 @@ export default {
license,
website,
palette,
+ palettes,
editedPalette,
+ getNewPalette,
componentKeys,
componentsMap,
selectedComponent,
diff --git a/src/components/settings_modal/tabs/style_tab/style_tab.scss b/src/components/settings_modal/tabs/style_tab/style_tab.scss
index 0306454fc..f557b7d59 100644
--- a/src/components/settings_modal/tabs/style_tab/style_tab.scss
+++ b/src/components/settings_modal/tabs/style_tab/style_tab.scss
@@ -88,9 +88,35 @@
}
.palette-editor {
- > .label:not(.Select) {
- font-weight: bold;
- justify-self: right;
+ display: grid;
+ grid-template-areas:
+ "label editor"
+ "selector editor"
+ "motion editor";
+ grid-template-columns: auto 1fr;
+ grid-template-rows: auto 1fr auto;
+ grid-gap: 0.5em;
+
+ .palette-editor-edit {
+ grid-area: editor;
+ }
+
+ .palette-selector {
+ &-label {
+ font-weight: bold;
+ grid-area: label;
+ margin: 0;
+ }
+ }
+
+ .palette-list {
+ grid-area: selector;
+ margin: 0;
+
+ &-movement {
+ grid-area: motion;
+ margin: 0;
+ }
}
}
diff --git a/src/components/settings_modal/tabs/style_tab/style_tab.vue b/src/components/settings_modal/tabs/style_tab/style_tab.vue
index b73732f8a..704cdc1bc 100644
--- a/src/components/settings_modal/tabs/style_tab/style_tab.vue
+++ b/src/components/settings_modal/tabs/style_tab/style_tab.vue
@@ -260,30 +260,38 @@
:label="$t('settings.style.themes3.editor.palette_tab')"
class="setting-item palette-editor"
>
-
-
-
+ editedPalette = e"
+ />
+
diff --git a/src/i18n/en.json b/src/i18n/en.json
index b5628be4a..b7ee0984c 100644
--- a/src/i18n/en.json
+++ b/src/i18n/en.json
@@ -760,8 +760,6 @@
"label": "Palette",
"import": "Import",
"export": "Export",
- "dark": "Dark mode",
- "light": "Light mode",
"bg": "Panel background",
"fg": "Buttons etc.",
"text": "Text",