diff --git a/src/common/period.ts b/src/common/period.ts index b2787ceab..8fb4eb147 100644 --- a/src/common/period.ts +++ b/src/common/period.ts @@ -13,11 +13,60 @@ export const periodModifiers = [ ] as const export const Periods = { - None: { - name: 'None', - abbreviation: '', - description: '', - displayName: '-', + 'Uruk IV': { + name: 'Uruk IV', + abbreviation: 'Uruk4', + description: '(ca. 3600-3300 BCE)', + displayName: null, + parent: null, + }, + 'Uruk III-Jemdet Nasr': { + name: 'Uruk III-Jemdet Nasr', + abbreviation: 'JN', + description: '(ca. 3300-3000 BCE)', + displayName: 'Uruk III/Jemdet Nasr', + parent: null, + }, + 'Proto-Elamite': { + name: 'Proto-Elamite', + abbreviation: 'PElam', + description: '(c. 3200 – c. 2700 BCE)', + displayName: null, + parent: null, + }, + 'ED I-II': { + name: 'ED I-II', + abbreviation: 'ED1-2', + description: '(ca. 3000-2600 BCE)', + displayName: 'ED I/II', + parent: null, + }, + Fara: { + name: 'Fara', + abbreviation: 'Fara', + description: '(ca. 2600-2475 BCE)', + displayName: null, + parent: null, + }, + 'Old Elamite': { + name: 'Old Elamite', + abbreviation: 'OElam', + description: '(c. 2600 – c. 1500 BCE)', + displayName: null, + parent: null, + }, + Presargonic: { + name: 'Presargonic', + abbreviation: 'PSarg', + description: '(ca. 2475-2300 BCE)', + displayName: null, + parent: null, + }, + Sargonic: { + name: 'Sargonic', + abbreviation: 'Sarg', + description: '(ca. 2300-2180 BCE)', + displayName: null, parent: null, }, 'Ur III': { @@ -27,13 +76,7 @@ export const Periods = { displayName: null, parent: null, }, - 'Old Assyrian': { - name: 'Old Assyrian', - abbreviation: 'OA', - description: '(ca. 1950–1850 BCE)', - displayName: null, - parent: null, - }, + 'Old Babylonian': { name: 'Old Babylonian', abbreviation: 'OB', @@ -41,6 +84,13 @@ export const Periods = { displayName: null, parent: null, }, + 'Old Assyrian': { + name: 'Old Assyrian', + abbreviation: 'OA', + description: '(ca. 1950–1850 BCE)', + displayName: null, + parent: null, + }, 'Middle Babylonian': { name: 'Middle Babylonian', abbreviation: 'MB', @@ -62,6 +112,13 @@ export const Periods = { displayName: null, parent: null, }, + 'Middle Elamite': { + name: 'Middle Elamite', + abbreviation: 'MElam', + description: '(c. 1450 – c. 1100 BCE)', + displayName: null, + parent: null, + }, 'Neo-Assyrian': { name: 'Neo-Assyrian', abbreviation: 'NA', @@ -76,6 +133,13 @@ export const Periods = { displayName: null, parent: null, }, + 'Neo-Elamite': { + name: 'Neo-Elamite', + abbreviation: 'NElam', + description: '(c. 743 – 500 BCE)', + displayName: null, + parent: null, + }, 'Late Babylonian': { name: 'Late Babylonian', abbreviation: 'LB', @@ -104,76 +168,6 @@ export const Periods = { displayName: null, parent: 'Late Babylonian', }, - 'Uruk IV': { - name: 'Uruk IV', - abbreviation: 'Uruk4', - description: '(ca. 3600-3300 BCE)', - displayName: null, - parent: null, - }, - 'Uruk III-Jemdet Nasr': { - name: 'Uruk III-Jemdet Nasr', - abbreviation: 'JN', - description: '(ca. 3300-3000 BCE)', - displayName: 'Uruk III/Jemdet Nasr', - parent: null, - }, - 'ED I-II': { - name: 'ED I-II', - abbreviation: 'ED1-2', - description: '(ca. 3000-2600 BCE)', - displayName: 'ED I/II', - parent: null, - }, - Fara: { - name: 'Fara', - abbreviation: 'Fara', - description: '(ca. 2600-2475 BCE)', - displayName: null, - parent: null, - }, - Presargonic: { - name: 'Presargonic', - abbreviation: 'PSarg', - description: '(ca. 2475-2300 BCE)', - displayName: null, - parent: null, - }, - Sargonic: { - name: 'Sargonic', - abbreviation: 'Sarg', - description: '(ca. 2300-2180 BCE)', - displayName: null, - parent: null, - }, - 'Proto-Elamite': { - name: 'Proto-Elamite', - abbreviation: 'PElam', - description: '(c. 3200 – c. 2700 BCE)', - displayName: null, - parent: null, - }, - 'Old Elamite': { - name: 'Old Elamite', - abbreviation: 'OElam', - description: '(c. 2600 – c. 1500 BCE)', - displayName: null, - parent: null, - }, - 'Middle Elamite': { - name: 'Middle Elamite', - abbreviation: 'MElam', - description: '(c. 1450 – c. 1100 BCE)', - displayName: null, - parent: null, - }, - 'Neo-Elamite': { - name: 'Neo-Elamite', - abbreviation: 'NElam', - description: '(c. 743 – 500 BCE)', - displayName: null, - parent: null, - }, Uncertain: { name: 'Uncertain', abbreviation: 'Unc', @@ -181,33 +175,41 @@ export const Periods = { displayName: null, parent: null, }, + None: { + name: 'None', + abbreviation: '', + description: '', + displayName: '-', + parent: null, + }, } as const export type Period = typeof Periods[keyof typeof Periods] export const periods = [ - Periods.None, + Periods['Uruk IV'], + Periods['Uruk III-Jemdet Nasr'], + Periods['Proto-Elamite'], + Periods['ED I-II'], + Periods.Fara, + Periods['Old Elamite'], + Periods.Presargonic, + Periods.Sargonic, Periods['Ur III'], - Periods['Old Assyrian'], Periods['Old Babylonian'], + Periods['Old Assyrian'], Periods['Middle Babylonian'], Periods['Middle Assyrian'], Periods.Hittite, + Periods['Middle Elamite'], Periods['Neo-Assyrian'], Periods['Neo-Babylonian'], + Periods['Neo-Elamite'], Periods['Late Babylonian'], Periods.Persian, Periods.Hellenistic, Periods.Parthian, - Periods['Uruk IV'], - Periods['Uruk III-Jemdet Nasr'], - Periods['ED I-II'], - Periods.Fara, Periods.Presargonic, - Periods.Sargonic, - Periods['Proto-Elamite'], - Periods['Old Elamite'], - Periods['Middle Elamite'], - Periods['Neo-Elamite'], Periods.Uncertain, + Periods.None, ] as const export const Stages = { diff --git a/src/dictionary/ui/display/__snapshots__/WordDisplay.test.tsx.snap b/src/dictionary/ui/display/__snapshots__/WordDisplay.test.tsx.snap index d923e2423..66f2eed40 100644 --- a/src/dictionary/ui/display/__snapshots__/WordDisplay.test.tsx.snap +++ b/src/dictionary/ui/display/__snapshots__/WordDisplay.test.tsx.snap @@ -1187,7 +1187,7 @@ exports[`Fetch word correctly displays word parts 1`] = ` colspan="2" scope="col" > - Uruk III-Jemdet Nasr + Neo-Assyrian @@ -1205,7 +1205,7 @@ exports[`Fetch word correctly displays word parts 1`] = ` ( @@ -1228,7 +1228,7 @@ exports[`Fetch word correctly displays word parts 1`] = ` class="lines-with-lemma__line-number" > 3 @@ -1281,7 +1281,7 @@ exports[`Fetch word correctly displays word parts 1`] = ` colspan="2" scope="col" > - Hellenistic + Middle Assyrian @@ -1299,7 +1299,7 @@ exports[`Fetch word correctly displays word parts 1`] = ` ( @@ -1322,7 +1322,7 @@ exports[`Fetch word correctly displays word parts 1`] = ` class="lines-with-lemma__line-number" > 5 @@ -1375,7 +1375,7 @@ exports[`Fetch word correctly displays word parts 1`] = ` colspan="2" scope="col" > - Neo-Babylonian + Ur III @@ -1393,7 +1393,7 @@ exports[`Fetch word correctly displays word parts 1`] = ` ( @@ -1416,7 +1416,7 @@ exports[`Fetch word correctly displays word parts 1`] = ` class="lines-with-lemma__line-number" > 9 @@ -1469,7 +1469,7 @@ exports[`Fetch word correctly displays word parts 1`] = ` colspan="2" scope="col" > - Middle Assyrian + Presargonic @@ -1487,7 +1487,7 @@ exports[`Fetch word correctly displays word parts 1`] = ` ( @@ -1510,7 +1510,7 @@ exports[`Fetch word correctly displays word parts 1`] = ` class="lines-with-lemma__line-number" > 10 @@ -1581,7 +1581,7 @@ exports[`Fetch word correctly displays word parts 1`] = ` colspan="2" scope="col" > - Uruk IV + Middle Elamite @@ -1599,7 +1599,7 @@ exports[`Fetch word correctly displays word parts 1`] = ` ( @@ -1622,7 +1622,7 @@ exports[`Fetch word correctly displays word parts 1`] = ` class="lines-with-lemma__line-number" > 2 @@ -1675,7 +1675,7 @@ exports[`Fetch word correctly displays word parts 1`] = ` colspan="2" scope="col" > - ED I-II + Neo-Assyrian @@ -1693,7 +1693,7 @@ exports[`Fetch word correctly displays word parts 1`] = ` ( @@ -1716,7 +1716,7 @@ exports[`Fetch word correctly displays word parts 1`] = ` class="lines-with-lemma__line-number" > 4 @@ -1763,15 +1763,6 @@ exports[`Fetch word correctly displays word parts 1`] = ` - - - Old Babylonian - - - Gofbi sewuwval maggenur pihuho lave pepisi wi cik gamfamji zudad po deohibud epaada awaheiw ci botmosi. + Utiwewafu luse jifow use kubfegra ebitam nic soimo hivgutbu afi ikapiz rima wa vikbo og rew.   ( D - MMMLXII.2682370366898176 + MMCCXVI.8941636763516928 )   - Lero sa urilom duriljar foiz kebovma rib fej duj ir el amo hifsoca fekod ehmewi nemef cek. + Menukera tecu tajo hovbab zofin goahasa osunar gonetda rize jarovme uzdapupo battitwe bu beinuwe dumgewig nivi cawoh. @@ -1810,9 +1801,9 @@ exports[`Fetch word correctly displays word parts 1`] = ` class="lines-with-lemma__line-number" > - 6 + 8 @@ -1853,7 +1844,7 @@ exports[`Fetch word correctly displays word parts 1`] = ` - Ah ezivic takhej zuaka teipozid putal pomvit jauwivod ureri ekowieda bofcimpe ocnab hivooh cozev rizcoz. + Sudtih ra nofom dorto di hi nohekju zusho niwe du orazehhu un efawuluv bubwerlu vojpijiz. @@ -1863,7 +1854,7 @@ exports[`Fetch word correctly displays word parts 1`] = ` colspan="2" scope="col" > - Old Elamite + ED I-II @@ -1875,25 +1866,25 @@ exports[`Fetch word correctly displays word parts 1`] = ` - Ef ar ro lafizav ifomu uzejude bapujkid moki leclajdad vojetseb ru oba deovwo eveoha othilmo miwhiblej il. + Gofbi sewuwval maggenur pihuho lave pepisi wi cik gamfamji zudad po deohibud epaada awaheiw ci botmosi.   ( D - CVI.5382019083141120 + MMMLXII.2682370366898176 )   - Jasotwe moepe vewuc labzana irsimodo domru asenu juf wehfog ja dotmita bev osopuw cehatnoh ifli gutup kajo fawsef. + Lero sa urilom duriljar foiz kebovma rib fej duj ir el amo hifsoca fekod ehmewi nemef cek. @@ -1904,9 +1895,9 @@ exports[`Fetch word correctly displays word parts 1`] = ` class="lines-with-lemma__line-number" > - 7 + 6 @@ -1947,7 +1938,7 @@ exports[`Fetch word correctly displays word parts 1`] = ` - Wu guk daulvor deco ewilozco ijujudo gerra howotnid lakaar bocaj uwok nucidok kuru bigivan emacew gitojiz kogar. + Ah ezivic takhej zuaka teipozid putal pomvit jauwivod ureri ekowieda bofcimpe ocnab hivooh cozev rizcoz. @@ -1957,7 +1948,7 @@ exports[`Fetch word correctly displays word parts 1`] = ` colspan="2" scope="col" > - Uruk III-Jemdet Nasr + Parthian @@ -1969,25 +1960,25 @@ exports[`Fetch word correctly displays word parts 1`] = ` - Utiwewafu luse jifow use kubfegra ebitam nic soimo hivgutbu afi ikapiz rima wa vikbo og rew. + Ef ar ro lafizav ifomu uzejude bapujkid moki leclajdad vojetseb ru oba deovwo eveoha othilmo miwhiblej il.   ( D - MMCCXVI.8941636763516928 + CVI.5382019083141120 )   - Menukera tecu tajo hovbab zofin goahasa osunar gonetda rize jarovme uzdapupo battitwe bu beinuwe dumgewig nivi cawoh. + Jasotwe moepe vewuc labzana irsimodo domru asenu juf wehfog ja dotmita bev osopuw cehatnoh ifli gutup kajo fawsef. @@ -1998,9 +1989,9 @@ exports[`Fetch word correctly displays word parts 1`] = ` class="lines-with-lemma__line-number" > - 8 + 7 @@ -2041,7 +2032,7 @@ exports[`Fetch word correctly displays word parts 1`] = ` - Sudtih ra nofom dorto di hi nohekju zusho niwe du orazehhu un efawuluv bubwerlu vojpijiz. + Wu guk daulvor deco ewilozco ijujudo gerra howotnid lakaar bocaj uwok nucidok kuru bigivan emacew gitojiz kogar. @@ -2051,7 +2042,7 @@ exports[`Fetch word correctly displays word parts 1`] = ` colspan="2" scope="col" > - Middle Babylonian + Fara @@ -2069,7 +2060,7 @@ exports[`Fetch word correctly displays word parts 1`] = ` ( @@ -2092,7 +2083,7 @@ exports[`Fetch word correctly displays word parts 1`] = ` class="lines-with-lemma__line-number" > 11 diff --git a/src/fragmentarium/ui/search/__snapshots__/FragmentariumSearch.test.tsx.snap b/src/fragmentarium/ui/search/__snapshots__/FragmentariumSearch.test.tsx.snap index c4240c419..789e360e8 100644 --- a/src/fragmentarium/ui/search/__snapshots__/FragmentariumSearch.test.tsx.snap +++ b/src/fragmentarium/ui/search/__snapshots__/FragmentariumSearch.test.tsx.snap @@ -703,7 +703,7 @@ exports[`Searching fragments by transliteration Displays corpus results when cli > egiimsuh.9 - (JN) + (NA)
pespez.10 - (MA) + (OElam)
> - Hellenistic Zulasbu kica hemfojpo ub deboc ak eji pivojbi aweik rud vilvij lajokriw goc cidbire ag. + Middle Babylonian Zulasbu kica hemfojpo ub deboc ak eji pivojbi aweik rud vilvij lajokriw goc cidbire ag.
@@ -12552,7 +12552,7 @@ exports[`Searching fragments by transliteration Displays corpus results when cli class="chapter-display__line-number" > @@ -12675,7 +12675,7 @@ exports[`Searching fragments by transliteration Displays corpus results when cli class="chapter-display__line-number" > @@ -12785,7 +12785,7 @@ exports[`Searching fragments by transliteration Displays corpus results when cli Jel luno mavip no sishi opnidere idu odotocte dabeci laek ripe haknor jasuj.
> - Neo-Assyrian Susubem topurena leol awiezowik ce jitcoj vu wovcabtad ki gevbial gelewozo le bejab felufad fum eti. + Sargonic Susubem topurena leol awiezowik ce jitcoj vu wovcabtad ki gevbial gelewozo le bejab felufad fum eti. @@ -12828,7 +12828,7 @@ exports[`Searching fragments by transliteration Displays corpus results when cli class="chapter-display__line-number" > @@ -12951,7 +12951,7 @@ exports[`Searching fragments by transliteration Displays corpus results when cli class="chapter-display__line-number" > diff --git a/src/signs/ui/display/SignImages.tsx b/src/signs/ui/display/SignImages.tsx index fd24e732c..38cd0954c 100644 --- a/src/signs/ui/display/SignImages.tsx +++ b/src/signs/ui/display/SignImages.tsx @@ -8,7 +8,7 @@ import _ from 'lodash' import { Link } from 'react-router-dom' import { CroppedAnnotation } from 'signs/domain/CroppedAnnotation' import './SignImages.css' -import { periodFromAbbreviation, Periods } from 'common/period' +import { periodFromAbbreviation, periods } from 'common/period' type Props = { signName: string @@ -57,15 +57,16 @@ function SignImagePagination({ croppedAnnotations, (croppedAnnotation) => croppedAnnotation.script ) - const periodsKeys = ['', _.keysIn(Periods)] - const scriptsSorted_ = _.sortBy( - Object.entries(scripts), - (elem) => -periodsKeys.indexOf(elem[0]) - ) - const scriptsSorted = [ - ...scriptsSorted_.slice(1, scriptsSorted_.length), - scriptsSorted_[0], - ] + const periodsAbbr = [...periods.map((period) => period.abbreviation), ''] + + const scriptsSorted = _.sortBy(Object.entries(scripts), (elem) => { + const index = periodsAbbr.indexOf(elem[0]) + if (index == -1) { + throw new Error(`${elem[0]} has to be one of ${periodsAbbr}`) + } else { + return index + } + }) return (