-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
4 changed files
with
1,190 additions
and
82 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,9 @@ | ||
<script setup lang="ts"> | ||
import Button from "primevue/button"; | ||
import { default as PButton } from "primevue/button"; | ||
import Tag from "primevue/tag"; | ||
import Divider from "primevue/divider"; | ||
import Menubar from "primevue/menubar"; | ||
import type { MenuItem } from "primevue/menuitem"; | ||
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome"; | ||
import { | ||
faListCheck, | ||
|
@@ -25,16 +27,40 @@ function onGetStarted() { | |
function onJoinDiscord() { | ||
window.open("https://discord.gg/RGPJHNMMwJ", "_blank"); | ||
} | ||
const menuItems: MenuItem[] = [ | ||
{ | ||
label: "Features", | ||
url: "#features", | ||
key: "features", | ||
}, | ||
{ | ||
label: "Wiki", | ||
url: "https://github.com/rommapp/romm/wiki", | ||
key: "wiki", | ||
}, | ||
{ | ||
label: "Contact", | ||
url: "mailto:[email protected]", | ||
key: "contact", | ||
}, | ||
]; | ||
</script> | ||
|
||
<template> | ||
<nav | ||
class="sticky top-0 z-40 w-full backdrop-blur-lg backdrop-brightness-90 transition-colors border-b border-b-slate-800" | ||
<Menubar | ||
:model="menuItems" | ||
:pt="{ | ||
root: 'sticky top-0 z-40 rounded-none w-full px-4 md:px-8 bg-transparent backdrop-blur-lg backdrop-brightness-90 transition-colors border-0 border-b border-b-slate-800', | ||
menu: 'ml-auto bg-transparent border-x-0', | ||
button: 'ml-auto text-white', | ||
end: 'ml-0', | ||
}" | ||
> | ||
<div class="flex justify-between items-center px-10 py-2"> | ||
<template #start> | ||
<div class="flex items-center"> | ||
<a href="https://romm.app" class="flex items-center"> | ||
<img | ||
<nuxt-img | ||
:src="`images/blocks/logos/romm-dark.svg`" | ||
alt="romm logo" | ||
class="w-10 h-10" | ||
|
@@ -45,64 +71,67 @@ function onJoinDiscord() { | |
href="https://github.com/rommapp/romm/releases/latest" | ||
target="_blank" | ||
> | ||
<Tag value="v3.1.0" severity="primary" class="ml-3 text-xs"></Tag> | ||
<tag value="v3.1.0" severity="primary" class="ml-3 text-xs"></tag> | ||
</a> | ||
</div> | ||
<div class="md:flex items-center"> | ||
<a href="#features" class="text-900 hover:text-purple-500">Features</a> | ||
<a | ||
href="https://github.com/rommapp/romm/wiki" | ||
target="_blank" | ||
class="text-900 hover:text-purple-500 ml-6" | ||
> | ||
Wiki | ||
</a> | ||
<a | ||
href="mailto:[email protected]" | ||
class="text-900 hover:text-purple-500 ml-6" | ||
</template> | ||
<template #item="{ item, props, hasSubmenu, root }"> | ||
<a v-ripple class="flex items-center" v-bind="props.action"> | ||
<span :class="item.icon" /> | ||
<span class="ml-2">{{ item.label }}</span> | ||
<span | ||
v-if="item.shortcut" | ||
class="ml-auto border border-surface-200 dark:border-surface-500 rounded-md bg-surface-100 dark:bg-surface-800 text-xs p-1" | ||
>{{ item.shortcut }}</span | ||
> | ||
Contact | ||
</a> | ||
<a | ||
href="https://github.com/rommapp/romm" | ||
target="_blank" | ||
class="text-900 hover:text-purple-500 border-l ml-6 pl-6 border-slate-800" | ||
> | ||
<FontAwesomeIcon :icon="faGithub" class="text-2xl" /> | ||
</a> | ||
</div> | ||
<div class="md:hidden"> | ||
<i class="pi pi-bars text-2xl"></i> | ||
</div> | ||
</div> | ||
</nav> | ||
<i | ||
v-if="hasSubmenu" | ||
:class="[ | ||
'pi pi-angle-down text-primary', | ||
{ 'pi-angle-down ml-2': root, 'pi-angle-right ml-auto': !root }, | ||
]" | ||
></i> | ||
</a> | ||
</template> | ||
<template #end> | ||
<a | ||
href="https://github.com/rommapp/romm" | ||
target="_blank" | ||
class="text-900 hover:text-purple-500 border-l ml-4 pl-6 border-slate-800" | ||
> | ||
<font-awesome-icon :icon="faGithub" class="text-2xl" /> | ||
</a> | ||
</template> | ||
</Menubar> | ||
|
||
<div class="md:grid grid-cols-2 pl-10 mb-10 bg-slate-950"> | ||
<div class="md:grid grid-cols-2 px-10 md:px-0 md:pl-10 md:mb-10 bg-slate-950"> | ||
<div class="text-center md:text-left flex items-center"> | ||
<section> | ||
<span class="block text-6xl font-bold mb-1"> | ||
<section class="py-8"> | ||
<span class="block text-4xl sm:text-5xl md:text-6xl font-bold mb-2"> | ||
Your beautiful, powerful, | ||
</span> | ||
<div class="text-6xl text-purple-500 font-bold mb-3"> | ||
<div | ||
class="text-4xl sm:text-5xl md:text-6xl text-purple-500 font-bold mb-8 md:mb-4" | ||
> | ||
self-hosted rom manager | ||
</div> | ||
<p class="mt-0 mb-4 surface-700 leading-relaxed"> | ||
<p class="mt-0 mb-8 md:mb-4 surface-700 leading-relaxed"> | ||
Scan, enrich, and browse your game collection with a clean and | ||
responsive interface. With support for multiple platforms, various | ||
naming schemes and custom tags, RomM is a must-have for anyone who | ||
plays on emulators. | ||
</p> | ||
|
||
<Button | ||
<p-button | ||
type="button" | ||
class="mr-3 p-button-raised" | ||
v-on:click="onGetStarted" | ||
>Install Now</Button | ||
> | ||
>Install Now | ||
</p-button> | ||
</section> | ||
</div> | ||
<div> | ||
<img | ||
<nuxt-img | ||
:src="`images/blocks/hero/hero-dark.png`" | ||
alt="list of games in library" | ||
class="hero md:ml-auto block md:h-full object-cover w-full md:w-auto" | ||
|
@@ -112,16 +141,16 @@ function onJoinDiscord() { | |
|
||
<div | ||
id="features" | ||
class="surface-section px-4 py-8 md:px-6 lg:px-8 text-center bg-slate-950" | ||
class="surface-section px-6 py-8 lg:px-8 text-center bg-slate-950" | ||
> | ||
<div class="text-700 mb-12 text-2xl"> | ||
The <span class="text-purple-500">most powerful</span> all-in-one app for | ||
managing your game collection. | ||
</div> | ||
<div class="grid grid-cols-3 grid-rows-2"> | ||
<div class="mb-12 px-6"> | ||
<div class="grid grid-rows-6 md:grid-cols-3 md:grid-rows-2"> | ||
<div class="mb-10 md:mb-12 md:px-6"> | ||
<span class="p-3 shadow-2 mb-4 inline-block rounded-md bg-slate-900"> | ||
<FontAwesomeIcon | ||
<font-awesome-icon | ||
:icon="faWandSparkles" | ||
class="text-4xl text-purple-500" | ||
/> | ||
|
@@ -148,9 +177,9 @@ function onJoinDiscord() { | |
>. | ||
</div> | ||
</div> | ||
<div class="mb-12 px-6"> | ||
<div class="mb-10 md:mb-12 md:px-6"> | ||
<span class="p-3 shadow-2 mb-4 inline-block rounded-md bg-slate-900"> | ||
<FontAwesomeIcon | ||
<font-awesome-icon | ||
:icon="faListCheck" | ||
class="text-4xl text-purple-500" | ||
/> | ||
|
@@ -171,9 +200,12 @@ function onJoinDiscord() { | |
systems and platforms. | ||
</div> | ||
</div> | ||
<div class="mb-12 px-6"> | ||
<div class="mb-10 md:mb-12 md:px-6"> | ||
<span class="p-3 shadow-2 mb-4 inline-block rounded-md bg-slate-900"> | ||
<FontAwesomeIcon :icon="faGamepad" class="text-4xl text-purple-500" /> | ||
<font-awesome-icon | ||
:icon="faGamepad" | ||
class="text-4xl text-purple-500" | ||
/> | ||
</span> | ||
<div class="text-900 text-xl mb-3 font-medium">Seamless gameplay</div> | ||
<div class="text-700 line-height-3 px-2 xl:px-6"> | ||
|
@@ -189,38 +221,44 @@ function onJoinDiscord() { | |
built-in, play your favorite games in your browser, no setup required. | ||
</div> | ||
</div> | ||
<div class="mb-12 px-6"> | ||
<div class="mb-10 md:mb-12 md:px-6"> | ||
<span class="p-3 shadow-2 mb-4 inline-block rounded-md bg-slate-900"> | ||
<FontAwesomeIcon :icon="faRotate" class="text-4xl text-purple-500" /> | ||
<font-awesome-icon | ||
:icon="faRotate" | ||
class="text-4xl text-purple-500" | ||
/> | ||
</span> | ||
<div | ||
class="text-900 text-xl mb-3 font-medium flex items-center justify-center" | ||
> | ||
<span>Device sync</span> | ||
<Tag | ||
<tag | ||
value="COMING SOON" | ||
severity="primary" | ||
class="text-xs whitespace-nowrap ml-2" | ||
></Tag> | ||
></tag> | ||
</div> | ||
<div class="text-700 line-height-3 px-2 xl:px-6"> | ||
Sync your games, saves and emulator settings across your devices with | ||
ease. | ||
</div> | ||
</div> | ||
<div class="mb-12 px-6"> | ||
<div class="mb-10 md:mb-12 md:px-6"> | ||
<span class="p-3 shadow-2 mb-4 inline-block rounded-md bg-slate-900"> | ||
<FontAwesomeIcon :icon="faGithub" class="text-4xl text-purple-500" /> | ||
<font-awesome-icon | ||
:icon="faGithub" | ||
class="text-4xl text-purple-500" | ||
/> | ||
</span> | ||
<div class="text-900 text-xl mb-3 font-medium">Open source</div> | ||
<div class="text-700 line-height-3 px-2 xl:px-6"> | ||
Built by the community, for the community.<br /> | ||
Fully transparent and licensed under AGPL-3.0. | ||
</div> | ||
</div> | ||
<div class="mb-12 px-6"> | ||
<div class="mb-10 md:mb-12 md:px-6"> | ||
<span class="p-3 shadow-2 mb-4 inline-block rounded-md bg-slate-900"> | ||
<FontAwesomeIcon | ||
<font-awesome-icon | ||
:icon="faShieldHeart" | ||
class="text-4xl text-purple-500" | ||
/> | ||
|
@@ -243,13 +281,13 @@ function onJoinDiscord() { | |
<div class="text-700 text-2xl mb-6"> | ||
Get help with your setup, share your ideas, and meet other fans of RomM | ||
</div> | ||
<Button | ||
<p-button | ||
class="font-bold px-5 py-3 p-button-raised p-button-rounded white-space-nowrap" | ||
v-on:click="onJoinDiscord" | ||
> | ||
<FontAwesomeIcon :icon="faDiscord" class="mr-2" /> | ||
<font-awesome-icon :icon="faDiscord" class="mr-2" /> | ||
Join us | ||
</Button> | ||
</p-button> | ||
</div> | ||
</div> | ||
|
||
|
@@ -258,24 +296,24 @@ function onJoinDiscord() { | |
> | ||
<div class="text-4xl text-700 font-bold mb-1">People ❤️ RomM</div> | ||
|
||
<div class="surface-section flex flex-row justify-around mt-8"> | ||
<div class="px-4 xl:px-6"> | ||
<div class="surface-section flex flex-col sm:flex-row justify-around mt-4"> | ||
<div class="pt-4 px-4 xl:px-6"> | ||
<div class="flex items-center"> | ||
<FontAwesomeIcon :icon="faStar" class="text-2xl text-purple-500" /> | ||
<font-awesome-icon :icon="faStar" class="text-2xl text-purple-500" /> | ||
<div class="font-bold ml-3 text-2xl">1,300+</div> | ||
</div> | ||
<div class="ml-10">Github stars</div> | ||
</div> | ||
<div class="px-4 xl:px-6"> | ||
<div class="pt-4 px-4 xl:px-6"> | ||
<div class="flex items-center"> | ||
<FontAwesomeIcon :icon="faUsers" class="text-2xl text-purple-500" /> | ||
<font-awesome-icon :icon="faUsers" class="text-2xl text-purple-500" /> | ||
<div class="font-bold ml-3 text-2xl">700+</div> | ||
</div> | ||
<div class="ml-10">Discord members</div> | ||
</div> | ||
<div class="px-4 xl:px-6"> | ||
<div class="pt-4 px-4 xl:px-6"> | ||
<div class="flex items-center"> | ||
<FontAwesomeIcon | ||
<font-awesome-icon | ||
:icon="faArrowDown" | ||
class="text-2xl text-purple-500" | ||
/> | ||
|
@@ -286,31 +324,40 @@ function onJoinDiscord() { | |
</div> | ||
</div> | ||
|
||
<Divider class="before:border-t-slate-900 w-11/12 m-auto" /> | ||
<divider class="before:border-t-slate-900 m-auto" /> | ||
|
||
<footer class="surface-section py-8 grid grid-cols-3 w-11/12 m-auto"> | ||
<footer | ||
class="surface-section py-4 md:py-8 px-4 md:px-8 flex items-center justify-between sm:grid grid-cols-3 m-auto" | ||
> | ||
<div class="flex items-center"> | ||
<img | ||
<nuxt-img | ||
:src="`images/blocks/logos/romm-mono-dark.svg`" | ||
alt="romm logo" | ||
class="w-8 h-8" | ||
/> | ||
<div class="text-700 text-xl ml-2"> | ||
romm<span class="text-purple-500">.</span>app | ||
<div class="text-700 text-sm text-center sm:hidden">Own your games.</div> | ||
</div> | ||
</div> | ||
<div class="text-700 text-md mt-1 text-center">Own your games.</div> | ||
|
||
<div class="text-700 text-md text-center hidden sm:block">Own your games.</div> | ||
<a | ||
href="https://github.com/rommapp/marketing-site" | ||
target="_blank" | ||
class="text-900 hover:text-purple-500 text-end" | ||
> | ||
<FontAwesomeIcon :icon="faGithub" class="text-2xl" /> | ||
<font-awesome-icon :icon="faGithub" class="text-2xl" /> | ||
</a> | ||
</footer> | ||
</template> | ||
|
||
<style> | ||
.p-menubar.p-menubar-mobile, | ||
.p-menubar.p-menubar-mobile .p-menubar-root-list { | ||
background-color: theme("colors.slate.950"); | ||
} | ||
</style> | ||
|
||
<style scoped> | ||
.hero { | ||
object-position: top right; | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.