feat: implement index section 3
116
pages/index.vue
@@ -2,6 +2,57 @@
|
||||
const scrollPanel = inject<Ref<ComponentPublicInstance>>("scrollPanel");
|
||||
const sProgress = ref(0);
|
||||
|
||||
const appIcons = ref([
|
||||
"hmcl",
|
||||
"firefox",
|
||||
"123pan",
|
||||
"netease-cloud", //
|
||||
"qq-music",
|
||||
"kugou-music",
|
||||
"kuwo-music",
|
||||
"youku",
|
||||
"bilibili",
|
||||
"alipan",
|
||||
"github-desktop",
|
||||
"feishu",
|
||||
"dingtalk", //
|
||||
"pycharm",
|
||||
"vscode",
|
||||
"wine",
|
||||
"wechat",
|
||||
"qq",
|
||||
"hoyolauncher",
|
||||
"inkscape",
|
||||
"monumentvalley2",
|
||||
"kdenlive", //
|
||||
"zwcad",
|
||||
"jianying",
|
||||
"meituxiuxiu",
|
||||
"photoshop",
|
||||
"canva",
|
||||
"mpv",
|
||||
"osu-lazer",
|
||||
"sunlogin",
|
||||
"todesk", //
|
||||
"drawio",
|
||||
"blender",
|
||||
"baidu-translate",
|
||||
"caj-viewer",
|
||||
"yuque",
|
||||
"photogimp",
|
||||
"sysbro",
|
||||
"sr-cloud",
|
||||
"tencent-meeting", //
|
||||
"wps-office",
|
||||
"steam",
|
||||
"minecraft",
|
||||
"angry-birds",
|
||||
"genshin-impact",
|
||||
"welink",
|
||||
"xmind",
|
||||
"xterminal",
|
||||
]);
|
||||
|
||||
onMounted(() => {
|
||||
watchEffect(() => {
|
||||
const scrollTop = (
|
||||
@@ -214,7 +265,70 @@ onMounted(() => {
|
||||
我们珍视开源世界的共建基因,以微小而持久的善意融入这场共享长跑,<br />
|
||||
让技术普惠的星火在彼此照映中汇聚成光。
|
||||
</p>
|
||||
<div class="h-24"></div>
|
||||
<section class="flex items-center justify-center gap-16 pt-15">
|
||||
<div
|
||||
class="flex bg-(--p-primary-200) rounded-4xl px-6 py-4 h-134 gap-6 overflow-hidden"
|
||||
>
|
||||
<div
|
||||
v-for="i in 5"
|
||||
:key="i"
|
||||
class="flex flex-col gap-6"
|
||||
:class="i % 2 === 0 ? '-mt-55' : '-mt-66'"
|
||||
:style="{
|
||||
transform: `translateY(calc(${
|
||||
(getCubicBezier(
|
||||
-1 * (5 - i),
|
||||
1.0 - 0.2 * (5 - i),
|
||||
1 + 1 * (5 - i),
|
||||
0.2 * (5 - i)
|
||||
)((range(-1, 1, sProgress - 2) + 1) * 0.5) -
|
||||
0.5) *
|
||||
66 *
|
||||
(i % 2 === 0 ? 1 : -1)
|
||||
} * var(--spacing)))`,
|
||||
transition: `transform 0.01s ease-in-out`,
|
||||
}"
|
||||
>
|
||||
<div
|
||||
v-for="j in 12"
|
||||
:key="j"
|
||||
class="w-16 h-16 bg-white rounded-2xl shrink-0 app-icon bg-contain"
|
||||
:style="{
|
||||
'--s-avif': `url('/app-icons/${
|
||||
appIcons[(i - 1) * 9 + j - 1]
|
||||
}.avif')`,
|
||||
'--s-webp': `url('/app-icons/${
|
||||
appIcons[(i - 1) * 9 + j - 1]
|
||||
}.webp')`,
|
||||
'--s-png': `url('/app-icons/${
|
||||
appIcons[(i - 1) * 9 + j - 1]
|
||||
}.png')`,
|
||||
}"
|
||||
></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex flex-col gap-3">
|
||||
<div class="flex items-center gap-6">
|
||||
<Icon
|
||||
name="s:spark"
|
||||
class="text-6xl fill-(--p-primary-500)"
|
||||
mode="svg"
|
||||
/>
|
||||
<h2 class="text-4xl font-[KNYuanmo] text-(--p-primary-500)">
|
||||
WHAT'S NEW ?
|
||||
</h2>
|
||||
</div>
|
||||
<p class="text-5xl leading-[1.5]">
|
||||
不想错过 Linux<br />
|
||||
日新月异的软件生态?
|
||||
</p>
|
||||
<p class="text-5xl leading-[1.5] font-bold">
|
||||
或许现在,<br />
|
||||
你只需要一个<br />
|
||||
<span class="text-(--p-primary-color)">星火应用商店。</span>
|
||||
</p>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
<section></section>
|
||||
<section></section>
|
||||
|
||||
BIN
public/app-icons/123pan.avif
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
public/app-icons/123pan.png
Normal file
|
After Width: | Height: | Size: 6.1 KiB |
BIN
public/app-icons/123pan.webp
Normal file
|
After Width: | Height: | Size: 3.5 KiB |
BIN
public/app-icons/alipan.avif
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
public/app-icons/alipan.png
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
public/app-icons/alipan.webp
Normal file
|
After Width: | Height: | Size: 7.3 KiB |
BIN
public/app-icons/angry-birds.avif
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
public/app-icons/angry-birds.png
Normal file
|
After Width: | Height: | Size: 215 KiB |
BIN
public/app-icons/angry-birds.webp
Normal file
|
After Width: | Height: | Size: 29 KiB |
BIN
public/app-icons/baidu-translate.avif
Normal file
|
After Width: | Height: | Size: 8.8 KiB |
BIN
public/app-icons/baidu-translate.png
Normal file
|
After Width: | Height: | Size: 59 KiB |
BIN
public/app-icons/baidu-translate.webp
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
public/app-icons/bilibili.avif
Normal file
|
After Width: | Height: | Size: 8.9 KiB |
BIN
public/app-icons/bilibili.png
Normal file
|
After Width: | Height: | Size: 61 KiB |
BIN
public/app-icons/bilibili.webp
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
public/app-icons/blender.avif
Normal file
|
After Width: | Height: | Size: 4.4 KiB |
BIN
public/app-icons/blender.png
Normal file
|
After Width: | Height: | Size: 34 KiB |
BIN
public/app-icons/blender.webp
Normal file
|
After Width: | Height: | Size: 9.7 KiB |
BIN
public/app-icons/caj-viewer.avif
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
public/app-icons/caj-viewer.png
Normal file
|
After Width: | Height: | Size: 32 KiB |
BIN
public/app-icons/caj-viewer.webp
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
public/app-icons/canva.avif
Normal file
|
After Width: | Height: | Size: 9.9 KiB |
BIN
public/app-icons/canva.png
Normal file
|
After Width: | Height: | Size: 135 KiB |
BIN
public/app-icons/canva.webp
Normal file
|
After Width: | Height: | Size: 22 KiB |
BIN
public/app-icons/davinci.avif
Normal file
|
After Width: | Height: | Size: 9.7 KiB |
BIN
public/app-icons/davinci.png
Normal file
|
After Width: | Height: | Size: 155 KiB |
BIN
public/app-icons/davinci.webp
Normal file
|
After Width: | Height: | Size: 22 KiB |
BIN
public/app-icons/dingtalk.avif
Normal file
|
After Width: | Height: | Size: 7.2 KiB |
BIN
public/app-icons/dingtalk.png
Normal file
|
After Width: | Height: | Size: 36 KiB |
BIN
public/app-icons/dingtalk.webp
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
public/app-icons/drawio.avif
Normal file
|
After Width: | Height: | Size: 3.7 KiB |
BIN
public/app-icons/drawio.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
public/app-icons/drawio.webp
Normal file
|
After Width: | Height: | Size: 6.2 KiB |
BIN
public/app-icons/feishu.avif
Normal file
|
After Width: | Height: | Size: 7.1 KiB |
BIN
public/app-icons/feishu.png
Normal file
|
After Width: | Height: | Size: 38 KiB |
BIN
public/app-icons/feishu.webp
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
public/app-icons/firefox.avif
Normal file
|
After Width: | Height: | Size: 5.3 KiB |
BIN
public/app-icons/firefox.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
public/app-icons/firefox.webp
Normal file
|
After Width: | Height: | Size: 8.1 KiB |
BIN
public/app-icons/genshin-impact.avif
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
public/app-icons/genshin-impact.png
Normal file
|
After Width: | Height: | Size: 184 KiB |
BIN
public/app-icons/genshin-impact.webp
Normal file
|
After Width: | Height: | Size: 36 KiB |
BIN
public/app-icons/github-desktop.avif
Normal file
|
After Width: | Height: | Size: 3.8 KiB |
BIN
public/app-icons/github-desktop.png
Normal file
|
After Width: | Height: | Size: 38 KiB |
BIN
public/app-icons/github-desktop.webp
Normal file
|
After Width: | Height: | Size: 8.2 KiB |
BIN
public/app-icons/hmcl.avif
Normal file
|
After Width: | Height: | Size: 6.3 KiB |
BIN
public/app-icons/hmcl.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
public/app-icons/hmcl.webp
Normal file
|
After Width: | Height: | Size: 9.7 KiB |
BIN
public/app-icons/hoyolaucher.avif
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
BIN
public/app-icons/hoyolaucher.png
Normal file
|
After Width: | Height: | Size: 7.7 KiB |
BIN
public/app-icons/hoyolaucher.webp
Normal file
|
After Width: | Height: | Size: 3.9 KiB |
BIN
public/app-icons/inkscape.avif
Normal file
|
After Width: | Height: | Size: 7.3 KiB |
BIN
public/app-icons/inkscape.png
Normal file
|
After Width: | Height: | Size: 42 KiB |
BIN
public/app-icons/inkscape.webp
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
public/app-icons/jianying.avif
Normal file
|
After Width: | Height: | Size: 4.5 KiB |
BIN
public/app-icons/jianying.png
Normal file
|
After Width: | Height: | Size: 24 KiB |
BIN
public/app-icons/jianying.webp
Normal file
|
After Width: | Height: | Size: 9.0 KiB |
BIN
public/app-icons/kdenlive.avif
Normal file
|
After Width: | Height: | Size: 3.8 KiB |
BIN
public/app-icons/kdenlive.png
Normal file
|
After Width: | Height: | Size: 24 KiB |
BIN
public/app-icons/kdenlive.webp
Normal file
|
After Width: | Height: | Size: 6.0 KiB |
BIN
public/app-icons/kugou-music.avif
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
public/app-icons/kugou-music.png
Normal file
|
After Width: | Height: | Size: 54 KiB |
BIN
public/app-icons/kugou-music.webp
Normal file
|
After Width: | Height: | Size: 21 KiB |
BIN
public/app-icons/kuwo-music.avif
Normal file
|
After Width: | Height: | Size: 9.8 KiB |
BIN
public/app-icons/kuwo-music.png
Normal file
|
After Width: | Height: | Size: 77 KiB |
BIN
public/app-icons/kuwo-music.webp
Normal file
|
After Width: | Height: | Size: 21 KiB |
BIN
public/app-icons/meituxiuxiu.avif
Normal file
|
After Width: | Height: | Size: 9.8 KiB |
BIN
public/app-icons/meituxiuxiu.png
Normal file
|
After Width: | Height: | Size: 61 KiB |
BIN
public/app-icons/meituxiuxiu.webp
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
public/app-icons/minecraft.avif
Normal file
|
After Width: | Height: | Size: 3.7 KiB |
BIN
public/app-icons/minecraft.png
Normal file
|
After Width: | Height: | Size: 62 KiB |
BIN
public/app-icons/minecraft.webp
Normal file
|
After Width: | Height: | Size: 7.0 KiB |
BIN
public/app-icons/monumentvalley2.avif
Normal file
|
After Width: | Height: | Size: 3.8 KiB |
BIN
public/app-icons/monumentvalley2.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
public/app-icons/monumentvalley2.webp
Normal file
|
After Width: | Height: | Size: 6.2 KiB |
BIN
public/app-icons/mpv.avif
Normal file
|
After Width: | Height: | Size: 4.9 KiB |
BIN
public/app-icons/mpv.png
Normal file
|
After Width: | Height: | Size: 36 KiB |
BIN
public/app-icons/mpv.webp
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
public/app-icons/netease-cloud.avif
Normal file
|
After Width: | Height: | Size: 9.2 KiB |
BIN
public/app-icons/netease-cloud.png
Normal file
|
After Width: | Height: | Size: 68 KiB |
BIN
public/app-icons/netease-cloud.webp
Normal file
|
After Width: | Height: | Size: 21 KiB |
BIN
public/app-icons/osu-lazer.avif
Normal file
|
After Width: | Height: | Size: 4.5 KiB |
BIN
public/app-icons/osu-lazer.png
Normal file
|
After Width: | Height: | Size: 32 KiB |
BIN
public/app-icons/osu-lazer.webp
Normal file
|
After Width: | Height: | Size: 8.3 KiB |
BIN
public/app-icons/photogimp.avif
Normal file
|
After Width: | Height: | Size: 9.7 KiB |
BIN
public/app-icons/photogimp.png
Normal file
|
After Width: | Height: | Size: 22 KiB |
BIN
public/app-icons/photogimp.webp
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
public/app-icons/photoshop.avif
Normal file
|
After Width: | Height: | Size: 5.7 KiB |
BIN
public/app-icons/photoshop.png
Normal file
|
After Width: | Height: | Size: 38 KiB |
BIN
public/app-icons/photoshop.webp
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
public/app-icons/pycharm.avif
Normal file
|
After Width: | Height: | Size: 5.1 KiB |
BIN
public/app-icons/pycharm.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
public/app-icons/pycharm.webp
Normal file
|
After Width: | Height: | Size: 8.6 KiB |
BIN
public/app-icons/qq-music.avif
Normal file
|
After Width: | Height: | Size: 7.5 KiB |
BIN
public/app-icons/qq-music.png
Normal file
|
After Width: | Height: | Size: 51 KiB |
BIN
public/app-icons/qq-music.webp
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
public/app-icons/qq.avif
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
public/app-icons/qq.png
Normal file
|
After Width: | Height: | Size: 21 KiB |
BIN
public/app-icons/qq.webp
Normal file
|
After Width: | Height: | Size: 17 KiB |