diff --git a/admin/app/controllers/settings_controller.ts b/admin/app/controllers/settings_controller.ts
index c0a312f..e90370d 100644
--- a/admin/app/controllers/settings_controller.ts
+++ b/admin/app/controllers/settings_controller.ts
@@ -39,6 +39,10 @@ export default class SettingsController {
return inertia.render('settings/legal');
}
+ async support({ inertia }: HttpContext) {
+ return inertia.render('settings/support');
+ }
+
async maps({ inertia }: HttpContext) {
const baseAssetsCheck = await this.mapService.ensureBaseAssets();
const regionFiles = await this.mapService.listRegions();
diff --git a/admin/inertia/layouts/SettingsLayout.tsx b/admin/inertia/layouts/SettingsLayout.tsx
index 2184f29..0ecad83 100644
--- a/admin/inertia/layouts/SettingsLayout.tsx
+++ b/admin/inertia/layouts/SettingsLayout.tsx
@@ -4,6 +4,7 @@ import {
IconDashboard,
IconFolder,
IconGavel,
+ IconHeart,
IconMapRoute,
IconSettings,
IconTerminal2,
@@ -41,6 +42,7 @@ export default function SettingsLayout({ children }: { children: React.ReactNode
current: false,
},
{ name: 'System', href: '/settings/system', icon: IconSettings, current: false },
+ { name: 'Support the Project', href: '/settings/support', icon: IconHeart, current: false },
{ name: 'Legal Notices', href: '/settings/legal', icon: IconGavel, current: false },
]
diff --git a/admin/inertia/pages/settings/support.tsx b/admin/inertia/pages/settings/support.tsx
new file mode 100644
index 0000000..da3e3f3
--- /dev/null
+++ b/admin/inertia/pages/settings/support.tsx
@@ -0,0 +1,110 @@
+import { Head } from '@inertiajs/react'
+import { IconExternalLink } from '@tabler/icons-react'
+import SettingsLayout from '~/layouts/SettingsLayout'
+
+export default function SupportPage() {
+ return (
+
+
+
+
+ Support the Project
+
+ Project NOMAD is 100% free and open source — no subscriptions, no paywalls, no catch.
+ If you'd like to help keep the project going, here are a few ways to show your support.
+
+
+ {/* Ko-fi */}
+
+ Buy Us a Coffee
+
+ Every contribution helps fund development, server costs, and new content packs for NOMAD.
+ Even a small donation goes a long way.
+
+
+ Support on Ko-fi
+
+
+
+
+ {/* Rogue Support */}
+
+ Need Help With Your Home Network?
+
+
+
+
+ Rogue Support is a networking consultation service for home users.
+ Think of it as Uber for computer networking — expert help when you need it.
+
+
+ Visit RogueSupport.com
+
+
+
+
+ {/* Other Ways to Help */}
+
+
+
+
+
+ )
+}
diff --git a/admin/public/rogue-support-banner.png b/admin/public/rogue-support-banner.png
new file mode 100644
index 0000000..1115782
Binary files /dev/null and b/admin/public/rogue-support-banner.png differ
diff --git a/admin/start/routes.ts b/admin/start/routes.ts
index 1de6fa7..94219a1 100644
--- a/admin/start/routes.ts
+++ b/admin/start/routes.ts
@@ -54,6 +54,7 @@ router
router.get('/zim', [SettingsController, 'zim'])
router.get('/zim/remote-explorer', [SettingsController, 'zimRemote'])
router.get('/benchmark', [SettingsController, 'benchmark'])
+ router.get('/support', [SettingsController, 'support'])
})
.prefix('/settings')