Tykayn
1a885f04c4
- Possibility for an event organizer to announce a (public) comment, triggering notifications for participants - Add a snackbar message to manually reload the UI when updates are available - Add blurhash support for some banners - Added basic metadata (start time & physical address) in the opengraph preview - **Interface improvements to events, comments, homepage and group pages** - **Various improvements to mobile views** - Make JWT access tokens short-lived - Disabled Cldr warning that the `Cldr.Plug.AcceptLanguage` plug didn't many any known locale - Replaced GraphiQL web interface with graphql-playground - Internet Explorer and other older browsers support. This allows us to provide lighter builds. - Fixed compatibility for previous OTP versions - Fixed the "member joined" activity event not being displayed in the group activity timeline - Fixed relay and anonymous actor telling they automatically approve followers - Fixed mix tasks showing output from all error levels - Fixed missing metadata on some pages - Fixed some config values being defined at compile-time instead of runtime - Fixed missing pagination for group resources - Fixed missing `.ics` suffix for email event attachments - Fixed missing unique index on posts URL - Fixed creating events from group page not always auto-selecting the correct organizer actor - Fixed error when deleting actor with type different from Person or Group - Fixed not defaulting to UTC timezone when user has no tz setting in their activity recaps - Fixed Sentry loading itself even if not configured - Fixed showing proper message when anonymous participation was confirmed but just wasn't saved in browser - Fixed editing some event properties - Fixed group image ratio in admin dashboard - Fix GraphiQL CSP headers - Finnish - French - Galician - Italian - Occitan - Russian - Spanish - Swedish -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEExMITpfxOHHCvHn8FoGG53eDKB3MFAmDa7ZsACgkQoGG53eDK B3NExQ/9FeFE4V5p53oHQVdzJVmvVSU0Dh4/Nwp3VDRkm5yB1TAxe6SuMxAxEYLC v7nKaaXo6Kx2C96lSZlp+CZYorHsCa9X31PlfKpOBWQYqW2SqnyRAuiljVTRtheq 3EVcFkYxhA9c5KctfQL4YKVBP2UUs9fbmh2icEy28veFSScq20/JMhq90NCZeaH0 IBVrlVLc6Wax70d1xfjVHaePl/4kP08WU7VL30Q1XIFMdEnhOGwYTR68rHnSKxXi g/hiqMZEhcGL39U7icpXA9fEFCwuTl2MD8dB+ttquRt+szJy/r2xu65hxMwk589a EipaVfBcuYOsWo7HfVzhMgf754V4paRuQ09SDEU0/UYuy/spyZjshxYGgSRRnWQ3 WZ1FT0ulbdkNMgAdPm9ZTdRROdJN0zca2/K80nWT3FxOXP0TSUzeaNyxEHmCuMIE f1c8uwHnPy8Fp6LA0PbflWoCgHDwnka50If143IUFm35hHpzcGdDLiPthDpV1Npd IqPiKMuuV9hZ4mJpHC38LbciAju53XDqNIgvynIPz5hmh/gXPA5ray3GArQ9DtXk eGYepGm4luIt5eeWOoGbKZ8ovk93iD+FIGu/7ftEBoHmBAgGFZgn9uYwL/DJgTsC m5XD+qoY0cch2VOgurLUIFzZcwa6cwBNwNeBGcv7i4EFtT700YE= =VUfI -----END PGP SIGNATURE----- Merge tag '1.2.0' into osm-theme - **Notifications for various group and event activity, both by email and browser push notifications. Daily and weekly digests are also available.** - Possibility for an event organizer to announce a (public) comment, triggering notifications for participants - Add a snackbar message to manually reload the UI when updates are available - Add blurhash support for some banners - Added basic metadata (start time & physical address) in the opengraph preview - **Interface improvements to events, comments, homepage and group pages** - **Various improvements to mobile views** - Make JWT access tokens short-lived - Disabled Cldr warning that the `Cldr.Plug.AcceptLanguage` plug didn't many any known locale - Replaced GraphiQL web interface with graphql-playground - Internet Explorer and other older browsers support. This allows us to provide lighter builds. - Fixed compatibility for previous OTP versions - Fixed the "member joined" activity event not being displayed in the group activity timeline - Fixed relay and anonymous actor telling they automatically approve followers - Fixed mix tasks showing output from all error levels - Fixed missing metadata on some pages - Fixed some config values being defined at compile-time instead of runtime - Fixed missing pagination for group resources - Fixed missing `.ics` suffix for email event attachments - Fixed missing unique index on posts URL - Fixed creating events from group page not always auto-selecting the correct organizer actor - Fixed error when deleting actor with type different from Person or Group - Fixed not defaulting to UTC timezone when user has no tz setting in their activity recaps - Fixed Sentry loading itself even if not configured - Fixed showing proper message when anonymous participation was confirmed but just wasn't saved in browser - Fixed editing some event properties - Fixed group image ratio in admin dashboard - Fix GraphiQL CSP headers - Finnish - French - Galician - Italian - Occitan - Russian - Spanish - Swedish
214 lines
5.5 KiB
Vue
214 lines
5.5 KiB
Vue
<template>
|
|
<footer class="footer" ref="footer">
|
|
<!-- <img :src="`/img/pics/footer_${random}.jpg`" alt="" />-->
|
|
<div class="has-text-centered">
|
|
<div class="columns">
|
|
<div class="column">
|
|
<ul>
|
|
<li class="footer-section-link-wrapper site-web">
|
|
<a class="footer-section-link" href="https://openstreetmap.fr" target="">
|
|
Site web FR
|
|
</a>
|
|
</li>
|
|
<li class="footer-section-link-wrapper umap">
|
|
<a class="footer-section-link" href="https://umap.openstreetmap.fr" target="">
|
|
uMap
|
|
</a>
|
|
</li>
|
|
<li class="footer-section-link-wrapper osmose">
|
|
<a class="footer-section-link" href="https://osmose.openstreetmap.fr" target="">
|
|
Osmose
|
|
</a>
|
|
</li>
|
|
<li class="footer-section-link-wrapper mobilizon">
|
|
<a class="footer-section-link" href="https://mobilizon.openstreetmap.fr/" target="">
|
|
Mobilizon
|
|
</a>
|
|
</li>
|
|
<li class="footer-section-link-wrapper peertube">
|
|
<a class="footer-section-link" href="https://peertube.openstreetmap.fr/" target="">
|
|
Peertube
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
|
|
</div>
|
|
<div class="column">
|
|
<ul>
|
|
<li class="footer-section-link-wrapper site-web">
|
|
<a class="footer-section-link" href="https://openstreetmap.org" target="">
|
|
Openstreetmap.org
|
|
</a>
|
|
</li>
|
|
<li class="footer-section-link-wrapper fondation">
|
|
<a class="footer-section-link" href="https://wiki.osmfoundation.org/wiki/Main_Page" target="">
|
|
Fondation
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<a href="https://openstreetmap.fr">
|
|
<h1 class="title is-1">OpenStreetMap.fr</h1>
|
|
</a>
|
|
<picture>
|
|
<source
|
|
:srcset="`/img/pics/footer_${random}-1024w.webp 1x, /img/pics/footer_${random}-1920w.webp 2x`"
|
|
type="image/webp"
|
|
/>
|
|
<source
|
|
:srcset="`/img/pics/footer_${random}-1024w.jpg 1x, /img/pics/footer_${random}-1920w.jpg 2x`"
|
|
type="image/jpeg"
|
|
/>
|
|
<img
|
|
:src="`/img/pics/footer_${random}-1024w.jpg`"
|
|
alt=""
|
|
width="5234"
|
|
height="2189"
|
|
loading="lazy"
|
|
/>
|
|
</picture>
|
|
<ul>
|
|
<li>
|
|
<b-select
|
|
v-if="$i18n"
|
|
v-model="locale"
|
|
:placeholder="$t('Select a language')"
|
|
>
|
|
<option v-for="(language, lang) in langs" :value="lang" :key="lang">
|
|
{{ language }}
|
|
</option>
|
|
</b-select>
|
|
</li>
|
|
<li>
|
|
<router-link :to="{ name: RouteName.ABOUT }">{{
|
|
$t("About")
|
|
}}
|
|
</router-link>
|
|
</li>
|
|
<li>
|
|
<router-link :to="{ name: RouteName.TERMS }">{{
|
|
$t("Terms")
|
|
}}
|
|
</router-link>
|
|
</li>
|
|
<li>
|
|
<a
|
|
hreflang="en"
|
|
href="https://framagit.org/framasoft/mobilizon/blob/master/LICENSE"
|
|
>
|
|
{{ $t("License") }}
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
<div class="content has-text-centered">
|
|
|
|
<i18n
|
|
tag="span"
|
|
path="Powered by {mobilizon}. © 2018 - {date} The Mobilizon Contributors - Made with the financial support of {contributors}."
|
|
>
|
|
<a slot="mobilizon" href="https://joinmobilizon.org">{{
|
|
$t("Mobilizon")
|
|
}}</a>
|
|
<span slot="date">{{ new Date().getFullYear() }}</span>
|
|
<a href="https://joinmobilizon.org/hall-of-fame" slot="contributors">{{
|
|
$t("more than 1360 contributors")
|
|
}}</a>
|
|
</i18n>
|
|
</div>
|
|
</footer>
|
|
</template>
|
|
<script lang="ts">
|
|
import {Component, Vue, Watch} from "vue-property-decorator";
|
|
import {saveLocaleData} from "@/utils/auth";
|
|
import {loadLanguageAsync} from "@/utils/i18n";
|
|
import RouteName from "../router/name";
|
|
import langs from "../i18n/langs.json";
|
|
|
|
@Component
|
|
export default class Footer extends Vue {
|
|
RouteName = RouteName;
|
|
|
|
locale: string | null = this.$i18n.locale;
|
|
|
|
langs: Record<string, string> = langs;
|
|
|
|
// eslint-disable-next-line class-methods-use-this
|
|
get random(): number {
|
|
return Math.floor(Math.random() * 4) + 1;
|
|
}
|
|
|
|
@Watch("locale")
|
|
// eslint-disable-next-line class-methods-use-this
|
|
async updateLocale(locale: string): Promise<void> {
|
|
if (locale) {
|
|
await loadLanguageAsync(locale);
|
|
saveLocaleData(locale);
|
|
}
|
|
}
|
|
|
|
@Watch("$i18n.locale", {deep: true})
|
|
updateLocaleFromI18n(locale: string): void {
|
|
if (locale) {
|
|
this.locale = locale;
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
<style lang="scss" scoped>
|
|
@import "~bulma/sass/utilities/mixins.sass";
|
|
|
|
footer.footer {
|
|
color: white;
|
|
background: $primary;
|
|
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
font-size: 14px;
|
|
padding: 1rem 1.5rem;
|
|
|
|
img {
|
|
flex: 1;
|
|
max-width: 40rem;
|
|
@include mobile {
|
|
max-width: 100%;
|
|
}
|
|
}
|
|
|
|
div.content {
|
|
flex: 1;
|
|
padding-top: 10px;
|
|
}
|
|
|
|
ul {
|
|
display: inline-flex;
|
|
flex-wrap: wrap;
|
|
justify-content: space-around;
|
|
|
|
li {
|
|
display: inline-flex;
|
|
margin: auto 5px;
|
|
a {
|
|
font-size: 1.1rem;
|
|
}
|
|
}
|
|
}
|
|
|
|
a {
|
|
color: $white;
|
|
text-decoration: underline;
|
|
text-decoration-color: $secondary;
|
|
}
|
|
|
|
::v-deep span.select {
|
|
select,
|
|
option {
|
|
background: $background-color;
|
|
color: $white;
|
|
}
|
|
}
|
|
}
|
|
</style>
|