fix(rosto): expressoes e reacoes mantem a cor escolhida
Surpreso, triste e dormindo usavam azuis fixos; agora usam tons da cor escolhida (mais clara no susto, mais escura e apagada na tristeza e no sono). Nas reacoes da biblioteca o ciano padrao vira a cor escolhida e o azul-claro um tom claro dela, no celular e nas miniaturas do painel. Bravo (vermelho) e coracao (rosa) continuam, pois fazem parte da emocao. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -25,6 +25,13 @@
|
||||
if (['musica', 'estrela', 'coracao'].includes(receita?.simbolo)) return { emoji: SIMBOLO_EMOJI[receita.simbolo] };
|
||||
return null;
|
||||
});
|
||||
// Mesma regra do celular (reacoes-render.js): ciano padrão = cor escolhida; azul-claro = tom claro dela.
|
||||
function corDaReacao(hex: string | undefined): number[] {
|
||||
const h = (hex ?? '').toLowerCase(), base = estado.aparencia.cor;
|
||||
if (!/^#[0-9a-f]{6}$/.test(h) || h === '#5cd6ff') return [...base];
|
||||
if (h === '#aaccff') return base.map((v) => v + (255 - v) * 0.45);
|
||||
return rgb(h);
|
||||
}
|
||||
const estilo = $derived(ROSTOS_INFO[estado.aparencia.rosto]?.novo ? estado.aparencia.rosto : 'vivo');
|
||||
|
||||
$effect(() => {
|
||||
@@ -36,7 +43,7 @@
|
||||
motor.retrato(tela, {
|
||||
estilo,
|
||||
formato: estado.aparencia.formato ?? 'padrao',
|
||||
cor: /^#[0-9a-f]{6}$/i.test(passo?.cor ?? '') ? rgb(passo.cor) : estado.aparencia.cor,
|
||||
cor: corDaReacao(passo?.cor),
|
||||
forma: passo?.olhos ?? 'aberto',
|
||||
icone: nosOlhos.icone,
|
||||
desenho: nosOlhos.desenho ? $state.snapshot(nosOlhos.desenho) : null,
|
||||
|
||||
Reference in New Issue
Block a user