diff --git a/app.js b/app.js index 53417b1..b0f34cf 100644 --- a/app.js +++ b/app.js @@ -14,11 +14,21 @@ app.set('views', './src/views') app.use(express.static('dist')) -const siteName = "Pronoun Site" +const siteName = "Pronoun Monster" + +function constructLexicon(nominative, accusative, pronominalPossessive, predicativePossessive, reflexive) { + return { + nominative: { name: "Nominative", value: nominative}, + accusative: { name: "Accusative", value: accusative}, + pronominalPossessive: { name: "Pronominal Possessive", value: pronominalPossessive}, + predicativePossessive: { name: "Predicative Possessive", value: predicativePossessive}, + reflexive: { name: "Reflexive", value: reflexive} + } +} app.get('/', (req, res) => { const pageTitle = siteName; - res.render('home', { siteName, pageTitle } ) + res.render('home', { siteName, pageTitle, data } ) }) app.get('/:nominative/:accusative/:predicative_possessive/:reflexive', (req, res) => { @@ -28,9 +38,11 @@ app.get('/:nominative/:accusative/:predicative_possessive/:reflexive', (req, res predicative_possessive: predicativePossessive, reflexive, } = req.params - res.render('individual', { - nominative, accusative, pronominalPossessive: accusative, predicativePossessive, reflexive - }) + + const lexicon = constructLexicon(nominative, accusative, accusative, predicativePossessive, reflexive); + const pageTitle = Object.values(lexicon).map(entry => entry.value).join("/") + " - " + siteName; + + res.render('individual', { siteName, pageTitle, lexicon }) }) app.get('/:nominative/:accusative/:pronominal_possessive/:predicative_possessive/:reflexive', (req, res) => { @@ -41,12 +53,11 @@ app.get('/:nominative/:accusative/:pronominal_possessive/:predicative_possessive predicative_possessive: predicativePossessive, reflexive, } = req.params - - const pageTitle = [nominative, accusative, pronominalPossessive, predicativePossessive, reflexive].join("/") + " - " + siteName; - res.render('individual', { - siteName, pageTitle, nominative, accusative, pronominalPossessive, predicativePossessive, reflexive - }) + const lexicon = constructLexicon(nominative, accusative, pronominalPossessive, predicativePossessive, reflexive); + const pageTitle = Object.values(lexicon).map(entry => entry.value).join("/") + " - " + siteName; + + res.render('individual', { siteName, pageTitle, lexicon }) }) app.listen(3000)