koel/resources/assets/js/components/meta/AboutKoelModal.vue

113 lines
3.3 KiB
Vue
Raw Normal View History

2022-04-15 14:24:30 +00:00
<template>
2024-04-04 22:20:42 +00:00
<div
v-koel-focus
class="about text-k-text-secondary text-center max-w-[480px] overflow-hidden relative"
data-testid="about-koel"
tabindex="0"
@keydown.esc="close"
>
<main class="p-6">
<div class="mb-4">
2024-04-23 21:01:27 +00:00
<img alt="Koel's logo" class="inline-block" src="@/../img/logo.svg" width="128">
2022-04-15 14:24:30 +00:00
</div>
2024-01-08 16:59:05 +00:00
<div class="current-version">
Koel {{ currentVersion }}
<span v-if="isPlus" class="badge">Plus</span>
<span v-else>Community</span>
Edition
<p v-if="isPlus" class="plus-badge">
Licensed to {{ license.customerName }} &lt;{{ license.customerEmail }}&gt;
<br>
2024-04-04 22:20:42 +00:00
License key: <span class="key font-mono">{{ license.shortKey }}</span>
2024-01-08 16:59:05 +00:00
</p>
2024-01-11 17:06:32 +00:00
<template v-else>
2024-04-04 22:20:42 +00:00
<p v-if="isAdmin" class="py-3">
<!-- close the modal first to prevent it from overlapping Lemonsqueezy's overlay -->
2024-04-04 22:20:42 +00:00
<BtnUpgradeToPlus class="!w-auto inline-block !px-6" @click.prevent="showPlusModal" />
2024-01-11 17:06:32 +00:00
</p>
</template>
2024-01-08 16:59:05 +00:00
</div>
2022-04-15 14:24:30 +00:00
<p v-if="shouldNotifyNewVersion" data-testid="new-version-about">
<a :href="latestVersionReleaseUrl" target="_blank">
A new version of Koel is available ({{ latestVersion }})!
2022-04-15 14:24:30 +00:00
</a>
</p>
<p class="author">
2022-04-21 22:58:32 +00:00
Made with by
<a href="https://github.com/phanan" rel="noopener" target="_blank">Phan An</a>
2022-04-15 14:24:30 +00:00
and quite a few
<a href="https://github.com/koel/core/graphs/contributors" rel="noopener" target="_blank">awesome</a>&nbsp;<a
href="https://github.com/koel/koel/graphs/contributors" rel="noopener" target="_blank"
>contributors</a>.
2022-04-15 14:24:30 +00:00
</p>
2024-04-04 22:20:42 +00:00
<CreditsBlock v-if="isDemo" />
2022-12-02 16:17:37 +00:00
<SponsorList />
2024-01-08 16:59:05 +00:00
<p v-if="!isPlus">
2022-04-15 14:24:30 +00:00
Loving Koel? Please consider supporting its development via
2022-04-21 22:58:32 +00:00
<a href="https://github.com/users/phanan/sponsorship" rel="noopener" target="_blank">GitHub Sponsors</a>
2022-04-15 14:24:30 +00:00
and/or
2022-04-21 22:58:32 +00:00
<a href="https://opencollective.com/koel" rel="noopener" target="_blank">OpenCollective</a>.
2022-04-15 14:24:30 +00:00
</p>
</main>
<footer>
2024-04-23 21:01:27 +00:00
<Btn danger data-testid="close-modal-btn" rounded @click.prevent="close">Close</Btn>
2022-04-15 14:24:30 +00:00
</footer>
</div>
</template>
2022-04-15 17:00:08 +00:00
<script lang="ts" setup>
2024-01-11 17:06:32 +00:00
import { useAuthorization, useKoelPlus, useNewVersionNotification } from '@/composables'
import { eventBus } from '@/utils'
2022-04-15 14:24:30 +00:00
import SponsorList from '@/components/meta/SponsorList.vue'
2024-04-04 22:20:42 +00:00
import Btn from '@/components/ui/form/Btn.vue'
import BtnUpgradeToPlus from '@/components/koel-plus/BtnUpgradeToPlus.vue'
2024-04-04 22:20:42 +00:00
import CreditsBlock from '@/components/meta/CreditsBlock.vue'
2022-08-04 08:34:13 +00:00
const emit = defineEmits<{ (e: 'close'): void }>()
const {
shouldNotifyNewVersion,
currentVersion,
latestVersion,
latestVersionReleaseUrl,
} = useNewVersionNotification()
2022-04-15 17:00:08 +00:00
2024-01-11 17:06:32 +00:00
const { isPlus, license } = useKoelPlus()
const { isAdmin } = useAuthorization()
2024-01-08 16:59:05 +00:00
2022-04-15 17:00:08 +00:00
const close = () => emit('close')
2022-08-04 08:34:13 +00:00
const showPlusModal = () => {
close()
eventBus.emit('MODAL_SHOW_KOEL_PLUS')
}
const isDemo = window.IS_DEMO
2022-04-15 14:24:30 +00:00
</script>
2024-04-04 20:13:35 +00:00
<style lang="postcss" scoped>
2024-04-04 22:20:42 +00:00
p {
@apply mx-0 my-3;
2022-08-04 08:34:13 +00:00
}
2024-04-04 22:20:42 +00:00
a {
@apply text-k-text-primary hover:text-k-accent;
}
2024-01-08 16:59:05 +00:00
.plus-badge {
.key {
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-image: linear-gradient(97.78deg, #c62be8 17.5%, #671ce4 113.39%);
2024-01-08 16:59:05 +00:00
}
}
2022-04-15 14:24:30 +00:00
</style>