Skip to content

Commit 015f71d

Browse files
committed
update docs
1 parent 6965e9e commit 015f71d

File tree

7 files changed

+220
-201
lines changed

7 files changed

+220
-201
lines changed

docusaurus.config.js

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,11 @@ const config = {
1515
organizationName: "Phalcode",
1616
projectName: "gamevault-docs",
1717
onBrokenLinks: "throw",
18-
onBrokenMarkdownLinks: "throw",
18+
markdown: {
19+
hooks: {
20+
onBrokenMarkdownLinks: "throw",
21+
},
22+
},
1923
i18n: {
2024
defaultLocale: "en",
2125
locales: ["en"],
@@ -37,9 +41,9 @@ const config = {
3741
],
3842
},
3943
],
40-
require.resolve("docusaurus-plugin-image-zoom"),
4144
require.resolve("@cmfcmf/docusaurus-search-local"),
4245
tailwindPlugin,
46+
require.resolve("docusaurus-plugin-image-zoom"),
4347
],
4448
presets: [
4549
[
@@ -213,8 +217,7 @@ const config = {
213217
additionalLanguages: ["bash", "json"],
214218
},
215219
zoom: {
216-
selector:
217-
".zoomable,img:not(nav img):not(footer img):not(.nozoom):not([alt~='ko-fi']):not([alt~='GameVault'])",
220+
selector: ".zoomable, [data-zoomable]",
218221
config: {
219222
background: {
220223
light: "#e2e1ef",

src/components/DropdownButton.jsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,22 +22,22 @@ const Dropdown = ({ className, options, ...props }) => {
2222
}, []);
2323

2424
return (
25-
<span ref={dropdownRef} className="relative inline-block text-left">
25+
<span ref={dropdownRef} className="relative block w-full text-left">
2626
<Button className={className + " w-full"} {...props} onClick={toggleMenu} />
2727

2828
{isOpen && (
2929
<div
30-
className="absolute right-0 z-10 mt-2 w-full origin-top-right rounded-md bg-background-alt shadow-lg ring-1 ring-text-light"
30+
className="absolute right-0 z-20 mt-2 w-full origin-top-right rounded-xl bg-background-dark shadow-2xl ring-1 ring-text-default/10 backdrop-blur-xl"
3131
role="menu"
3232
aria-orientation="vertical"
3333
>
34-
<div className="py-1" role="none">
34+
<div className="py-2" role="none">
3535
{options.map((option) => (
3636
<Link
3737
key={option.label}
3838
href={option.link}
3939
target="_blank"
40-
className="font-bold hover:no-underline block px-4 py-2 text-sm hover:bg-background-default text-text-default"
40+
className="font-bold hover:no-underline block px-6 py-3 text-base hover:bg-background-default/50 text-text-default transition-colors"
4141
aria-label={option.label}
4242
>
4343
{option.label}

src/components/Faqs.jsx

Lines changed: 68 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -4,55 +4,56 @@ import { Container } from "./Container";
44
const faqs = [
55
[
66
{
7-
question: "Does GameVault combine my gaming platforms in one place?",
7+
question: "Is GameVault a multi-platform launcher?",
88
answer:
9-
"No, GameVault is not for combining games from different platforms into one app. Rather, it's for managing your own gaming platform with your own game files hosted on your server.",
9+
"No. Unlike tools that aggregate existing stores, GameVault is a self-hosted ecosystem. It allows you to host, manage, and distribute your own DRM-free game files from your own private server.",
1010
},
1111
{
12-
question: "Is GameVault open-source?",
12+
question: "Does it support Steam or Epic Games?",
1313
answer:
14-
"No, GameVault is source-available, meaning the code is open for you to explore and modify for personal use. However, you may not use it for commercial purposes.",
14+
"GameVault is built specifically for DRM-free content (like that from GOG or Humble Bundle). Most major storefronts use proprietary DRM which is incompatible with independent hosting and distribution.",
1515
},
1616
{
17-
question: "Is GameVault a tool for piracy?",
17+
question: "Is GameVault free to use?",
1818
answer:
19-
"No, it isn't. GameVault is designed to manage legally obtained DRM-free games. While it can technically be used with illegally obtained games, we do not endorse or support piracy. We encourage users to comply with copyright laws. Unlawful use is strictly improper and unauthorized.",
19+
"Yes, the core GameVault ecosystem is and will always be free. We offer GameVault+ as an optional premium subscription for users who want advanced features and wish to support the ongoing development of the platform.",
2020
},
21-
],
22-
[
2321
{
24-
question:
25-
"Does GameVault work with games from Steam, Epic Games, Microsoft, etc.?",
22+
question: "Is GameVault open-source?",
2623
answer:
27-
"Usually not. GameVault is made for games you own and only works with DRM-free games, either pure game files or installers. Most platforms use DRM, but there are exceptions like GOG and Humble Bundle that don’t.",
24+
"GameVault is source-available. The code is transparent and open for personal modification, allowing you to customize the experience while protecting the project's future.",
2825
},
2926
{
30-
question: "Is there a native client for Mac or Linux?",
27+
question: "Is this related to gambling apps?",
3128
answer:
32-
"No, apart from emulation or community-maintained clients, there is currently no native Linux or Mac GameVault client application.",
29+
"No. GameVault is a gaming utility. We have no affiliation with gambling platforms that may share a similar name. We are dedicated solely to game library management.",
3330
},
31+
],
32+
[
3433
{
35-
question: "Does GameVault have anything to do with gambling?",
34+
question: "Are there native Mac or Linux clients?",
3635
answer:
37-
"No, absolutely not. There's just a gambling app with a similar name on the market. If you're struggling with gambling addiction, please seek help.",
36+
"Currently, we offer a native Windows client and a responsive Web UI. Linux and Mac users can access their library via the Web UI or through community-maintained compatibility layers.",
3837
},
39-
],
40-
[
4138
{
42-
question: "Does GameVault stream games?",
39+
question: "Can I use GameVault on my Steam Deck?",
4340
answer:
44-
"No, GameVault has nothing to do with streaming. It's simply an app to organize and browse your game library in a Steam-like experience and share it with your community.",
41+
"Absolutely! You can access your entire library through the Web UI directly on your Steam Deck. It's a perfect way to manage your collection, track your stats, and download games while on the go.",
4542
},
4643
{
47-
question: "Does GameVault cost any money?",
44+
question: "Does GameVault support game streaming?",
4845
answer:
49-
"No, the core features of GameVault are and will always be free. However, we do offer a paid GameVault+ subscription for some additional extra features, which you can subscribe to if you'd like to continuously support our work.",
46+
"No. GameVault focuses on library management and high-speed file distribution. It provides a high-end interface to browse and download your games, but the games themselves run locally on your hardware for the best performance.",
47+
},
48+
{
49+
question: "What is your stance on piracy?",
50+
answer:
51+
"GameVault is built for the management of legally owned DRM-free content. We do not endorse or support piracy. We believe in digital ownership and supporting the developers who make the games we love.",
5052
},
51-
5253
{
53-
question: "What was the former name of GameVault?",
54+
question: "Can I play my games offline?",
5455
answer:
55-
"The first rule of GameVault is: you do not talk about the former name of GameVault.",
56+
"Of course. Once a game is downloaded to your device, it's yours to play forever, with or without an internet connection. No forced logins, no 'online-only' requirements.",
5657
},
5758
],
5859
];
@@ -62,42 +63,61 @@ export function Faqs() {
6263
<section
6364
id="faq"
6465
aria-labelledby="faq-title"
65-
className="relative overflow-hidden py-16"
66+
className="relative overflow-hidden py-24 sm:py-32 bg-background-default"
6667
>
6768
<Container className="relative">
68-
<div className="mx-auto lg:mx-0">
69+
<div className="mx-auto max-w-2xl text-center">
6970
<h2
7071
id="faq-title"
71-
className="font-display text-3xl tracking-tight sm:text-4xl"
72+
className="font-display text-4xl font-bold tracking-tight text-text-default sm:text-5xl"
7273
>
73-
Frequently asked questions
74+
Frequently Asked Questions
7475
</h2>
75-
<p className="mt-4 text-lg tracking-tight text-text-light">
76-
If you can’t find what you’re looking for here, check out the{" "}
77-
<Link href="https://gamevau.lt/docs/intro">Docs</Link> or contact us
78-
via <Link href="https://discord.gg/NEdNen2dSu">Discord</Link>,{" "}
79-
<Link href="https://github.com/Phalcode/gamevault-app/discussions">
76+
<p className="mt-6 text-lg leading-8 text-text-light">
77+
Can’t find what you’re looking for? Reach out via{" "}
78+
<Link
79+
href="https://discord.gg/NEdNen2dSu"
80+
className="text-primary-default underline underline-offset-4 hover:text-primary-light"
81+
>
82+
Discord
83+
</Link>
84+
,{" "}
85+
<Link
86+
href="https://github.com/Phalcode/gamevault-app/discussions"
87+
className="text-primary-default underline underline-offset-4 hover:text-primary-light"
88+
>
8089
GitHub
8190
</Link>
82-
, or <Link href="mailto:contact@phalco.de">Email</Link>
91+
, or{" "}
92+
<Link
93+
href="mailto:contact@phalco.de"
94+
className="text-primary-default underline underline-offset-4 hover:text-primary-light"
95+
>
96+
Email
97+
</Link>
98+
.
8399
</p>
84100
</div>
85-
<ul className="list-none mx-auto mt-16 grid max-w-2xl grid-cols-1 gap-8 lg:max-w-none lg:grid-cols-3">
101+
102+
<div className="mx-auto mt-20 grid max-w-2xl grid-cols-1 gap-6 sm:grid-cols-2 lg:max-w-none lg:grid-cols-2 lg:gap-8">
86103
{faqs.map((column, columnIndex) => (
87-
<li key={columnIndex}>
88-
<ul className="list-none flex flex-col gap-y-8">
89-
{column.map((faq, faqIndex) => (
90-
<li key={faqIndex}>
91-
<h3 className="font-display text-lg leading-7">
92-
{faq.question}
93-
</h3>
94-
<p className="mt-4 text-sm text-text-light">{faq.answer}</p>
95-
</li>
96-
))}
97-
</ul>
98-
</li>
104+
<div key={columnIndex} className="flex flex-col gap-6 lg:gap-8">
105+
{column.map((faq, faqIndex) => (
106+
<div
107+
key={faqIndex}
108+
className="rounded-xl bg-background-dark p-8 ring-1 ring-text-default/10 shadow-sm transition-all duration-300 hover:bg-background-dark/80"
109+
>
110+
<h3 className="text-lg font-bold leading-7 text-text-default">
111+
{faq.question}
112+
</h3>
113+
<p className="mt-4 text-base leading-7 text-text-light">
114+
{faq.answer}
115+
</p>
116+
</div>
117+
))}
118+
</div>
99119
))}
100-
</ul>
120+
</div>
101121
</Container>
102122
</section>
103123
);

src/components/Features.jsx

Lines changed: 37 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -9,54 +9,52 @@ import ImgStore from "@site/static/img/features/store.png";
99

1010
const features = [
1111
{
12-
title: "Organize Your Game Library",
12+
title: "Your Personal Game Cloud",
1313
description:
14-
"Bring all your DRM-free games together in one place with a sleek library that makes browsing and playing games effortless.",
14+
"Host your entire DRM-free collection on your own hardware. Experience a stunning interface that brings the convenience of Steam to your homelab, giving you total ownership of your gaming legacy.",
1515
image: ImgLibrary,
1616
},
1717
{
18-
title: "Share with Friends and Family",
18+
title: "Multi-User & Social",
1919
description:
20-
"Open your library up for friends and family to enjoy. Manage users, share access, and enjoy a connected gaming experience.",
20+
"Turn your server into a private gaming center. Share access with friends and family, manage user accounts, and build your own gaming community with ease and full control.",
2121
image: ImgCommunity,
2222
},
2323
{
24-
title: "Track Your Progress",
24+
title: "Playtime & Progress Tracking",
2525
description:
26-
"Monitor your playtime and keep track of what you've finished or plan to revisit later.",
26+
"Keep track of your gaming journey with detailed playtime statistics. Monitor your progress, manage your backlog, and see what your community is playing in real-time.",
2727
image: ImgGame,
2828
},
2929
{
30-
title: "Enrich Your Library Automatically",
30+
title: "Automatic Metadata Enrichment",
3131
description:
32-
"Say goodbye to blank covers and missing details! GameVault can automatically enrich metadata, art, and details from various sources.",
32+
"No more manual editing. GameVault automatically fetches high-quality cover art, descriptions, and metadata to keep your collection looking stunning and professional.",
3333
image: ImgMetadata,
3434
},
3535
{
36-
title: "Set Up with Ease",
36+
title: "Easy Installation",
3737
image: ImgStore,
3838
description: (
3939
<>
40-
Install the GameVault Client directly from the{" "}
41-
<a href="https://www.microsoft.com/store/apps/9PCKDV76GL75">
40+
Built for self-hosters. Install the client from the{" "}
41+
<a href="https://www.microsoft.com/store/apps/9PCKDV76GL75" className="text-primary-default hover:underline">
4242
Microsoft Store
4343
</a>{" "}
44-
and <a href="/docs/server-docs/setup">set up a server</a> in just a few
45-
clicks.
44+
and deploy your server in minutes with our <a href="/docs/server-docs/setup" className="text-primary-default hover:underline">easy setup guide</a> for any environment.
4645
</>
4746
),
4847
},
4948
{
50-
title: "Join The Movement",
49+
title: "Open & Community Driven",
5150
image: ImgStars,
5251
description: (
5352
<>
54-
<a target="_blank" href="https://discord.gg/NEdNen2dSu">
55-
Join our growing community
53+
Built by gamers, for gamers.{" "}
54+
<a target="_blank" href="https://discord.gg/NEdNen2dSu" className="text-primary-default hover:underline">
55+
Join our Discord
5656
</a>{" "}
57-
, star us on GitHub, or even{" "}
58-
<a href="/docs/license-contribute">contribute</a> to our
59-
source-available project! Everyone can help!
57+
to help shape the future of the project, or explore the source code on GitHub to contribute.
6058
</>
6159
),
6260
},
@@ -67,60 +65,41 @@ export function PrimaryFeatures() {
6765
<section
6866
id="features"
6967
aria-label="Features for running your books"
70-
className="relative overflow-hidden py-16"
68+
className="relative overflow-hidden py-20 sm:py-32 bg-background-default"
7169
>
7270
<Container className="relative">
7371
<div className="max-w-2xl md:mx-auto md:text-center xl:max-w-none">
7472
<h2 className="font-display text-3xl tracking-tight text-text-default sm:text-4xl md:text-5xl">
75-
A{" "}
76-
<span className="relative whitespace-nowrap text-primary-darker">
77-
<svg
78-
version="1.1"
79-
viewBox="0 0 800 400"
80-
xmlns="http://www.w3.org/2000/svg"
81-
className="absolute -top-8 left-0 w-[6em] stroke-primary-default opacity-30"
82-
>
83-
<path
84-
d="m48.879 228.7c16.592 7.1749 69.208 44.993 99.552 43.049 30.344-1.9432 50.673-53.363 82.511-54.709 31.839-1.3453 74.589 45.291 108.52 46.637 33.931 1.3453 62.481-36.771 95.067-38.565 32.586-1.7937 70.553 28.102 100.45 27.803 29.895-0.29895 65.77-24.664 78.924-29.596"
85-
fill="none"
86-
strokeLinecap="round"
87-
strokeWidth="15"
88-
/>
89-
</svg>
90-
91-
<span className="relative">must have</span>
92-
</span>{" "}
93-
for selfhosting gamers
73+
Take back control of your{" "}
74+
<span className="text-primary-default">gaming collection</span>
9475
</h2>
95-
<p className="mt-6 text-xl">
96-
GameVault isn't just a library, It's your personal gaming platform.
97-
<br />
98-
Built for gamers, by gamers, with everything you need to organize,
99-
share, and enjoy your DRM-free videogame collection.
76+
<p className="mt-6 text-lg tracking-tight text-text-light">
77+
GameVault is the ultimate ecosystem for the modern self-hoster.
78+
Built for performance, reliability, and total ownership of your digital library.
10079
</p>
10180
</div>
102-
<div className="mt-12 grid gap-8 grid-cols-1 sm:grid-cols-2 lg:grid-cols-3">
81+
<div className="mt-16 grid grid-cols-1 gap-x-8 gap-y-12 lg:grid-cols-3">
10382
{features.map((feature, index) => (
10483
<div
10584
key={index}
106-
className={
107-
"bg-primary-light rounded-xl p-0 shadow-lg transform transition-all hover:scale-105 h-80"
108-
}
85+
className="group relative flex h-full flex-col overflow-hidden rounded-3xl bg-background-dark/50 shadow-2xl ring-1 ring-text-default/10 transition-all duration-500 hover:ring-primary-default/50 hover:-translate-y-2 backdrop-blur-sm"
10986
>
110-
<div>
87+
<div className="relative h-64">
11188
<img
11289
src={feature.image}
11390
alt={feature.title}
114-
className="mx-auto mb-4 w-full h-48 rounded-t-xl"
91+
data-zoomable
92+
className="zoomable cursor-zoom-in h-full w-full object-cover object-center rounded-t-3xl"
11593
/>
116-
<div className="absolute bottom-0 w-full h-32 p-4 bg-primary-light rounded-b-xl">
117-
<h3 className="text-lg font-semibold text-text-inverse ita">
118-
{feature.title}
119-
</h3>
120-
<p className="mt-2 text-sm text-text-inverse">
121-
{feature.description}
122-
</p>
123-
</div>
94+
<div className="absolute inset-0 bg-gradient-to-t from-background-default/80 via-transparent to-transparent opacity-60 pointer-events-none" />
95+
</div>
96+
<div className="flex flex-1 flex-col p-8">
97+
<h3 className="text-2xl font-bold tracking-tight text-text-default">
98+
{feature.title}
99+
</h3>
100+
<p className="mt-4 text-lg leading-relaxed text-text-light">
101+
{feature.description}
102+
</p>
124103
</div>
125104
</div>
126105
))}

0 commit comments

Comments
 (0)