diff --git a/src/app/components/SourcePanel.tsx b/src/app/components/SourcePanel.tsx index 033d6ab1..d76a16b4 100644 --- a/src/app/components/SourcePanel.tsx +++ b/src/app/components/SourcePanel.tsx @@ -59,7 +59,7 @@ export function SourcePanel({ lang, name, model, blockStates, doCopy, doDownload const data = JSON.parse(source.current.value) model?.reset(data, false) } catch (e) { - // TODO + onError(`Error importing: ${e.message}`) } } diff --git a/src/app/pages/Generator.tsx b/src/app/pages/Generator.tsx index 264f8c57..6f7b871a 100644 --- a/src/app/pages/Generator.tsx +++ b/src/app/pages/Generator.tsx @@ -5,6 +5,7 @@ import config from '../../config.json' import { Analytics } from '../Analytics' import { Ad, Btn, BtnInput, BtnMenu, ErrorPanel, HasPreview, Octicon, PreviewPanel, SourcePanel, Tree } from '../components' import { fetchPreset } from '../DataFetcher' +import { useModel } from '../hooks' import { locale } from '../Locales' import type { BlockStateRegistry, VersionId } from '../Schemas' import { checkVersion, getBlockStates, getCollections, getModel } from '../Schemas' @@ -55,6 +56,10 @@ export function Generator({ lang, changeTitle, version, onChangeVersion }: Gener .catch(e => { console.error(e); setError(e.message) }) }, [version, gen.id]) + useModel(model, () => { + setError(null) + }) + const reset = () => { Analytics.generatorEvent('reset') model?.reset(model.schema.default(), true)