NoSys pages initial commit

This commit is contained in:
Lucas
2025-12-11 21:53:47 +10:00
parent 6fe01cbb0d
commit 629cc5fbf8
22 changed files with 2889 additions and 163 deletions

219
src/views/Downloads.vue Normal file
View File

@@ -0,0 +1,219 @@
<script setup>
import Card from "@/components/ui/Card.vue"
import CardContent from "@/components/ui/CardContent.vue"
import Button from "@/components/ui/Button.vue"
import { Download, Shield, AlertTriangle } from "lucide-vue-next"
import { RouterLink } from "vue-router"
const downloads = [
{
platform: "Windows",
version: "v1.2.0",
size: "45 MB",
sha256: "a3f5e9d2c8b1a7f4e6d3c9b2a5f8e1d4c7b0a3f6e9d2c5b8a1f4e7d0c3b6a9f2",
},
{
platform: "Linux",
version: "v1.2.0",
size: "42 MB",
sha256: "b4g6f0e3d9c2b8g5f7e4d0c3b6a9f2e5d8c1b4g7f0e3d6c9b2a5f8e1d4c7b0a3",
},
{
platform: "macOS",
version: "v1.2.0",
size: "48 MB",
sha256: "c5h7g1f4e0d3c9h6g8f5e1d4c7b0a3g8f1e4d7c0b3a6f9e2d5c8b1a4g7f0e3d6",
},
{
platform: "Android APK",
version: "v1.2.0",
size: "38 MB",
sha256: "d6i8h2g5f1e4d0i7h9g6f2e5d8c1b4h9g2f5e8d1c4b7a0f3e6d9c2b5a8g1f4e7",
},
]
</script>
<template>
<div class="flex flex-col">
<!-- Hero -->
<section class="container py-24 md:py-32">
<div class="max-w-3xl mx-auto text-center">
<div
class="inline-flex items-center gap-2 px-3 py-1 text-sm bg-primary/10 text-primary rounded-full border border-primary/20 mb-6"
>
<Download class="h-4 w-4" />
Latest Release
</div>
<h1 class="text-4xl md:text-5xl lg:text-6xl font-bold mb-6">
Download NoSys
</h1>
<p class="text-xl text-muted-foreground mb-8">
Get started with decentralized social networking. Choose your platform and join the revolution.
</p>
<Card class="text-left">
<CardContent>
<Shield class="h-4 w-4" />
All downloads are signed and include SHA256 checksums. Always verify checksums before installing.
</CardContent>
</Card>
</div>
</section>
<!-- Downloads -->
<section class="border-t border-border bg-card">
<div class="container py-24">
<div class="max-w-4xl mx-auto grid grid-cols-1 md:grid-cols-2 gap-6">
<Card
v-for="download in downloads"
:key="download.platform"
class="border-2"
>
<CardContent class="p-6">
<div class="flex items-start justify-between mb-4">
<div>
<h3 class="text-2xl font-bold mb-1">{{ download.platform }}</h3>
<p class="text-sm text-muted-foreground">
{{ download.version }} {{ download.size }}
</p>
</div>
<Download class="h-6 w-6 text-primary" />
</div>
<Button class="w-full mb-3">
Download for {{ download.platform }}
</Button>
<details class="text-sm">
<summary class="cursor-pointer text-muted-foreground hover:text-foreground mb-2">
SHA256 Checksum
</summary>
<code class="block p-2 bg-muted rounded text-xs font-mono break-all">
{{ download.sha256 }}
</code>
</details>
</CardContent>
</Card>
</div>
</div>
</section>
<!-- Disclaimer -->
<section class="border-t border-border">
<div class="container py-24">
<div class="max-w-3xl mx-auto">
<Card class="border-primary/50 bg-primary/5">
<AlertTriangle class="h-4 w-4 text-primary" />
<CardContent class="text-muted-foreground leading-relaxed">
<strong class="text-foreground">Important:</strong>
This application is fully decentralized. You must back up your encryption keys. Losing your private key
means permanent loss of access.
</CardContent>
</Card>
</div>
</div>
</section>
<!-- Release Notes -->
<section class="border-t border-border bg-card">
<div class="container py-24">
<div class="max-w-3xl mx-auto">
<h2 class="text-3xl font-bold mb-8">Release Notes</h2>
<!-- v1.2.0 -->
<div class="space-y-8">
<div>
<div class="flex items-center gap-3 mb-4">
<h3 class="text-xl font-bold">v1.2.0</h3>
<span class="text-sm px-2 py-1 bg-primary/10 text-primary rounded">Latest</span>
</div>
<p class="text-sm text-muted-foreground mb-3">
Released on December 1, 2024
</p>
<ul class="space-y-2 text-muted-foreground">
<li class="flex gap-2"><span class="text-primary"></span> Added support for group Waves</li>
<li class="flex gap-2"><span class="text-primary"></span> Improved encryption performance</li>
<li class="flex gap-2"><span class="text-primary"></span> Enhanced NAT traversal</li>
<li class="flex gap-2"><span class="text-primary"></span> Fixed memory leak in file transfer</li>
<li class="flex gap-2"><span class="text-primary"></span> Dark mode improvements</li>
</ul>
</div>
<!-- v1.1.5 -->
<div class="border-t border-border pt-8">
<h3 class="text-xl font-bold mb-4">v1.1.5</h3>
<p class="text-sm text-muted-foreground mb-3">
Released on November 15, 2024
</p>
<ul class="space-y-2 text-muted-foreground">
<li class="flex gap-2"><span class="text-primary"></span> Network Contract editor</li>
<li class="flex gap-2"><span class="text-primary"></span> Improved peer discovery</li>
<li class="flex gap-2"><span class="text-primary"></span> Fixed large file transfer bug</li>
<li class="flex gap-2"><span class="text-primary"></span> Mobile optimizations</li>
</ul>
</div>
<!-- v1.1.0 -->
<div class="border-t border-border pt-8">
<h3 class="text-xl font-bold mb-4">v1.1.0</h3>
<p class="text-sm text-muted-foreground mb-3">
Released on October 30, 2024
</p>
<ul class="space-y-2 text-muted-foreground">
<li class="flex gap-2"><span class="text-primary"></span> Introduced Currents</li>
<li class="flex gap-2"><span class="text-primary"></span> Added Filter Module</li>
<li class="flex gap-2"><span class="text-primary"></span> Security improvements</li>
<li class="flex gap-2"><span class="text-primary"></span> Android APK now available</li>
</ul>
</div>
</div>
</div>
</div>
</section>
<!-- Verification Guide -->
<section class="border-t border-border">
<div class="container py-24">
<div class="max-w-3xl mx-auto">
<h2 class="text-3xl font-bold mb-8">How to Verify Your Download</h2>
<Card>
<CardContent class="pt-6">
<div class="space-y-6">
<div>
<h3 class="font-semibold mb-2">Windows</h3>
<code class="block p-3 bg-muted rounded text-sm font-mono">
certutil -hashfile p2p-network-setup.exe SHA256
</code>
</div>
<div>
<h3 class="font-semibold mb-2">Linux / macOS</h3>
<code class="block p-3 bg-muted rounded text-sm font-mono">
sha256sum p2p-network-installer.dmg
</code>
</div>
<div>
<h3 class="font-semibold mb-2">Android</h3>
<code class="block p-3 bg-muted rounded text-sm font-mono">
sha256sum p2p-network.apk
</code>
</div>
<p class="text-sm text-muted-foreground">
Compare the output to the checksums above. They must match exactly.
</p>
</div>
</CardContent>
</Card>
</div>
</div>
</section>
</div>
</template>