Add filesystem theme presets
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
<script>
|
<script>
|
||||||
import { createEventDispatcher } from "svelte";
|
import { createEventDispatcher } from "svelte";
|
||||||
|
import ThemePresets from "./ThemePresets.svelte";
|
||||||
import FilePicker from "../filemanager/FilePicker.svelte";
|
import FilePicker from "../filemanager/FilePicker.svelte";
|
||||||
import { fs_update, fs_node_type } from "../FilesystemAPI.mjs";
|
import { fs_update, fs_node_type } from "../FilesystemAPI.mjs";
|
||||||
import CustomBanner from "../viewers/CustomBanner.svelte";
|
import CustomBanner from "../viewers/CustomBanner.svelte";
|
||||||
@@ -92,8 +93,13 @@ let highlight_info = false
|
|||||||
</div>
|
</div>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
|
<fieldset disabled={!enabled} style="text-align: center;">
|
||||||
|
<legend>Theme presets</legend>
|
||||||
|
<ThemePresets bind:properties={file.properties}/>
|
||||||
|
</fieldset>
|
||||||
|
|
||||||
<fieldset class="grid" disabled={!enabled}>
|
<fieldset class="grid" disabled={!enabled}>
|
||||||
<legend>Colours</legend>
|
<legend>Custom colours</legend>
|
||||||
<div>
|
<div>
|
||||||
<div style="display: inline-block">Highlight</div>
|
<div style="display: inline-block">Highlight</div>
|
||||||
<HelpButton bind:toggle={highlight_info}/>
|
<HelpButton bind:toggle={highlight_info}/>
|
||||||
|
79
svelte/src/filesystem/edit_window/ThemePresets.svelte
Normal file
79
svelte/src/filesystem/edit_window/ThemePresets.svelte
Normal file
@@ -0,0 +1,79 @@
|
|||||||
|
<script>
|
||||||
|
export let properties = {
|
||||||
|
brand_input_color: "",
|
||||||
|
brand_highlight_color: "",
|
||||||
|
brand_danger_color: "",
|
||||||
|
brand_background_color: "",
|
||||||
|
brand_body_color: "",
|
||||||
|
brand_card_color: ""
|
||||||
|
}
|
||||||
|
|
||||||
|
let current_theme = -1
|
||||||
|
|
||||||
|
const set_theme = index => {
|
||||||
|
current_theme = index
|
||||||
|
Object.keys(themes[index]).forEach(key => {
|
||||||
|
if (key !== "name") {
|
||||||
|
properties[key] = themes[index][key]
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
const themes = [
|
||||||
|
{
|
||||||
|
name: "PD classic",
|
||||||
|
brand_input_color: "#2d2d2d",
|
||||||
|
brand_highlight_color: "#75b72d",
|
||||||
|
brand_danger_color: "#821b3f",
|
||||||
|
brand_background_color: "#141414",
|
||||||
|
brand_body_color: "#1e1e1e",
|
||||||
|
brand_card_color: "#282828"
|
||||||
|
}, {
|
||||||
|
name: "Nord (dark)",
|
||||||
|
brand_input_color: "#4f596d",
|
||||||
|
brand_highlight_color: "#a4be8c",
|
||||||
|
brand_danger_color: "#bd5f69",
|
||||||
|
brand_background_color: "#2f3541",
|
||||||
|
brand_body_color: "#3b4252",
|
||||||
|
brand_card_color: "#434c5f"
|
||||||
|
}, {
|
||||||
|
name: "Nord (light)",
|
||||||
|
brand_input_color: "#cad2e1",
|
||||||
|
brand_highlight_color: "#a4be8c",
|
||||||
|
brand_danger_color: "#bd5f69",
|
||||||
|
brand_background_color: "#d7dde8",
|
||||||
|
brand_body_color: "#ebeef3",
|
||||||
|
brand_card_color: "#e5e9f0"
|
||||||
|
}, {
|
||||||
|
name: "Solarized (dark)",
|
||||||
|
brand_input_color: "#084453",
|
||||||
|
brand_highlight_color: "#849900",
|
||||||
|
brand_danger_color: "#db302d",
|
||||||
|
brand_background_color: "#002c38",
|
||||||
|
brand_body_color: "#063540",
|
||||||
|
brand_card_color: "#073c49"
|
||||||
|
}, {
|
||||||
|
name: "Solarized (light)",
|
||||||
|
brand_input_color: "#e7dfc5",
|
||||||
|
brand_highlight_color: "#849900",
|
||||||
|
brand_danger_color: "#db302d",
|
||||||
|
brand_background_color: "#ede7d3",
|
||||||
|
brand_body_color: "#fdf5e2",
|
||||||
|
brand_card_color: "#fcf2d8"
|
||||||
|
}, {
|
||||||
|
name: "Mocha",
|
||||||
|
brand_input_color: "#313244",
|
||||||
|
brand_highlight_color: "#a6e3a1",
|
||||||
|
brand_danger_color: "#f38ba8",
|
||||||
|
brand_background_color: "#1e1e2e",
|
||||||
|
brand_body_color: "#181825",
|
||||||
|
brand_card_color: "#313244"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
</script>
|
||||||
|
|
||||||
|
{#each themes as theme, index (theme.name)}
|
||||||
|
<button class:button_highlight={current_theme === index} on:click={() => {set_theme(index)}}>
|
||||||
|
{theme.name}
|
||||||
|
</button>
|
||||||
|
{/each}
|
Reference in New Issue
Block a user