Add curator Influences tool with import wizard, CRUD, and graph.

CSV/JSON/XLSX mapping wizard expands artist-level rows to all paintings, blocks duplicate file/data imports via content and payload hashes, and documents the workflow in influence-import.md.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Danila Khodjaef
2026-07-16 18:54:26 +03:00
co-authored by Cursor
parent 62d7ebbe6a
commit 48bd17e985
21 changed files with 3402 additions and 15 deletions
+5 -1
View File
@@ -11,6 +11,7 @@ import enBio from '../locales/en/bio.json';
import enAnnotations from '../locales/en/annotations.json';
import enDebug from '../locales/en/debug.json';
import enTranslations from '../locales/en/translations.json';
import enInfluences from '../locales/en/influences.json';
import ruCommon from '../locales/ru/common.json';
import ruHome from '../locales/ru/home.json';
@@ -21,6 +22,7 @@ import ruBio from '../locales/ru/bio.json';
import ruAnnotations from '../locales/ru/annotations.json';
import ruDebug from '../locales/ru/debug.json';
import ruTranslations from '../locales/ru/translations.json';
import ruInfluences from '../locales/ru/influences.json';
const initialLocale = readStoredLocale();
writeStoredLocale(initialLocale);
@@ -29,7 +31,7 @@ void i18n.use(initReactI18next).init({
lng: initialLocale,
fallbackLng: 'en',
supportedLngs: ['en', 'ru'],
ns: ['common', 'home', 'search', 'gallery', 'painting', 'bio', 'annotations', 'debug', 'translations'],
ns: ['common', 'home', 'search', 'gallery', 'painting', 'bio', 'annotations', 'debug', 'translations', 'influences'],
defaultNS: 'common',
resources: {
en: {
@@ -42,6 +44,7 @@ void i18n.use(initReactI18next).init({
annotations: enAnnotations,
debug: enDebug,
translations: enTranslations,
influences: enInfluences,
},
ru: {
common: ruCommon,
@@ -53,6 +56,7 @@ void i18n.use(initReactI18next).init({
annotations: ruAnnotations,
debug: ruDebug,
translations: ruTranslations,
influences: ruInfluences,
},
},
interpolation: { escapeValue: false },