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 — Conquer 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 */} +
+

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')