diff --git a/components/InclusiveSubmitForm.vue b/components/InclusiveSubmitForm.vue
index 4391639b..e2d85d45 100644
--- a/components/InclusiveSubmitForm.vue
+++ b/components/InclusiveSubmitForm.vue
@@ -20,6 +20,14 @@
inclusive.insteadOf
+
+
+
+
+
@@ -95,10 +103,12 @@
because: '',
categories: [],
links: [],
+ clarification: null,
base: null,
},
submitting: false,
afterSubmit: false,
+ clarification: false,
}
},
methods: {
@@ -113,8 +123,10 @@
because: '',
categories: [],
links: [],
+ clarification: null,
base: null,
};
+ this.clarification = false;
} finally {
this.submitting = false;
}
@@ -126,11 +138,22 @@
because: word.because,
categories: word.categories,
links: word.links,
+ clarification: word.clarification,
base: word.id,
}
+ this.clarification = !!word.clarification;
this.afterSubmit = false;
this.$el.scrollIntoView();
}
},
+ watch: {
+ clarification(v) {
+ if (v) {
+ this.form.clarification = this.$t('inclusive.clarificationDefault');
+ } else {
+ this.form.clarification = null;
+ }
+ }
+ },
};
diff --git a/locale/pl/translations.suml b/locale/pl/translations.suml
index fee51ac9..16e48464 100644
--- a/locale/pl/translations.suml
+++ b/locale/pl/translations.suml
@@ -334,6 +334,8 @@ inclusive:
jakich konstrukcji lepiej unikać i dlatego, oraz czym je zastępować.
categories: 'Kategorie'
sources: 'Linki źródłowe'
+ clarification: 'Załącz wyjaśnienie'
+ clarificationDefault: 'Chodzi oczywiście o użycie w tym pejoratywnym znaczeniu. Nie mówimy, żeby zupełnie nie używać tego słowa.'
terminology:
header: 'Terminologia'
@@ -1821,15 +1823,15 @@ calendar:
aids_vaccine_day: 'Światowy Dzień Szczepionki na AIDS'
queer_youth_day: 'Dzień Queerowej Młodzieży'
ominsexual_day: 'Dzień Widoczności Osób Omniseksualnych'
- unlabeled_day: 'Dzień Widoczności Osób Bez Etykiety'
+ unlabeled_day: 'Dzień Widoczności Osób Bez Etykiety'
trans_youth_day: 'Dzień Widoczności Dzieci i Młodzieży Trans'
- hiv_long_term_survivors_day: 'Dzień Świadomości nt. Długotrwałego Życia z HIV'
+ hiv_long_term_survivors_day: 'Dzień Świadomości nt. Długotrwałego Życia z HIV'
women_hiv_awareness_day: 'Dzień Świadomości nt. HIV/AIDS u Kobiet i Dziewczyn'
youth_hiv_awareness_day: 'Dzień Świadomości nt. HIV/AIDS wśród Młodzieży'
gay_hiv_awareness_day: 'Dzień Świadomości nt. HIV/AIDS u Gejów'
- black_hiv_awareness_day: 'Dzień Świadomości nt. HIV/AIDS u Osób Czarnych'
- hiv_aging_awareness_day: 'Dzień Świadomości nt. Starzenia się z HIV/AIDS'
- trans_hiv_testing_day: 'Dzień Testów na HIV u Osób Transpłciowych'
+ black_hiv_awareness_day: 'Dzień Świadomości nt. HIV/AIDS u Osób Czarnych'
+ hiv_aging_awareness_day: 'Dzień Świadomości nt. Starzenia się z HIV/AIDS'
+ trans_hiv_testing_day: 'Dzień Testów na HIV u Osób Transpłciowych'
banner: 'Dziś w kalendarzu'
celebrating_custom: 'obchodzimy'
celebrating_day: 'obchodzimy'
diff --git a/migrations/054-inclusive-clarification.sql b/migrations/054-inclusive-clarification.sql
new file mode 100644
index 00000000..8049c4f6
--- /dev/null
+++ b/migrations/054-inclusive-clarification.sql
@@ -0,0 +1,6 @@
+-- Up
+
+ALTER TABLE inclusive ADD COLUMN clarification TEXT NULL;
+
+-- Down
+
diff --git a/server/routes/inclusive.js b/server/routes/inclusive.js
index be99f455..2c8c5fee 100644
--- a/server/routes/inclusive.js
+++ b/server/routes/inclusive.js
@@ -59,12 +59,12 @@ router.post('/inclusive/submit', handleErrorAsync(async (req, res) => {
const id = ulid();
await req.db.get(SQL`
- INSERT INTO inclusive (id, insteadOf, say, because, approved, base_id, locale, author_id, categories, links)
+ INSERT INTO inclusive (id, insteadOf, say, because, approved, base_id, locale, author_id, categories, links, clarification)
VALUES (
${id},
${req.body.insteadOf.join('|')}, ${req.body.say.join('|')}, ${req.body.because},
0, ${req.body.base}, ${global.config.locale}, ${req.user ? req.user.id : null},
- ${req.body.categories.join(',')}, ${JSON.stringify(req.body.links)}
+ ${req.body.categories.join(',')}, ${JSON.stringify(req.body.links)}, ${req.body.clarification || null}
)
`);
diff --git a/src/classes.js b/src/classes.js
index 35da67ff..d8825db0 100644
--- a/src/classes.js
+++ b/src/classes.js
@@ -715,7 +715,7 @@ export class NounDeclension {
export class InclusiveEntry {
- constructor({id, insteadOf, say, because, author, approved = true, base_id = null, categories = '', links = '[]'}) {
+ constructor({id, insteadOf, say, because, author, approved = true, base_id = null, categories = '', links = '[]', clarification = null}) {
this.id = id;
this.insteadOf = insteadOf.split('|');
this.say = say.split('|');
@@ -725,6 +725,7 @@ export class InclusiveEntry {
this.base = base_id;
this.categories = categories ? categories.split(',') : [];
this.links = JSON.parse(links);
+ this.clarification = clarification || null;
}
matches(filter) {