URL do pojma preko guid namesto naslova
parent
ae6ce0426b
commit
6b4cd9d784
|
@ -12,10 +12,10 @@ const route = useRoute()
|
|||
const { izbraniJezik } = storeToRefs(nastavitveStore)
|
||||
|
||||
const props = defineProps({
|
||||
naslov: String
|
||||
pojemid: String
|
||||
})
|
||||
|
||||
if (props.naslov && !(props.naslov in store.pojmi)) {
|
||||
if (props.pojemid && !(props.pojemid in store.pojmi)) {
|
||||
await store.naloziPojme(izbraniJezik.value)
|
||||
}
|
||||
|
||||
|
@ -23,7 +23,7 @@ watch(izbraniJezik, jezik => {
|
|||
store.naloziPojme(jezik)
|
||||
})
|
||||
|
||||
const pojem = computed(() => store.pojmi[props.naslov])
|
||||
const pojem = computed(() => store.pojmi[props.pojemid])
|
||||
const revisionId = computed(() => pojem.value ? pojem.value.id : null)
|
||||
|
||||
const urejanje = ref(false)
|
||||
|
@ -68,7 +68,7 @@ onUpdated(() => {
|
|||
<div v-if="!urejanje" class="gumb" @click="urediPojem">{{ $t('Uredi')}}</div>
|
||||
<div v-if="pojem" class="pojem">
|
||||
<h2>
|
||||
{{ naslov }}
|
||||
{{ pojem.naslov }}
|
||||
<StrojniPrevod v-if="pojem.strojni_prevod" />
|
||||
</h2>
|
||||
<div class="tekst" v-html="pojem.tekst" />
|
||||
|
|
|
@ -27,11 +27,11 @@ export default defineNuxtConfig({
|
|||
'pages:extend' (pages) {
|
||||
pages.push({
|
||||
name: 'pojem_poglej',
|
||||
path: '/manifest/:naslov',
|
||||
path: '/manifest/:pojemid',
|
||||
file: '~/pages/manifest/pojem.vue'
|
||||
}, {
|
||||
name: 'pojem_uredi',
|
||||
path: '/manifest/:naslov/uredi/:guid',
|
||||
path: '/manifest/:pojemid/uredi/:guid',
|
||||
file: '~/pages/manifest/pojem.vue'
|
||||
}, {
|
||||
name: 'pojem_dodaj',
|
||||
|
|
|
@ -4,7 +4,6 @@ const store = usePojmiStore()
|
|||
const nastavitveStore = useNastavitveStore()
|
||||
|
||||
const { poskrolaj } = useUi()
|
||||
const { getRandomUUID } = useCrypto()
|
||||
|
||||
const { izbraniJezik } = storeToRefs(nastavitveStore)
|
||||
|
||||
|
@ -22,17 +21,17 @@ onMounted(() => {
|
|||
|
||||
<template>
|
||||
<h3 class="navodila" ref="navodila">{{ $t('Vsak lahko prispeva k vsebinam manifesta. Predlaga lahko nov pojem ali ureja, dopolni ali predela obstoječe.') }}</h3>
|
||||
<NuxtLink class="gumb" :to="localePath({ name: 'pojem_dodaj', params: { guid: getRandomUUID() }})">
|
||||
<NuxtLink class="gumb" :to="localePath({ name: 'pojem_dodaj' })">
|
||||
{{ $t('Dodaj nov pojem') }}
|
||||
</NuxtLink>
|
||||
<NuxtLink
|
||||
v-for="pojem in Object.keys(store.pojmi)"
|
||||
:naslov="pojem"
|
||||
:to="localePath({ name: 'pojem_poglej', params: { naslov: pojem }})"
|
||||
v-for="pojem in Object.values(store.pojmi)"
|
||||
:naslov="pojem.naslov"
|
||||
:to="localePath({ name: 'pojem_poglej', params: { pojemid: pojem.id }})"
|
||||
class="okvir">
|
||||
<h2>
|
||||
{{ pojem }}
|
||||
<StrojniPrevod v-if="store.pojmi[pojem].strojni_prevod" />
|
||||
{{ pojem.naslov }}
|
||||
<StrojniPrevod v-if="pojem.strojni_prevod" />
|
||||
</h2>
|
||||
</NuxtLink>
|
||||
</template>
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
<script setup="setup">
|
||||
|
||||
const { etherpadApiUrl } = useEtherpadApi()
|
||||
const { naslov } = useRoute().params
|
||||
const { pojemid } = useRoute().params
|
||||
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="okvir">
|
||||
<Pojem :naslov="naslov" />
|
||||
<Pojem :pojemid="pojemid" />
|
||||
</div>
|
||||
|
||||
<NuxtLink class="gumb" :to="localePath('manifest') + '#skrol'">
|
||||
|
|
|
@ -13,7 +13,7 @@ export const usePojmiStore = defineStore('pojmi', {
|
|||
tekst: s.body ? s.body.processed : '',
|
||||
media: s.fieldMedia,
|
||||
strojni_prevod: s.fieldStrojniPrevod
|
||||
}), 'naslov')
|
||||
}), 'id')
|
||||
},
|
||||
|
||||
async ustvariPojem(data) {
|
||||
|
@ -28,7 +28,7 @@ export const usePojmiStore = defineStore('pojmi', {
|
|||
body: JSON.stringify(data)
|
||||
})
|
||||
|
||||
const resp = await req.json()
|
||||
return req
|
||||
}
|
||||
}
|
||||
})
|
||||
|
|
Loading…
Reference in New Issue