diff --git a/components/Header.vue b/components/Header.vue index b92afe1be..ba9978026 100644 --- a/components/Header.vue +++ b/components/Header.vue @@ -206,6 +206,7 @@ '/' + this.config.links.mediaRoute, this.config.links.split ? '/' + this.config.faq.route : '', this.config.english && this.config.english.enabled ? '/' + this.config.english.route : '', + this.config.links.zine && this.config.links.zine.enabled ? '/' + this.config.links.zine.route : '', ], }); } diff --git a/components/Icon.vue b/components/Icon.vue index a362c460d..981cb59a9 100644 --- a/components/Icon.vue +++ b/components/Icon.vue @@ -9,6 +9,7 @@ v: { required: true }, set: { default: 'l' }, size: { default: 1 }, + inverse: { type: Boolean } }, computed: { valueParts() { @@ -22,7 +23,7 @@ }, iconSource() { if (this.v.endsWith('.svg')) { - return `/img/${this.v}`; + return `/img/${this.inverse ? this.v.replace('.svg', '-inverse.svg') : this.v}`; } if (this.v.startsWith('https://')) { return this.v; diff --git a/components/LinksNav.vue b/components/LinksNav.vue index 3e1aa461f..ce9a34f10 100644 --- a/components/LinksNav.vue +++ b/components/LinksNav.vue @@ -3,8 +3,21 @@ {name: 'links.links', route: config.links.route, icon: 'bookmark', condition: config.links.links.length > 0}, {name: 'links.academic', route: config.links.academicRoute, icon: 'vial', condition: config.links.academic.length > 0}, {name: 'links.blog', route: config.links.blogRoute, icon: 'pen-nib', condition: config.links.blog}, - {name: 'links.media', route: config.links.mediaRoute, icon: 'tv', condition: config.links.mediaGuests.length > 0 || config.links.mediaMentions.length > 0}, + {name: 'links.zine.header', route: config.links.zine.route, icon: 'zine.svg', iconInverse: darkMode, condition: config.links.zine && config.links.zine.enabled}, + {name: 'links.mediaShort', route: config.links.mediaRoute, icon: 'tv', condition: config.links.mediaGuests.length > 0 || config.links.mediaMentions.length > 0}, {name: 'faq.header', route: config.faq.route, icon: 'map-marker-question', condition: config.faq.enabled}, {name: 'english.header', route: config.english.route, icon: 'globe-americas', condition: config.english.enabled}, ]"/> + + diff --git a/components/ModeSwitch.vue b/components/ModeSwitch.vue index 32ee621be..d347cbf95 100644 --- a/components/ModeSwitch.vue +++ b/components/ModeSwitch.vue @@ -38,6 +38,7 @@ isDark(dark) { this.$eventHub.$emit('mode-changed', dark); this.setMode(dark); + this.$store.commit('setDarkMode', dark); } } } diff --git a/components/Submenu.vue b/components/Submenu.vue index e6623b407..740c8fe95 100644 --- a/components/Submenu.vue +++ b/components/Submenu.vue @@ -1,20 +1,20 @@ - - + {{name}} - - + {{name}} diff --git a/locale/de/translations.suml b/locale/de/translations.suml index f1d952b6f..b9dd54bfa 100644 --- a/locale/de/translations.suml +++ b/locale/de/translations.suml @@ -333,6 +333,8 @@ links: recommended: 'Wir empfehlen' blog: 'Blog' + + mediaShort: 'Medien' media: 'Pronouns.page in den Medien' social: 'Social Media' diff --git a/locale/en/translations.suml b/locale/en/translations.suml index 8e58e6c76..9b842c8a7 100644 --- a/locale/en/translations.suml +++ b/locale/en/translations.suml @@ -395,6 +395,7 @@ links: headerLong: 'Extra links' recommended: 'We recommend' blog: 'Blog' + mediaShort: 'Media' media: 'Pronouns.page in the media' social: 'Social media' diff --git a/locale/es/translations.suml b/locale/es/translations.suml index 2f975bf6b..cf7893712 100644 --- a/locale/es/translations.suml +++ b/locale/es/translations.suml @@ -345,6 +345,8 @@ links: recommended: 'Recomendamos' blog: 'Blog' + + mediaShort: 'Los medios' media: 'Pronouns.page en los medios' social: 'Redes sociales' diff --git a/locale/fr/translations.suml b/locale/fr/translations.suml index f78ee59c9..7cba81fbb 100644 --- a/locale/fr/translations.suml +++ b/locale/fr/translations.suml @@ -334,6 +334,8 @@ links: recommended: 'Nous recommandons' blog: 'Blog' + + mediaShort: 'Les réseaux' media: 'Pronouns.page sur les réseaux' social: 'Réseaux sociaux' diff --git a/locale/nl/translations.suml b/locale/nl/translations.suml index 23388b63b..bbcef8416 100644 --- a/locale/nl/translations.suml +++ b/locale/nl/translations.suml @@ -321,6 +321,8 @@ links: recommended: 'Wij raden aan' blog: 'Blog' + + mediaShort: 'Media' media: 'Pronouns.page in de media' social: 'Sociale media' diff --git a/locale/no/translations.suml b/locale/no/translations.suml index 5185eaa90..7278f239e 100644 --- a/locale/no/translations.suml +++ b/locale/no/translations.suml @@ -332,7 +332,9 @@ links: headerLong: 'Ekstra linker' recommended: 'Vi anbefaler' blog: 'Blog' - media: 'Pronouns.page på sosiale medier' + + mediaShort: 'Medier' + media: 'Pronouns.page på medier' social: 'Sosiale medier' diff --git a/locale/pl/config.suml b/locale/pl/config.suml index 2ab45a9c3..28eb11b25 100644 --- a/locale/pl/config.suml +++ b/locale/pl/config.suml @@ -226,6 +226,9 @@ links: mediaRoute: 'media' blog: true + zine: + enabled: true + route: 'zin' academic: - icon: 'comment-alt-edit' diff --git a/locale/pl/translations.suml b/locale/pl/translations.suml index a3e6e6c8e..6410f58f8 100644 --- a/locale/pl/translations.suml +++ b/locale/pl/translations.suml @@ -945,6 +945,7 @@ links: academic: 'Nauka' links: 'Dodatkowe materiały' + mediaShort: 'Media' media: 'Zaimki.pl w mediach' mediaGuests: 'Zaproszone' mediaMentions: 'Wspomniane' @@ -955,6 +956,75 @@ links: languageVersions: 'Inne wersje językowe' + zine: + header: 'Zin' + headerLong: 'Niebinarny zin' + info: + - > + Kiedyś pierwsza rada dla osób niebinarnych lub kwestionujących swoją płeć + brzmiała „ucz się angielskiego” – bo materiałów po polsku zwyczajnie nie było. + W ostatnich latach, przy naszym skromnym współudziale, powoli się to zmienia. + - > + Chcemy, by naszym następnym krokiem było wspólne stworzenie w nadchodzących miesiącach + {https://pl.wikipedia.org/wiki/Zin_(czasopismo)=zina}, + w którym osoby niebinarne mogłyby opowiedzieć światu o odkrywaniu swojej tożsamości płciowej, + poznawaniu siebie, zmaganiach z enbyfobią, o swoich doświadczeniach w sferze płciowości, itp. + - > + Jako kolektyw zajmiemy się doborem zgłoszonych tekstów i rysunków, + korektą, składem, publikacją, promocją, oraz potencjalną dystrybucją. + Od społeczności natomiast potrzebujemy… zgłoszeń! + Jeśli chcesz opowiedzieć światu, jak to jest być osobą niebinarną, + zapraszamy do nadsyłania swojej twórczości! + Szczegóły poniżej. + - > + Zin jest projektem niekomercyjnym – nie jesteśmy w stanie zapłacić osobom autorskim + za ich twórczość, ale same też nic na niej nie zarobimy. + Wszystko w ramach oddolnego aktywizmu, w imię edukacji i ku pokrzepieniu serc 😉 + - > + Zin zostanie opublikowany za darmo i będzie dostępny w formie elektronicznej, + a w zależności od liczby i rodzaju zgłoszeń oraz od dostępnych środków + być może również w formie papierowej. + submissions: + header: 'Nabór zgłoszeń' + rules: + - + icon: 'map-marker-question' + label: 'Tematyka' + content: 'odkrywanie tożsamości płciowej, życie jako osoba niebinarna' + - + icon: 'language' + label: 'Język' + content: 'polski' + - + icon: 'pencil-paintbrush' + label: 'Forma' + content: 'dowolna (felieton, opowiadanie, wiersz, rysunek, komiks, …)' + - + icon: 'ruler-triangle' + label: 'Długość' + content: 'tekst max. 5000 znaków / rysunek na max. dwie strony' + - + icon: 'info-square' + label: 'Załącz info' + content: + - 'imię/nazwisko/pseudonim' + - 'zaimki (plus opcjonalnie: link do wizytówki na zaimki.pl)' + - 'krótką notkę autorską w trzeciej osobie (max. 50 słów)' + - + icon: 'calendar' + label: 'Termin' + content: 'do końca grudnia 2021' + - + icon: 'mailbox' + label: 'Adres' + content: '{mailto:zin@zaimki.pl=zin@zaimki.pl}' + disclaimer: > + Zgłaszając swoją pracę, udzielasz nam bezpłatnej licencji do opublikowania jej + w formie darmowego PDF-a, ebooka i/lub druku. + Kolektyw zastrzega sobie prawo doboru prac do publikacji, + biorąc pod uwagę warsztat literacki, długość tekstu, liczbę zgłoszeń, + zgodność z wartościami kolektywu oraz z tematyką zina. + people: header: 'Znane osoby' headerLong: 'Zaimki znanych osób' diff --git a/locale/pt/translations.suml b/locale/pt/translations.suml index 21e17fc5f..0bedafce0 100644 --- a/locale/pt/translations.suml +++ b/locale/pt/translations.suml @@ -341,6 +341,7 @@ links: recommended: 'Recomendamos' blog: 'Blog' + mediaShort: 'Mídias' media: 'Pronouns.page nas mídias' social: 'Redes sociais' diff --git a/locale/yi/translations.suml b/locale/yi/translations.suml index d5705775a..68d7430dc 100644 --- a/locale/yi/translations.suml +++ b/locale/yi/translations.suml @@ -339,6 +339,8 @@ links: recommended: 'We recommend' blog: 'Blog' # TODO + + mediaShort: 'Media' media: 'Pronouns.page in the media' social: 'Social media' diff --git a/locale/zh/translations.suml b/locale/zh/translations.suml index f3818865d..e970d09ca 100644 --- a/locale/zh/translations.suml +++ b/locale/zh/translations.suml @@ -306,6 +306,7 @@ links: recommended: '建議' blog: '博客' + mediaShort: '在傳媒' media: 'Pronouns.page在傳媒' social: '社交媒體' diff --git a/nuxt.config.js b/nuxt.config.js index 0a8bce7e1..27c6a4b16 100644 --- a/nuxt.config.js +++ b/nuxt.config.js @@ -230,6 +230,10 @@ export default { } routes.push({ path: '/' + config.links.blogRoute + '/:slug', component: resolve(__dirname, 'routes/blogEntry.vue'), name: 'blogEntry' }); + if (config.links.zine && config.links.zine.enabled) { + routes.push({ path: '/' + config.links.zine.route, component: resolve(__dirname, 'routes/zine.vue') }); + } + if (config.people.enabled) { routes.push({ path: '/' + config.people.route, component: resolve(__dirname, 'routes/people.vue') }); } diff --git a/routes/zine.vue b/routes/zine.vue new file mode 100644 index 000000000..d5e40ff4a --- /dev/null +++ b/routes/zine.vue @@ -0,0 +1,62 @@ + + + + + + + links.zine.headerLong + + + links.zine.info + + + + links.zine.submissions.header + + + + + + + + : + + + + + + + + + + + + + links.zine.submissions.disclaimer + + + + + + + + + + + diff --git a/static/img/zine-inverse.svg b/static/img/zine-inverse.svg new file mode 100644 index 000000000..957903440 --- /dev/null +++ b/static/img/zine-inverse.svg @@ -0,0 +1,67 @@ + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/static/img/zine.svg b/static/img/zine.svg new file mode 100644 index 000000000..fb51dfa12 --- /dev/null +++ b/static/img/zine.svg @@ -0,0 +1,67 @@ + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/store/index.js b/store/index.js index 6cf928d96..6544f3620 100644 --- a/store/index.js +++ b/store/index.js @@ -4,6 +4,7 @@ export const state = () => ({ token: null, user: null, spelling: 'traditional', + darkMode: false, }) export const mutations = { @@ -38,4 +39,7 @@ export const mutations = { setSpelling(state, spelling) { state.spelling = spelling; }, + setDarkMode(state, isDark) { + state.darkMode = isDark; + } }
+ +
+ + links.zine.submissions.disclaimer +