Skip to content

Commit 524614a

Browse files
committed
refactor: migrate app level badge to css modules
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
1 parent 0adabc5 commit 524614a

1 file changed

Lines changed: 22 additions & 20 deletions

File tree

apps/appstore/src/components/AppLevelBadge.vue

Lines changed: 22 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,9 @@
22
- SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
33
- SPDX-License-Identifier: AGPL-3.0-or-later
44
-->
5-
<template>
6-
<span
7-
v-if="isSupported || isFeatured"
8-
class="app-level-badge"
9-
:class="{ 'app-level-badge--supported': isSupported }"
10-
:title="badgeTitle">
11-
<NcIconSvgWrapper :path="badgeIcon" :size="20" inline />
12-
{{ badgeText }}
13-
</span>
14-
</template>
155

166
<script setup lang="ts">
17-
import { mdiCheck, mdiStarShootingOutline } from '@mdi/js'
7+
import { mdiStar, mdiStarShootingOutline } from '@mdi/js'
188
import { translate as t } from '@nextcloud/l10n'
199
import { computed } from 'vue'
2010
import NcIconSvgWrapper from '@nextcloud/vue/components/NcIconSvgWrapper'
@@ -28,30 +18,42 @@ const props = defineProps<{
2818
2919
const isSupported = computed(() => props.level === 300)
3020
const isFeatured = computed(() => props.level === 200)
31-
const badgeIcon = computed(() => isSupported.value ? mdiStarShootingOutline : mdiCheck)
21+
const badgeIcon = computed(() => isSupported.value
22+
? mdiStarShootingOutline
23+
: mdiStar)
3224
const badgeText = computed(() => isSupported.value ? t('appstore', 'Supported') : t('appstore', 'Featured'))
3325
const badgeTitle = computed(() => isSupported.value
3426
? t('appstore', 'This app is supported via your current Nextcloud subscription.')
3527
: t('appstore', 'Featured apps are developed by and within the community. They offer central functionality and are ready for production use.'))
3628
</script>
3729

38-
<style scoped lang="scss">
39-
.app-level-badge {
30+
<template>
31+
<span
32+
v-if="isSupported || isFeatured"
33+
:class="[ $style.appLevelBadge, { [$style.appLevelBadge__supported]: isSupported } ]"
34+
:title="badgeTitle">
35+
<NcIconSvgWrapper :path="badgeIcon" :size="20" inline />
36+
{{ badgeText }}
37+
</span>
38+
</template>
39+
40+
<style module>
41+
.appLevelBadge {
4042
color: var(--color-text-maxcontrast);
4143
background-color: transparent;
4244
border: 1px solid var(--color-text-maxcontrast);
4345
border-radius: var(--border-radius);
4446
4547
display: flex;
4648
flex-direction: row;
47-
gap: 6px;
49+
gap: var(--default-grid-baseline);
4850
padding: 3px 6px;
4951
width: fit-content;
52+
}
5053
51-
&--supported {
52-
background-color: var(--color-success);
53-
border-color: var(--color-border-success);
54-
color: var(--color-success-text);
55-
}
54+
.appLevelBadge__supported {
55+
background-color: var(--color-success);
56+
border-color: var(--color-border-success);
57+
color: var(--color-success-text);
5658
}
5759
</style>

0 commit comments

Comments
 (0)