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