#14 brakująca literatura dla on/jego

This commit is contained in:
Andrea Vos 2020-07-24 21:22:33 +02:00
parent 9ed9176aeb
commit 6ea869f519
4 changed files with 35 additions and 15 deletions

View File

@ -40,8 +40,8 @@
<Share :title="'Moje zaimki to: ' + selectedTemplate.name()"/>
</section>
<section v-if="templates[selectedTemplate.pronoun()] && templates[selectedTemplate.pronoun()].sources.length">
<Literature :sources="templates[selectedTemplate.pronoun()].sources"/>
<section v-if="getTemplate(selectedTemplate.name()) && getTemplate(selectedTemplate.name()).sources.length">
<Literature :sources="getTemplate(selectedTemplate.name()).sources"/>
</section>
<Separator icon="info"/>
@ -58,13 +58,14 @@
<script>
import { examples, templates } from "~/src/data";
import buildTemplate from "../src/buildTemplate";
import { buildTemplate, getTemplate } from "../src/buildTemplate";
export default {
data() {
return {
examples: examples,
templates: templates,
getTemplate: getTemplate,
selectedTemplate: buildTemplate(this.$route.path.substr(1)),
}

View File

@ -42,7 +42,7 @@
Sugestie:
</li>
<li class="list-inline-item" v-for="(template, pronoun) in templates">
<button :class="['btn', pronoun === selectedTemplate.morphemes.pronoun_n ? 'btn-primary' : 'btn-outline-primary', 'btn-sm']"
<button :class="['btn', template.name() === selectedTemplate.name() ? 'btn-primary' : 'btn-outline-primary', 'btn-sm']"
@click="selectedTemplate = templates[pronoun].clone()"
>
{{template.name()}}
@ -100,8 +100,8 @@
</div>
</div>
</div>
<div class="card-body border-top" v-if="templates[selectedTemplate.pronoun()] && templates[selectedTemplate.pronoun()].sources.length">
<Literature :sources="templates[selectedTemplate.pronoun()].sources"/>
<div class="card-body border-top" v-if="getTemplate(selectedTemplate.name()) && getTemplate(selectedTemplate.name()).sources.length">
<Literature :sources="getTemplate(selectedTemplate.name()).sources"/>
</div>
</div>
</section>
@ -124,7 +124,7 @@
<li class="my-2">
<Icon v="books"/>
<nuxt-link to="/literatura">
Niebinarna polszczyzna w literaturze
Niebinarna polszczyzna w literaturze, prasie, filmach i serialach
</nuxt-link>
<!-- https://docs.google.com/document/d/1ddgYxlZk0S6sDx7eVCMMXHQEvtXpDztpYQxomALXBXM/edit -->
przykłady zebrane przez Pawła Dembowskiego.
@ -160,12 +160,14 @@
import { examples, templates } from "~/src/data";
import Compressor from "../src/compressor";
import ClipboardJS from 'clipboard';
import { getTemplate } from "../src/buildTemplate";
export default {
data() {
return {
examples: examples,
templates: templates,
getTemplate: getTemplate,
selectedTemplate: templates['on'].clone(),
selectedMorpheme: '',
@ -178,11 +180,24 @@
},
computed: {
usedBase() {
const pronoun = this.selectedTemplate.morphemes.pronoun_n;
return this.templates[pronoun] !== undefined
&& this.selectedTemplate.equals(this.templates[pronoun])
? pronoun
: null;
const name = this.selectedTemplate.name();
for (let key in this.templates) {
if (this.templates.hasOwnProperty(key)) {
if (key === name) {
return key;
}
for (let alias of this.templates[key].aliases) {
if (alias === name) {
return key;
}
}
}
}
return null;
},
usedBaseEquals() {
return this.templates[this.usedBase].equals(this.selectedTemplate);
},
longLink() {
const base = this.templates[this.selectedTemplate.morphemes.pronoun_n];
@ -195,7 +210,7 @@
if (!this.selectedTemplate.pronoun()) {
return null;
}
return process.env.baseUrl + '/' + (this.usedBase || this.longLink);
return process.env.baseUrl + '/' + (this.usedBaseEquals ? this.usedBase : this.longLink);
},
},
methods: {

View File

@ -1,4 +1,4 @@
import buildTemplate from "../src/buildTemplate";
import { buildTemplate } from "../src/buildTemplate";
import { createCanvas, registerFont, loadImage } from 'canvas';
export default async function (req, res, next) {

View File

@ -13,7 +13,11 @@ for (let base in templates) {
}
}
export default (path) => {
export const getTemplate = (id) => {
return templatesWithAliases[id];
}
export const buildTemplate = (path) => {
const templateStr = path.split(',');
const base = templatesWithAliases[templateStr[0]]