mirror of
https://github.com/linux-odyssey/linux-odyssey.git
synced 2026-11-08 03:20:12 +08:00
216 lines
8.5 KiB
Vue
216 lines
8.5 KiB
Vue
<script setup lang="ts">
|
|
import { useI18n } from 'vue-i18n'
|
|
import ContactButton from '../components/ContactButton.vue'
|
|
import DynamicBackground from '../components/DynamicBackground.vue'
|
|
import LandingHeaderComponents from '../components/header/LandingHeaderComponents.vue'
|
|
import HeaderPart from '../components/header/HeaderPart.vue'
|
|
|
|
import { facebookUrl, githubUrl } from '../config'
|
|
|
|
const { t } = useI18n()
|
|
</script>
|
|
<template>
|
|
<div class="w-screen h-screen bg-scroll bg-bg">
|
|
<DynamicBackground class="w-full h-full" />
|
|
<div class="h-screen w-screen absolute top-0 left-0">
|
|
<!-- game header -->
|
|
<HeaderPart :headerComponent="LandingHeaderComponents" class="z-50" />
|
|
<!-- main content -->
|
|
<main class="w-full h-full overflow-y-auto">
|
|
<div class="w-full flex flex-col items-center">
|
|
<div
|
|
class="flex flex-col md:flex-row mt-10 justify-around gap-5 items-center my-10"
|
|
>
|
|
<h1 class="text-text-primary text-7xl font-extrabold">Linux</h1>
|
|
<img src="../img/icon_totem.svg" class="h-[30vh]" />
|
|
<h1 class="text-text-primary text-7xl font-extrabold">Odyssey</h1>
|
|
</div>
|
|
<!-- intro -->
|
|
<div class="w-full md:w-2/3 px-5">
|
|
<section
|
|
id="intro"
|
|
class="text-text grid grid-cols-1 gap-3 justify-items-center"
|
|
>
|
|
<h1
|
|
class="text-text inline-block bg-bg-primary p-5 rounded-xl opacity-90"
|
|
style="font-size: 2.5vh"
|
|
>
|
|
{{ t('landing.intro') }}
|
|
</h1>
|
|
</section>
|
|
<section
|
|
id="feature"
|
|
class="text-text p-15 grid grid-rows-3 gap-10 items-center pt-10"
|
|
>
|
|
<div
|
|
class="bg-bg-primary p-5 rounded-xl opacity-90 grid grid-cols-3 grid-rows-2 justify-items-center items-center"
|
|
>
|
|
<img
|
|
src="../img/icon_shuttle.svg"
|
|
class="h-[18vh] row-span-2"
|
|
/>
|
|
<h1
|
|
class="text-text-primary p-5 font-extrabold col-span-2"
|
|
style="font-size: 3.5vh"
|
|
>
|
|
{{ t('landing.feature1') }}
|
|
</h1>
|
|
<h1 class="text-text p-2 col-span-2" style="font-size: 2.5vh">
|
|
{{ t('landing.feature1_desc') }}
|
|
</h1>
|
|
</div>
|
|
<div
|
|
class="bg-bg-primary p-5 rounded-xl opacity-90 grid grid-cols-3 grid-rows-2 justify-items-center items-center"
|
|
>
|
|
<h1
|
|
class="text-text-primary p-5 font-extrabold col-span-2"
|
|
style="font-size: 3.5vh"
|
|
>
|
|
{{ t('landing.feature2') }}
|
|
</h1>
|
|
<img src="../img/icon_sword.svg" class="h-[18vh] row-span-2" />
|
|
<h1 class="text-text p-2 col-span-2" style="font-size: 2.5vh">
|
|
{{ t('landing.feature2_desc') }}
|
|
</h1>
|
|
</div>
|
|
<div
|
|
class="bg-bg-primary p-5 rounded-xl opacity-90 grid grid-cols-3 grid-rows-2 justify-items-center items-center"
|
|
>
|
|
<img
|
|
src="../img/icon_settings.svg"
|
|
class="h-[18vh] row-span-2"
|
|
/>
|
|
<h1
|
|
class="text-text-primary p-5 font-extrabold col-span-2 pt-8"
|
|
style="font-size: 3.5vh"
|
|
>
|
|
{{ t('landing.feature3') }}
|
|
</h1>
|
|
<h1 class="text-text p-2 col-span-2" style="font-size: 2.5vh">
|
|
{{ t('landing.feature3_desc') }}
|
|
</h1>
|
|
</div>
|
|
</section>
|
|
<section class="w-full py-10">
|
|
<iframe
|
|
src="https://www.youtube.com/embed/XzvfmUf1QP8?si=QxnKJMNjsm27fGGF"
|
|
title="YouTube video player"
|
|
frameborder="0"
|
|
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
|
|
allowfullscreen
|
|
class="w-full aspect-video"
|
|
></iframe>
|
|
</section>
|
|
<section
|
|
id="start"
|
|
class="text-text bg-bg-secondary border-8 border-text-tertiary rounded-xl transition ease-in-out hover:scale-110 duration-300"
|
|
>
|
|
<RouterLink title="StartGame" id="StartGame" to="/register">
|
|
<div class="text-text text-xl p-2 w-full text-center">
|
|
{{ t('landing.start_journey') }}
|
|
</div>
|
|
</RouterLink>
|
|
</section>
|
|
<section
|
|
id="about"
|
|
class="text-text flex flex-col items-center mt-10 gap-10"
|
|
>
|
|
<div class="w-full flex flex-col items-center gap-2">
|
|
<h1 class="text-text-primary text-3xl font-extrabold">
|
|
{{ t('landing.team_intro') }}
|
|
</h1>
|
|
<p class="text-lg">
|
|
{{ t('landing.team_desc') }}
|
|
</p>
|
|
<div class="flex flex-row gap-5 justify-center">
|
|
<h1 class="font-bold">{{ t('landing.team_member1') }}</h1>
|
|
<h1 class="font-bold">{{ t('landing.team_member2') }}</h1>
|
|
<h1 class="font-bold">{{ t('landing.team_member3') }}</h1>
|
|
<h1 class="font-bold">{{ t('landing.team_member4') }}</h1>
|
|
</div>
|
|
</div>
|
|
<div class="w-full flex flex-col items-center gap-2">
|
|
<h1 class="text-text-primary text-3xl font-extrabold">
|
|
{{ t('landing.awards') }}
|
|
</h1>
|
|
<h1 class="text-xl text-center">
|
|
{{ t('landing.award_desc') }}
|
|
</h1>
|
|
</div>
|
|
<div class="container mx-auto">
|
|
<div
|
|
class="justify-items-center grid grid-cols-1 sm:grid-cols-3 gap-5"
|
|
>
|
|
<h1
|
|
class="text-text-primary text-3xl font-extrabold sm:col-span-3 gap-6"
|
|
>
|
|
{{ t('landing.player_feedback') }}
|
|
<!--可以做成翻頁卡牌一次一個-->
|
|
</h1>
|
|
<h1 class="text-xl text-center">
|
|
{{ t('landing.feedback1') }}
|
|
</h1>
|
|
<h1 class="text-xl text-center">
|
|
{{ t('landing.feedback2') }}
|
|
</h1>
|
|
<h1 class="text-xl text-center">
|
|
{{ t('landing.feedback3') }}
|
|
</h1>
|
|
<h1 class="text-xl text-center">
|
|
{{ t('landing.feedback4') }}
|
|
</h1>
|
|
<h1 class="text-xl text-center">
|
|
{{ t('landing.feedback5') }}
|
|
</h1>
|
|
<h1 class="text-xl text-center">
|
|
{{ t('landing.feedback6') }}
|
|
</h1>
|
|
<h1 class="text-xl text-center">
|
|
{{ t('landing.feedback7') }}
|
|
</h1>
|
|
<h1 class="text-xl text-center">
|
|
{{ t('landing.feedback8') }}
|
|
</h1>
|
|
<h1 class="text-xl text-center">
|
|
{{ t('landing.feedback9') }}
|
|
</h1>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
<section
|
|
id="contact"
|
|
class="text-text mt-10 flex flex-col items-center"
|
|
>
|
|
<h1 class="text-text-primary font-extrabold text-3xl">
|
|
{{ t('landing.contact_us') }}
|
|
</h1>
|
|
<div
|
|
class="flex flex-row items-center justify-around mt-5 gap-5 mb-5"
|
|
>
|
|
<ContactButton
|
|
:url="facebookUrl"
|
|
:icons="['fab', 'facebook']"
|
|
title="Facebook"
|
|
desciption="Linux Odyssey"
|
|
/>
|
|
<ContactButton
|
|
:url="githubUrl"
|
|
:icons="['fab', 'github']"
|
|
title="GitHub"
|
|
desciption="linux-odyssey/linux-odyssey"
|
|
/>
|
|
<ContactButton
|
|
url="mailto:team@linuxodyssey.xyz"
|
|
:icons="['fas', 'envelope']"
|
|
title="Email"
|
|
desciption="team@linuxodyssey.xyz"
|
|
/>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</main>
|
|
</div>
|
|
</div>
|
|
</template>
|