Skip to content

Commit d19668c

Browse files
committed
improve SEO & visual changes
1 parent c2e978c commit d19668c

File tree

4 files changed

+66
-7
lines changed

4 files changed

+66
-7
lines changed

bun.lock

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

components/img.vue

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
<template>
2+
<div class="flex items-center justify-center">
3+
<div
4+
v-show="loading"
5+
class="animate-pulse w-full"
6+
:style="{ maxWidth: maxWidth, aspectRatio: aspectRatio }"
7+
>
8+
<div class="bg-gray-200 rounded-lg w-full h-full" />
9+
</div>
10+
<img
11+
v-show="!loading"
12+
:src="src"
13+
@load="handleLoad"
14+
class="w-full h-auto"
15+
:style="{ maxWidth: maxWidth }"
16+
/>
17+
</div>
18+
</template>
19+
20+
<script setup lang="ts">
21+
import { ref } from 'vue';
22+
23+
defineProps<{
24+
src: string;
25+
aspectRatio: string;
26+
maxWidth: string;
27+
}>();
28+
29+
const loading = ref(true);
30+
31+
const handleLoad = () => {
32+
loading.value = false;
33+
};
34+
</script>

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
"@nuxtjs/tailwindcss": "^6.14.0",
1414
"copy-to-clipboard": "^3.3.3",
1515
"nuxt": "^4.2.0",
16+
"typescript": "^5.9.3",
1617
"vue": "^3.5.22",
1718
"vue-router": "^4.6.3"
1819
}

pages/index.vue

Lines changed: 28 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,13 @@
66
>A free, open-source, and cross-platform iDevice management tool
77
</span>
88
</div>
9-
<img
9+
<Img
10+
aspectRatio="529/389"
11+
maxWidth="1058px"
1012
src="https://github.com/iDescriptor/iDescriptor/blob/main/resources/repo/crossplatform.png?raw=true"
1113
/>
1214

13-
<div class="flex flex-wrap justify-center gap-2 mt-4">
15+
<div class="flex flex-wrap justify-center gap-2 mt-4 w-[95vw]">
1416
<a href="https://github.com/iDescriptor/iDescriptor/blob/main/LICENSE">
1517
<img
1618
alt="GitHub"
@@ -60,12 +62,31 @@
6062
/>
6163
</a>
6264
</div>
63-
<a
64-
href="https://github.com/iDescriptor/iDescriptor/releases/latest"
65-
class="inline-block px-6 py-3 m-4 text-base text-white no-underline transition-colors duration-200 bg-blue-500 border-none rounded-lg cursor-pointer hover:bg-blue-700"
66-
>Get iDescriptor</a
67-
>
65+
66+
<div class="flex justify-center mt-6">
67+
<a
68+
href="https://github.com/iDescriptor/iDescriptor/releases/latest"
69+
class="group relative inline-flex h-12 items-center justify-center overflow-hidden rounded-md border border-neutral-200 bg-transparent px-6 font-medium transition-all duration-100 [box-shadow:5px_5px_rgb(82_82_82)] hover:translate-x-[3px] hover:translate-y-[3px] hover:[box-shadow:0px_0px_rgb(82_82_82)] max-w-fit"
70+
>
71+
Get iDescriptor
72+
</a>
73+
</div>
6874
<div class="mt-[30rem]">//TODO</div>
6975
</div>
7076
</template>
7177
<style></style>
78+
79+
<script setup lang="ts">
80+
import Img from '~/components/img.vue';
81+
82+
useHead({
83+
title: 'iDescriptor',
84+
meta: [
85+
{
86+
name: 'description',
87+
content:
88+
'A free, open-source, and cross-platform iDevice management tool',
89+
},
90+
],
91+
});
92+
</script>

0 commit comments

Comments
 (0)