mirror of
https://github.com/p-stream/p-stream.git
synced 2026-01-11 12:00:45 +00:00
add cobalt theme
replace skyrealm
This commit is contained in:
parent
36069f8193
commit
647a4e8279
5 changed files with 340 additions and 256 deletions
|
|
@ -1045,7 +1045,7 @@
|
|||
"popsicle": "Popsicle",
|
||||
"hulk": "Hulk",
|
||||
"autumn": "Autumn",
|
||||
"skyrealm": "SkyRealm",
|
||||
"cobalt": "Cobalt",
|
||||
"frost": "Frost",
|
||||
"christmas": "Christmas"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -95,6 +95,11 @@ const availableThemes = [
|
|||
selector: "theme-spark",
|
||||
key: "settings.appearance.themes.spark",
|
||||
},
|
||||
{
|
||||
id: "cobalt",
|
||||
selector: "theme-cobalt",
|
||||
key: "settings.appearance.themes.cobalt",
|
||||
},
|
||||
{
|
||||
id: "grape",
|
||||
selector: "theme-grape",
|
||||
|
|
@ -125,11 +130,6 @@ const availableThemes = [
|
|||
selector: "theme-christmas",
|
||||
key: "settings.appearance.themes.christmas",
|
||||
},
|
||||
{
|
||||
id: "skyRealm",
|
||||
selector: "theme-skyrealm",
|
||||
key: "settings.appearance.themes.skyrealm",
|
||||
},
|
||||
];
|
||||
|
||||
function ThemePreview(props: {
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ import wolverine from "./list/wolverine";
|
|||
import popsicle from "./list/popsicle";
|
||||
import hulk from "./list/hulk";
|
||||
import autumn from "./list/autumn";
|
||||
import skyRealm from "./list/skyrealm";
|
||||
import cobalt from "./list/cobalt";
|
||||
import frost from "./list/frost";
|
||||
import christmas from "./list/christmas";
|
||||
|
||||
|
|
@ -43,5 +43,5 @@ export const allThemes = [
|
|||
wolverine,
|
||||
popsicle,
|
||||
christmas,
|
||||
skyRealm,
|
||||
cobalt,
|
||||
];
|
||||
|
|
|
|||
332
themes/list/cobalt.ts
Normal file
332
themes/list/cobalt.ts
Normal file
|
|
@ -0,0 +1,332 @@
|
|||
import { createTheme } from "../types";
|
||||
|
||||
const tokens = {
|
||||
black: {
|
||||
c50: "#000000",
|
||||
c75: "#030303",
|
||||
c80: "#080808",
|
||||
c100: "#0d0d0d",
|
||||
c125: "#141414",
|
||||
c150: "#1a1a1a",
|
||||
c200: "#262626",
|
||||
c250: "#333333",
|
||||
},
|
||||
white: "#FFFFFF",
|
||||
semantic: {
|
||||
red: {
|
||||
c100: "#F46E6E",
|
||||
c200: "#E44F4F",
|
||||
c300: "#D74747",
|
||||
c400: "#B43434",
|
||||
},
|
||||
green: {
|
||||
c100: "#60D26A",
|
||||
c200: "#40B44B",
|
||||
c300: "#31A33C",
|
||||
c400: "#237A2B",
|
||||
},
|
||||
silver: {
|
||||
c100: "#DEDEDE",
|
||||
c200: "#B6CAD7",
|
||||
c300: "#8EA3B0",
|
||||
c400: "#617A8A",
|
||||
},
|
||||
yellow: {
|
||||
c100: "#80EAFF",
|
||||
c200: "#43DFFF",
|
||||
c300: "#00D4FF",
|
||||
c400: "#00B6E6",
|
||||
},
|
||||
rose: {
|
||||
c100: "#80EAFF",
|
||||
c200: "#00B6E6",
|
||||
c300: "#00D4FF",
|
||||
c400: "#43DFFF",
|
||||
},
|
||||
},
|
||||
blue: {
|
||||
c50: "#ccccd6",
|
||||
c100: "#a2a2a2",
|
||||
c200: "#868686",
|
||||
c300: "#646464",
|
||||
c400: "#4e4e4e",
|
||||
c500: "#383838",
|
||||
c600: "#2e2e2e",
|
||||
c700: "#272727",
|
||||
c800: "#181818",
|
||||
c900: "#0f0f0f",
|
||||
},
|
||||
purple: {
|
||||
c50: "#80EAFF",
|
||||
c100: "#43DFFF",
|
||||
c200: "#00D4FF",
|
||||
c300: "#00B6E6",
|
||||
c400: "#0099CC",
|
||||
c500: "#007CAD",
|
||||
c600: "#00668F",
|
||||
c700: "#004F6E",
|
||||
c800: "#00384D",
|
||||
c900: "#002A3A",
|
||||
},
|
||||
ash: {
|
||||
c50: "#8d8d8d",
|
||||
c100: "#6b6b6b",
|
||||
c200: "#545454",
|
||||
c300: "#3c3c3c",
|
||||
c400: "#313131",
|
||||
c500: "#2c2c2c",
|
||||
c600: "#252525",
|
||||
c700: "#1e1e1e",
|
||||
c800: "#181818",
|
||||
c900: "#111111",
|
||||
},
|
||||
shade: {
|
||||
c25: "#939393",
|
||||
c50: "#7c7c7c",
|
||||
c100: "#666666",
|
||||
c200: "#4f4f4f",
|
||||
c300: "#404040",
|
||||
c400: "#343434",
|
||||
c500: "#282828",
|
||||
c600: "#202020",
|
||||
c700: "#1a1a1a",
|
||||
c800: "#151515",
|
||||
c900: "#0e0e0e",
|
||||
},
|
||||
};
|
||||
|
||||
export default createTheme({
|
||||
name: "cobalt",
|
||||
extend: {
|
||||
colors: {
|
||||
themePreview: {
|
||||
primary: tokens.black.c80,
|
||||
secondary: tokens.purple.c400,
|
||||
ghost: tokens.purple.c100,
|
||||
},
|
||||
|
||||
pill: {
|
||||
background: tokens.black.c100,
|
||||
backgroundHover: tokens.black.c125,
|
||||
highlight: tokens.blue.c200,
|
||||
activeBackground: tokens.shade.c700,
|
||||
},
|
||||
|
||||
global: {
|
||||
accentA: tokens.purple.c200,
|
||||
accentB: tokens.purple.c300,
|
||||
},
|
||||
|
||||
lightBar: {
|
||||
light: tokens.purple.c800,
|
||||
},
|
||||
|
||||
buttons: {
|
||||
toggle: tokens.purple.c300,
|
||||
toggleDisabled: tokens.black.c200,
|
||||
danger: tokens.semantic.rose.c300,
|
||||
dangerHover: tokens.semantic.rose.c200,
|
||||
|
||||
secondary: tokens.black.c100,
|
||||
secondaryText: tokens.semantic.silver.c300,
|
||||
secondaryHover: tokens.black.c150,
|
||||
primary: tokens.white,
|
||||
primaryText: tokens.black.c50,
|
||||
primaryHover: tokens.semantic.silver.c100,
|
||||
purple: tokens.purple.c600,
|
||||
purpleHover: tokens.purple.c400,
|
||||
cancel: tokens.black.c100,
|
||||
cancelHover: tokens.black.c150,
|
||||
},
|
||||
|
||||
background: {
|
||||
main: tokens.black.c75,
|
||||
secondary: tokens.black.c75,
|
||||
secondaryHover: tokens.black.c75,
|
||||
accentA: tokens.purple.c600,
|
||||
accentB: tokens.black.c100,
|
||||
},
|
||||
|
||||
modal: {
|
||||
background: tokens.shade.c800,
|
||||
},
|
||||
|
||||
type: {
|
||||
logo: tokens.purple.c100,
|
||||
emphasis: tokens.white,
|
||||
text: tokens.shade.c50,
|
||||
dimmed: tokens.shade.c50,
|
||||
divider: tokens.ash.c500,
|
||||
secondary: tokens.ash.c100,
|
||||
danger: tokens.semantic.red.c100,
|
||||
success: tokens.semantic.green.c100,
|
||||
link: tokens.purple.c100,
|
||||
linkHover: tokens.purple.c50,
|
||||
},
|
||||
|
||||
search: {
|
||||
background: tokens.black.c100,
|
||||
hoverBackground: tokens.shade.c900,
|
||||
focused: tokens.black.c125,
|
||||
placeholder: tokens.shade.c200,
|
||||
icon: tokens.shade.c500,
|
||||
text: tokens.white,
|
||||
},
|
||||
|
||||
mediaCard: {
|
||||
hoverBackground: tokens.shade.c900,
|
||||
hoverAccent: tokens.black.c250,
|
||||
hoverShadow: tokens.black.c50,
|
||||
shadow: tokens.shade.c800,
|
||||
barColor: tokens.ash.c200,
|
||||
barFillColor: tokens.purple.c100,
|
||||
badge: tokens.shade.c700,
|
||||
badgeText: tokens.ash.c100,
|
||||
},
|
||||
|
||||
largeCard: {
|
||||
background: tokens.black.c100,
|
||||
icon: tokens.purple.c400,
|
||||
},
|
||||
|
||||
dropdown: {
|
||||
background: tokens.black.c100,
|
||||
altBackground: tokens.black.c80,
|
||||
hoverBackground: tokens.black.c150,
|
||||
highlight: tokens.semantic.yellow.c400,
|
||||
highlightHover: tokens.semantic.yellow.c200,
|
||||
text: tokens.shade.c50,
|
||||
secondary: tokens.shade.c100,
|
||||
border: tokens.shade.c400,
|
||||
contentBackground: tokens.black.c50,
|
||||
},
|
||||
|
||||
authentication: {
|
||||
border: tokens.shade.c300,
|
||||
inputBg: tokens.black.c100,
|
||||
inputBgHover: tokens.black.c150,
|
||||
wordBackground: tokens.shade.c500,
|
||||
copyText: tokens.shade.c100,
|
||||
copyTextHover: tokens.ash.c50,
|
||||
errorText: tokens.semantic.rose.c100,
|
||||
},
|
||||
|
||||
settings: {
|
||||
sidebar: {
|
||||
activeLink: tokens.black.c100,
|
||||
badge: tokens.shade.c900,
|
||||
|
||||
type: {
|
||||
secondary: tokens.shade.c200,
|
||||
inactive: tokens.shade.c50,
|
||||
icon: tokens.black.c200,
|
||||
iconActivated: tokens.purple.c200,
|
||||
activated: tokens.purple.c100,
|
||||
},
|
||||
},
|
||||
|
||||
card: {
|
||||
border: tokens.shade.c700,
|
||||
background: tokens.black.c100,
|
||||
altBackground: tokens.black.c100,
|
||||
},
|
||||
|
||||
saveBar: {
|
||||
background: tokens.black.c50,
|
||||
},
|
||||
},
|
||||
|
||||
utils: {
|
||||
divider: tokens.ash.c300,
|
||||
},
|
||||
|
||||
onboarding: {
|
||||
bar: tokens.shade.c400,
|
||||
barFilled: tokens.purple.c300,
|
||||
divider: tokens.shade.c200,
|
||||
card: tokens.shade.c800,
|
||||
cardHover: tokens.shade.c700,
|
||||
border: tokens.shade.c600,
|
||||
good: tokens.purple.c100,
|
||||
best: tokens.semantic.yellow.c100,
|
||||
link: tokens.purple.c100,
|
||||
},
|
||||
|
||||
errors: {
|
||||
card: tokens.black.c75,
|
||||
border: tokens.ash.c500,
|
||||
|
||||
type: {
|
||||
secondary: tokens.ash.c100,
|
||||
},
|
||||
},
|
||||
|
||||
about: {
|
||||
circle: tokens.black.c100,
|
||||
circleText: tokens.ash.c50,
|
||||
},
|
||||
|
||||
editBadge: {
|
||||
bg: tokens.ash.c500,
|
||||
bgHover: tokens.ash.c400,
|
||||
text: tokens.ash.c50,
|
||||
},
|
||||
|
||||
progress: {
|
||||
background: tokens.ash.c50,
|
||||
preloaded: tokens.ash.c50,
|
||||
filled: tokens.purple.c200,
|
||||
},
|
||||
|
||||
video: {
|
||||
buttonBackground: tokens.ash.c600,
|
||||
|
||||
autoPlay: {
|
||||
background: tokens.ash.c800,
|
||||
hover: tokens.ash.c600,
|
||||
},
|
||||
|
||||
scraping: {
|
||||
card: tokens.black.c50,
|
||||
error: tokens.semantic.red.c200,
|
||||
success: tokens.semantic.green.c200,
|
||||
loading: tokens.purple.c200,
|
||||
noresult: tokens.black.c200,
|
||||
},
|
||||
|
||||
audio: {
|
||||
set: tokens.purple.c200,
|
||||
},
|
||||
|
||||
context: {
|
||||
background: tokens.black.c50,
|
||||
light: tokens.shade.c50,
|
||||
border: tokens.ash.c600,
|
||||
hoverColor: tokens.ash.c600,
|
||||
buttonFocus: tokens.ash.c500,
|
||||
flagBg: tokens.ash.c500,
|
||||
inputBg: tokens.black.c100,
|
||||
buttonOverInputHover: tokens.ash.c500,
|
||||
inputPlaceholder: tokens.ash.c200,
|
||||
cardBorder: tokens.ash.c700,
|
||||
slider: tokens.black.c200,
|
||||
sliderFilled: tokens.purple.c200,
|
||||
error: tokens.semantic.red.c200,
|
||||
|
||||
buttons: {
|
||||
list: tokens.ash.c700,
|
||||
active: tokens.ash.c900,
|
||||
},
|
||||
|
||||
closeHover: tokens.ash.c800,
|
||||
|
||||
type: {
|
||||
main: tokens.semantic.silver.c300,
|
||||
secondary: tokens.ash.c200,
|
||||
accent: tokens.purple.c200,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
|
|
@ -1,248 +0,0 @@
|
|||
import { createTheme } from "../types";
|
||||
|
||||
const tokens = {
|
||||
petal: {
|
||||
c50: "#fff0f5",
|
||||
c100: "#ffdde9",
|
||||
c200: "#ffbbd1",
|
||||
c300: "#ff99bb",
|
||||
c400: "#ff77a5",
|
||||
c500: "#e65f8f",
|
||||
c600: "#cc4779",
|
||||
c700: "#b33263",
|
||||
c800: "#991e4d",
|
||||
c900: "#800f3a",
|
||||
},
|
||||
dawn: {
|
||||
c25: "#f0e9f5",
|
||||
c50: "#e6d9f0",
|
||||
c100: "#d7c2e8",
|
||||
c200: "#c2a6dd",
|
||||
c300: "#ad8ad2",
|
||||
c400: "#9970c7",
|
||||
c500: "#8558b5",
|
||||
c600: "#6b4599",
|
||||
c700: "#52337d",
|
||||
c800: "#3a2361",
|
||||
c900: "#261547",
|
||||
},
|
||||
silk: {
|
||||
c50: "#fdfdfd",
|
||||
c100: "#faf8f9",
|
||||
c200: "#f5f0f3",
|
||||
c300: "#ede5ec",
|
||||
c400: "#e6dae5",
|
||||
c500: "#dfd0de",
|
||||
c600: "#d0b8d0",
|
||||
c700: "#c29fc2",
|
||||
c800: "#b386b3",
|
||||
c900: "#a66ea6",
|
||||
},
|
||||
nectar: {
|
||||
c50: "#fff9e6",
|
||||
c100: "#fff3cc",
|
||||
c200: "#ffe899",
|
||||
c300: "#ffdd66",
|
||||
c400: "#ffd233",
|
||||
c500: "#e6b800",
|
||||
c600: "#cca000",
|
||||
c700: "#b38900",
|
||||
c800: "#997100",
|
||||
c900: "#805a00",
|
||||
},
|
||||
};
|
||||
|
||||
export default createTheme({
|
||||
name: "skyRealm",
|
||||
extend: {
|
||||
colors: {
|
||||
themePreview: {
|
||||
primary: tokens.petal.c200,
|
||||
secondary: tokens.dawn.c50,
|
||||
},
|
||||
|
||||
pill: {
|
||||
background: tokens.dawn.c300,
|
||||
backgroundHover: tokens.dawn.c200,
|
||||
highlight: tokens.petal.c200,
|
||||
activeBackground: tokens.dawn.c300,
|
||||
},
|
||||
|
||||
global: {
|
||||
accentA: tokens.petal.c200,
|
||||
accentB: tokens.petal.c300,
|
||||
},
|
||||
|
||||
lightBar: {
|
||||
light: tokens.petal.c400,
|
||||
},
|
||||
|
||||
buttons: {
|
||||
toggle: tokens.nectar.c300,
|
||||
toggleDisabled: tokens.silk.c500,
|
||||
|
||||
secondary: tokens.silk.c700,
|
||||
secondaryHover: tokens.silk.c600,
|
||||
purple: tokens.dawn.c500,
|
||||
purpleHover: tokens.dawn.c400,
|
||||
cancel: tokens.silk.c500,
|
||||
cancelHover: tokens.silk.c300,
|
||||
},
|
||||
|
||||
background: {
|
||||
main: tokens.dawn.c900,
|
||||
secondary: tokens.dawn.c600,
|
||||
secondaryHover: tokens.dawn.c400,
|
||||
accentA: tokens.nectar.c500,
|
||||
accentB: tokens.petal.c500,
|
||||
},
|
||||
|
||||
modal: {
|
||||
background: tokens.dawn.c800,
|
||||
},
|
||||
|
||||
type: {
|
||||
logo: tokens.nectar.c100,
|
||||
text: tokens.silk.c50,
|
||||
dimmed: tokens.silk.c50,
|
||||
divider: tokens.silk.c500,
|
||||
secondary: tokens.silk.c100,
|
||||
link: tokens.petal.c100,
|
||||
linkHover: tokens.petal.c50,
|
||||
},
|
||||
|
||||
search: {
|
||||
background: tokens.dawn.c500,
|
||||
hoverBackground: tokens.dawn.c600,
|
||||
focused: tokens.dawn.c400,
|
||||
placeholder: tokens.dawn.c100,
|
||||
icon: tokens.dawn.c100,
|
||||
},
|
||||
|
||||
mediaCard: {
|
||||
hoverBackground: tokens.dawn.c600,
|
||||
hoverAccent: tokens.dawn.c25,
|
||||
hoverShadow: tokens.dawn.c900,
|
||||
shadow: tokens.dawn.c700,
|
||||
barColor: tokens.silk.c200,
|
||||
barFillColor: tokens.petal.c100,
|
||||
badge: tokens.dawn.c700,
|
||||
badgeText: tokens.silk.c100,
|
||||
},
|
||||
|
||||
largeCard: {
|
||||
background: tokens.dawn.c600,
|
||||
icon: tokens.petal.c400,
|
||||
},
|
||||
|
||||
dropdown: {
|
||||
background: tokens.dawn.c600,
|
||||
altBackground: tokens.dawn.c700,
|
||||
hoverBackground: tokens.dawn.c500,
|
||||
text: tokens.silk.c50,
|
||||
secondary: tokens.dawn.c100,
|
||||
border: tokens.dawn.c400,
|
||||
contentBackground: tokens.dawn.c500,
|
||||
},
|
||||
|
||||
authentication: {
|
||||
border: tokens.dawn.c300,
|
||||
inputBg: tokens.dawn.c600,
|
||||
inputBgHover: tokens.dawn.c500,
|
||||
wordBackground: tokens.dawn.c500,
|
||||
copyText: tokens.dawn.c100,
|
||||
copyTextHover: tokens.silk.c50,
|
||||
},
|
||||
|
||||
settings: {
|
||||
sidebar: {
|
||||
activeLink: tokens.dawn.c600,
|
||||
badge: tokens.dawn.c900,
|
||||
type: {
|
||||
secondary: tokens.dawn.c200,
|
||||
inactive: tokens.dawn.c50,
|
||||
icon: tokens.dawn.c50,
|
||||
iconActivated: tokens.petal.c200,
|
||||
activated: tokens.petal.c50,
|
||||
},
|
||||
},
|
||||
card: {
|
||||
border: tokens.dawn.c400,
|
||||
background: tokens.dawn.c400,
|
||||
altBackground: tokens.dawn.c400,
|
||||
},
|
||||
saveBar: {
|
||||
background: tokens.dawn.c800,
|
||||
},
|
||||
},
|
||||
|
||||
utils: {
|
||||
divider: tokens.silk.c300,
|
||||
},
|
||||
|
||||
errors: {
|
||||
card: tokens.dawn.c800,
|
||||
border: tokens.silk.c500,
|
||||
type: {
|
||||
secondary: tokens.silk.c100,
|
||||
},
|
||||
},
|
||||
|
||||
about: {
|
||||
circle: tokens.silk.c500,
|
||||
circleText: tokens.silk.c50,
|
||||
},
|
||||
|
||||
editBadge: {
|
||||
bg: tokens.silk.c500,
|
||||
bgHover: tokens.silk.c400,
|
||||
text: tokens.silk.c50,
|
||||
},
|
||||
|
||||
progress: {
|
||||
background: tokens.silk.c50,
|
||||
preloaded: tokens.silk.c50,
|
||||
filled: tokens.petal.c200,
|
||||
},
|
||||
|
||||
video: {
|
||||
buttonBackground: tokens.silk.c200,
|
||||
autoPlay: {
|
||||
background: tokens.silk.c700,
|
||||
hover: tokens.silk.c500,
|
||||
},
|
||||
scraping: {
|
||||
card: tokens.dawn.c700,
|
||||
loading: tokens.petal.c200,
|
||||
noresult: tokens.silk.c100,
|
||||
},
|
||||
audio: {
|
||||
set: tokens.petal.c200,
|
||||
},
|
||||
context: {
|
||||
background: tokens.silk.c900,
|
||||
light: tokens.dawn.c50,
|
||||
border: tokens.silk.c600,
|
||||
hoverColor: tokens.silk.c600,
|
||||
buttonFocus: tokens.silk.c500,
|
||||
flagBg: tokens.silk.c500,
|
||||
inputBg: tokens.silk.c600,
|
||||
buttonOverInputHover: tokens.silk.c500,
|
||||
inputPlaceholder: tokens.silk.c200,
|
||||
cardBorder: tokens.silk.c700,
|
||||
slider: tokens.silk.c50,
|
||||
sliderFilled: tokens.petal.c200,
|
||||
buttons: {
|
||||
list: tokens.silk.c700,
|
||||
active: tokens.silk.c900,
|
||||
},
|
||||
closeHover: tokens.silk.c800,
|
||||
type: {
|
||||
secondary: tokens.silk.c200,
|
||||
accent: tokens.petal.c200,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
Loading…
Reference in a new issue