import { DocumentDuplicateIcon, PencilSquareIcon, TrashIcon } from '@heroicons/react/20/solid'; import { useMemo } from 'react'; import { clearUserPatterns, deleteActivePattern, duplicateActivePattern, exportPatterns, getUserPattern, importPatterns, newUserPattern, renameActivePattern, setActivePattern, useActivePattern, useSettings, } from '../../settings.mjs'; import * as tunes from '../tunes.mjs'; function classNames(...classes) { return classes.filter(Boolean).join(' '); } export function PatternsTab({ context }) { const { userPatterns } = useSettings(); const activePattern = useActivePattern(); const isExample = useMemo(() => activePattern && !!tunes[activePattern], [activePattern]); return (
{activePattern && (

{activePattern}

{!isExample && ( )} {!isExample && ( )}
)}
{Object.entries(userPatterns).map(([key, up]) => ( { const { code } = up; setActivePattern(key); context.handleUpdate(code, true); }} > {key} ))}

Examples

{Object.entries(tunes).map(([key, tune]) => ( { setActivePattern(key); context.handleUpdate(tune, true); }} > {key} ))}
); }