2021-07-30 03:51:12 -07:00
|
|
|
|
<template>
|
|
|
|
|
<div>
|
2021-09-07 13:35:40 -07:00
|
|
|
|
<p v-for="(p, i) in term.definition.split('\n\n')">
|
|
|
|
|
<template v-if="i === 0">
|
|
|
|
|
<span v-if="term.key && $isGranted('terms')" class="badge bg-primary text-white">
|
2021-12-02 08:18:25 -08:00
|
|
|
|
<T>sources.submit.key</T><T>quotation.colon</T>
|
2021-09-07 13:35:40 -07:00
|
|
|
|
{{term.key}}
|
|
|
|
|
</span>
|
|
|
|
|
<strong><LinkedTextMultiple :texts="term.term" noicons/></strong>
|
|
|
|
|
<span v-if="term.original.length">(<LinkedTextMultiple :texts="term.original" glue="; " noicons/>)</span>
|
|
|
|
|
–
|
|
|
|
|
</template>
|
|
|
|
|
<LinkedText :text="p" noicons/>
|
2021-07-30 03:51:12 -07:00
|
|
|
|
</p>
|
|
|
|
|
|
2021-10-15 10:05:59 -07:00
|
|
|
|
<ul class="list-inline">
|
|
|
|
|
<li v-for="category in term.categories" class="list-inline-item">
|
2021-10-15 10:09:43 -07:00
|
|
|
|
<a v-if="categoryLink" :href="`#:${category}`" class="badge bg-primary text-white" @click.prevent="$emit('filter', ':' + category)">
|
2021-10-15 10:05:59 -07:00
|
|
|
|
{{category}}
|
|
|
|
|
</a>
|
2021-10-15 10:09:43 -07:00
|
|
|
|
<span v-else class="badge bg-primary text-white">
|
2021-10-15 10:05:59 -07:00
|
|
|
|
{{category}}
|
|
|
|
|
</span>
|
|
|
|
|
</li>
|
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
|
|
<p v-if="flags && (term.flags.length || term.images.length)" class="text-center">
|
2022-03-31 11:20:30 -07:00
|
|
|
|
<img v-for="flag in term.flags" :src="`/flags/${flag}.png`" class="flag m-1" loading="lazy"/>
|
2022-03-31 14:35:09 -07:00
|
|
|
|
<img v-for="image in term.images" :src="buildImageUrl(image, 'flag')" class="flag m-1" loading="lazy"/>
|
2021-10-15 10:05:59 -07:00
|
|
|
|
</p>
|
|
|
|
|
|
2021-10-15 09:26:21 -07:00
|
|
|
|
<div v-if="config.calendar.enabled && events && events.length" class="alert">
|
|
|
|
|
<p class="mb-2">
|
|
|
|
|
<Icon v="calendar-star"/>
|
|
|
|
|
<nuxt-link :to="`/${config.calendar.route}`"><T>calendar.headerLong</T></nuxt-link>:
|
|
|
|
|
</p>
|
|
|
|
|
<ul class="list-unstyled">
|
|
|
|
|
<li v-for="event in events" class="mb-2 ms-3">
|
2021-10-27 12:39:56 -07:00
|
|
|
|
<CalendarEvent :event="event" ics/>
|
2021-10-15 09:26:21 -07:00
|
|
|
|
<span v-if="$te(`calendar.events.${event.name}___timeDescription`)">
|
|
|
|
|
<T>calendar.celebrating_custom</T>
|
|
|
|
|
<T>calendar.events.{{event.name}}___timeDescription</T>
|
2021-12-07 04:33:13 -08:00
|
|
|
|
<T silent>calendar.celebrating_customAfter</T>
|
2021-10-15 09:26:21 -07:00
|
|
|
|
</span>
|
|
|
|
|
<span v-else-if="event.level === EventLevel.Day">
|
|
|
|
|
<T>calendar.celebrating_day</T>
|
|
|
|
|
<T :params="{day: event.getRange()}">calendar.dates.{{ event.month }}</T>
|
2021-12-07 04:33:13 -08:00
|
|
|
|
<T silent>calendar.celebrating_dayAfter</T>
|
2021-10-15 09:26:21 -07:00
|
|
|
|
</span>
|
|
|
|
|
<span v-else-if="event.level === EventLevel.Week">
|
|
|
|
|
<T>calendar.celebrating_week</T>
|
|
|
|
|
<T :params="{day: event.getRange()}">calendar.dates.{{ event.month }}</T>
|
2021-12-07 04:33:13 -08:00
|
|
|
|
<T silent>calendar.celebrating_weekAfter</T>
|
2021-10-15 09:26:21 -07:00
|
|
|
|
</span>
|
|
|
|
|
<span v-else-if="event.level === EventLevel.Month">
|
|
|
|
|
<T>calendar.celebrating_month</T>
|
|
|
|
|
<T v-if="$te('calendar.months_abl')">calendar.months_abl.{{ event.month }}</T>
|
|
|
|
|
<T v-else>calendar.months.{{ event.month }}</T>
|
2021-12-07 04:33:13 -08:00
|
|
|
|
<T silent>calendar.celebrating_monthAfter</T>
|
2021-10-15 09:26:21 -07:00
|
|
|
|
</span>
|
|
|
|
|
</li>
|
|
|
|
|
</ul>
|
|
|
|
|
</div>
|
|
|
|
|
|
2021-07-30 03:51:12 -07:00
|
|
|
|
<div v-if="versions && term.versions.length" class="my-3 mx-2">
|
|
|
|
|
<p>
|
|
|
|
|
<button :class="['btn', versionsShown ? 'btn-primary' : 'btn-outline-primary', 'btn-sm']" @click="versionsShown = !versionsShown">
|
|
|
|
|
<Icon v="language"/>
|
|
|
|
|
<T>sources.otherVersions</T>
|
|
|
|
|
<Icon :v="versionsShown ? 'caret-up' : 'caret-down'"/>
|
|
|
|
|
</button>
|
|
|
|
|
</p>
|
|
|
|
|
<ul v-if="versionsShown">
|
|
|
|
|
<li v-for="version in term.versions" v-if="locales[version.locale] !== undefined">
|
|
|
|
|
<h4 class="h6 mb-2">
|
|
|
|
|
<strong>
|
|
|
|
|
<a :href="`${locales[version.locale].url}`" target="_blank" rel="noopener">{{locales[version.locale].name}}</a>:
|
|
|
|
|
</strong>
|
|
|
|
|
</h4>
|
|
|
|
|
<Term :term="version"/>
|
|
|
|
|
</li>
|
|
|
|
|
</ul>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script>
|
2021-10-15 09:26:21 -07:00
|
|
|
|
import { EventLevel } from '../src/calendar/helpers';
|
|
|
|
|
|
2021-07-30 03:51:12 -07:00
|
|
|
|
export default {
|
|
|
|
|
props: {
|
|
|
|
|
term: { required: true },
|
|
|
|
|
categoryLink: { type: Boolean },
|
|
|
|
|
flags: { type: Boolean },
|
|
|
|
|
versions: { type: Boolean },
|
2021-10-15 09:26:21 -07:00
|
|
|
|
events: { default: undefined },
|
2021-07-30 03:51:12 -07:00
|
|
|
|
},
|
|
|
|
|
data() {
|
|
|
|
|
return {
|
|
|
|
|
versionsShown: false,
|
2021-10-15 09:26:21 -07:00
|
|
|
|
EventLevel,
|
2021-07-30 03:51:12 -07:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</script>
|