diff --git a/website/src/metadata_parser.js b/website/src/metadata_parser.js index 1e0c9680..ea1180bb 100644 --- a/website/src/metadata_parser.js +++ b/website/src/metadata_parser.js @@ -1,9 +1,10 @@ const ALLOW_MANY = ['by', 'url', 'genre', 'license']; +import { defaultCode } from './user_pattern_utils.mjs'; export function getMetadata(raw_code) { if (raw_code == null) { - console.error('saved pattern is empty or corrupted') - raw_code = ''; + console.error('could not extract metadata from missing pattern code'); + raw_code = defaultCode; } const comment_regexp = /\/\*([\s\S]*?)\*\/|\/\/(.*)$/gm; const comments = [...raw_code.matchAll(comment_regexp)].map((c) => (c[1] || c[2] || '').trim()); diff --git a/website/src/repl/components/panel/PatternsTab.jsx b/website/src/repl/components/panel/PatternsTab.jsx index 21449444..f94cf47d 100644 --- a/website/src/repl/components/panel/PatternsTab.jsx +++ b/website/src/repl/components/panel/PatternsTab.jsx @@ -27,14 +27,10 @@ export function PatternLabel({ pattern } /* : { pattern: Tables<'code'> } */) { const date = new Date(pattern.created_at); if (!isNaN(date)) { title = date.toLocaleDateString(); + } else { + title = 'unnamed'; } } - if (title == null) { - title = pattern.hash; - } - if (title == null) { - title = 'unnamed'; - } const author = Array.isArray(meta.by) ? meta.by.join(',') : 'Anonymous'; return <>{`${pattern.id}: ${title} by ${author.slice(0, 100)}`.slice(0, 60)}; diff --git a/website/src/user_pattern_utils.mjs b/website/src/user_pattern_utils.mjs index 5622d563..18442cb4 100644 --- a/website/src/user_pattern_utils.mjs +++ b/website/src/user_pattern_utils.mjs @@ -111,7 +111,7 @@ export function useActivePattern() { export const setLatestCode = (code) => settingsMap.setKey('latestCode', code); -const defaultCode = ''; +export const defaultCode = ''; export const userPattern = { collection: patternFilterName.user, getAll() {