picker/js/themes.js
2026-10-09 13:45:54 +02:00

42 lines
1.3 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// Visual themes. `colors` are per-finger, `team` per team (A–D).
// The high-contrast theme also gives every finger/team its own shape,
// so nothing depends on telling colours apart.
export const SHAPES = ['circle', 'square', 'triangle', 'diamond', 'star', 'hexagon', 'cross', 'pentagon'];
export const THEMES = {
neon: {
bg: '#05050b',
glow: 1,
additive: true,
shapes: false,
lineScale: 1,
spectator: '#4a4a58',
colors: ['#ff2e63', '#00e5ff', '#ffe500', '#3dff5a', '#b45cff', '#ff8a1f', '#2f6bff', '#ff4fd8', '#00ffb2', '#c8ff00', '#ff5b3a', '#9fb4ff'],
team: ['#ff2e63', '#00e5ff', '#ffe500', '#3dff5a'],
},
pastel: {
bg: '#1c1a26',
glow: 0.45,
additive: false,
shapes: false,
lineScale: 1.15,
spectator: '#4b4858',
colors: ['#ff9aa2', '#9ee3e0', '#ffd6a5', '#b9f2c4', '#cdb4ff', '#ffc6e7', '#a0c4ff', '#fdffb6', '#f7b0be', '#b8e0d2', '#e2c2ff', '#ffcfa3'],
team: ['#ff9aa2', '#a0c4ff', '#fdffb6', '#b9f2c4'],
},
contrast: {
bg: '#000000',
glow: 0,
additive: false,
shapes: true,
lineScale: 1.3,
spectator: '#6b6b6b',
colors: ['#ffffff', '#ffd500', '#00d9ff', '#ff4fd8', '#4dff4d', '#ff8c00', '#a98bff', '#ff4545'],
team: ['#ffd500', '#00d9ff', '#ff4fd8', '#ffffff'],
},
};
export function getTheme(name) {
return THEMES[name] || THEMES.neon;
}