import { createTheme } from "../types"; const tokens = { black: "#000000", // General black color white: "#FFFFFF", // General white color semantic: { red: { c100: "#F46E6E", // Error text c200: "#E44F4F", // Video player scraping error c300: "#D74747", // Danger button c400: "#B43434", // Not currently used }, green: { c100: "#60D26A", // Success text c200: "#40B44B", // Video player scraping success c300: "#31A33C", // Not currently used c400: "#237A2B", // Not currently used }, silver: { c100: "#DEDEDE", // Primary button hover c200: "#B6CAD7", // Not currently used c300: "#8EA3B0", // Secondary button text c400: "#617A8A", // Main text in video player context }, yellow: { c100: "#FFF599", // Best onboarding highlight c200: "#FCEC61", // Dropdown highlight hover c300: "#D8C947", // Not currently used c400: "#AFA349", // Dropdown highlight }, rose: { c100: "#DB3D61", // Authentication error text c200: "#8A293B", // Danger button hover c300: "#812435", // Danger button c400: "#701B2B", // Not currently used }, }, blue: { c50: "#ADADF5", // Not currently used c100: "#7979CC", // Not currently used c200: "#5D5DAE", // Theme primary color, pill highlight, global accent A c300: "#3B3B8C", // Global accent B c400: "#2A2A71", // Light bar color c500: "#1F1F50", // Background accent B c600: "#1B1B41", // Not currently used c700: "#171736", // Not currently used c800: "#101020", // Not currently used c900: "#0B0B13", // Not currently used }, purple: { c50: "#D5AAFF", // Link hover, settings tabs titles/text c100: "#C082FF", // Link, logo text, video player audio set c200: "#A359EC", // Progress filled, video player scraping loading, video player context accent c300: "#8D44D6", // Toggle button, onboarding bar filled c400: "#7831BF", // Large card icon c500: "#572887", // Background accent A c600: "#411F64", // Not currently used c700: "#31184A", // Not currently used c800: "#221134", // Not currently used c900: "#160B22", // Not currently used }, ash: { c50: "#7F8D9B", // Authentication copy text hover, progress background, progress preloaded c100: "#5B6B7B", // Secondary text, badge text, video player scraping no result c200: "#445464", // Media card bar color, video player button background c300: "#2B3D4E", // Cancel button hover, utils divider c400: "#203242", // Card border and background, dropdown border, onboarding bar, edit badge hover, sidebar type c500: "#1C2C3C", // Toggle disabled, cancel button, modal background, search hover background, media card shadow, settings save bar, errors card, about circle, edit badge background, video player button focus, video player flag background, video player input background, video player button over input hover c600: "#172532", // Background secondary, dropdown alt background, dropdown border, onboarding card border c700: "#131E29", // Secondary button, media card badge, onboarding card hover, video player context card border, video player context buttons list, video player close hover c800: "#101820", // Background main, settings sidebar badge, errors border c900: "#0C1216", // Media card hover shadow, settings sidebar active link, video player context background }, shade: { c25: "#5d5db3", // Media card hover accent c50: "#676790", // Theme secondary color, text, dimmed text c100: "#52527A", // Search placeholder and icon, dropdown secondary text c200: "#3F3F60", // Pill background hover, onboarding divider c300: "#32324F", // Pill background, authentication border, onboarding card c400: "#272741", // Background secondary hover, dropdown border, onboarding bar, onboarding divider c500: "#1E1E32", // Search background, search focus, dropdown hover background, dropdown content background, authentication input background hover, authentication word background c600: "#171728", // Modal background, dropdown background, onboarding card border c700: "#131322", // Dropdown alt background c800: "#0F0F1B", // Background main, settings save bar, onboarding card c900: "#0A0A12", // Media card hover shadow }, } export default createTheme({ name: "classic", extend: { colors: { themePreview: { primary: tokens.blue.c200, secondary: tokens.shade.c50, ghost: tokens.white, }, // Branding pill: { background: tokens.shade.c300, backgroundHover: tokens.shade.c200, highlight: tokens.blue.c200, activeBackground: tokens.shade.c300, }, // meta data for the theme itself global: { accentA: tokens.blue.c200, accentB: tokens.blue.c300, }, // light bar lightBar: { light: tokens.blue.c400, }, // Buttons buttons: { toggle: tokens.purple.c300, toggleDisabled: tokens.ash.c500, danger: tokens.semantic.rose.c300, dangerHover: tokens.semantic.rose.c200, secondary: tokens.ash.c700, secondaryText: tokens.semantic.silver.c300, secondaryHover: tokens.ash.c700, primary: tokens.white, primaryText: tokens.black, primaryHover: tokens.semantic.silver.c100, purple: tokens.purple.c500, purpleHover: tokens.purple.c400, cancel: tokens.ash.c500, cancelHover: tokens.ash.c300, }, // only used for body colors/textures background: { main: tokens.shade.c900, secondary: tokens.shade.c600, secondaryHover: tokens.shade.c400, accentA: tokens.purple.c500, accentB: tokens.blue.c500, }, // Modals modal: { background: tokens.shade.c800, }, // typography 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 bar search: { background: tokens.shade.c500, hoverBackground: tokens.shade.c600, focused: tokens.shade.c400, placeholder: tokens.shade.c100, icon: tokens.shade.c100, text: tokens.white, }, // media cards mediaCard: { hoverBackground: tokens.shade.c600, hoverAccent: tokens.shade.c25, hoverShadow: tokens.shade.c900, shadow: tokens.shade.c700, barColor: tokens.ash.c200, barFillColor: tokens.purple.c100, badge: tokens.shade.c700, badgeText: tokens.ash.c100, }, // Large card largeCard: { background: tokens.shade.c600, icon: tokens.purple.c400, }, // Dropdown dropdown: { background: tokens.shade.c600, altBackground: tokens.shade.c700, hoverBackground: tokens.shade.c500, highlight: tokens.semantic.yellow.c400, highlightHover: tokens.semantic.yellow.c200, text: tokens.shade.c50, secondary: tokens.shade.c100, border: tokens.shade.c400, contentBackground: tokens.shade.c500, }, // Passphrase authentication: { border: tokens.shade.c300, inputBg: tokens.shade.c600, inputBgHover: tokens.shade.c500, wordBackground: tokens.shade.c500, copyText: tokens.shade.c100, copyTextHover: tokens.ash.c50, errorText: tokens.semantic.rose.c100, }, // Settings page settings: { sidebar: { activeLink: tokens.shade.c600, badge: tokens.shade.c900, type: { secondary: tokens.shade.c200, inactive: tokens.shade.c50, icon: tokens.shade.c50, iconActivated: tokens.purple.c200, activated: tokens.purple.c50, }, }, card: { border: tokens.shade.c400, background: tokens.shade.c400, altBackground: tokens.shade.c400, }, saveBar: { background: tokens.shade.c800, }, }, // Utilities utils: { divider: tokens.ash.c300, }, // Onboarding 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, }, // Error page errors: { card: tokens.shade.c800, border: tokens.ash.c500, type: { secondary: tokens.ash.c100, }, }, // About page about: { circle: tokens.ash.c500, circleText: tokens.ash.c50, }, // About page 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 player video: { buttonBackground: tokens.ash.c200, autoPlay: { background: tokens.ash.c700, hover: tokens.ash.c500, }, scraping: { card: tokens.shade.c700, error: tokens.semantic.red.c200, success: tokens.semantic.green.c200, loading: tokens.purple.c200, noresult: tokens.ash.c100, }, audio: { set: tokens.purple.c200, }, context: { background: tokens.ash.c900, light: tokens.shade.c50, border: tokens.ash.c600, hoverColor: tokens.ash.c600, buttonFocus: tokens.ash.c500, flagBg: tokens.ash.c500, inputBg: tokens.ash.c600, buttonOverInputHover: tokens.ash.c500, inputPlaceholder: tokens.ash.c200, cardBorder: tokens.ash.c700, slider: tokens.ash.c50, 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.c400, secondary: tokens.ash.c200, accent: tokens.purple.c200, }, }, }, }, }, })