diff --git a/nuxt/app.vue b/nuxt/app.vue index 30f4384..503788a 100644 --- a/nuxt/app.vue +++ b/nuxt/app.vue @@ -85,16 +85,10 @@ width: fit-content; } - .navodila { - padding-left: 2rem; - padding-right: 2rem; - text-align: center; - } - footer { position: relative; z-index: 100; -} + } @media screen and (max-width: 420px) { diff --git a/nuxt/components/Pojem.vue b/nuxt/components/Pojem.vue index 063f473..c381d98 100644 --- a/nuxt/components/Pojem.vue +++ b/nuxt/components/Pojem.vue @@ -15,7 +15,7 @@ if (props.naslov && !(props.naslov in store.pojmi)) { } const pojem = computed(() => store.pojmi[props.naslov]) -const revisionId = computed(() => pojem.value.id) +const revisionId = computed(() => pojem.value ? pojem.value.id : null) const urejanje = ref(false) const container = ref(null) @@ -32,6 +32,11 @@ const urediPojem = async () => { } onMounted(() => { + // Prazen pojem? Nazaj na manifest + if (!pojem.value.id) { + navigateTo('/manifest#skrol') + } + // Link na editiranje pojma? Poskrolaj nanj + odpri editiranje if (route.params.guid === revisionId.value) { urejanje.value = true diff --git a/nuxt/components/PojemForm.vue b/nuxt/components/PojemForm.vue index ed29331..ef21797 100644 --- a/nuxt/components/PojemForm.vue +++ b/nuxt/components/PojemForm.vue @@ -21,6 +21,8 @@ const oddajPredlog = async data => { return } + const starNaslov = props.pojem.naslov + const resp = await etherFetch('/getText', { padID: props.revisionId }) const stvarjenje = store.ustvariPojem({ title: naslov.value, @@ -30,6 +32,14 @@ const oddajPredlog = async data => { }) console.log(stvarjenje) alert("sprememba predlagana!") + + stvarjenje.then(() => { + console.log('NOV NASLOV?', starNaslov, props.pojem.naslov) + if (starNaslov !== props.pojem.naslov) { + navigateTo('/manifest/' + encodeURIComponent(props.pojem.naslov)) + } + }) + props.onZapri() } @@ -40,7 +50,7 @@ const etherNalozen = ev => { replace: true }) } else { - navigateTo('/manifest/' + props.pojem.naslov + '/uredi/' + props.revisionId, { + navigateTo('/manifest/' + encodeURIComponent(props.pojem.naslov) + '/uredi/' + props.revisionId, { replace: true }) } diff --git a/nuxt/pages/manifest/dodaj.vue b/nuxt/pages/manifest/dodaj.vue index 059ad37..9db94bf 100644 --- a/nuxt/pages/manifest/dodaj.vue +++ b/nuxt/pages/manifest/dodaj.vue @@ -15,7 +15,7 @@ revisionId.value = route.params.guid ? route.params.guid : getRandomUUID() const padId = revisionId.value const resp = await $fetch(`${etherpadApiUrl}/createPad?padID=${padId}`) -const onZapri = () => { console.log('zapiram'); navigateTo('/manifest') } +const onZapri = () => { navigateTo('/manifest#skrol') } onMounted(() => { setTimeout(() => { diff --git a/nuxt/pages/manifest/index.vue b/nuxt/pages/manifest/index.vue index bee4f37..cb1c3b0 100644 --- a/nuxt/pages/manifest/index.vue +++ b/nuxt/pages/manifest/index.vue @@ -3,17 +3,27 @@ const store = usePojmiStore() await store.naloziPojme() +const navodila = ref(null) + +onMounted(() => { + if (location && location.hash == '#skrol') { + setTimeout(() => { + navodila.value.scrollIntoView({ behavior: 'smooth' }) + }, 50) + } +}) +