PluginProbe ʕ •ᴥ•ʔ
Hostinger Tools / 3.0.72
Hostinger Tools v3.0.72
3.0.72 3.0.71 3.0.70 3.0.69 3.0.68 3.0.67 3.0.66 1.8.1 1.8.2 1.8.3 1.9.1 1.9.4 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.0.0 2.0.1 2.0.4 2.0.6 2.0.7 2.0.8 2.0.9 2.1.0 2.1.1 2.1.2 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 3.0.0 3.0.10 3.0.11 3.0.12 3.0.13 3.0.14 3.0.15 3.0.16 3.0.17 3.0.18 3.0.19 3.0.2 3.0.20 3.0.21 3.0.22 3.0.23 3.0.24 3.0.25 3.0.26 3.0.27 3.0.28 3.0.29 3.0.3 3.0.30 3.0.31 3.0.32 3.0.33 3.0.34 3.0.35 3.0.36 3.0.37 3.0.38 3.0.39 3.0.4 3.0.40 3.0.41 3.0.42 3.0.43 3.0.44 3.0.45 3.0.46 3.0.47 3.0.48 3.0.49 3.0.5 3.0.50 3.0.51 3.0.52 3.0.53 3.0.54 3.0.55 3.0.56 3.0.57 3.0.58 3.0.59 3.0.6 3.0.60 3.0.61 3.0.62 3.0.65 3.0.7 3.0.8 3.0.9 trunk 1.8.0
hostinger / vue-frontend / src / components / HostingerTools / ToolVersionCard.vue
hostinger / vue-frontend / src / components / HostingerTools Last commit date
SectionCard.vue 10 months ago ToolVersionCard.vue 10 months ago
ToolVersionCard.vue
89 lines
1 <script lang="ts" setup>
2 import Button from "@/components/Button/Button.vue";
3 import Card from "@/components/Card.vue";
4 import SkeletonLoader from "@/components/Loaders/SkeletonLoader.vue";
5 import { translate } from "@/utils/helpers";
6
7 type Props = {
8 title: string;
9 toolImageSrc: string;
10 version?: string;
11 actionButton?: {
12 text: string;
13 onClick?: () => void;
14 };
15 isLoading?: boolean;
16 };
17
18 defineProps<Props>();
19 </script>
20
21 <template>
22 <Card v-if="isLoading">
23 <template #header>
24 <SkeletonLoader
25 width="50%"
26 :height="24"
27 rounded
28 />
29 </template>
30 <SkeletonLoader
31 width="100%"
32 :height="24"
33 rounded
34 />
35 </Card>
36 <Card
37 v-else
38 class="tool-version-card"
39 >
40 <template #header>
41 <div class="d-flex justify-content-between w-100">
42 <div class="d-flex">
43 <img
44 class="h-mr-8"
45 height="24"
46 width="24"
47 :src="toolImageSrc"
48 alt="Tool icon"
49 >
50 <div>
51 <h3 class="h-m-0">
52 {{ title }}
53 </h3>
54 <p class="text-body-2">
55 {{ version }}
56 </p>
57 </div>
58 </div>
59 </div>
60 </template>
61
62 <Button
63 v-if="actionButton"
64 @click="actionButton?.onClick"
65 >
66 {{
67 translate("hostinger_tools_update")
68 }}
69 </Button>
70 </Card>
71 </template>
72
73 <style lang="scss" scoped>
74 .tool-version-card {
75 gap: 0;
76 display: flex;
77 flex-direction: row;
78
79 @media (max-width: 768px) {
80 flex-direction: column;
81 gap: 16px;
82 }
83
84 ::v-deep(.card__body) {
85 flex: 1;
86 }
87 }
88 </style>
89