audiobookshelf/client/components/modals/changelog/ViewModal.vue

73 lines
1.7 KiB
Vue
Raw Normal View History

2022-07-09 05:27:02 +02:00
<template>
<modals-modal v-model="show" name="changelog" :width="800" :height="'unset'">
<template #outer>
<div class="absolute top-0 left-0 p-5 w-2/3 overflow-hidden">
<p class="font-book text-3xl text-white truncate">Changelog</p>
</div>
</template>
2022-07-10 00:27:30 +02:00
<div class="px-8 py-6 w-full rounded-lg bg-bg shadow-lg border border-black-300 relative overflow-y-scroll" style="max-height: 80vh">
2022-07-09 05:34:32 +02:00
<p class="text-xl font-bold pb-4">Changelog v{{ currentVersionNumber }}</p>
2022-07-09 05:27:02 +02:00
<div class="custom-text" v-html="compiledMarkedown" />
</div>
</modals-modal>
</template>
<script>
2022-07-10 00:27:30 +02:00
import { marked } from '@/static/libs/marked/index.js'
2022-07-09 05:27:02 +02:00
export default {
props: {
value: Boolean,
changelog: String,
2022-07-10 00:27:30 +02:00
currentVersion: String
2022-07-09 05:27:02 +02:00
},
watch: {
show: {
immediate: true,
handler(newVal) {
if (newVal) {
this.init()
}
}
}
},
computed: {
show: {
get() {
return this.value
},
set(val) {
this.$emit('input', val)
}
},
compiledMarkedown() {
2022-07-10 00:27:30 +02:00
return marked.parse(this.changelog, { gfm: true, breaks: true })
2022-07-09 05:27:02 +02:00
},
currentVersionNumber() {
return this.currentVersion
}
},
methods: {
2022-07-10 00:27:30 +02:00
init() {}
2022-07-09 05:27:02 +02:00
},
mounted() {}
}
</script>
2022-07-10 00:27:30 +02:00
2022-07-09 05:27:02 +02:00
<style scoped>
2022-07-09 05:45:09 +02:00
/*
1. we need to manually define styles to apply to the parsed markdown elements,
since we don't have access to the actual elements in this component
2. v-deep allows these to take effect on the content passed in to the v-html in the div above
*/
2022-07-09 05:34:32 +02:00
.custom-text ::v-deep > h2 {
2022-07-10 00:27:30 +02:00
@apply text-lg font-bold;
2022-07-09 05:34:32 +02:00
}
2022-07-09 05:27:02 +02:00
.custom-text ::v-deep > h3 {
2022-07-10 00:27:30 +02:00
@apply text-lg font-bold;
2022-07-09 05:27:02 +02:00
}
.custom-text ::v-deep > ul {
2022-07-10 00:27:30 +02:00
@apply list-disc list-inside pb-4;
2022-07-09 05:27:02 +02:00
}
</style>