From 53d2e8c54b675191cf9cec1b04029d737b178985 Mon Sep 17 00:00:00 2001 From: pomdtr Date: Thu, 7 Dec 2023 13:10:39 +0100 Subject: [PATCH] fetch theme from the server --- .github/workflows/deploy.yml | 4 ++- .vscode/settings.json | 5 +++ README.md | 4 +-- config.go | 2 +- frontend/src/terminal.ts | 9 ++--- .../refresh-themes.ts | 36 ++++++++++--------- server.go | 33 ++++++++++++++--- .../public/themes => themes}/3024 Day.json | 0 .../public/themes => themes}/3024 Night.json | 0 .../public/themes => themes}/Abernathy.json | 0 .../public/themes => themes}/Adventure.json | 0 .../themes => themes}/AdventureTime.json | 0 .../public/themes => themes}/Afterglow.json | 0 .../public/themes => themes}/Alabaster.json | 0 .../public/themes => themes}/AlienBlood.json | 0 .../public/themes => themes}/Andromeda.json | 0 .../themes => themes}/Apple Classic.json | 0 .../public/themes => themes}/Argonaut.json | 0 .../public/themes => themes}/Arthur.json | 0 .../themes => themes}/AtelierSulphurpool.json | 0 {frontend/public/themes => themes}/Atom.json | 0 .../themes => themes}/AtomOneLight.json | 0 .../public/themes => themes}/Aurora.json | 0 .../public/themes => themes}/Ayu Mirage.json | 0 .../themes => themes}/Banana Blueberry.json | 0 .../public/themes => themes}/Batman.json | 0 .../themes => themes}/Belafonte Day.json | 0 .../themes => themes}/Belafonte Night.json | 0 .../themes => themes}/BirdsOfParadise.json | 0 .../public/themes => themes}/Blazer.json | 0 .../public/themes => themes}/Blue Matrix.json | 0 .../themes => themes}/BlueBerryPie.json | 0 .../public/themes => themes}/BlueDolphin.json | 0 .../public/themes => themes}/BlulocoDark.json | 0 .../themes => themes}/BlulocoLight.json | 0 .../public/themes => themes}/Borland.json | 0 .../public/themes => themes}/Breeze.json | 0 .../themes => themes}/Bright Lights.json | 0 .../public/themes => themes}/Broadcast.json | 0 .../public/themes => themes}/Brogrammer.json | 0 .../themes => themes}/Builtin Dark.json | 0 .../themes => themes}/Builtin Light.json | 0 .../Builtin Pastel Dark.json | 0 .../Builtin Solarized Dark.json | 0 .../Builtin Solarized Light.json | 0 .../themes => themes}/Builtin Tango Dark.json | 0 .../Builtin Tango Light.json | 0 {frontend/public/themes => themes}/C64.json | 0 {frontend/public/themes => themes}/CGA.json | 0 {frontend/public/themes => themes}/CLRS.json | 0 .../public/themes => themes}/Calamity.json | 0 {frontend/public/themes => themes}/Chalk.json | 0 .../public/themes => themes}/Chalkboard.json | 0 .../themes => themes}/ChallengerDeep.json | 0 .../public/themes => themes}/Chester.json | 0 .../public/themes => themes}/Ciapre.json | 0 .../public/themes => themes}/Cobalt Neon.json | 0 .../public/themes => themes}/Cobalt2.json | 0 .../themes => themes}/CrayonPonyFish.json | 0 .../public/themes => themes}/Cyberdyne.json | 0 .../public/themes => themes}/Dark Pastel.json | 0 {frontend/public/themes => themes}/Dark+.json | 0 .../themes => themes}/Darkermatrix.json | 0 .../public/themes => themes}/Darkmatrix.json | 0 .../public/themes => themes}/Darkside.json | 0 .../public/themes => themes}/Desert.json | 0 .../themes => themes}/DimmedMonokai.json | 0 .../public/themes => themes}/Django.json | 0 .../themes => themes}/DjangoRebornAgain.json | 0 .../themes => themes}/DjangoSmooth.json | 0 .../themes => themes}/Doom Peacock.json | 0 .../public/themes => themes}/DoomOne.json | 0 .../public/themes => themes}/DotGov.json | 0 .../public/themes => themes}/Dracula+.json | 0 .../public/themes => themes}/Dracula.json | 0 .../themes => themes}/Duotone Dark.json | 0 {frontend/public/themes => themes}/ENCOM.json | 0 .../public/themes => themes}/Earthsong.json | 0 .../public/themes => themes}/Elemental.json | 0 .../public/themes => themes}/Elementary.json | 0 .../themes => themes}/Espresso Libre.json | 0 .../public/themes => themes}/Espresso.json | 0 .../public/themes => themes}/Everblush.json | 0 .../public/themes => themes}/Fahrenheit.json | 0 .../public/themes => themes}/Fairyfloss.json | 0 .../public/themes => themes}/Fideloper.json | 0 .../public/themes => themes}/FirefoxDev.json | 0 .../public/themes => themes}/Firewatch.json | 0 .../public/themes => themes}/FishTank.json | 0 {frontend/public/themes => themes}/Flat.json | 0 .../public/themes => themes}/Flatland.json | 0 .../public/themes => themes}/Floraverse.json | 0 .../public/themes => themes}/ForestBlue.json | 0 .../public/themes => themes}/Framer.json | 0 .../themes => themes}/FrontEndDelight.json | 0 .../public/themes => themes}/FunForrest.json | 0 .../public/themes => themes}/Galaxy.json | 0 .../public/themes => themes}/Galizur.json | 0 .../public/themes => themes}/GitHub Dark.json | 0 .../public/themes => themes}/Github.json | 0 .../public/themes => themes}/Glacier.json | 0 {frontend/public/themes => themes}/Grape.json | 0 {frontend/public/themes => themes}/Grass.json | 0 .../public/themes => themes}/Grey-green.json | 0 .../themes => themes}/Gruvbox Light.json | 0 .../public/themes => themes}/GruvboxDark.json | 0 .../themes => themes}/GruvboxDarkHard.json | 0 .../public/themes => themes}/Guezwhoz.json | 0 .../public/themes => themes}/HaX0R_BLUE.json | 0 .../public/themes => themes}/HaX0R_GR33N.json | 0 .../public/themes => themes}/HaX0R_R3D.json | 0 .../public/themes => themes}/Hacktober.json | 0 .../public/themes => themes}/Hardcore.json | 0 .../public/themes => themes}/Harper.json | 0 .../public/themes => themes}/Highway.json | 0 .../themes => themes}/Hipster Green.json | 0 .../public/themes => themes}/Hivacruz.json | 0 .../public/themes => themes}/Homebrew.json | 0 .../themes => themes}/Hopscotch.256.json | 0 .../public/themes => themes}/Hopscotch.json | 0 .../public/themes => themes}/Hurtado.json | 0 .../public/themes => themes}/Hybrid.json | 0 .../themes => themes}/IC_Green_PPL.json | 0 .../themes => themes}/IC_Orange_PPL.json | 0 .../public/themes => themes}/IR_Black.json | 0 .../themes => themes}/Jackie Brown.json | 0 .../public/themes => themes}/Japanesque.json | 0 .../public/themes => themes}/Jellybeans.json | 0 .../themes => themes}/JetBrains Darcula.json | 0 .../public/themes => themes}/Kibble.json | 0 .../public/themes => themes}/Kolorit.json | 0 .../public/themes => themes}/Konsolas.json | 0 .../public/themes => themes}/Lab Fox.json | 0 {frontend/public/themes => themes}/Laser.json | 0 .../themes => themes}/Later This Evening.json | 0 .../public/themes => themes}/Lavandula.json | 0 .../themes => themes}/LiquidCarbon.json | 0 .../LiquidCarbonTransparent.json | 0 .../LiquidCarbonTransparentInverse.json | 0 .../public/themes => themes}/Man Page.json | 0 .../public/themes => themes}/Mariana.json | 0 .../public/themes => themes}/Material.json | 0 .../themes => themes}/MaterialDark.json | 0 .../themes => themes}/MaterialDarker.json | 0 .../MaterialDesignColors.json | 0 .../themes => themes}/MaterialOcean.json | 0 .../public/themes => themes}/Mathias.json | 0 .../public/themes => themes}/Matrix.json | 0 .../public/themes => themes}/Medallion.json | 0 .../public/themes => themes}/Mirage.json | 0 .../public/themes => themes}/Misterioso.json | 0 .../public/themes => themes}/Molokai.json | 0 .../public/themes => themes}/MonaLisa.json | 0 .../themes => themes}/Monokai Remastered.json | 0 .../themes => themes}/Monokai Soda.json | 0 .../themes => themes}/Monokai Vivid.json | 0 .../public/themes => themes}/N0tch2k.json | 0 {frontend/public/themes => themes}/Neon.json | 0 .../public/themes => themes}/Neopolitan.json | 0 .../public/themes => themes}/Neutron.json | 0 .../themes => themes}/Night Owlish Light.json | 0 .../themes => themes}/NightLion v1.json | 0 .../themes => themes}/NightLion v2.json | 0 .../themes => themes}/Nocturnal Winter.json | 0 {frontend/public/themes => themes}/Novel.json | 0 .../public/themes => themes}/Obsidian.json | 0 {frontend/public/themes => themes}/Ocean.json | 0 .../themes => themes}/Oceanic-Next.json | 0 .../themes => themes}/OceanicMaterial.json | 0 {frontend/public/themes => themes}/Ollie.json | 0 .../public/themes => themes}/OneHalfDark.json | 0 .../themes => themes}/OneHalfLight.json | 0 .../themes => themes}/Operator Mono Dark.json | 0 .../themes => themes}/Overnight Slumber.json | 0 .../public/themes => themes}/PaleNightHC.json | 0 .../public/themes => themes}/Pandora.json | 0 .../themes => themes}/Paraiso Dark.json | 0 .../public/themes => themes}/PaulMillr.json | 0 .../public/themes => themes}/PencilDark.json | 0 .../public/themes => themes}/PencilLight.json | 0 .../public/themes => themes}/Peppermint.json | 0 .../themes => themes}/Piatto Light.json | 0 .../public/themes => themes}/Pnevma.json | 0 .../Popping and Locking.json | 0 .../public/themes => themes}/Pro Light.json | 0 {frontend/public/themes => themes}/Pro.json | 0 .../public/themes => themes}/Purple Rain.json | 0 .../public/themes => themes}/Rapture.json | 0 .../themes => themes}/Raycast_Dark.json | 0 .../themes => themes}/Raycast_Light.json | 0 .../public/themes => themes}/Red Alert.json | 0 .../public/themes => themes}/Red Planet.json | 0 .../public/themes => themes}/Red Sands.json | 0 .../public/themes => themes}/Relaxed.json | 0 {frontend/public/themes => themes}/Retro.json | 0 .../public/themes => themes}/Rippedcasts.json | 0 .../public/themes => themes}/Rouge 2.json | 0 {frontend/public/themes => themes}/Royal.json | 0 .../public/themes => themes}/Ryuuko.json | 0 .../public/themes => themes}/Sakura.json | 0 .../themes => themes}/Scarlet Protocol.json | 0 .../public/themes => themes}/SeaShells.json | 0 .../themes => themes}/Seafoam Pastel.json | 0 {frontend/public/themes => themes}/Seti.json | 0 .../public/themes => themes}/Shaman.json | 0 {frontend/public/themes => themes}/Slate.json | 0 .../themes => themes}/SleepyHollow.json | 0 {frontend/public/themes => themes}/Smyck.json | 0 .../public/themes => themes}/Snazzy.json | 0 .../public/themes => themes}/SoftServer.json | 0 .../themes => themes}/Solarized Darcula.json | 0 .../Solarized Dark - Patched.json | 0 .../Solarized Dark Higher Contrast.json | 0 .../SpaceGray Eighties Dull.json | 0 .../themes => themes}/SpaceGray Eighties.json | 0 .../public/themes => themes}/SpaceGray.json | 0 .../public/themes => themes}/Spacedust.json | 0 .../public/themes => themes}/Spiderman.json | 0 .../public/themes => themes}/Spring.json | 0 .../public/themes => themes}/Square.json | 0 .../public/themes => themes}/Sublette.json | 0 .../public/themes => themes}/Subliminal.json | 0 .../public/themes => themes}/Sundried.json | 0 .../public/themes => themes}/Symfonic.json | 0 .../themes => themes}/SynthwaveAlpha.json | 0 .../themes => themes}/Tango Adapted.json | 0 .../themes => themes}/Tango Half Adapted.json | 0 {frontend/public/themes => themes}/Teerb.json | 0 .../themes => themes}/Terminal Basic.json | 0 .../themes => themes}/Thayer Bright.json | 0 .../public/themes => themes}/The Hulk.json | 0 .../Tinacious Design (Dark).json | 0 .../Tinacious Design (Light).json | 0 .../Tomorrow Night Blue.json | 0 .../Tomorrow Night Bright.json | 0 .../Tomorrow Night Burns.json | 0 .../Tomorrow Night Eighties.json | 0 .../themes => themes}/Tomorrow Night.json | 0 .../public/themes => themes}/Tomorrow.json | 0 .../public/themes => themes}/ToyChest.json | 0 .../public/themes => themes}/Treehouse.json | 0 .../public/themes => themes}/Twilight.json | 0 .../public/themes => themes}/Ubuntu.json | 0 .../public/themes => themes}/UltraDark.json | 0 .../themes => themes}/UltraViolent.json | 0 .../public/themes => themes}/UnderTheSea.json | 0 .../public/themes => themes}/Unikitty.json | 0 {frontend/public/themes => themes}/Urple.json | 0 .../public/themes => themes}/Vaughn.json | 0 .../public/themes => themes}/VibrantInk.json | 0 .../public/themes => themes}/Violet Dark.json | 0 .../themes => themes}/Violet Light.json | 0 .../public/themes => themes}/WarmNeon.json | 0 {frontend/public/themes => themes}/Wez.json | 0 .../public/themes => themes}/Whimsy.json | 0 .../public/themes => themes}/WildCherry.json | 0 .../public/themes => themes}/Wombat.json | 0 {frontend/public/themes => themes}/Wryan.json | 0 .../public/themes => themes}/Zenburn.json | 0 .../public/themes => themes}/arcoiris.json | 0 {frontend/public/themes => themes}/ayu.json | 0 .../public/themes => themes}/ayu_light.json | 0 .../themes => themes}/catppuccin-frappe.json | 0 .../themes => themes}/catppuccin-latte.json | 0 .../catppuccin-macchiato.json | 0 .../themes => themes}/catppuccin-mocha.json | 0 .../themes => themes}/coffee_theme.json | 0 .../public/themes => themes}/cyberpunk.json | 0 {frontend/public/themes => themes}/deep.json | 0 .../public/themes => themes}/duckbones.json | 0 .../themes => themes}/iceberg-dark.json | 0 .../themes => themes}/iceberg-light.json | 0 {frontend/public/themes => themes}/idea.json | 0 .../public/themes => themes}/idleToes.json | 0 {frontend/public/themes => themes}/jubi.json | 0 .../themes => themes}/kanagawabones.json | 0 .../public/themes => themes}/lovelace.json | 0 .../themes => themes}/midnight-in-mojave.json | 0 .../themes => themes}/neobones_dark.json | 0 .../themes => themes}/neobones_light.json | 0 .../public/themes => themes}/nord-light.json | 0 {frontend/public/themes => themes}/nord.json | 0 .../public/themes => themes}/primary.json | 0 .../public/themes => themes}/purplepeter.json | 0 .../public/themes => themes}/rebecca.json | 0 .../themes => themes}/rose-pine-dawn.json | 0 .../themes => themes}/rose-pine-moon.json | 0 .../public/themes => themes}/rose-pine.json | 0 .../themes => themes}/seoulbones_dark.json | 0 .../themes => themes}/seoulbones_light.json | 0 .../themes => themes}/shades-of-purple.json | 0 .../synthwave-everything.json | 0 .../public/themes => themes}/synthwave.json | 0 .../themes => themes}/tokyonight-day.json | 0 .../themes => themes}/tokyonight-storm.json | 0 .../public/themes => themes}/tokyonight.json | 0 .../public/themes => themes}/vimbones.json | 0 .../public/themes => themes}/wilmersdorf.json | 0 .../public/themes => themes}/zenbones.json | 0 .../themes => themes}/zenbones_dark.json | 0 .../themes => themes}/zenbones_light.json | 0 .../public/themes => themes}/zenburned.json | 0 .../themes => themes}/zenwritten_dark.json | 0 .../themes => themes}/zenwritten_light.json | 0 304 files changed, 63 insertions(+), 30 deletions(-) create mode 100644 .vscode/settings.json rename frontend/scripts/refresh-themes.mjs => scripts/refresh-themes.ts (60%) mode change 100644 => 100755 rename {frontend/public/themes => themes}/3024 Day.json (100%) rename {frontend/public/themes => themes}/3024 Night.json (100%) rename {frontend/public/themes => themes}/Abernathy.json (100%) rename {frontend/public/themes => themes}/Adventure.json (100%) rename {frontend/public/themes => themes}/AdventureTime.json (100%) rename {frontend/public/themes => themes}/Afterglow.json (100%) rename {frontend/public/themes => themes}/Alabaster.json (100%) rename {frontend/public/themes => themes}/AlienBlood.json (100%) rename {frontend/public/themes => themes}/Andromeda.json (100%) rename {frontend/public/themes => themes}/Apple Classic.json (100%) rename {frontend/public/themes => themes}/Argonaut.json (100%) rename {frontend/public/themes => themes}/Arthur.json (100%) rename {frontend/public/themes => themes}/AtelierSulphurpool.json (100%) rename {frontend/public/themes => themes}/Atom.json (100%) rename {frontend/public/themes => themes}/AtomOneLight.json (100%) rename {frontend/public/themes => themes}/Aurora.json (100%) rename {frontend/public/themes => themes}/Ayu Mirage.json (100%) rename {frontend/public/themes => themes}/Banana Blueberry.json (100%) rename {frontend/public/themes => themes}/Batman.json (100%) rename {frontend/public/themes => themes}/Belafonte Day.json (100%) rename {frontend/public/themes => themes}/Belafonte Night.json (100%) rename {frontend/public/themes => themes}/BirdsOfParadise.json (100%) rename {frontend/public/themes => themes}/Blazer.json (100%) rename {frontend/public/themes => themes}/Blue Matrix.json (100%) rename {frontend/public/themes => themes}/BlueBerryPie.json (100%) rename {frontend/public/themes => themes}/BlueDolphin.json (100%) rename {frontend/public/themes => themes}/BlulocoDark.json (100%) rename {frontend/public/themes => themes}/BlulocoLight.json (100%) rename {frontend/public/themes => themes}/Borland.json (100%) rename {frontend/public/themes => themes}/Breeze.json (100%) rename {frontend/public/themes => themes}/Bright Lights.json (100%) rename {frontend/public/themes => themes}/Broadcast.json (100%) rename {frontend/public/themes => themes}/Brogrammer.json (100%) rename {frontend/public/themes => themes}/Builtin Dark.json (100%) rename {frontend/public/themes => themes}/Builtin Light.json (100%) rename {frontend/public/themes => themes}/Builtin Pastel Dark.json (100%) rename {frontend/public/themes => themes}/Builtin Solarized Dark.json (100%) rename {frontend/public/themes => themes}/Builtin Solarized Light.json (100%) rename {frontend/public/themes => themes}/Builtin Tango Dark.json (100%) rename {frontend/public/themes => themes}/Builtin Tango Light.json (100%) rename {frontend/public/themes => themes}/C64.json (100%) rename {frontend/public/themes => themes}/CGA.json (100%) rename {frontend/public/themes => themes}/CLRS.json (100%) rename {frontend/public/themes => themes}/Calamity.json (100%) rename {frontend/public/themes => themes}/Chalk.json (100%) rename {frontend/public/themes => themes}/Chalkboard.json (100%) rename {frontend/public/themes => themes}/ChallengerDeep.json (100%) rename {frontend/public/themes => themes}/Chester.json (100%) rename {frontend/public/themes => themes}/Ciapre.json (100%) rename {frontend/public/themes => themes}/Cobalt Neon.json (100%) rename {frontend/public/themes => themes}/Cobalt2.json (100%) rename {frontend/public/themes => themes}/CrayonPonyFish.json (100%) rename {frontend/public/themes => themes}/Cyberdyne.json (100%) rename {frontend/public/themes => themes}/Dark Pastel.json (100%) rename {frontend/public/themes => themes}/Dark+.json (100%) rename {frontend/public/themes => themes}/Darkermatrix.json (100%) rename {frontend/public/themes => themes}/Darkmatrix.json (100%) rename {frontend/public/themes => themes}/Darkside.json (100%) rename {frontend/public/themes => themes}/Desert.json (100%) rename {frontend/public/themes => themes}/DimmedMonokai.json (100%) rename {frontend/public/themes => themes}/Django.json (100%) rename {frontend/public/themes => themes}/DjangoRebornAgain.json (100%) rename {frontend/public/themes => themes}/DjangoSmooth.json (100%) rename {frontend/public/themes => themes}/Doom Peacock.json (100%) rename {frontend/public/themes => themes}/DoomOne.json (100%) rename {frontend/public/themes => themes}/DotGov.json (100%) rename {frontend/public/themes => themes}/Dracula+.json (100%) rename {frontend/public/themes => themes}/Dracula.json (100%) rename {frontend/public/themes => themes}/Duotone Dark.json (100%) rename {frontend/public/themes => themes}/ENCOM.json (100%) rename {frontend/public/themes => themes}/Earthsong.json (100%) rename {frontend/public/themes => themes}/Elemental.json (100%) rename {frontend/public/themes => themes}/Elementary.json (100%) rename {frontend/public/themes => themes}/Espresso Libre.json (100%) rename {frontend/public/themes => themes}/Espresso.json (100%) rename {frontend/public/themes => themes}/Everblush.json (100%) rename {frontend/public/themes => themes}/Fahrenheit.json (100%) rename {frontend/public/themes => themes}/Fairyfloss.json (100%) rename {frontend/public/themes => themes}/Fideloper.json (100%) rename {frontend/public/themes => themes}/FirefoxDev.json (100%) rename {frontend/public/themes => themes}/Firewatch.json (100%) rename {frontend/public/themes => themes}/FishTank.json (100%) rename {frontend/public/themes => themes}/Flat.json (100%) rename {frontend/public/themes => themes}/Flatland.json (100%) rename {frontend/public/themes => themes}/Floraverse.json (100%) rename {frontend/public/themes => themes}/ForestBlue.json (100%) rename {frontend/public/themes => themes}/Framer.json (100%) rename {frontend/public/themes => themes}/FrontEndDelight.json (100%) rename {frontend/public/themes => themes}/FunForrest.json (100%) rename {frontend/public/themes => themes}/Galaxy.json (100%) rename {frontend/public/themes => themes}/Galizur.json (100%) rename {frontend/public/themes => themes}/GitHub Dark.json (100%) rename {frontend/public/themes => themes}/Github.json (100%) rename {frontend/public/themes => themes}/Glacier.json (100%) rename {frontend/public/themes => themes}/Grape.json (100%) rename {frontend/public/themes => themes}/Grass.json (100%) rename {frontend/public/themes => themes}/Grey-green.json (100%) rename {frontend/public/themes => themes}/Gruvbox Light.json (100%) rename {frontend/public/themes => themes}/GruvboxDark.json (100%) rename {frontend/public/themes => themes}/GruvboxDarkHard.json (100%) rename {frontend/public/themes => themes}/Guezwhoz.json (100%) rename {frontend/public/themes => themes}/HaX0R_BLUE.json (100%) rename {frontend/public/themes => themes}/HaX0R_GR33N.json (100%) rename {frontend/public/themes => themes}/HaX0R_R3D.json (100%) rename {frontend/public/themes => themes}/Hacktober.json (100%) rename {frontend/public/themes => themes}/Hardcore.json (100%) rename {frontend/public/themes => themes}/Harper.json (100%) rename {frontend/public/themes => themes}/Highway.json (100%) rename {frontend/public/themes => themes}/Hipster Green.json (100%) rename {frontend/public/themes => themes}/Hivacruz.json (100%) rename {frontend/public/themes => themes}/Homebrew.json (100%) rename {frontend/public/themes => themes}/Hopscotch.256.json (100%) rename {frontend/public/themes => themes}/Hopscotch.json (100%) rename {frontend/public/themes => themes}/Hurtado.json (100%) rename {frontend/public/themes => themes}/Hybrid.json (100%) rename {frontend/public/themes => themes}/IC_Green_PPL.json (100%) rename {frontend/public/themes => themes}/IC_Orange_PPL.json (100%) rename {frontend/public/themes => themes}/IR_Black.json (100%) rename {frontend/public/themes => themes}/Jackie Brown.json (100%) rename {frontend/public/themes => themes}/Japanesque.json (100%) rename {frontend/public/themes => themes}/Jellybeans.json (100%) rename {frontend/public/themes => themes}/JetBrains Darcula.json (100%) rename {frontend/public/themes => themes}/Kibble.json (100%) rename {frontend/public/themes => themes}/Kolorit.json (100%) rename {frontend/public/themes => themes}/Konsolas.json (100%) rename {frontend/public/themes => themes}/Lab Fox.json (100%) rename {frontend/public/themes => themes}/Laser.json (100%) rename {frontend/public/themes => themes}/Later This Evening.json (100%) rename {frontend/public/themes => themes}/Lavandula.json (100%) rename {frontend/public/themes => themes}/LiquidCarbon.json (100%) rename {frontend/public/themes => themes}/LiquidCarbonTransparent.json (100%) rename {frontend/public/themes => themes}/LiquidCarbonTransparentInverse.json (100%) rename {frontend/public/themes => themes}/Man Page.json (100%) rename {frontend/public/themes => themes}/Mariana.json (100%) rename {frontend/public/themes => themes}/Material.json (100%) rename {frontend/public/themes => themes}/MaterialDark.json (100%) rename {frontend/public/themes => themes}/MaterialDarker.json (100%) rename {frontend/public/themes => themes}/MaterialDesignColors.json (100%) rename {frontend/public/themes => themes}/MaterialOcean.json (100%) rename {frontend/public/themes => themes}/Mathias.json (100%) rename {frontend/public/themes => themes}/Matrix.json (100%) rename {frontend/public/themes => themes}/Medallion.json (100%) rename {frontend/public/themes => themes}/Mirage.json (100%) rename {frontend/public/themes => themes}/Misterioso.json (100%) rename {frontend/public/themes => themes}/Molokai.json (100%) rename {frontend/public/themes => themes}/MonaLisa.json (100%) rename {frontend/public/themes => themes}/Monokai Remastered.json (100%) rename {frontend/public/themes => themes}/Monokai Soda.json (100%) rename {frontend/public/themes => themes}/Monokai Vivid.json (100%) rename {frontend/public/themes => themes}/N0tch2k.json (100%) rename {frontend/public/themes => themes}/Neon.json (100%) rename {frontend/public/themes => themes}/Neopolitan.json (100%) rename {frontend/public/themes => themes}/Neutron.json (100%) rename {frontend/public/themes => themes}/Night Owlish Light.json (100%) rename {frontend/public/themes => themes}/NightLion v1.json (100%) rename {frontend/public/themes => themes}/NightLion v2.json (100%) rename {frontend/public/themes => themes}/Nocturnal Winter.json (100%) rename {frontend/public/themes => themes}/Novel.json (100%) rename {frontend/public/themes => themes}/Obsidian.json (100%) rename {frontend/public/themes => themes}/Ocean.json (100%) rename {frontend/public/themes => themes}/Oceanic-Next.json (100%) rename {frontend/public/themes => themes}/OceanicMaterial.json (100%) rename {frontend/public/themes => themes}/Ollie.json (100%) rename {frontend/public/themes => themes}/OneHalfDark.json (100%) rename {frontend/public/themes => themes}/OneHalfLight.json (100%) rename {frontend/public/themes => themes}/Operator Mono Dark.json (100%) rename {frontend/public/themes => themes}/Overnight Slumber.json (100%) rename {frontend/public/themes => themes}/PaleNightHC.json (100%) rename {frontend/public/themes => themes}/Pandora.json (100%) rename {frontend/public/themes => themes}/Paraiso Dark.json (100%) rename {frontend/public/themes => themes}/PaulMillr.json (100%) rename {frontend/public/themes => themes}/PencilDark.json (100%) rename {frontend/public/themes => themes}/PencilLight.json (100%) rename {frontend/public/themes => themes}/Peppermint.json (100%) rename {frontend/public/themes => themes}/Piatto Light.json (100%) rename {frontend/public/themes => themes}/Pnevma.json (100%) rename {frontend/public/themes => themes}/Popping and Locking.json (100%) rename {frontend/public/themes => themes}/Pro Light.json (100%) rename {frontend/public/themes => themes}/Pro.json (100%) rename {frontend/public/themes => themes}/Purple Rain.json (100%) rename {frontend/public/themes => themes}/Rapture.json (100%) rename {frontend/public/themes => themes}/Raycast_Dark.json (100%) rename {frontend/public/themes => themes}/Raycast_Light.json (100%) rename {frontend/public/themes => themes}/Red Alert.json (100%) rename {frontend/public/themes => themes}/Red Planet.json (100%) rename {frontend/public/themes => themes}/Red Sands.json (100%) rename {frontend/public/themes => themes}/Relaxed.json (100%) rename {frontend/public/themes => themes}/Retro.json (100%) rename {frontend/public/themes => themes}/Rippedcasts.json (100%) rename {frontend/public/themes => themes}/Rouge 2.json (100%) rename {frontend/public/themes => themes}/Royal.json (100%) rename {frontend/public/themes => themes}/Ryuuko.json (100%) rename {frontend/public/themes => themes}/Sakura.json (100%) rename {frontend/public/themes => themes}/Scarlet Protocol.json (100%) rename {frontend/public/themes => themes}/SeaShells.json (100%) rename {frontend/public/themes => themes}/Seafoam Pastel.json (100%) rename {frontend/public/themes => themes}/Seti.json (100%) rename {frontend/public/themes => themes}/Shaman.json (100%) rename {frontend/public/themes => themes}/Slate.json (100%) rename {frontend/public/themes => themes}/SleepyHollow.json (100%) rename {frontend/public/themes => themes}/Smyck.json (100%) rename {frontend/public/themes => themes}/Snazzy.json (100%) rename {frontend/public/themes => themes}/SoftServer.json (100%) rename {frontend/public/themes => themes}/Solarized Darcula.json (100%) rename {frontend/public/themes => themes}/Solarized Dark - Patched.json (100%) rename {frontend/public/themes => themes}/Solarized Dark Higher Contrast.json (100%) rename {frontend/public/themes => themes}/SpaceGray Eighties Dull.json (100%) rename {frontend/public/themes => themes}/SpaceGray Eighties.json (100%) rename {frontend/public/themes => themes}/SpaceGray.json (100%) rename {frontend/public/themes => themes}/Spacedust.json (100%) rename {frontend/public/themes => themes}/Spiderman.json (100%) rename {frontend/public/themes => themes}/Spring.json (100%) rename {frontend/public/themes => themes}/Square.json (100%) rename {frontend/public/themes => themes}/Sublette.json (100%) rename {frontend/public/themes => themes}/Subliminal.json (100%) rename {frontend/public/themes => themes}/Sundried.json (100%) rename {frontend/public/themes => themes}/Symfonic.json (100%) rename {frontend/public/themes => themes}/SynthwaveAlpha.json (100%) rename {frontend/public/themes => themes}/Tango Adapted.json (100%) rename {frontend/public/themes => themes}/Tango Half Adapted.json (100%) rename {frontend/public/themes => themes}/Teerb.json (100%) rename {frontend/public/themes => themes}/Terminal Basic.json (100%) rename {frontend/public/themes => themes}/Thayer Bright.json (100%) rename {frontend/public/themes => themes}/The Hulk.json (100%) rename {frontend/public/themes => themes}/Tinacious Design (Dark).json (100%) rename {frontend/public/themes => themes}/Tinacious Design (Light).json (100%) rename {frontend/public/themes => themes}/Tomorrow Night Blue.json (100%) rename {frontend/public/themes => themes}/Tomorrow Night Bright.json (100%) rename {frontend/public/themes => themes}/Tomorrow Night Burns.json (100%) rename {frontend/public/themes => themes}/Tomorrow Night Eighties.json (100%) rename {frontend/public/themes => themes}/Tomorrow Night.json (100%) rename {frontend/public/themes => themes}/Tomorrow.json (100%) rename {frontend/public/themes => themes}/ToyChest.json (100%) rename {frontend/public/themes => themes}/Treehouse.json (100%) rename {frontend/public/themes => themes}/Twilight.json (100%) rename {frontend/public/themes => themes}/Ubuntu.json (100%) rename {frontend/public/themes => themes}/UltraDark.json (100%) rename {frontend/public/themes => themes}/UltraViolent.json (100%) rename {frontend/public/themes => themes}/UnderTheSea.json (100%) rename {frontend/public/themes => themes}/Unikitty.json (100%) rename {frontend/public/themes => themes}/Urple.json (100%) rename {frontend/public/themes => themes}/Vaughn.json (100%) rename {frontend/public/themes => themes}/VibrantInk.json (100%) rename {frontend/public/themes => themes}/Violet Dark.json (100%) rename {frontend/public/themes => themes}/Violet Light.json (100%) rename {frontend/public/themes => themes}/WarmNeon.json (100%) rename {frontend/public/themes => themes}/Wez.json (100%) rename {frontend/public/themes => themes}/Whimsy.json (100%) rename {frontend/public/themes => themes}/WildCherry.json (100%) rename {frontend/public/themes => themes}/Wombat.json (100%) rename {frontend/public/themes => themes}/Wryan.json (100%) rename {frontend/public/themes => themes}/Zenburn.json (100%) rename {frontend/public/themes => themes}/arcoiris.json (100%) rename {frontend/public/themes => themes}/ayu.json (100%) rename {frontend/public/themes => themes}/ayu_light.json (100%) rename {frontend/public/themes => themes}/catppuccin-frappe.json (100%) rename {frontend/public/themes => themes}/catppuccin-latte.json (100%) rename {frontend/public/themes => themes}/catppuccin-macchiato.json (100%) rename {frontend/public/themes => themes}/catppuccin-mocha.json (100%) rename {frontend/public/themes => themes}/coffee_theme.json (100%) rename {frontend/public/themes => themes}/cyberpunk.json (100%) rename {frontend/public/themes => themes}/deep.json (100%) rename {frontend/public/themes => themes}/duckbones.json (100%) rename {frontend/public/themes => themes}/iceberg-dark.json (100%) rename {frontend/public/themes => themes}/iceberg-light.json (100%) rename {frontend/public/themes => themes}/idea.json (100%) rename {frontend/public/themes => themes}/idleToes.json (100%) rename {frontend/public/themes => themes}/jubi.json (100%) rename {frontend/public/themes => themes}/kanagawabones.json (100%) rename {frontend/public/themes => themes}/lovelace.json (100%) rename {frontend/public/themes => themes}/midnight-in-mojave.json (100%) rename {frontend/public/themes => themes}/neobones_dark.json (100%) rename {frontend/public/themes => themes}/neobones_light.json (100%) rename {frontend/public/themes => themes}/nord-light.json (100%) rename {frontend/public/themes => themes}/nord.json (100%) rename {frontend/public/themes => themes}/primary.json (100%) rename {frontend/public/themes => themes}/purplepeter.json (100%) rename {frontend/public/themes => themes}/rebecca.json (100%) rename {frontend/public/themes => themes}/rose-pine-dawn.json (100%) rename {frontend/public/themes => themes}/rose-pine-moon.json (100%) rename {frontend/public/themes => themes}/rose-pine.json (100%) rename {frontend/public/themes => themes}/seoulbones_dark.json (100%) rename {frontend/public/themes => themes}/seoulbones_light.json (100%) rename {frontend/public/themes => themes}/shades-of-purple.json (100%) rename {frontend/public/themes => themes}/synthwave-everything.json (100%) rename {frontend/public/themes => themes}/synthwave.json (100%) rename {frontend/public/themes => themes}/tokyonight-day.json (100%) rename {frontend/public/themes => themes}/tokyonight-storm.json (100%) rename {frontend/public/themes => themes}/tokyonight.json (100%) rename {frontend/public/themes => themes}/vimbones.json (100%) rename {frontend/public/themes => themes}/wilmersdorf.json (100%) rename {frontend/public/themes => themes}/zenbones.json (100%) rename {frontend/public/themes => themes}/zenbones_dark.json (100%) rename {frontend/public/themes => themes}/zenbones_light.json (100%) rename {frontend/public/themes => themes}/zenburned.json (100%) rename {frontend/public/themes => themes}/zenwritten_dark.json (100%) rename {frontend/public/themes => themes}/zenwritten_light.json (100%) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index eff10a6..f497752 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -4,7 +4,9 @@ name: Deploy static content to Pages on: # Runs on pushes targeting the default branch push: - branches: ["main"] + # run only against tags + tags: + - "v*.*.*" # Allows you to run this workflow manually from the Actions tab workflow_dispatch: diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..7d445c6 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,5 @@ +{ + "deno.enablePaths": [ + "./scripts" + ] +} diff --git a/README.md b/README.md index abf15bb..6c77689 100644 --- a/README.md +++ b/README.md @@ -55,5 +55,5 @@ custom path. ## Endpoints - `/` - Open Default Profile -- `/p/` - Open Profile -- `/config` - View Configuration +- `/?reload=true` - Reload the Page when the Command Exits +- `/?profile=` - Open Specific Profile diff --git a/config.go b/config.go index 96d9197..9a4e462 100644 --- a/config.go +++ b/config.go @@ -22,7 +22,7 @@ type Config struct { } type Profile struct { - Command string `json:"command"` + Command string `json:"command,omitempty"` Args []string `json:"args,omitempty"` Cwd string `json:"cwd,omitempty"` Env map[string]string `json:"env,omitempty"` diff --git a/frontend/src/terminal.ts b/frontend/src/terminal.ts index d55b726..77ee4a0 100644 --- a/frontend/src/terminal.ts +++ b/frontend/src/terminal.ts @@ -6,8 +6,9 @@ import { AttachAddon } from "xterm-addon-attach"; import { nanoid } from "nanoid"; import { Config } from "./config"; -async function importTheme(name: string) { - return fetchJSON(`${import.meta.env.BASE_URL}themes/${name}.json`) as Promise +async function fetchTheme(name: string, origin: URL) { + const themeUrl = new URL(`/themes/${name}.json`, origin) + return fetchJSON(themeUrl) as Promise } async function fetchJSON(url: string | URL, options?: RequestInit) { @@ -27,8 +28,8 @@ async function main() { } const config = await fetchJSON(new URL("/config", origin)) as Config - const lightTheme = await importTheme(config.theme || "Tomorrow") - const darkTheme = await importTheme(config.themeDark || config.theme || "Tomorrow Night") + const lightTheme = await fetchTheme(config.theme || "Tomorrow", origin) + const darkTheme = await fetchTheme(config.themeDark || config.theme || "Tomorrow Night", origin) const terminal = new Terminal({ cursorBlink: true, allowProposedApi: true, diff --git a/frontend/scripts/refresh-themes.mjs b/scripts/refresh-themes.ts old mode 100644 new mode 100755 similarity index 60% rename from frontend/scripts/refresh-themes.mjs rename to scripts/refresh-themes.ts index 2cda8e3..777f9cf --- a/frontend/scripts/refresh-themes.mjs +++ b/scripts/refresh-themes.ts @@ -1,9 +1,9 @@ -// @ts-check +#!/usr/bin/env deno run -A + +import degit from "npm:degit" +import * as path from "https://deno.land/std/path/mod.ts" +import { existsSync } from "https://deno.land/std/fs/mod.ts"; -import degit from "degit" -import os from "os" -import path from "path" -import fs from "fs/promises" const dirname = path.dirname(new URL(import.meta.url).pathname) const emitter = await degit('mbadolato/iTerm2-Color-Schemes/vscode', { @@ -12,14 +12,14 @@ const emitter = await degit('mbadolato/iTerm2-Color-Schemes/vscode', { verbose: true }) -emitter.on('info', info => { +emitter.on('info', (info: any) => { console.log(info.message) }) -const cloneDir = path.join(os.tmpdir(), "degit") +const cloneDir = path.join(Deno.makeTempDirSync(), "degit") await emitter.clone(cloneDir) -const entries = await fs.readdir(cloneDir, { withFileTypes: true }) +const entries = await Deno.readDirSync(cloneDir) const keyMapping = { "terminal.foreground": "foreground", "terminal.background": "background", @@ -41,19 +41,21 @@ const keyMapping = { "terminal.ansiBrightYellow": "ansiBrightYellow", "terminal.selectionBackground": "selectionBackground", "terminalCursor.foreground": "cursor" -} -const themeDir = path.join(dirname, "..", "public", "themes") +} as Record +const themeDir = path.join(dirname, "..", "themes") -await fs.rm(themeDir, { recursive: true, force: true }) -await fs.mkdir(themeDir) +if (existsSync(themeDir)) { + Deno.removeSync(themeDir, { recursive: true }) +} +Deno.mkdirSync(themeDir) for (const entry of entries) { - const vscodeTheme = JSON.parse(await fs.readFile(path.join(cloneDir, entry.name), { encoding: "utf-8" })) - const xtermTheme = {} + const vscodeTheme = JSON.parse(Deno.readTextFileSync(path.join(cloneDir, entry.name))) + const xtermTheme: Record = {} for (const [key, value] of Object.entries(vscodeTheme["workbench.colorCustomizations"])) { - xtermTheme[keyMapping[key]] = value + xtermTheme[keyMapping[key]] = value as string } - await fs.writeFile(path.join(themeDir, entry.name), JSON.stringify(xtermTheme, null, 4)) + await Deno.writeTextFileSync(path.join(themeDir, entry.name), JSON.stringify(xtermTheme, null, 4)) } -await fs.rm(path.join(cloneDir), { recursive: true, force: true }) +Deno.removeSync(path.join(cloneDir), { recursive: true }) diff --git a/server.go b/server.go index dce9eb6..251cd8e 100644 --- a/server.go +++ b/server.go @@ -50,6 +50,15 @@ func NewHandler() (http.Handler, error) { return } + config.Env = nil + for k, profile := range config.Profiles { + profile.Command = "" + profile.Args = nil + profile.Cwd = "" + profile.Env = nil + config.Profiles[k] = profile + } + encoder := json.NewEncoder(w) encoder.SetIndent("", " ") encoder.SetEscapeHTML(false) @@ -61,11 +70,6 @@ func NewHandler() (http.Handler, error) { } }) - r.Get("/p/{profileName}", func(w http.ResponseWriter, r *http.Request) { - profileName := chi.URLParam(r, "profileName") - http.Redirect(w, r, fmt.Sprintf("/?profile=%s", profileName), http.StatusFound) - }) - ttyMap := make(map[string]*os.File) r.Get("/pty/{terminalID}", func(w http.ResponseWriter, r *http.Request) { terminalID := chi.URLParam(r, "terminalID") @@ -193,6 +197,13 @@ func NewHandler() (http.Handler, error) { w.Write([]byte("Resized")) }) + themeHandler, err := ThemeHandler() + if err != nil { + return nil, err + } + + r.Handle("/themes/*", http.StripPrefix("/themes", themeHandler)) + frontendHandler, err := FrontendHandler() if err != nil { return nil, err @@ -214,6 +225,18 @@ func FrontendHandler() (http.Handler, error) { return http.FileServer(http.FS(fs)), nil } +//go:embed all:themes +var themes embed.FS + +func ThemeHandler() (http.Handler, error) { + fs, err := fs.Sub(themes, "themes") + if err != nil { + return nil, err + } + + return http.FileServer(http.FS(fs)), nil +} + var ( maxBufferSizeBytes = 512 keepalivePingTimeout = 20 * time.Second diff --git a/frontend/public/themes/3024 Day.json b/themes/3024 Day.json similarity index 100% rename from frontend/public/themes/3024 Day.json rename to themes/3024 Day.json diff --git a/frontend/public/themes/3024 Night.json b/themes/3024 Night.json similarity index 100% rename from frontend/public/themes/3024 Night.json rename to themes/3024 Night.json diff --git a/frontend/public/themes/Abernathy.json b/themes/Abernathy.json similarity index 100% rename from frontend/public/themes/Abernathy.json rename to themes/Abernathy.json diff --git a/frontend/public/themes/Adventure.json b/themes/Adventure.json similarity index 100% rename from frontend/public/themes/Adventure.json rename to themes/Adventure.json diff --git a/frontend/public/themes/AdventureTime.json b/themes/AdventureTime.json similarity index 100% rename from frontend/public/themes/AdventureTime.json rename to themes/AdventureTime.json diff --git a/frontend/public/themes/Afterglow.json b/themes/Afterglow.json similarity index 100% rename from frontend/public/themes/Afterglow.json rename to themes/Afterglow.json diff --git a/frontend/public/themes/Alabaster.json b/themes/Alabaster.json similarity index 100% rename from frontend/public/themes/Alabaster.json rename to themes/Alabaster.json diff --git a/frontend/public/themes/AlienBlood.json b/themes/AlienBlood.json similarity index 100% rename from frontend/public/themes/AlienBlood.json rename to themes/AlienBlood.json diff --git a/frontend/public/themes/Andromeda.json b/themes/Andromeda.json similarity index 100% rename from frontend/public/themes/Andromeda.json rename to themes/Andromeda.json diff --git a/frontend/public/themes/Apple Classic.json b/themes/Apple Classic.json similarity index 100% rename from frontend/public/themes/Apple Classic.json rename to themes/Apple Classic.json diff --git a/frontend/public/themes/Argonaut.json b/themes/Argonaut.json similarity index 100% rename from frontend/public/themes/Argonaut.json rename to themes/Argonaut.json diff --git a/frontend/public/themes/Arthur.json b/themes/Arthur.json similarity index 100% rename from frontend/public/themes/Arthur.json rename to themes/Arthur.json diff --git a/frontend/public/themes/AtelierSulphurpool.json b/themes/AtelierSulphurpool.json similarity index 100% rename from frontend/public/themes/AtelierSulphurpool.json rename to themes/AtelierSulphurpool.json diff --git a/frontend/public/themes/Atom.json b/themes/Atom.json similarity index 100% rename from frontend/public/themes/Atom.json rename to themes/Atom.json diff --git a/frontend/public/themes/AtomOneLight.json b/themes/AtomOneLight.json similarity index 100% rename from frontend/public/themes/AtomOneLight.json rename to themes/AtomOneLight.json diff --git a/frontend/public/themes/Aurora.json b/themes/Aurora.json similarity index 100% rename from frontend/public/themes/Aurora.json rename to themes/Aurora.json diff --git a/frontend/public/themes/Ayu Mirage.json b/themes/Ayu Mirage.json similarity index 100% rename from frontend/public/themes/Ayu Mirage.json rename to themes/Ayu Mirage.json diff --git a/frontend/public/themes/Banana Blueberry.json b/themes/Banana Blueberry.json similarity index 100% rename from frontend/public/themes/Banana Blueberry.json rename to themes/Banana Blueberry.json diff --git a/frontend/public/themes/Batman.json b/themes/Batman.json similarity index 100% rename from frontend/public/themes/Batman.json rename to themes/Batman.json diff --git a/frontend/public/themes/Belafonte Day.json b/themes/Belafonte Day.json similarity index 100% rename from frontend/public/themes/Belafonte Day.json rename to themes/Belafonte Day.json diff --git a/frontend/public/themes/Belafonte Night.json b/themes/Belafonte Night.json similarity index 100% rename from frontend/public/themes/Belafonte Night.json rename to themes/Belafonte Night.json diff --git a/frontend/public/themes/BirdsOfParadise.json b/themes/BirdsOfParadise.json similarity index 100% rename from frontend/public/themes/BirdsOfParadise.json rename to themes/BirdsOfParadise.json diff --git a/frontend/public/themes/Blazer.json b/themes/Blazer.json similarity index 100% rename from frontend/public/themes/Blazer.json rename to themes/Blazer.json diff --git a/frontend/public/themes/Blue Matrix.json b/themes/Blue Matrix.json similarity index 100% rename from frontend/public/themes/Blue Matrix.json rename to themes/Blue Matrix.json diff --git a/frontend/public/themes/BlueBerryPie.json b/themes/BlueBerryPie.json similarity index 100% rename from frontend/public/themes/BlueBerryPie.json rename to themes/BlueBerryPie.json diff --git a/frontend/public/themes/BlueDolphin.json b/themes/BlueDolphin.json similarity index 100% rename from frontend/public/themes/BlueDolphin.json rename to themes/BlueDolphin.json diff --git a/frontend/public/themes/BlulocoDark.json b/themes/BlulocoDark.json similarity index 100% rename from frontend/public/themes/BlulocoDark.json rename to themes/BlulocoDark.json diff --git a/frontend/public/themes/BlulocoLight.json b/themes/BlulocoLight.json similarity index 100% rename from frontend/public/themes/BlulocoLight.json rename to themes/BlulocoLight.json diff --git a/frontend/public/themes/Borland.json b/themes/Borland.json similarity index 100% rename from frontend/public/themes/Borland.json rename to themes/Borland.json diff --git a/frontend/public/themes/Breeze.json b/themes/Breeze.json similarity index 100% rename from frontend/public/themes/Breeze.json rename to themes/Breeze.json diff --git a/frontend/public/themes/Bright Lights.json b/themes/Bright Lights.json similarity index 100% rename from frontend/public/themes/Bright Lights.json rename to themes/Bright Lights.json diff --git a/frontend/public/themes/Broadcast.json b/themes/Broadcast.json similarity index 100% rename from frontend/public/themes/Broadcast.json rename to themes/Broadcast.json diff --git a/frontend/public/themes/Brogrammer.json b/themes/Brogrammer.json similarity index 100% rename from frontend/public/themes/Brogrammer.json rename to themes/Brogrammer.json diff --git a/frontend/public/themes/Builtin Dark.json b/themes/Builtin Dark.json similarity index 100% rename from frontend/public/themes/Builtin Dark.json rename to themes/Builtin Dark.json diff --git a/frontend/public/themes/Builtin Light.json b/themes/Builtin Light.json similarity index 100% rename from frontend/public/themes/Builtin Light.json rename to themes/Builtin Light.json diff --git a/frontend/public/themes/Builtin Pastel Dark.json b/themes/Builtin Pastel Dark.json similarity index 100% rename from frontend/public/themes/Builtin Pastel Dark.json rename to themes/Builtin Pastel Dark.json diff --git a/frontend/public/themes/Builtin Solarized Dark.json b/themes/Builtin Solarized Dark.json similarity index 100% rename from frontend/public/themes/Builtin Solarized Dark.json rename to themes/Builtin Solarized Dark.json diff --git a/frontend/public/themes/Builtin Solarized Light.json b/themes/Builtin Solarized Light.json similarity index 100% rename from frontend/public/themes/Builtin Solarized Light.json rename to themes/Builtin Solarized Light.json diff --git a/frontend/public/themes/Builtin Tango Dark.json b/themes/Builtin Tango Dark.json similarity index 100% rename from frontend/public/themes/Builtin Tango Dark.json rename to themes/Builtin Tango Dark.json diff --git a/frontend/public/themes/Builtin Tango Light.json b/themes/Builtin Tango Light.json similarity index 100% rename from frontend/public/themes/Builtin Tango Light.json rename to themes/Builtin Tango Light.json diff --git a/frontend/public/themes/C64.json b/themes/C64.json similarity index 100% rename from frontend/public/themes/C64.json rename to themes/C64.json diff --git a/frontend/public/themes/CGA.json b/themes/CGA.json similarity index 100% rename from frontend/public/themes/CGA.json rename to themes/CGA.json diff --git a/frontend/public/themes/CLRS.json b/themes/CLRS.json similarity index 100% rename from frontend/public/themes/CLRS.json rename to themes/CLRS.json diff --git a/frontend/public/themes/Calamity.json b/themes/Calamity.json similarity index 100% rename from frontend/public/themes/Calamity.json rename to themes/Calamity.json diff --git a/frontend/public/themes/Chalk.json b/themes/Chalk.json similarity index 100% rename from frontend/public/themes/Chalk.json rename to themes/Chalk.json diff --git a/frontend/public/themes/Chalkboard.json b/themes/Chalkboard.json similarity index 100% rename from frontend/public/themes/Chalkboard.json rename to themes/Chalkboard.json diff --git a/frontend/public/themes/ChallengerDeep.json b/themes/ChallengerDeep.json similarity index 100% rename from frontend/public/themes/ChallengerDeep.json rename to themes/ChallengerDeep.json diff --git a/frontend/public/themes/Chester.json b/themes/Chester.json similarity index 100% rename from frontend/public/themes/Chester.json rename to themes/Chester.json diff --git a/frontend/public/themes/Ciapre.json b/themes/Ciapre.json similarity index 100% rename from frontend/public/themes/Ciapre.json rename to themes/Ciapre.json diff --git a/frontend/public/themes/Cobalt Neon.json b/themes/Cobalt Neon.json similarity index 100% rename from frontend/public/themes/Cobalt Neon.json rename to themes/Cobalt Neon.json diff --git a/frontend/public/themes/Cobalt2.json b/themes/Cobalt2.json similarity index 100% rename from frontend/public/themes/Cobalt2.json rename to themes/Cobalt2.json diff --git a/frontend/public/themes/CrayonPonyFish.json b/themes/CrayonPonyFish.json similarity index 100% rename from frontend/public/themes/CrayonPonyFish.json rename to themes/CrayonPonyFish.json diff --git a/frontend/public/themes/Cyberdyne.json b/themes/Cyberdyne.json similarity index 100% rename from frontend/public/themes/Cyberdyne.json rename to themes/Cyberdyne.json diff --git a/frontend/public/themes/Dark Pastel.json b/themes/Dark Pastel.json similarity index 100% rename from frontend/public/themes/Dark Pastel.json rename to themes/Dark Pastel.json diff --git a/frontend/public/themes/Dark+.json b/themes/Dark+.json similarity index 100% rename from frontend/public/themes/Dark+.json rename to themes/Dark+.json diff --git a/frontend/public/themes/Darkermatrix.json b/themes/Darkermatrix.json similarity index 100% rename from frontend/public/themes/Darkermatrix.json rename to themes/Darkermatrix.json diff --git a/frontend/public/themes/Darkmatrix.json b/themes/Darkmatrix.json similarity index 100% rename from frontend/public/themes/Darkmatrix.json rename to themes/Darkmatrix.json diff --git a/frontend/public/themes/Darkside.json b/themes/Darkside.json similarity index 100% rename from frontend/public/themes/Darkside.json rename to themes/Darkside.json diff --git a/frontend/public/themes/Desert.json b/themes/Desert.json similarity index 100% rename from frontend/public/themes/Desert.json rename to themes/Desert.json diff --git a/frontend/public/themes/DimmedMonokai.json b/themes/DimmedMonokai.json similarity index 100% rename from frontend/public/themes/DimmedMonokai.json rename to themes/DimmedMonokai.json diff --git a/frontend/public/themes/Django.json b/themes/Django.json similarity index 100% rename from frontend/public/themes/Django.json rename to themes/Django.json diff --git a/frontend/public/themes/DjangoRebornAgain.json b/themes/DjangoRebornAgain.json similarity index 100% rename from frontend/public/themes/DjangoRebornAgain.json rename to themes/DjangoRebornAgain.json diff --git a/frontend/public/themes/DjangoSmooth.json b/themes/DjangoSmooth.json similarity index 100% rename from frontend/public/themes/DjangoSmooth.json rename to themes/DjangoSmooth.json diff --git a/frontend/public/themes/Doom Peacock.json b/themes/Doom Peacock.json similarity index 100% rename from frontend/public/themes/Doom Peacock.json rename to themes/Doom Peacock.json diff --git a/frontend/public/themes/DoomOne.json b/themes/DoomOne.json similarity index 100% rename from frontend/public/themes/DoomOne.json rename to themes/DoomOne.json diff --git a/frontend/public/themes/DotGov.json b/themes/DotGov.json similarity index 100% rename from frontend/public/themes/DotGov.json rename to themes/DotGov.json diff --git a/frontend/public/themes/Dracula+.json b/themes/Dracula+.json similarity index 100% rename from frontend/public/themes/Dracula+.json rename to themes/Dracula+.json diff --git a/frontend/public/themes/Dracula.json b/themes/Dracula.json similarity index 100% rename from frontend/public/themes/Dracula.json rename to themes/Dracula.json diff --git a/frontend/public/themes/Duotone Dark.json b/themes/Duotone Dark.json similarity index 100% rename from frontend/public/themes/Duotone Dark.json rename to themes/Duotone Dark.json diff --git a/frontend/public/themes/ENCOM.json b/themes/ENCOM.json similarity index 100% rename from frontend/public/themes/ENCOM.json rename to themes/ENCOM.json diff --git a/frontend/public/themes/Earthsong.json b/themes/Earthsong.json similarity index 100% rename from frontend/public/themes/Earthsong.json rename to themes/Earthsong.json diff --git a/frontend/public/themes/Elemental.json b/themes/Elemental.json similarity index 100% rename from frontend/public/themes/Elemental.json rename to themes/Elemental.json diff --git a/frontend/public/themes/Elementary.json b/themes/Elementary.json similarity index 100% rename from frontend/public/themes/Elementary.json rename to themes/Elementary.json diff --git a/frontend/public/themes/Espresso Libre.json b/themes/Espresso Libre.json similarity index 100% rename from frontend/public/themes/Espresso Libre.json rename to themes/Espresso Libre.json diff --git a/frontend/public/themes/Espresso.json b/themes/Espresso.json similarity index 100% rename from frontend/public/themes/Espresso.json rename to themes/Espresso.json diff --git a/frontend/public/themes/Everblush.json b/themes/Everblush.json similarity index 100% rename from frontend/public/themes/Everblush.json rename to themes/Everblush.json diff --git a/frontend/public/themes/Fahrenheit.json b/themes/Fahrenheit.json similarity index 100% rename from frontend/public/themes/Fahrenheit.json rename to themes/Fahrenheit.json diff --git a/frontend/public/themes/Fairyfloss.json b/themes/Fairyfloss.json similarity index 100% rename from frontend/public/themes/Fairyfloss.json rename to themes/Fairyfloss.json diff --git a/frontend/public/themes/Fideloper.json b/themes/Fideloper.json similarity index 100% rename from frontend/public/themes/Fideloper.json rename to themes/Fideloper.json diff --git a/frontend/public/themes/FirefoxDev.json b/themes/FirefoxDev.json similarity index 100% rename from frontend/public/themes/FirefoxDev.json rename to themes/FirefoxDev.json diff --git a/frontend/public/themes/Firewatch.json b/themes/Firewatch.json similarity index 100% rename from frontend/public/themes/Firewatch.json rename to themes/Firewatch.json diff --git a/frontend/public/themes/FishTank.json b/themes/FishTank.json similarity index 100% rename from frontend/public/themes/FishTank.json rename to themes/FishTank.json diff --git a/frontend/public/themes/Flat.json b/themes/Flat.json similarity index 100% rename from frontend/public/themes/Flat.json rename to themes/Flat.json diff --git a/frontend/public/themes/Flatland.json b/themes/Flatland.json similarity index 100% rename from frontend/public/themes/Flatland.json rename to themes/Flatland.json diff --git a/frontend/public/themes/Floraverse.json b/themes/Floraverse.json similarity index 100% rename from frontend/public/themes/Floraverse.json rename to themes/Floraverse.json diff --git a/frontend/public/themes/ForestBlue.json b/themes/ForestBlue.json similarity index 100% rename from frontend/public/themes/ForestBlue.json rename to themes/ForestBlue.json diff --git a/frontend/public/themes/Framer.json b/themes/Framer.json similarity index 100% rename from frontend/public/themes/Framer.json rename to themes/Framer.json diff --git a/frontend/public/themes/FrontEndDelight.json b/themes/FrontEndDelight.json similarity index 100% rename from frontend/public/themes/FrontEndDelight.json rename to themes/FrontEndDelight.json diff --git a/frontend/public/themes/FunForrest.json b/themes/FunForrest.json similarity index 100% rename from frontend/public/themes/FunForrest.json rename to themes/FunForrest.json diff --git a/frontend/public/themes/Galaxy.json b/themes/Galaxy.json similarity index 100% rename from frontend/public/themes/Galaxy.json rename to themes/Galaxy.json diff --git a/frontend/public/themes/Galizur.json b/themes/Galizur.json similarity index 100% rename from frontend/public/themes/Galizur.json rename to themes/Galizur.json diff --git a/frontend/public/themes/GitHub Dark.json b/themes/GitHub Dark.json similarity index 100% rename from frontend/public/themes/GitHub Dark.json rename to themes/GitHub Dark.json diff --git a/frontend/public/themes/Github.json b/themes/Github.json similarity index 100% rename from frontend/public/themes/Github.json rename to themes/Github.json diff --git a/frontend/public/themes/Glacier.json b/themes/Glacier.json similarity index 100% rename from frontend/public/themes/Glacier.json rename to themes/Glacier.json diff --git a/frontend/public/themes/Grape.json b/themes/Grape.json similarity index 100% rename from frontend/public/themes/Grape.json rename to themes/Grape.json diff --git a/frontend/public/themes/Grass.json b/themes/Grass.json similarity index 100% rename from frontend/public/themes/Grass.json rename to themes/Grass.json diff --git a/frontend/public/themes/Grey-green.json b/themes/Grey-green.json similarity index 100% rename from frontend/public/themes/Grey-green.json rename to themes/Grey-green.json diff --git a/frontend/public/themes/Gruvbox Light.json b/themes/Gruvbox Light.json similarity index 100% rename from frontend/public/themes/Gruvbox Light.json rename to themes/Gruvbox Light.json diff --git a/frontend/public/themes/GruvboxDark.json b/themes/GruvboxDark.json similarity index 100% rename from frontend/public/themes/GruvboxDark.json rename to themes/GruvboxDark.json diff --git a/frontend/public/themes/GruvboxDarkHard.json b/themes/GruvboxDarkHard.json similarity index 100% rename from frontend/public/themes/GruvboxDarkHard.json rename to themes/GruvboxDarkHard.json diff --git a/frontend/public/themes/Guezwhoz.json b/themes/Guezwhoz.json similarity index 100% rename from frontend/public/themes/Guezwhoz.json rename to themes/Guezwhoz.json diff --git a/frontend/public/themes/HaX0R_BLUE.json b/themes/HaX0R_BLUE.json similarity index 100% rename from frontend/public/themes/HaX0R_BLUE.json rename to themes/HaX0R_BLUE.json diff --git a/frontend/public/themes/HaX0R_GR33N.json b/themes/HaX0R_GR33N.json similarity index 100% rename from frontend/public/themes/HaX0R_GR33N.json rename to themes/HaX0R_GR33N.json diff --git a/frontend/public/themes/HaX0R_R3D.json b/themes/HaX0R_R3D.json similarity index 100% rename from frontend/public/themes/HaX0R_R3D.json rename to themes/HaX0R_R3D.json diff --git a/frontend/public/themes/Hacktober.json b/themes/Hacktober.json similarity index 100% rename from frontend/public/themes/Hacktober.json rename to themes/Hacktober.json diff --git a/frontend/public/themes/Hardcore.json b/themes/Hardcore.json similarity index 100% rename from frontend/public/themes/Hardcore.json rename to themes/Hardcore.json diff --git a/frontend/public/themes/Harper.json b/themes/Harper.json similarity index 100% rename from frontend/public/themes/Harper.json rename to themes/Harper.json diff --git a/frontend/public/themes/Highway.json b/themes/Highway.json similarity index 100% rename from frontend/public/themes/Highway.json rename to themes/Highway.json diff --git a/frontend/public/themes/Hipster Green.json b/themes/Hipster Green.json similarity index 100% rename from frontend/public/themes/Hipster Green.json rename to themes/Hipster Green.json diff --git a/frontend/public/themes/Hivacruz.json b/themes/Hivacruz.json similarity index 100% rename from frontend/public/themes/Hivacruz.json rename to themes/Hivacruz.json diff --git a/frontend/public/themes/Homebrew.json b/themes/Homebrew.json similarity index 100% rename from frontend/public/themes/Homebrew.json rename to themes/Homebrew.json diff --git a/frontend/public/themes/Hopscotch.256.json b/themes/Hopscotch.256.json similarity index 100% rename from frontend/public/themes/Hopscotch.256.json rename to themes/Hopscotch.256.json diff --git a/frontend/public/themes/Hopscotch.json b/themes/Hopscotch.json similarity index 100% rename from frontend/public/themes/Hopscotch.json rename to themes/Hopscotch.json diff --git a/frontend/public/themes/Hurtado.json b/themes/Hurtado.json similarity index 100% rename from frontend/public/themes/Hurtado.json rename to themes/Hurtado.json diff --git a/frontend/public/themes/Hybrid.json b/themes/Hybrid.json similarity index 100% rename from frontend/public/themes/Hybrid.json rename to themes/Hybrid.json diff --git a/frontend/public/themes/IC_Green_PPL.json b/themes/IC_Green_PPL.json similarity index 100% rename from frontend/public/themes/IC_Green_PPL.json rename to themes/IC_Green_PPL.json diff --git a/frontend/public/themes/IC_Orange_PPL.json b/themes/IC_Orange_PPL.json similarity index 100% rename from frontend/public/themes/IC_Orange_PPL.json rename to themes/IC_Orange_PPL.json diff --git a/frontend/public/themes/IR_Black.json b/themes/IR_Black.json similarity index 100% rename from frontend/public/themes/IR_Black.json rename to themes/IR_Black.json diff --git a/frontend/public/themes/Jackie Brown.json b/themes/Jackie Brown.json similarity index 100% rename from frontend/public/themes/Jackie Brown.json rename to themes/Jackie Brown.json diff --git a/frontend/public/themes/Japanesque.json b/themes/Japanesque.json similarity index 100% rename from frontend/public/themes/Japanesque.json rename to themes/Japanesque.json diff --git a/frontend/public/themes/Jellybeans.json b/themes/Jellybeans.json similarity index 100% rename from frontend/public/themes/Jellybeans.json rename to themes/Jellybeans.json diff --git a/frontend/public/themes/JetBrains Darcula.json b/themes/JetBrains Darcula.json similarity index 100% rename from frontend/public/themes/JetBrains Darcula.json rename to themes/JetBrains Darcula.json diff --git a/frontend/public/themes/Kibble.json b/themes/Kibble.json similarity index 100% rename from frontend/public/themes/Kibble.json rename to themes/Kibble.json diff --git a/frontend/public/themes/Kolorit.json b/themes/Kolorit.json similarity index 100% rename from frontend/public/themes/Kolorit.json rename to themes/Kolorit.json diff --git a/frontend/public/themes/Konsolas.json b/themes/Konsolas.json similarity index 100% rename from frontend/public/themes/Konsolas.json rename to themes/Konsolas.json diff --git a/frontend/public/themes/Lab Fox.json b/themes/Lab Fox.json similarity index 100% rename from frontend/public/themes/Lab Fox.json rename to themes/Lab Fox.json diff --git a/frontend/public/themes/Laser.json b/themes/Laser.json similarity index 100% rename from frontend/public/themes/Laser.json rename to themes/Laser.json diff --git a/frontend/public/themes/Later This Evening.json b/themes/Later This Evening.json similarity index 100% rename from frontend/public/themes/Later This Evening.json rename to themes/Later This Evening.json diff --git a/frontend/public/themes/Lavandula.json b/themes/Lavandula.json similarity index 100% rename from frontend/public/themes/Lavandula.json rename to themes/Lavandula.json diff --git a/frontend/public/themes/LiquidCarbon.json b/themes/LiquidCarbon.json similarity index 100% rename from frontend/public/themes/LiquidCarbon.json rename to themes/LiquidCarbon.json diff --git a/frontend/public/themes/LiquidCarbonTransparent.json b/themes/LiquidCarbonTransparent.json similarity index 100% rename from frontend/public/themes/LiquidCarbonTransparent.json rename to themes/LiquidCarbonTransparent.json diff --git a/frontend/public/themes/LiquidCarbonTransparentInverse.json b/themes/LiquidCarbonTransparentInverse.json similarity index 100% rename from frontend/public/themes/LiquidCarbonTransparentInverse.json rename to themes/LiquidCarbonTransparentInverse.json diff --git a/frontend/public/themes/Man Page.json b/themes/Man Page.json similarity index 100% rename from frontend/public/themes/Man Page.json rename to themes/Man Page.json diff --git a/frontend/public/themes/Mariana.json b/themes/Mariana.json similarity index 100% rename from frontend/public/themes/Mariana.json rename to themes/Mariana.json diff --git a/frontend/public/themes/Material.json b/themes/Material.json similarity index 100% rename from frontend/public/themes/Material.json rename to themes/Material.json diff --git a/frontend/public/themes/MaterialDark.json b/themes/MaterialDark.json similarity index 100% rename from frontend/public/themes/MaterialDark.json rename to themes/MaterialDark.json diff --git a/frontend/public/themes/MaterialDarker.json b/themes/MaterialDarker.json similarity index 100% rename from frontend/public/themes/MaterialDarker.json rename to themes/MaterialDarker.json diff --git a/frontend/public/themes/MaterialDesignColors.json b/themes/MaterialDesignColors.json similarity index 100% rename from frontend/public/themes/MaterialDesignColors.json rename to themes/MaterialDesignColors.json diff --git a/frontend/public/themes/MaterialOcean.json b/themes/MaterialOcean.json similarity index 100% rename from frontend/public/themes/MaterialOcean.json rename to themes/MaterialOcean.json diff --git a/frontend/public/themes/Mathias.json b/themes/Mathias.json similarity index 100% rename from frontend/public/themes/Mathias.json rename to themes/Mathias.json diff --git a/frontend/public/themes/Matrix.json b/themes/Matrix.json similarity index 100% rename from frontend/public/themes/Matrix.json rename to themes/Matrix.json diff --git a/frontend/public/themes/Medallion.json b/themes/Medallion.json similarity index 100% rename from frontend/public/themes/Medallion.json rename to themes/Medallion.json diff --git a/frontend/public/themes/Mirage.json b/themes/Mirage.json similarity index 100% rename from frontend/public/themes/Mirage.json rename to themes/Mirage.json diff --git a/frontend/public/themes/Misterioso.json b/themes/Misterioso.json similarity index 100% rename from frontend/public/themes/Misterioso.json rename to themes/Misterioso.json diff --git a/frontend/public/themes/Molokai.json b/themes/Molokai.json similarity index 100% rename from frontend/public/themes/Molokai.json rename to themes/Molokai.json diff --git a/frontend/public/themes/MonaLisa.json b/themes/MonaLisa.json similarity index 100% rename from frontend/public/themes/MonaLisa.json rename to themes/MonaLisa.json diff --git a/frontend/public/themes/Monokai Remastered.json b/themes/Monokai Remastered.json similarity index 100% rename from frontend/public/themes/Monokai Remastered.json rename to themes/Monokai Remastered.json diff --git a/frontend/public/themes/Monokai Soda.json b/themes/Monokai Soda.json similarity index 100% rename from frontend/public/themes/Monokai Soda.json rename to themes/Monokai Soda.json diff --git a/frontend/public/themes/Monokai Vivid.json b/themes/Monokai Vivid.json similarity index 100% rename from frontend/public/themes/Monokai Vivid.json rename to themes/Monokai Vivid.json diff --git a/frontend/public/themes/N0tch2k.json b/themes/N0tch2k.json similarity index 100% rename from frontend/public/themes/N0tch2k.json rename to themes/N0tch2k.json diff --git a/frontend/public/themes/Neon.json b/themes/Neon.json similarity index 100% rename from frontend/public/themes/Neon.json rename to themes/Neon.json diff --git a/frontend/public/themes/Neopolitan.json b/themes/Neopolitan.json similarity index 100% rename from frontend/public/themes/Neopolitan.json rename to themes/Neopolitan.json diff --git a/frontend/public/themes/Neutron.json b/themes/Neutron.json similarity index 100% rename from frontend/public/themes/Neutron.json rename to themes/Neutron.json diff --git a/frontend/public/themes/Night Owlish Light.json b/themes/Night Owlish Light.json similarity index 100% rename from frontend/public/themes/Night Owlish Light.json rename to themes/Night Owlish Light.json diff --git a/frontend/public/themes/NightLion v1.json b/themes/NightLion v1.json similarity index 100% rename from frontend/public/themes/NightLion v1.json rename to themes/NightLion v1.json diff --git a/frontend/public/themes/NightLion v2.json b/themes/NightLion v2.json similarity index 100% rename from frontend/public/themes/NightLion v2.json rename to themes/NightLion v2.json diff --git a/frontend/public/themes/Nocturnal Winter.json b/themes/Nocturnal Winter.json similarity index 100% rename from frontend/public/themes/Nocturnal Winter.json rename to themes/Nocturnal Winter.json diff --git a/frontend/public/themes/Novel.json b/themes/Novel.json similarity index 100% rename from frontend/public/themes/Novel.json rename to themes/Novel.json diff --git a/frontend/public/themes/Obsidian.json b/themes/Obsidian.json similarity index 100% rename from frontend/public/themes/Obsidian.json rename to themes/Obsidian.json diff --git a/frontend/public/themes/Ocean.json b/themes/Ocean.json similarity index 100% rename from frontend/public/themes/Ocean.json rename to themes/Ocean.json diff --git a/frontend/public/themes/Oceanic-Next.json b/themes/Oceanic-Next.json similarity index 100% rename from frontend/public/themes/Oceanic-Next.json rename to themes/Oceanic-Next.json diff --git a/frontend/public/themes/OceanicMaterial.json b/themes/OceanicMaterial.json similarity index 100% rename from frontend/public/themes/OceanicMaterial.json rename to themes/OceanicMaterial.json diff --git a/frontend/public/themes/Ollie.json b/themes/Ollie.json similarity index 100% rename from frontend/public/themes/Ollie.json rename to themes/Ollie.json diff --git a/frontend/public/themes/OneHalfDark.json b/themes/OneHalfDark.json similarity index 100% rename from frontend/public/themes/OneHalfDark.json rename to themes/OneHalfDark.json diff --git a/frontend/public/themes/OneHalfLight.json b/themes/OneHalfLight.json similarity index 100% rename from frontend/public/themes/OneHalfLight.json rename to themes/OneHalfLight.json diff --git a/frontend/public/themes/Operator Mono Dark.json b/themes/Operator Mono Dark.json similarity index 100% rename from frontend/public/themes/Operator Mono Dark.json rename to themes/Operator Mono Dark.json diff --git a/frontend/public/themes/Overnight Slumber.json b/themes/Overnight Slumber.json similarity index 100% rename from frontend/public/themes/Overnight Slumber.json rename to themes/Overnight Slumber.json diff --git a/frontend/public/themes/PaleNightHC.json b/themes/PaleNightHC.json similarity index 100% rename from frontend/public/themes/PaleNightHC.json rename to themes/PaleNightHC.json diff --git a/frontend/public/themes/Pandora.json b/themes/Pandora.json similarity index 100% rename from frontend/public/themes/Pandora.json rename to themes/Pandora.json diff --git a/frontend/public/themes/Paraiso Dark.json b/themes/Paraiso Dark.json similarity index 100% rename from frontend/public/themes/Paraiso Dark.json rename to themes/Paraiso Dark.json diff --git a/frontend/public/themes/PaulMillr.json b/themes/PaulMillr.json similarity index 100% rename from frontend/public/themes/PaulMillr.json rename to themes/PaulMillr.json diff --git a/frontend/public/themes/PencilDark.json b/themes/PencilDark.json similarity index 100% rename from frontend/public/themes/PencilDark.json rename to themes/PencilDark.json diff --git a/frontend/public/themes/PencilLight.json b/themes/PencilLight.json similarity index 100% rename from frontend/public/themes/PencilLight.json rename to themes/PencilLight.json diff --git a/frontend/public/themes/Peppermint.json b/themes/Peppermint.json similarity index 100% rename from frontend/public/themes/Peppermint.json rename to themes/Peppermint.json diff --git a/frontend/public/themes/Piatto Light.json b/themes/Piatto Light.json similarity index 100% rename from frontend/public/themes/Piatto Light.json rename to themes/Piatto Light.json diff --git a/frontend/public/themes/Pnevma.json b/themes/Pnevma.json similarity index 100% rename from frontend/public/themes/Pnevma.json rename to themes/Pnevma.json diff --git a/frontend/public/themes/Popping and Locking.json b/themes/Popping and Locking.json similarity index 100% rename from frontend/public/themes/Popping and Locking.json rename to themes/Popping and Locking.json diff --git a/frontend/public/themes/Pro Light.json b/themes/Pro Light.json similarity index 100% rename from frontend/public/themes/Pro Light.json rename to themes/Pro Light.json diff --git a/frontend/public/themes/Pro.json b/themes/Pro.json similarity index 100% rename from frontend/public/themes/Pro.json rename to themes/Pro.json diff --git a/frontend/public/themes/Purple Rain.json b/themes/Purple Rain.json similarity index 100% rename from frontend/public/themes/Purple Rain.json rename to themes/Purple Rain.json diff --git a/frontend/public/themes/Rapture.json b/themes/Rapture.json similarity index 100% rename from frontend/public/themes/Rapture.json rename to themes/Rapture.json diff --git a/frontend/public/themes/Raycast_Dark.json b/themes/Raycast_Dark.json similarity index 100% rename from frontend/public/themes/Raycast_Dark.json rename to themes/Raycast_Dark.json diff --git a/frontend/public/themes/Raycast_Light.json b/themes/Raycast_Light.json similarity index 100% rename from frontend/public/themes/Raycast_Light.json rename to themes/Raycast_Light.json diff --git a/frontend/public/themes/Red Alert.json b/themes/Red Alert.json similarity index 100% rename from frontend/public/themes/Red Alert.json rename to themes/Red Alert.json diff --git a/frontend/public/themes/Red Planet.json b/themes/Red Planet.json similarity index 100% rename from frontend/public/themes/Red Planet.json rename to themes/Red Planet.json diff --git a/frontend/public/themes/Red Sands.json b/themes/Red Sands.json similarity index 100% rename from frontend/public/themes/Red Sands.json rename to themes/Red Sands.json diff --git a/frontend/public/themes/Relaxed.json b/themes/Relaxed.json similarity index 100% rename from frontend/public/themes/Relaxed.json rename to themes/Relaxed.json diff --git a/frontend/public/themes/Retro.json b/themes/Retro.json similarity index 100% rename from frontend/public/themes/Retro.json rename to themes/Retro.json diff --git a/frontend/public/themes/Rippedcasts.json b/themes/Rippedcasts.json similarity index 100% rename from frontend/public/themes/Rippedcasts.json rename to themes/Rippedcasts.json diff --git a/frontend/public/themes/Rouge 2.json b/themes/Rouge 2.json similarity index 100% rename from frontend/public/themes/Rouge 2.json rename to themes/Rouge 2.json diff --git a/frontend/public/themes/Royal.json b/themes/Royal.json similarity index 100% rename from frontend/public/themes/Royal.json rename to themes/Royal.json diff --git a/frontend/public/themes/Ryuuko.json b/themes/Ryuuko.json similarity index 100% rename from frontend/public/themes/Ryuuko.json rename to themes/Ryuuko.json diff --git a/frontend/public/themes/Sakura.json b/themes/Sakura.json similarity index 100% rename from frontend/public/themes/Sakura.json rename to themes/Sakura.json diff --git a/frontend/public/themes/Scarlet Protocol.json b/themes/Scarlet Protocol.json similarity index 100% rename from frontend/public/themes/Scarlet Protocol.json rename to themes/Scarlet Protocol.json diff --git a/frontend/public/themes/SeaShells.json b/themes/SeaShells.json similarity index 100% rename from frontend/public/themes/SeaShells.json rename to themes/SeaShells.json diff --git a/frontend/public/themes/Seafoam Pastel.json b/themes/Seafoam Pastel.json similarity index 100% rename from frontend/public/themes/Seafoam Pastel.json rename to themes/Seafoam Pastel.json diff --git a/frontend/public/themes/Seti.json b/themes/Seti.json similarity index 100% rename from frontend/public/themes/Seti.json rename to themes/Seti.json diff --git a/frontend/public/themes/Shaman.json b/themes/Shaman.json similarity index 100% rename from frontend/public/themes/Shaman.json rename to themes/Shaman.json diff --git a/frontend/public/themes/Slate.json b/themes/Slate.json similarity index 100% rename from frontend/public/themes/Slate.json rename to themes/Slate.json diff --git a/frontend/public/themes/SleepyHollow.json b/themes/SleepyHollow.json similarity index 100% rename from frontend/public/themes/SleepyHollow.json rename to themes/SleepyHollow.json diff --git a/frontend/public/themes/Smyck.json b/themes/Smyck.json similarity index 100% rename from frontend/public/themes/Smyck.json rename to themes/Smyck.json diff --git a/frontend/public/themes/Snazzy.json b/themes/Snazzy.json similarity index 100% rename from frontend/public/themes/Snazzy.json rename to themes/Snazzy.json diff --git a/frontend/public/themes/SoftServer.json b/themes/SoftServer.json similarity index 100% rename from frontend/public/themes/SoftServer.json rename to themes/SoftServer.json diff --git a/frontend/public/themes/Solarized Darcula.json b/themes/Solarized Darcula.json similarity index 100% rename from frontend/public/themes/Solarized Darcula.json rename to themes/Solarized Darcula.json diff --git a/frontend/public/themes/Solarized Dark - Patched.json b/themes/Solarized Dark - Patched.json similarity index 100% rename from frontend/public/themes/Solarized Dark - Patched.json rename to themes/Solarized Dark - Patched.json diff --git a/frontend/public/themes/Solarized Dark Higher Contrast.json b/themes/Solarized Dark Higher Contrast.json similarity index 100% rename from frontend/public/themes/Solarized Dark Higher Contrast.json rename to themes/Solarized Dark Higher Contrast.json diff --git a/frontend/public/themes/SpaceGray Eighties Dull.json b/themes/SpaceGray Eighties Dull.json similarity index 100% rename from frontend/public/themes/SpaceGray Eighties Dull.json rename to themes/SpaceGray Eighties Dull.json diff --git a/frontend/public/themes/SpaceGray Eighties.json b/themes/SpaceGray Eighties.json similarity index 100% rename from frontend/public/themes/SpaceGray Eighties.json rename to themes/SpaceGray Eighties.json diff --git a/frontend/public/themes/SpaceGray.json b/themes/SpaceGray.json similarity index 100% rename from frontend/public/themes/SpaceGray.json rename to themes/SpaceGray.json diff --git a/frontend/public/themes/Spacedust.json b/themes/Spacedust.json similarity index 100% rename from frontend/public/themes/Spacedust.json rename to themes/Spacedust.json diff --git a/frontend/public/themes/Spiderman.json b/themes/Spiderman.json similarity index 100% rename from frontend/public/themes/Spiderman.json rename to themes/Spiderman.json diff --git a/frontend/public/themes/Spring.json b/themes/Spring.json similarity index 100% rename from frontend/public/themes/Spring.json rename to themes/Spring.json diff --git a/frontend/public/themes/Square.json b/themes/Square.json similarity index 100% rename from frontend/public/themes/Square.json rename to themes/Square.json diff --git a/frontend/public/themes/Sublette.json b/themes/Sublette.json similarity index 100% rename from frontend/public/themes/Sublette.json rename to themes/Sublette.json diff --git a/frontend/public/themes/Subliminal.json b/themes/Subliminal.json similarity index 100% rename from frontend/public/themes/Subliminal.json rename to themes/Subliminal.json diff --git a/frontend/public/themes/Sundried.json b/themes/Sundried.json similarity index 100% rename from frontend/public/themes/Sundried.json rename to themes/Sundried.json diff --git a/frontend/public/themes/Symfonic.json b/themes/Symfonic.json similarity index 100% rename from frontend/public/themes/Symfonic.json rename to themes/Symfonic.json diff --git a/frontend/public/themes/SynthwaveAlpha.json b/themes/SynthwaveAlpha.json similarity index 100% rename from frontend/public/themes/SynthwaveAlpha.json rename to themes/SynthwaveAlpha.json diff --git a/frontend/public/themes/Tango Adapted.json b/themes/Tango Adapted.json similarity index 100% rename from frontend/public/themes/Tango Adapted.json rename to themes/Tango Adapted.json diff --git a/frontend/public/themes/Tango Half Adapted.json b/themes/Tango Half Adapted.json similarity index 100% rename from frontend/public/themes/Tango Half Adapted.json rename to themes/Tango Half Adapted.json diff --git a/frontend/public/themes/Teerb.json b/themes/Teerb.json similarity index 100% rename from frontend/public/themes/Teerb.json rename to themes/Teerb.json diff --git a/frontend/public/themes/Terminal Basic.json b/themes/Terminal Basic.json similarity index 100% rename from frontend/public/themes/Terminal Basic.json rename to themes/Terminal Basic.json diff --git a/frontend/public/themes/Thayer Bright.json b/themes/Thayer Bright.json similarity index 100% rename from frontend/public/themes/Thayer Bright.json rename to themes/Thayer Bright.json diff --git a/frontend/public/themes/The Hulk.json b/themes/The Hulk.json similarity index 100% rename from frontend/public/themes/The Hulk.json rename to themes/The Hulk.json diff --git a/frontend/public/themes/Tinacious Design (Dark).json b/themes/Tinacious Design (Dark).json similarity index 100% rename from frontend/public/themes/Tinacious Design (Dark).json rename to themes/Tinacious Design (Dark).json diff --git a/frontend/public/themes/Tinacious Design (Light).json b/themes/Tinacious Design (Light).json similarity index 100% rename from frontend/public/themes/Tinacious Design (Light).json rename to themes/Tinacious Design (Light).json diff --git a/frontend/public/themes/Tomorrow Night Blue.json b/themes/Tomorrow Night Blue.json similarity index 100% rename from frontend/public/themes/Tomorrow Night Blue.json rename to themes/Tomorrow Night Blue.json diff --git a/frontend/public/themes/Tomorrow Night Bright.json b/themes/Tomorrow Night Bright.json similarity index 100% rename from frontend/public/themes/Tomorrow Night Bright.json rename to themes/Tomorrow Night Bright.json diff --git a/frontend/public/themes/Tomorrow Night Burns.json b/themes/Tomorrow Night Burns.json similarity index 100% rename from frontend/public/themes/Tomorrow Night Burns.json rename to themes/Tomorrow Night Burns.json diff --git a/frontend/public/themes/Tomorrow Night Eighties.json b/themes/Tomorrow Night Eighties.json similarity index 100% rename from frontend/public/themes/Tomorrow Night Eighties.json rename to themes/Tomorrow Night Eighties.json diff --git a/frontend/public/themes/Tomorrow Night.json b/themes/Tomorrow Night.json similarity index 100% rename from frontend/public/themes/Tomorrow Night.json rename to themes/Tomorrow Night.json diff --git a/frontend/public/themes/Tomorrow.json b/themes/Tomorrow.json similarity index 100% rename from frontend/public/themes/Tomorrow.json rename to themes/Tomorrow.json diff --git a/frontend/public/themes/ToyChest.json b/themes/ToyChest.json similarity index 100% rename from frontend/public/themes/ToyChest.json rename to themes/ToyChest.json diff --git a/frontend/public/themes/Treehouse.json b/themes/Treehouse.json similarity index 100% rename from frontend/public/themes/Treehouse.json rename to themes/Treehouse.json diff --git a/frontend/public/themes/Twilight.json b/themes/Twilight.json similarity index 100% rename from frontend/public/themes/Twilight.json rename to themes/Twilight.json diff --git a/frontend/public/themes/Ubuntu.json b/themes/Ubuntu.json similarity index 100% rename from frontend/public/themes/Ubuntu.json rename to themes/Ubuntu.json diff --git a/frontend/public/themes/UltraDark.json b/themes/UltraDark.json similarity index 100% rename from frontend/public/themes/UltraDark.json rename to themes/UltraDark.json diff --git a/frontend/public/themes/UltraViolent.json b/themes/UltraViolent.json similarity index 100% rename from frontend/public/themes/UltraViolent.json rename to themes/UltraViolent.json diff --git a/frontend/public/themes/UnderTheSea.json b/themes/UnderTheSea.json similarity index 100% rename from frontend/public/themes/UnderTheSea.json rename to themes/UnderTheSea.json diff --git a/frontend/public/themes/Unikitty.json b/themes/Unikitty.json similarity index 100% rename from frontend/public/themes/Unikitty.json rename to themes/Unikitty.json diff --git a/frontend/public/themes/Urple.json b/themes/Urple.json similarity index 100% rename from frontend/public/themes/Urple.json rename to themes/Urple.json diff --git a/frontend/public/themes/Vaughn.json b/themes/Vaughn.json similarity index 100% rename from frontend/public/themes/Vaughn.json rename to themes/Vaughn.json diff --git a/frontend/public/themes/VibrantInk.json b/themes/VibrantInk.json similarity index 100% rename from frontend/public/themes/VibrantInk.json rename to themes/VibrantInk.json diff --git a/frontend/public/themes/Violet Dark.json b/themes/Violet Dark.json similarity index 100% rename from frontend/public/themes/Violet Dark.json rename to themes/Violet Dark.json diff --git a/frontend/public/themes/Violet Light.json b/themes/Violet Light.json similarity index 100% rename from frontend/public/themes/Violet Light.json rename to themes/Violet Light.json diff --git a/frontend/public/themes/WarmNeon.json b/themes/WarmNeon.json similarity index 100% rename from frontend/public/themes/WarmNeon.json rename to themes/WarmNeon.json diff --git a/frontend/public/themes/Wez.json b/themes/Wez.json similarity index 100% rename from frontend/public/themes/Wez.json rename to themes/Wez.json diff --git a/frontend/public/themes/Whimsy.json b/themes/Whimsy.json similarity index 100% rename from frontend/public/themes/Whimsy.json rename to themes/Whimsy.json diff --git a/frontend/public/themes/WildCherry.json b/themes/WildCherry.json similarity index 100% rename from frontend/public/themes/WildCherry.json rename to themes/WildCherry.json diff --git a/frontend/public/themes/Wombat.json b/themes/Wombat.json similarity index 100% rename from frontend/public/themes/Wombat.json rename to themes/Wombat.json diff --git a/frontend/public/themes/Wryan.json b/themes/Wryan.json similarity index 100% rename from frontend/public/themes/Wryan.json rename to themes/Wryan.json diff --git a/frontend/public/themes/Zenburn.json b/themes/Zenburn.json similarity index 100% rename from frontend/public/themes/Zenburn.json rename to themes/Zenburn.json diff --git a/frontend/public/themes/arcoiris.json b/themes/arcoiris.json similarity index 100% rename from frontend/public/themes/arcoiris.json rename to themes/arcoiris.json diff --git a/frontend/public/themes/ayu.json b/themes/ayu.json similarity index 100% rename from frontend/public/themes/ayu.json rename to themes/ayu.json diff --git a/frontend/public/themes/ayu_light.json b/themes/ayu_light.json similarity index 100% rename from frontend/public/themes/ayu_light.json rename to themes/ayu_light.json diff --git a/frontend/public/themes/catppuccin-frappe.json b/themes/catppuccin-frappe.json similarity index 100% rename from frontend/public/themes/catppuccin-frappe.json rename to themes/catppuccin-frappe.json diff --git a/frontend/public/themes/catppuccin-latte.json b/themes/catppuccin-latte.json similarity index 100% rename from frontend/public/themes/catppuccin-latte.json rename to themes/catppuccin-latte.json diff --git a/frontend/public/themes/catppuccin-macchiato.json b/themes/catppuccin-macchiato.json similarity index 100% rename from frontend/public/themes/catppuccin-macchiato.json rename to themes/catppuccin-macchiato.json diff --git a/frontend/public/themes/catppuccin-mocha.json b/themes/catppuccin-mocha.json similarity index 100% rename from frontend/public/themes/catppuccin-mocha.json rename to themes/catppuccin-mocha.json diff --git a/frontend/public/themes/coffee_theme.json b/themes/coffee_theme.json similarity index 100% rename from frontend/public/themes/coffee_theme.json rename to themes/coffee_theme.json diff --git a/frontend/public/themes/cyberpunk.json b/themes/cyberpunk.json similarity index 100% rename from frontend/public/themes/cyberpunk.json rename to themes/cyberpunk.json diff --git a/frontend/public/themes/deep.json b/themes/deep.json similarity index 100% rename from frontend/public/themes/deep.json rename to themes/deep.json diff --git a/frontend/public/themes/duckbones.json b/themes/duckbones.json similarity index 100% rename from frontend/public/themes/duckbones.json rename to themes/duckbones.json diff --git a/frontend/public/themes/iceberg-dark.json b/themes/iceberg-dark.json similarity index 100% rename from frontend/public/themes/iceberg-dark.json rename to themes/iceberg-dark.json diff --git a/frontend/public/themes/iceberg-light.json b/themes/iceberg-light.json similarity index 100% rename from frontend/public/themes/iceberg-light.json rename to themes/iceberg-light.json diff --git a/frontend/public/themes/idea.json b/themes/idea.json similarity index 100% rename from frontend/public/themes/idea.json rename to themes/idea.json diff --git a/frontend/public/themes/idleToes.json b/themes/idleToes.json similarity index 100% rename from frontend/public/themes/idleToes.json rename to themes/idleToes.json diff --git a/frontend/public/themes/jubi.json b/themes/jubi.json similarity index 100% rename from frontend/public/themes/jubi.json rename to themes/jubi.json diff --git a/frontend/public/themes/kanagawabones.json b/themes/kanagawabones.json similarity index 100% rename from frontend/public/themes/kanagawabones.json rename to themes/kanagawabones.json diff --git a/frontend/public/themes/lovelace.json b/themes/lovelace.json similarity index 100% rename from frontend/public/themes/lovelace.json rename to themes/lovelace.json diff --git a/frontend/public/themes/midnight-in-mojave.json b/themes/midnight-in-mojave.json similarity index 100% rename from frontend/public/themes/midnight-in-mojave.json rename to themes/midnight-in-mojave.json diff --git a/frontend/public/themes/neobones_dark.json b/themes/neobones_dark.json similarity index 100% rename from frontend/public/themes/neobones_dark.json rename to themes/neobones_dark.json diff --git a/frontend/public/themes/neobones_light.json b/themes/neobones_light.json similarity index 100% rename from frontend/public/themes/neobones_light.json rename to themes/neobones_light.json diff --git a/frontend/public/themes/nord-light.json b/themes/nord-light.json similarity index 100% rename from frontend/public/themes/nord-light.json rename to themes/nord-light.json diff --git a/frontend/public/themes/nord.json b/themes/nord.json similarity index 100% rename from frontend/public/themes/nord.json rename to themes/nord.json diff --git a/frontend/public/themes/primary.json b/themes/primary.json similarity index 100% rename from frontend/public/themes/primary.json rename to themes/primary.json diff --git a/frontend/public/themes/purplepeter.json b/themes/purplepeter.json similarity index 100% rename from frontend/public/themes/purplepeter.json rename to themes/purplepeter.json diff --git a/frontend/public/themes/rebecca.json b/themes/rebecca.json similarity index 100% rename from frontend/public/themes/rebecca.json rename to themes/rebecca.json diff --git a/frontend/public/themes/rose-pine-dawn.json b/themes/rose-pine-dawn.json similarity index 100% rename from frontend/public/themes/rose-pine-dawn.json rename to themes/rose-pine-dawn.json diff --git a/frontend/public/themes/rose-pine-moon.json b/themes/rose-pine-moon.json similarity index 100% rename from frontend/public/themes/rose-pine-moon.json rename to themes/rose-pine-moon.json diff --git a/frontend/public/themes/rose-pine.json b/themes/rose-pine.json similarity index 100% rename from frontend/public/themes/rose-pine.json rename to themes/rose-pine.json diff --git a/frontend/public/themes/seoulbones_dark.json b/themes/seoulbones_dark.json similarity index 100% rename from frontend/public/themes/seoulbones_dark.json rename to themes/seoulbones_dark.json diff --git a/frontend/public/themes/seoulbones_light.json b/themes/seoulbones_light.json similarity index 100% rename from frontend/public/themes/seoulbones_light.json rename to themes/seoulbones_light.json diff --git a/frontend/public/themes/shades-of-purple.json b/themes/shades-of-purple.json similarity index 100% rename from frontend/public/themes/shades-of-purple.json rename to themes/shades-of-purple.json diff --git a/frontend/public/themes/synthwave-everything.json b/themes/synthwave-everything.json similarity index 100% rename from frontend/public/themes/synthwave-everything.json rename to themes/synthwave-everything.json diff --git a/frontend/public/themes/synthwave.json b/themes/synthwave.json similarity index 100% rename from frontend/public/themes/synthwave.json rename to themes/synthwave.json diff --git a/frontend/public/themes/tokyonight-day.json b/themes/tokyonight-day.json similarity index 100% rename from frontend/public/themes/tokyonight-day.json rename to themes/tokyonight-day.json diff --git a/frontend/public/themes/tokyonight-storm.json b/themes/tokyonight-storm.json similarity index 100% rename from frontend/public/themes/tokyonight-storm.json rename to themes/tokyonight-storm.json diff --git a/frontend/public/themes/tokyonight.json b/themes/tokyonight.json similarity index 100% rename from frontend/public/themes/tokyonight.json rename to themes/tokyonight.json diff --git a/frontend/public/themes/vimbones.json b/themes/vimbones.json similarity index 100% rename from frontend/public/themes/vimbones.json rename to themes/vimbones.json diff --git a/frontend/public/themes/wilmersdorf.json b/themes/wilmersdorf.json similarity index 100% rename from frontend/public/themes/wilmersdorf.json rename to themes/wilmersdorf.json diff --git a/frontend/public/themes/zenbones.json b/themes/zenbones.json similarity index 100% rename from frontend/public/themes/zenbones.json rename to themes/zenbones.json diff --git a/frontend/public/themes/zenbones_dark.json b/themes/zenbones_dark.json similarity index 100% rename from frontend/public/themes/zenbones_dark.json rename to themes/zenbones_dark.json diff --git a/frontend/public/themes/zenbones_light.json b/themes/zenbones_light.json similarity index 100% rename from frontend/public/themes/zenbones_light.json rename to themes/zenbones_light.json diff --git a/frontend/public/themes/zenburned.json b/themes/zenburned.json similarity index 100% rename from frontend/public/themes/zenburned.json rename to themes/zenburned.json diff --git a/frontend/public/themes/zenwritten_dark.json b/themes/zenwritten_dark.json similarity index 100% rename from frontend/public/themes/zenwritten_dark.json rename to themes/zenwritten_dark.json diff --git a/frontend/public/themes/zenwritten_light.json b/themes/zenwritten_light.json similarity index 100% rename from frontend/public/themes/zenwritten_light.json rename to themes/zenwritten_light.json