update homepage

This commit is contained in:
kieran 2024-11-19 20:58:51 +00:00
parent 4027ce8526
commit daa640068b
No known key found for this signature in database
GPG Key ID: DE71CEB3925BE941
6 changed files with 37 additions and 21 deletions

13
public/lnvps.asc Normal file
View File

@ -0,0 +1,13 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mDMEZzz3SxYJKwYBBAHaRw8BAQdA+aAQWjWUIzS7gD2Cq83yQK+CJtWEuqv1cAFU
jwvLpRi0G0xOVlBTLm5ldCA8c2FsZXNAbG52cHMubmV0PoiZBBMWCgBBFiEEnQ44
TyK1cOyGQUo0BUVCibEtEd4FAmc890sCGwMFCQWjmoAFCwkIBwICIgIGFQoJCAsC
BBYCAwECHgcCF4AACgkQBUVCibEtEd45mAD9E0Iybxqt7Cb+nyC3Nu7QeL1zBy4G
iCJgB+RcLZDRQCEBANDIzM90nFN9ojmsfte8zH+v71tEcC8IokIL0Ehyn4gIuDgE
Zzz3SxIKKwYBBAGXVQEFAQEHQPGJhUgGvYn82mlGTfo080tHD9j5EyijsMpFImT4
argrAwEIB4h+BBgWCgAmFiEEnQ44TyK1cOyGQUo0BUVCibEtEd4FAmc890sCGwwF
CQWjmoAACgkQBUVCibEtEd7UkQD/cazecmF3JHQ+Vk8/3zozRNMNRO78gMKS+Ve8
+0Q/kpEBANEW3Z0501WNrGJf/jnlBf4VUH+XPA1i4nq9U4DLjD0G
=71iA
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -6,9 +6,12 @@ import { NostrSystem } from "@snort/system";
import Profile from "./components/profile"; import Profile from "./components/profile";
import LoginButton from "./components/login-button"; import LoginButton from "./components/login-button";
import pgp from "../public/lnvps.asc?url";
const Offers: Array<MachineSpec> = [ const Offers: Array<MachineSpec> = [
{ {
id: "2x2x80", id: "2x2x80",
location: "IE",
active: true, active: true,
cpu: 2, cpu: 2,
ram: 2 * GiB, ram: 2 * GiB,
@ -24,6 +27,7 @@ const Offers: Array<MachineSpec> = [
}, },
{ {
id: "4x4x160", id: "4x4x160",
location: "IE",
active: true, active: true,
cpu: 4, cpu: 4,
ram: 4 * GiB, ram: 4 * GiB,
@ -39,6 +43,7 @@ const Offers: Array<MachineSpec> = [
}, },
{ {
id: "8x8x400", id: "8x8x400",
location: "IE",
active: true, active: true,
cpu: 8, cpu: 8,
ram: 8 * GiB, ram: 8 * GiB,
@ -54,7 +59,10 @@ const Offers: Array<MachineSpec> = [
}, },
]; ];
const system = new NostrSystem({}); const system = new NostrSystem({
automaticOutboxModel: false,
buildFollowGraph: false,
});
[ [
"wss://relay.snort.social/", "wss://relay.snort.social/",
"wss://relay.damus.io/", "wss://relay.damus.io/",
@ -75,24 +83,26 @@ export default function App() {
<div className="flex flex-col gap-2"> <div className="flex flex-col gap-2">
<div className="grid grid-cols-3 gap-2"> <div className="grid grid-cols-3 gap-2">
{Offers.map((a) => ( {Offers.map((a) => (
<VpsCard spec={a} /> <VpsCard spec={a} key={a.id} />
))} ))}
</div> </div>
<small>
All VPS come with 1x IPv4 and 1x IPv6 address and unmetered
traffic
</small>
<div className="flex flex-col gap-4"> <div className="flex flex-col gap-4">
<b> <b>
Please email <a href="mailto:sales@lnvps.net">sales</a> after Please email <a href="mailto:sales@lnvps.net">sales</a> after
paying the invoice with your order id, desired OS and ssh key. paying the invoice with your order id, desired OS and ssh key.
</b> </b>
<b>You can also find us on nostr: </b> <b>You can also find us on nostr: </b>
<div className="flex flex-col gap-2"> <a target="_blank" href={`nostr:${NostrProfile.encode()}`}>
<Profile link={NostrProfile} /> <Profile link={NostrProfile} />
<pre className="overflow-x-scroll">{NostrProfile.encode()}</pre> </a>
<div>
<a target="_blank" href="http://speedtest.v0l.io">Speedtest</a> | <a href={pgp}>PGP</a>
</div> </div>
<small>
All VPS come with 1x IPv4 and 1x IPv6 address and unmetered
traffic.
</small>
</div> </div>
</div> </div>
</div> </div>

View File

@ -12,6 +12,7 @@ export interface MachineSpec {
count: number; count: number;
currency: CostCurrency; currency: CostCurrency;
}; };
location: string;
} }
export enum DiskType { export enum DiskType {

View File

@ -8,7 +8,7 @@ export default function Profile({ link }: { link: NostrLink }) {
<div className="flex gap-2 items-center"> <div className="flex gap-2 items-center">
<img <img
src={profile?.picture} src={profile?.picture}
className="w-12 h-12 rounded-full bg-neutral-500" className="w-12 h-12 rounded-full bg-neutral-800 object-cover object-center"
/> />
<div> <div>
{profile?.display_name ?? {profile?.display_name ??

View File

@ -16,6 +16,9 @@ export default function VpsCard({ spec }: { spec: MachineSpec }) {
{spec.disk.type === DiskType.SSD ? "SSD" : "HDD"}:{" "} {spec.disk.type === DiskType.SSD ? "SSD" : "HDD"}:{" "}
<BytesSize value={spec.disk.size} /> <BytesSize value={spec.disk.size} />
</li> </li>
<li>
Location: {spec.location}
</li>
</ul> </ul>
<h2> <h2>
<CostLabel cost={spec.cost} /> <CostLabel cost={spec.cost} />

View File

@ -4,18 +4,7 @@
:root { :root {
font-family: "Source Code Pro", monospace; font-family: "Source Code Pro", monospace;
font-optical-sizing: auto; @apply bg-black text-white;
font-weight: normal;
font-style: normal;
color-scheme: light dark;
color: white;
@apply bg-neutral-900;
font-synthesis: none;
text-rendering: optimizeLegibility;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
} }
html, html,