This commit is contained in:
+2
-2
@@ -13,8 +13,8 @@ const geistMono = Geist_Mono({
|
|||||||
});
|
});
|
||||||
|
|
||||||
export const metadata: Metadata = {
|
export const metadata: Metadata = {
|
||||||
title: "Tunnl Please",
|
title: "Tunel Please",
|
||||||
description: "Tunnl is a fast and secure network with low-latency servers in Singapore. Simple, private, and reliable.",
|
description: "Tunel is a fast and secure network with low-latency servers in Singapore. Simple, private, and reliable.",
|
||||||
};
|
};
|
||||||
|
|
||||||
export default function RootLayout({
|
export default function RootLayout({
|
||||||
|
|||||||
+1
-1
@@ -31,7 +31,7 @@ export default function LoginPage() {
|
|||||||
<div className="text-center mb-8">
|
<div className="text-center mb-8">
|
||||||
<Link href="/" className="inline-block">
|
<Link href="/" className="inline-block">
|
||||||
<h1 className="text-3xl font-bold tracking-tight mb-2">
|
<h1 className="text-3xl font-bold tracking-tight mb-2">
|
||||||
<span className="text-emerald-400">tunnl</span>.live
|
<span className="text-emerald-400">tunel</span>.live
|
||||||
</h1>
|
</h1>
|
||||||
</Link>
|
</Link>
|
||||||
<p className="text-gray-400">Sign in to manage your tunnels</p>
|
<p className="text-gray-400">Sign in to manage your tunnels</p>
|
||||||
|
|||||||
+1
-1
@@ -23,7 +23,7 @@ export default function Home() {
|
|||||||
<div className="w-full max-w-4xl mx-auto">
|
<div className="w-full max-w-4xl mx-auto">
|
||||||
<div className="text-center mb-12">
|
<div className="text-center mb-12">
|
||||||
<h1 className="text-4xl font-bold tracking-tight sm:text-5xl md:text-6xl mb-6">
|
<h1 className="text-4xl font-bold tracking-tight sm:text-5xl md:text-6xl mb-6">
|
||||||
<span className="text-emerald-400">tunnl</span>.live
|
<span className="text-emerald-400">tunel</span>.live
|
||||||
</h1>
|
</h1>
|
||||||
<p className="text-lg text-gray-400 md:text-xl max-w-2xl mx-auto">
|
<p className="text-lg text-gray-400 md:text-xl max-w-2xl mx-auto">
|
||||||
Expose your local services to the internet securely with our fast and reliable SSH tunneling service.
|
Expose your local services to the internet securely with our fast and reliable SSH tunneling service.
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
"use client"
|
"use client"
|
||||||
|
|
||||||
import TunnlLogo from "./tunnl-logo"
|
import TunelLogo from "./tunel-logo"
|
||||||
import Link from "next/link"
|
import Link from "next/link"
|
||||||
|
|
||||||
export default function SiteFooter() {
|
export default function SiteFooter() {
|
||||||
@@ -8,9 +8,9 @@ export default function SiteFooter() {
|
|||||||
<footer className="border-t border-gray-800 py-6 px-4">
|
<footer className="border-t border-gray-800 py-6 px-4">
|
||||||
<div className="max-w-3xl mx-auto text-center">
|
<div className="max-w-3xl mx-auto text-center">
|
||||||
<div className="flex items-center justify-center gap-2 mb-4">
|
<div className="flex items-center justify-center gap-2 mb-4">
|
||||||
<TunnlLogo />
|
<TunelLogo />
|
||||||
<span className="text-xl font-bold">
|
<span className="text-xl font-bold">
|
||||||
<span className="text-emerald-400">tunnl</span>.live
|
<span className="text-emerald-400">tunel</span>.live
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex flex-wrap items-center justify-center gap-x-6 gap-y-2 mb-4 text-sm">
|
<div className="flex flex-wrap items-center justify-center gap-x-6 gap-y-2 mb-4 text-sm">
|
||||||
@@ -19,7 +19,7 @@ export default function SiteFooter() {
|
|||||||
</Link>
|
</Link>
|
||||||
</div>
|
</div>
|
||||||
<div className="text-sm text-gray-500">
|
<div className="text-sm text-gray-500">
|
||||||
© {new Date().getFullYear()} tunnl.live. Made with ❤️ by{' '}
|
© {new Date().getFullYear()} tunel.live. Made with ❤️ by{' '}
|
||||||
<a
|
<a
|
||||||
href="https://github.com/fossyy"
|
href="https://github.com/fossyy"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
"use client"
|
"use client"
|
||||||
|
|
||||||
import Link from "next/link"
|
import Link from "next/link"
|
||||||
import TunnlLogo from "./tunnl-logo"
|
import TunelLogo from "./tunel-logo"
|
||||||
import UserMenu from "./user-menu"
|
import UserMenu from "./user-menu"
|
||||||
import { authClient } from "@/lib/auth-client";
|
import { authClient } from "@/lib/auth-client";
|
||||||
import { redirect, RedirectType } from 'next/navigation'
|
import { redirect, RedirectType } from 'next/navigation'
|
||||||
@@ -27,9 +27,9 @@ export default function SiteHeader({ session }: SiteHeaderProps) {
|
|||||||
<div className="max-w-7xl mx-auto px-4 py-4">
|
<div className="max-w-7xl mx-auto px-4 py-4">
|
||||||
<div className="flex items-center justify-between">
|
<div className="flex items-center justify-between">
|
||||||
<div className="flex items-center gap-2">
|
<div className="flex items-center gap-2">
|
||||||
<TunnlLogo />
|
<TunelLogo />
|
||||||
<span className="text-xl font-bold">
|
<span className="text-xl font-bold">
|
||||||
<span className="text-emerald-400">tunnl</span>.live
|
<span className="text-emerald-400">tunel</span>.live
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
"use client"
|
"use client"
|
||||||
|
|
||||||
export default function TunnlLogo() {
|
export default function TunelLogo() {
|
||||||
return (
|
return (
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" width={20} height={18}>
|
<svg xmlns="http://www.w3.org/2000/svg" width={20} height={18}>
|
||||||
<path
|
<path
|
||||||
@@ -49,7 +49,7 @@ const fetchServers = async (): Promise<Server[]> => {
|
|||||||
id: "us",
|
id: "us",
|
||||||
name: "United States",
|
name: "United States",
|
||||||
location: "Chicago",
|
location: "Chicago",
|
||||||
subdomain: "us.tunnl.live",
|
subdomain: "us.tunel.live",
|
||||||
coordinates: [-87.6298, 41.8781],
|
coordinates: [-87.6298, 41.8781],
|
||||||
ping: null,
|
ping: null,
|
||||||
status: "online",
|
status: "online",
|
||||||
@@ -70,7 +70,7 @@ const fetchServers = async (): Promise<Server[]> => {
|
|||||||
id: "fra",
|
id: "fra",
|
||||||
name: "Frankfurt",
|
name: "Frankfurt",
|
||||||
location: "Germany",
|
location: "Germany",
|
||||||
subdomain: "eu.tunnl.live",
|
subdomain: "eu.tunel.live",
|
||||||
coordinates: [8.6821, 50.1109],
|
coordinates: [8.6821, 50.1109],
|
||||||
ping: null,
|
ping: null,
|
||||||
status: "online",
|
status: "online",
|
||||||
@@ -91,7 +91,7 @@ const fetchServers = async (): Promise<Server[]> => {
|
|||||||
id: "sgp",
|
id: "sgp",
|
||||||
name: "Singapore",
|
name: "Singapore",
|
||||||
location: "Singapore",
|
location: "Singapore",
|
||||||
subdomain: "sgp.tunnl.live",
|
subdomain: "sgp.tunel.live",
|
||||||
coordinates: [103.8198, 1.3521],
|
coordinates: [103.8198, 1.3521],
|
||||||
ping: null,
|
ping: null,
|
||||||
status: "online",
|
status: "online",
|
||||||
|
|||||||
Generated
+2
-2
@@ -1,11 +1,11 @@
|
|||||||
{
|
{
|
||||||
"name": "tunnlpls_frontend",
|
"name": "tunelpls_frontend",
|
||||||
"version": "0.1.0",
|
"version": "0.1.0",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "tunnlpls_frontend",
|
"name": "tunelpls_frontend",
|
||||||
"version": "0.1.0",
|
"version": "0.1.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"better-auth": "^1.3.23",
|
"better-auth": "^1.3.23",
|
||||||
|
|||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "tunnlpls_frontend",
|
"name": "tunelpls_frontend",
|
||||||
"version": "0.1.0",
|
"version": "0.1.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"overrides": {
|
"overrides": {
|
||||||
|
|||||||
Reference in New Issue
Block a user