Skip to content

Commit 377f491

Browse files
committed
feat(Settings): add legal notices page
1 parent 2099750 commit 377f491

File tree

4 files changed

+41
-0
lines changed

4 files changed

+41
-0
lines changed

admin/app/controllers/settings_controller.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,10 @@ export default class SettingsController {
2626
});
2727
}
2828

29+
async legal({ inertia }: HttpContext) {
30+
return inertia.render('settings/legal');
31+
}
32+
2933
async zim({ inertia }: HttpContext) {
3034
return inertia.render('settings/zim/index')
3135
}

admin/inertia/layouts/SettingsLayout.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,12 @@ import {
44
FolderIcon,
55
MagnifyingGlassIcon,
66
} from '@heroicons/react/24/outline'
7+
import { IconGavel } from '@tabler/icons-react'
78
import StyledSidebar from '~/components/StyledSidebar'
89

910
const navigation = [
1011
{ name: 'Apps', href: '/settings/apps', icon: CommandLineIcon, current: false },
12+
{ name: 'Legal Notices', href: '/settings/legal', icon: IconGavel, current: false },
1113
{ name: 'ZIM Manager', href: '/settings/zim', icon: FolderIcon, current: false },
1214
{
1315
name: 'Zim Remote Explorer',
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
import { Head } from '@inertiajs/react'
2+
import SettingsLayout from '~/layouts/SettingsLayout'
3+
4+
export default function SettingsPage() {
5+
return (
6+
<SettingsLayout>
7+
<Head title="Legal Notices | Project N.O.M.A.D." />
8+
<div className="xl:pl-72 w-full">
9+
<main className="px-12 py-6">
10+
<h1 className="text-4xl font-semibold mb-6">Legal Notices</h1>
11+
<h2 className="text-2xl font-semibold mb-2">License Agreement & Terms of Use</h2>
12+
<p className="text-gray-900 mb-2">Copyright 2025 Crosstalk Solutions, LLC</p>
13+
<p className="text-gray-900 mb-2">
14+
Permission is hereby granted, free of charge, to any person obtaining a copy of this
15+
software and associated documentation files (the “Software”), to deal in the Software
16+
without restriction, including without limitation the rights to use, copy, modify,
17+
merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
18+
permit persons to whom the Software is furnished to do so, subject to the following
19+
conditions: The above copyright notice and this permission notice shall be included in
20+
all copies or substantial portions of the Software.
21+
</p>
22+
<p className="text-gray-900 mb-2">
23+
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
24+
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
25+
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
26+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
27+
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
28+
OTHER DEALINGS IN THE SOFTWARE.
29+
</p>
30+
</main>
31+
</div>
32+
</SettingsLayout>
33+
)
34+
}

admin/start/routes.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ router.on('/about').renderInertia('about')
2323
router.group(() => {
2424
router.get('/system', [SettingsController, 'system'])
2525
router.get('/apps', [SettingsController, 'apps'])
26+
router.get('/legal', [SettingsController, 'legal'])
2627
router.get('/zim', [SettingsController, 'zim'])
2728
router.get('/zim/remote-explorer', [SettingsController, 'zimRemote'])
2829
}).prefix('/settings')

0 commit comments

Comments
 (0)