import { Component, For, createEffect, createSignal } from 'solid-js'; import { listen } from '@tauri-apps/api/event'; import debug from 'debug'; import { invoke } from '@tauri-apps/api/core'; import { DisplayState, RawDisplayState } from '../../models/display-state.model'; import { DisplayStateCard } from './display-state-card'; const logger = debug('app:components:displays:display-state-index'); export const DisplayStateIndex: Component = () => { const [states, setStates] = createSignal([]); createEffect(() => { const unlisten = listen('displays_changed', (ev) => { logger('displays_changed', ev); setStates( ev.payload.map((it) => ({ ...it, last_modified_at: new Date(it.last_modified_at.secs_since_epoch * 1000), })), ); }); invoke('get_displays').then((states) => { logger('get_displays', states); setStates( states.map((it) => ({ ...it, last_modified_at: new Date(it.last_modified_at.secs_since_epoch * 1000), })), ); }); return () => { unlisten.then((unlisten) => unlisten()); }; }); return (

显示器状态

显示器数量
{states().length}
{(state, index) => (
{index() + 1}
)}
{states().length === 0 && (
🖥️

未检测到显示器

请检查显示器连接状态

)}
); };