diff --git a/web/display/src/AppearancePanel.tsx b/web/display/src/AppearancePanel.tsx index d944bb1..dbdc8a0 100644 --- a/web/display/src/AppearancePanel.tsx +++ b/web/display/src/AppearancePanel.tsx @@ -1,5 +1,6 @@ import { useEffect, useRef, useState } from 'react' import { APPEARANCE_DEFAULTS, APPEARANCE_RANGES, resetAppearance, setAppearance, useAppearance, type AppearanceSettings } from './appearance' +import { PHOTO_GROUPS, PHOTOS } from './backgrounds' type Tab = 'weather' | 'background' @@ -8,6 +9,8 @@ type SliderName = keyof typeof APPEARANCE_RANGES interface Slider { name: SliderName label: string + /** 悬停提示。 */ + hint?: string /** 数值怎么显示:默认是百分比。 */ format?: (value: number) => string } @@ -29,17 +32,18 @@ const WEATHER_SWITCHES: { name: 'mouse' | 'bullet'; label: string; hint: string ] const BACKGROUND_SLIDERS: Slider[] = [ - { name: 'bgBlur', label: '模糊', format: (value) => `${value}px` }, + { name: 'bgBlur', label: '再模糊', format: (value) => `${value}px` }, { name: 'parallax', label: '晃动' }, + { name: 'bgVeil', label: '遮罩', hint: '盖在背景图上的那层灰色(暗色)/ 白色(亮色),0% 就是不盖' }, ] const WEATHER_KEYS: (keyof AppearanceSettings)[] = ['enabled', 'density', 'speed', 'wind', 'size', 'blur', 'opacity', 'bullet', 'mouse'] -const BACKGROUND_KEYS: (keyof AppearanceSettings)[] = ['bgBlur', 'parallax'] +const BACKGROUND_KEYS: (keyof AppearanceSettings)[] = ['photo', 'bgBlurred', 'bgBlur', 'bgOriginal', 'sway', 'parallax', 'bgVeil'] function SliderRow({ slider, settings, disabled }: { slider: Slider; settings: AppearanceSettings; disabled?: boolean }) { - const { name, label, format = percent } = slider + const { name, label, hint, format = percent } = slider return ( -