fix: remove debug console.log from root layout
This commit is contained in:
1 parent
7e5813bd97
commit
e5b0649bf1
9 files changed
+380209
-71
No files matched your search
File diff suppressed because it is too large.
Load diff
+25
-7
@@ -97,10 +97,19 @@ export default function ClientPage() {
|
|||||||
return (
|
return (
|
||||||
<div className="flex min-h-screen flex-col" style={{ backgroundColor: "var(--color-background)" }}>
|
<div className="flex min-h-screen flex-col" style={{ backgroundColor: "var(--color-background)" }}>
|
||||||
<header
|
<header
|
||||||
className="flex h-14 items-center border-b px-4"
|
className="flex h-14 items-center justify-between border-b px-6 shrink-0"
|
||||||
style={{ backgroundColor: "var(--color-navbar)", borderColor: "color-mix(in srgb, var(--color-text-muted) 15%, transparent)" }}
|
style={{ backgroundColor: "var(--color-navbar)", borderColor: "var(--color-primary, #eeb425)" }}
|
||||||
>
|
>
|
||||||
<span className="font-bold text-lg">{hotelName || "Atom"}</span>
|
<span className="font-bold text-lg" style={{ color: "var(--color-navbar-text, var(--color-text))" }}>{hotelName || "Atom"}</span>
|
||||||
|
<div className="flex items-center gap-2">
|
||||||
|
<span className="relative flex h-2.5 w-2.5">
|
||||||
|
<span className="animate-ping absolute inline-flex h-full w-full rounded-full bg-green-400 opacity-75" />
|
||||||
|
<span className="relative inline-flex rounded-full h-2.5 w-2.5 bg-green-500" />
|
||||||
|
</span>
|
||||||
|
<span className="text-sm font-bold" style={{ color: "var(--color-navbar-text, var(--color-text-muted))" }}>
|
||||||
|
{onlineCount} Online
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
</header>
|
</header>
|
||||||
<main className="flex-1 flex items-center justify-center">
|
<main className="flex-1 flex items-center justify-center">
|
||||||
<ContentCard icon="🔒" title={t("title")} subtitle={t("errors.unauthorized")}>
|
<ContentCard icon="🔒" title={t("title")} subtitle={t("errors.unauthorized")}>
|
||||||
@@ -119,10 +128,19 @@ export default function ClientPage() {
|
|||||||
return (
|
return (
|
||||||
<div className="flex min-h-screen flex-col" style={{ backgroundColor: "var(--color-background)" }}>
|
<div className="flex min-h-screen flex-col" style={{ backgroundColor: "var(--color-background)" }}>
|
||||||
<header
|
<header
|
||||||
className="flex h-14 items-center border-b px-4"
|
className="flex h-14 items-center justify-between border-b px-6 shrink-0"
|
||||||
style={{ backgroundColor: "var(--color-navbar)", borderColor: "color-mix(in srgb, var(--color-text-muted) 15%, transparent)" }}
|
style={{ backgroundColor: "var(--color-navbar)", borderColor: "var(--color-primary, #eeb425)" }}
|
||||||
>
|
>
|
||||||
<span className="font-bold text-lg">{hotelName || "Atom"}</span>
|
<span className="font-bold text-lg" style={{ color: "var(--color-navbar-text, var(--color-text))" }}>{hotelName || "Atom"}</span>
|
||||||
|
<div className="flex items-center gap-2">
|
||||||
|
<span className="relative flex h-2.5 w-2.5">
|
||||||
|
<span className="animate-ping absolute inline-flex h-full w-full rounded-full bg-green-400 opacity-75" />
|
||||||
|
<span className="relative inline-flex rounded-full h-2.5 w-2.5 bg-green-500" />
|
||||||
|
</span>
|
||||||
|
<span className="text-sm font-bold" style={{ color: "var(--color-navbar-text, var(--color-text-muted))" }}>
|
||||||
|
{onlineCount} Online
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
</header>
|
</header>
|
||||||
<main className="flex-1 flex items-center justify-center">
|
<main className="flex-1 flex items-center justify-center">
|
||||||
<p className="text-center" style={{ color: "var(--color-text-muted)" }}>
|
<p className="text-center" style={{ color: "var(--color-text-muted)" }}>
|
||||||
@@ -136,7 +154,7 @@ export default function ClientPage() {
|
|||||||
const clientSrc = getClientSrc();
|
const clientSrc = getClientSrc();
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="relative w-screen h-screen overflow-hidden site-bg" style={{ backgroundColor: "var(--color-background)" }}>
|
<div className="relative w-screen h-screen overflow-hidden" style={{ backgroundColor: "var(--color-background)" }}>
|
||||||
{/* Floating Toolbar */}
|
{/* Floating Toolbar */}
|
||||||
<div className="fixed top-4 left-4 z-50 flex items-center gap-2">
|
<div className="fixed top-4 left-4 z-50 flex items-center gap-2">
|
||||||
{/* Home Button */}
|
{/* Home Button */}
|
||||||
|
|||||||
+12
-8
@@ -728,20 +728,24 @@ tbody tr:hover {
|
|||||||
background-color: var(--color-dropdown);
|
background-color: var(--color-dropdown);
|
||||||
border: 1px solid color-mix(in srgb, var(--color-text-muted) 14%, transparent);
|
border: 1px solid color-mix(in srgb, var(--color-text-muted) 14%, transparent);
|
||||||
box-shadow: 0 8px 32px color-mix(in srgb, rgb(0 0 0) 20%, transparent);
|
box-shadow: 0 8px 32px color-mix(in srgb, rgb(0 0 0) 20%, transparent);
|
||||||
|
transform-origin: top right;
|
||||||
|
transition: opacity 0.2s cubic-bezier(0.16, 1, 0.3, 1),
|
||||||
|
transform 0.2s cubic-bezier(0.16, 1, 0.3, 1);
|
||||||
|
opacity: 0;
|
||||||
|
transform: translateY(-8px) scale(0.95);
|
||||||
|
pointer-events: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
details[open] > .dropdown-menu {
|
details[open] > .dropdown-menu {
|
||||||
animation: dropdownIn 0.15s ease-out;
|
opacity: 1;
|
||||||
|
transform: translateY(0) scale(1);
|
||||||
|
pointer-events: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
@keyframes dropdownIn {
|
@starting-style {
|
||||||
from {
|
details[open] > .dropdown-menu {
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
transform: translateY(-6px) scale(0.97);
|
transform: translateY(-8px) scale(0.95);
|
||||||
}
|
|
||||||
to {
|
|
||||||
opacity: 1;
|
|
||||||
transform: translateY(0) scale(1);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -41,8 +41,6 @@ export default async function RootLayout({ children }: { children: ReactNode })
|
|||||||
const headersList = await headers();
|
const headersList = await headers();
|
||||||
const pathname = headersList.get("x-pathname") || "";
|
const pathname = headersList.get("x-pathname") || "";
|
||||||
const isClient = pathname === "/client" || pathname.startsWith("/client/");
|
const isClient = pathname === "/client" || pathname.startsWith("/client/");
|
||||||
console.log(`[RootLayout] pathname: "${pathname}", isClient: ${isClient}`);
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<html lang={locale} className={`app ${nunito.variable}`}>
|
<html lang={locale} className={`app ${nunito.variable}`}>
|
||||||
<head>
|
<head>
|
||||||
|
|||||||
@@ -80,58 +80,57 @@ export async function TopHeader() {
|
|||||||
</Link>
|
</Link>
|
||||||
</div>
|
</div>
|
||||||
</details>
|
</details>
|
||||||
) : null}
|
) : null}
|
||||||
|
|
||||||
<details className="relative">
|
|
||||||
<summary className="list-none cursor-pointer flex items-center [&::-webkit-details-marker]:hidden">
|
|
||||||
{/* biome-ignore lint/performance/noImgElement: external imager */}
|
|
||||||
<img className="w-[54px] h-[62px] bg-no-repeat bg-center" src={avatar} alt="" />
|
|
||||||
<span className="-ml-2 font-semibold" style={{ color: "var(--color-navbar-text, var(--color-text))" }}>{session.user.name}</span>
|
|
||||||
</summary>
|
|
||||||
<div
|
|
||||||
className="dropdown-menu absolute right-0 top-full mt-0.5 min-w-[200px] rounded-xl z-50 py-2"
|
|
||||||
>
|
|
||||||
<Link href="/me" className="dropdown-item">
|
|
||||||
My dashboard
|
|
||||||
</Link>
|
|
||||||
<Link href={`/u/${session.user.name}`} className="dropdown-item">
|
|
||||||
My profile
|
|
||||||
</Link>
|
|
||||||
<Link href="/settings" className="dropdown-item">
|
|
||||||
User settings
|
|
||||||
</Link>
|
|
||||||
<Link href="/settings/2fa" className="dropdown-item">
|
|
||||||
Two-factor
|
|
||||||
</Link>
|
|
||||||
<Link href="/settings/sessions" className="dropdown-item">
|
|
||||||
Login activity
|
|
||||||
</Link>
|
|
||||||
<div className="h-px my-1 mx-3" style={{ backgroundColor: "color-mix(in srgb, var(--color-text-muted) 12%, transparent)" }} />
|
|
||||||
<form
|
|
||||||
action={async () => {
|
|
||||||
"use server";
|
|
||||||
await signOut({ redirectTo: "/" });
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
<button
|
|
||||||
type="submit"
|
|
||||||
className="dropdown-item w-full text-center mx-1 rounded-lg"
|
|
||||||
style={{
|
|
||||||
backgroundColor: "color-mix(in srgb, var(--button-danger-color) 12%, transparent)",
|
|
||||||
color: "var(--button-danger-color)",
|
|
||||||
border: "none",
|
|
||||||
cursor: "pointer",
|
|
||||||
width: "calc(100% - 8px)",
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
Logout
|
|
||||||
</button>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</details>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
<details className="relative">
|
||||||
|
<summary className="list-none cursor-pointer flex items-center [&::-webkit-details-marker]:hidden">
|
||||||
|
{/* biome-ignore lint/performance/noImgElement: external imager */}
|
||||||
|
<img className="w-[54px] h-[62px] bg-no-repeat bg-center" src={avatar} alt="" />
|
||||||
|
<span className="-ml-2 font-semibold" style={{ color: "var(--color-navbar-text, var(--color-text))" }}>{session.user.name}</span>
|
||||||
|
</summary>
|
||||||
|
<div
|
||||||
|
className="dropdown-menu absolute right-0 top-full mt-0.5 min-w-[200px] rounded-xl z-50 py-2"
|
||||||
|
>
|
||||||
|
<Link href="/me" className="dropdown-item">
|
||||||
|
My dashboard
|
||||||
|
</Link>
|
||||||
|
<Link href={`/u/${session.user.name}`} className="dropdown-item">
|
||||||
|
My profile
|
||||||
|
</Link>
|
||||||
|
<Link href="/settings" className="dropdown-item">
|
||||||
|
User settings
|
||||||
|
</Link>
|
||||||
|
<Link href="/settings/2fa" className="dropdown-item">
|
||||||
|
Two-factor
|
||||||
|
</Link>
|
||||||
|
<Link href="/settings/sessions" className="dropdown-item">
|
||||||
|
Login activity
|
||||||
|
</Link>
|
||||||
|
<div className="h-px my-1 mx-3" style={{ backgroundColor: "color-mix(in srgb, var(--color-text-muted) 12%, transparent)" }} />
|
||||||
|
<form
|
||||||
|
action={async () => {
|
||||||
|
"use server";
|
||||||
|
await signOut({ redirectTo: "/" });
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<button
|
||||||
|
type="submit"
|
||||||
|
className="dropdown-item w-full text-center mx-1 rounded-lg"
|
||||||
|
style={{
|
||||||
|
backgroundColor: "color-mix(in srgb, var(--button-danger-color) 12%, transparent)",
|
||||||
|
color: "var(--button-danger-color)",
|
||||||
|
border: "none",
|
||||||
|
cursor: "pointer",
|
||||||
|
width: "calc(100% - 8px)",
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
Logout
|
||||||
|
</button>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</details>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -0,0 +1,74 @@
|
|||||||
|
[H[2J[3J[1;36m
|
||||||
|
|
||||||
|
╔═══════════════════════════════════════════════════════════════════════════╗
|
||||||
|
║ ║
|
||||||
|
║ ███████╗███╗ ███╗ █████╗ ██████╗ ████████╗ ║
|
||||||
|
║ ██╔════╝████╗ ████║██╔══██╗██╔══██╗╚══██╔══╝ ║
|
||||||
|
║ █████╗ ██╔████╔██║███████║██████╔╝ ██║ ║
|
||||||
|
║ ██╔══╝ ██║╚██╔╝██║██╔══██║██╔══██╗ ██║ ║
|
||||||
|
║ ███████╗██║ ╚═╝ ██║██║ ██║██║ ██║ ██║ ║
|
||||||
|
║ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ║
|
||||||
|
║ ║
|
||||||
|
╠═══════════════════════════════════════════════════════════════════════════╣
|
||||||
|
║ [38;5;220m[1m Emulator / Nitro-V3 / Nitro-V3-Render[1;36m ║
|
||||||
|
║ [1;37m[1m Updater by Remco — epicnabbo.nl[1;36m ║
|
||||||
|
╠═══════════════════════════════════════════════════════════════════════════╣
|
||||||
|
║ [2mBranch: [1;36mmain[2m (2 detected) │ 19:21[1;36m ║
|
||||||
|
╚═══════════════════════════════════════════════════════════════════════════╝
|
||||||
|
[0m
|
||||||
|
[42m[1;37m[1m UPDATE [0m
|
||||||
|
[1;32m[1m1)[0m 🚀 Quick Update — branch: [1;36mmain[0m
|
||||||
|
[1;32m[1m2)[0m ⚡ Full Update (choose branch)
|
||||||
|
[1;32m[1m3)[0m ⚙ Emulator Only
|
||||||
|
[1;32m[1m4)[0m ⚙ Nitro-V3 Client Only
|
||||||
|
[1;32m[1m5)[0m ⚙ Renderer Only
|
||||||
|
[1;32m[1m6)[0m ⚙ Configs Only
|
||||||
|
|
||||||
|
[45m[1;37m[1m TOOLS [0m
|
||||||
|
[1;35m[1m7)[0m 🔀 Switch Branch
|
||||||
|
[1;33m[1m8)[0m 🗄 Database
|
||||||
|
[1;33m[1m9)[0m 🛡 Backup / Restore
|
||||||
|
[1;33m[1m10)[0m 🔧 Services
|
||||||
|
[1;33m[1m11)[0m 📊 Status
|
||||||
|
[1;33m[1m12)[0m ♥ Health Check
|
||||||
|
[1;33m[1m13)[0m 🧹 Clean
|
||||||
|
[1;33m[1m14)[0m 👁 Logs
|
||||||
|
[1;33m[1m15)[0m ⚙ Config
|
||||||
|
|
||||||
|
[44m[1;37m[1m ADVANCED [0m
|
||||||
|
[1;34m[1m16)[0m 🖥 Git Log
|
||||||
|
[1;34m[1m17)[0m 🌐 Compare Branches
|
||||||
|
[1;34m[1m18)[0m ⏱ Cron Scheduler
|
||||||
|
|
||||||
|
[1;31m[1m0)[0m Exit
|
||||||
|
|
||||||
|
[1;36m[1mSelect [0-18][0m:
|
||||||
|
[1m[1;36mUpdate: [1;32mFull[0m
|
||||||
|
|
||||||
|
[1;32m[1m1)[0m [1;36mDev[0m
|
||||||
|
[1;32m[1m2)[0m [1;36mmain[0m [1;32m(current)[0m
|
||||||
|
[1;32m[1m3)[0m Custom
|
||||||
|
|
||||||
|
Branch [1-3]:
|
||||||
|
Branch: [1;36m[1mDev[0m Mode: [1;32mFull[0m
|
||||||
|
[1;33m➜[0m [1mStart update?[0m [Y/n]
|
||||||
|
[1;34m➜[0m Site: https://epicnabbo.nl:3000 | Branch: Dev | Mode: full
|
||||||
|
[2026-07-02 19:21:32] [INFO] Site: https://epicnabbo.nl:3000 | Branch: Dev | Mode: full
|
||||||
|
[1;34m➜[0m Log: /var/www/atom-nexst/storage/logs/update-20260702-192111.log
|
||||||
|
[2026-07-02 19:21:32] [INFO] Log: /var/www/atom-nexst/storage/logs/update-20260702-192111.log
|
||||||
|
|
||||||
|
[46m[1;37m[1m Step 1/8 — System Diagnostics [0m
|
||||||
|
|
||||||
|
[1;32m✔[0m All commands available
|
||||||
|
[2026-07-02 19:21:32] [OK] All commands available
|
||||||
|
[1;32m✔[0m All directories exist
|
||||||
|
[2026-07-02 19:21:32] [OK] All directories exist
|
||||||
|
[1;32m✔[0m 123GB disk available
|
||||||
|
[2026-07-02 19:21:32] [OK] 123GB disk available
|
||||||
|
|
||||||
|
[41m[1;37m[1m ERROR [0m [1;31mDB connection failed[0m
|
||||||
|
[2026-07-02 19:21:32] [FATAL] DB connection failed
|
||||||
|
[?12l[?25h [1;33m⚠[0m Update had errors
|
||||||
|
[2026-07-02 19:21:32] [WARN] Update had errors
|
||||||
|
|
||||||
|
[2mPress Enter to continue...[0m[H[2J[3J[?12l[?25h[?12l[?25h
|
||||||
@@ -0,0 +1,118 @@
|
|||||||
|
[H[2J[3J[1;36m
|
||||||
|
|
||||||
|
╔═══════════════════════════════════════════════════════════════════════════╗
|
||||||
|
║ ║
|
||||||
|
║ ███████╗███╗ ███╗ █████╗ ██████╗ ████████╗ ║
|
||||||
|
║ ██╔════╝████╗ ████║██╔══██╗██╔══██╗╚══██╔══╝ ║
|
||||||
|
║ █████╗ ██╔████╔██║███████║██████╔╝ ██║ ║
|
||||||
|
║ ██╔══╝ ██║╚██╔╝██║██╔══██║██╔══██╗ ██║ ║
|
||||||
|
║ ███████╗██║ ╚═╝ ██║██║ ██║██║ ██║ ██║ ║
|
||||||
|
║ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ║
|
||||||
|
║ ║
|
||||||
|
╠═══════════════════════════════════════════════════════════════════════════╣
|
||||||
|
║ [38;5;220m[1m Emulator / Nitro-V3 / Nitro-V3-Render[1;36m ║
|
||||||
|
║ [1;37m[1m Updater by Remco — epicnabbo.nl[1;36m ║
|
||||||
|
╠═══════════════════════════════════════════════════════════════════════════╣
|
||||||
|
║ [2mBranch: [1;36mmain[2m (2 detected) │ 19:26[1;36m ║
|
||||||
|
╚═══════════════════════════════════════════════════════════════════════════╝
|
||||||
|
[0m
|
||||||
|
[42m[1;37m[1m UPDATE [0m
|
||||||
|
[1;32m[1m1)[0m 🚀 Quick Update — branch: [1;36mmain[0m
|
||||||
|
[1;32m[1m2)[0m ⚡ Full Update (choose branch)
|
||||||
|
[1;32m[1m3)[0m ⚙ Emulator Only
|
||||||
|
[1;32m[1m4)[0m ⚙ Nitro-V3 Client Only
|
||||||
|
[1;32m[1m5)[0m ⚙ Renderer Only
|
||||||
|
[1;32m[1m6)[0m ⚙ Configs Only
|
||||||
|
|
||||||
|
[45m[1;37m[1m TOOLS [0m
|
||||||
|
[1;35m[1m7)[0m 🔀 Switch Branch
|
||||||
|
[1;33m[1m8)[0m 🗄 Database
|
||||||
|
[1;33m[1m9)[0m 🛡 Backup / Restore
|
||||||
|
[1;33m[1m10)[0m 🔧 Services
|
||||||
|
[1;33m[1m11)[0m 📊 Status
|
||||||
|
[1;33m[1m12)[0m ♥ Health Check
|
||||||
|
[1;33m[1m13)[0m 🧹 Clean
|
||||||
|
[1;33m[1m14)[0m 👁 Logs
|
||||||
|
[1;33m[1m15)[0m ⚙ Config
|
||||||
|
|
||||||
|
[44m[1;37m[1m ADVANCED [0m
|
||||||
|
[1;34m[1m16)[0m 🖥 Git Log
|
||||||
|
[1;34m[1m17)[0m 🌐 Compare Branches
|
||||||
|
[1;34m[1m18)[0m ⏱ Cron Scheduler
|
||||||
|
|
||||||
|
[1;31m[1m0)[0m Exit
|
||||||
|
|
||||||
|
[1;36m[1mSelect [0-18][0m:
|
||||||
|
[1m[1;36mUpdate: [1;32mFull[0m
|
||||||
|
|
||||||
|
[1;32m[1m1)[0m [1;36mDev[0m
|
||||||
|
[1;32m[1m2)[0m [1;36mmain[0m [1;32m(current)[0m
|
||||||
|
[1;32m[1m3)[0m Custom
|
||||||
|
|
||||||
|
Branch [1-3]:
|
||||||
|
Branch: [1;36m[1mDev[0m Mode: [1;32mFull[0m
|
||||||
|
[1;33m➜[0m [1mStart update?[0m [Y/n]
|
||||||
|
[1;34m➜[0m Site: https://epicnabbo.nl:3000 | Branch: Dev | Mode: full
|
||||||
|
[2026-07-02 19:27:06] [INFO] Site: https://epicnabbo.nl:3000 | Branch: Dev | Mode: full
|
||||||
|
[1;34m➜[0m Log: /var/www/atom-nexst/storage/logs/update-20260702-192641.log
|
||||||
|
[2026-07-02 19:27:06] [INFO] Log: /var/www/atom-nexst/storage/logs/update-20260702-192641.log
|
||||||
|
|
||||||
|
[46m[1;37m[1m Step 1/8 — System Diagnostics [0m
|
||||||
|
|
||||||
|
[1;32m✔[0m All commands available
|
||||||
|
[2026-07-02 19:27:06] [OK] All commands available
|
||||||
|
[1;32m✔[0m All directories exist
|
||||||
|
[2026-07-02 19:27:06] [OK] All directories exist
|
||||||
|
[1;32m✔[0m 123GB disk available
|
||||||
|
[2026-07-02 19:27:06] [OK] 123GB disk available
|
||||||
|
|
||||||
|
[41m[1;37m[1m ERROR [0m [1;31mDB connection failed[0m
|
||||||
|
[2026-07-02 19:27:06] [FATAL] DB connection failed
|
||||||
|
[?12l[?25h [1;33m⚠[0m Update had errors
|
||||||
|
[2026-07-02 19:27:06] [WARN] Update had errors
|
||||||
|
|
||||||
|
[2mPress Enter to continue...[0m[H[2J[3J[1;36m
|
||||||
|
|
||||||
|
╔═══════════════════════════════════════════════════════════════════════════╗
|
||||||
|
║ ║
|
||||||
|
║ ███████╗███╗ ███╗ █████╗ ██████╗ ████████╗ ║
|
||||||
|
║ ██╔════╝████╗ ████║██╔══██╗██╔══██╗╚══██╔══╝ ║
|
||||||
|
║ █████╗ ██╔████╔██║███████║██████╔╝ ██║ ║
|
||||||
|
║ ██╔══╝ ██║╚██╔╝██║██╔══██║██╔══██╗ ██║ ║
|
||||||
|
║ ███████╗██║ ╚═╝ ██║██║ ██║██║ ██║ ██║ ║
|
||||||
|
║ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ║
|
||||||
|
║ ║
|
||||||
|
╠═══════════════════════════════════════════════════════════════════════════╣
|
||||||
|
║ [38;5;220m[1m Emulator / Nitro-V3 / Nitro-V3-Render[1;36m ║
|
||||||
|
║ [1;37m[1m Updater by Remco — epicnabbo.nl[1;36m ║
|
||||||
|
╠═══════════════════════════════════════════════════════════════════════════╣
|
||||||
|
║ [2mBranch: [1;36mmain[2m (2 detected) │ 19:27[1;36m ║
|
||||||
|
╚═══════════════════════════════════════════════════════════════════════════╝
|
||||||
|
[0m
|
||||||
|
[42m[1;37m[1m UPDATE [0m
|
||||||
|
[1;32m[1m1)[0m 🚀 Quick Update — branch: [1;36mmain[0m
|
||||||
|
[1;32m[1m2)[0m ⚡ Full Update (choose branch)
|
||||||
|
[1;32m[1m3)[0m ⚙ Emulator Only
|
||||||
|
[1;32m[1m4)[0m ⚙ Nitro-V3 Client Only
|
||||||
|
[1;32m[1m5)[0m ⚙ Renderer Only
|
||||||
|
[1;32m[1m6)[0m ⚙ Configs Only
|
||||||
|
|
||||||
|
[45m[1;37m[1m TOOLS [0m
|
||||||
|
[1;35m[1m7)[0m 🔀 Switch Branch
|
||||||
|
[1;33m[1m8)[0m 🗄 Database
|
||||||
|
[1;33m[1m9)[0m 🛡 Backup / Restore
|
||||||
|
[1;33m[1m10)[0m 🔧 Services
|
||||||
|
[1;33m[1m11)[0m 📊 Status
|
||||||
|
[1;33m[1m12)[0m ♥ Health Check
|
||||||
|
[1;33m[1m13)[0m 🧹 Clean
|
||||||
|
[1;33m[1m14)[0m 👁 Logs
|
||||||
|
[1;33m[1m15)[0m ⚙ Config
|
||||||
|
|
||||||
|
[44m[1;37m[1m ADVANCED [0m
|
||||||
|
[1;34m[1m16)[0m 🖥 Git Log
|
||||||
|
[1;34m[1m17)[0m 🌐 Compare Branches
|
||||||
|
[1;34m[1m18)[0m ⏱ Cron Scheduler
|
||||||
|
|
||||||
|
[1;31m[1m0)[0m Exit
|
||||||
|
|
||||||
|
[1;36m[1mSelect [0-18][0m: [?12l[?25h[?12l[?25h
|
||||||
Executable
+1029
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,9 @@
|
|||||||
|
[2026-07-02 19:17:01] [OK] Dependencies installed
|
||||||
|
[2026-07-02 19:17:21] [OK] Build successful
|
||||||
|
[2026-07-02 19:17:21] [INFO] Restarting web service...
|
||||||
|
[2026-07-02 19:17:37] [OK] Backup created: db_backup_20260702_191736.sql
|
||||||
|
[2026-07-02 19:17:52] [OK] Emulator built
|
||||||
|
[2026-07-02 19:17:52] [INFO] Restarting emulator service...
|
||||||
|
[2026-07-02 19:18:46] [OK] Dependencies installed
|
||||||
|
[2026-07-02 19:18:49] [OK] Build successful
|
||||||
|
[2026-07-02 19:19:07] [OK] Dependencies installed
|
||||||
Reference in new issue
Block a user