import { FC, useCallback, useMemo } from 'react'; import { GetConfigurationValue, useUiSettings } from '../../api'; export const InterfaceImageTabView: FC<{}> = () => { const { settings, updateSettings } = useUiSettings(); const imageCount = useMemo(() => { return GetConfigurationValue('ui.header.images.count', 30); }, []); const baseUrl = useMemo(() => { return GetConfigurationValue('ui.header.images.url', ''); }, []); const images = useMemo(() => { const result: string[] = []; for(let i = 1; i <= imageCount; i++) { result.push(baseUrl.replace('{id}', String(i))); } return result; }, [ imageCount, baseUrl ]); const onImageSelect = useCallback((url: string) => { updateSettings({ colorMode: 'image', headerImageUrl: url }); }, [ updateSettings ]); return (
{ images.map((url, i) => (
onImageSelect(url) } /> )) }
); };