diff --git a/src/layout/footer.tsx b/src/layout/footer.tsx index 5ddedb3..d0ea3d7 100644 --- a/src/layout/footer.tsx +++ b/src/layout/footer.tsx @@ -1,4 +1,6 @@ +import { Link } from 'react-router-dom' import styles from '../styles/footer.module.scss' +import { appRoutes, getProfilePageRoute } from 'routes' export const Footer = () => { return ( @@ -7,6 +9,7 @@ export const Footer = () => {

Built with  { Nostr {' '} by  - Freakoverse - + , with the support of{' '} - + Supporters - + . Check our  - + Backup Plan - + .

diff --git a/src/pages/backup.tsx b/src/pages/backup.tsx new file mode 100644 index 0000000..682d869 --- /dev/null +++ b/src/pages/backup.tsx @@ -0,0 +1,126 @@ +import { capitalizeEachWord } from 'utils' +import '../styles/backup.css' +import backupPlanImg from '../assets/img/DEG Mods Backup Plan.png' +// import placeholder from '../assets/img/DEGMods Placeholder Img.png' +interface BackupItemProps { + name: string + image: string + link: string + type: 'repo' | 'alt' | 'exe' +} +const BACKUP_LIST: BackupItemProps[] = [ + // { + // name: 'Github', + // type: 'repo', + // image: + // 'https://www.c-sharpcorner.com/article/create-github-repository-and-add-newexisting-project-using-github-desktop/Images/github.png', + // link: '#' + // }, + // { + // name: 'Github, but nostr', + // type: 'repo', + // image: 'https://vitorpamplona.com/images/nostr.gif', + // link: '#' + // }, + // { + // name: 'name', + // type: 'alt', + // image: placeholder, + // link: '#' + // }, + // { + // name: '', + // type: 'exe', + // image: placeholder, + // link: '#' + // } +] + +const BackupItem = ({ name, image, link, type }: BackupItemProps) => { + return ( + +
+

+ {type === 'exe' ? type.toUpperCase() : capitalizeEachWord(type)}:{' '} + {name} +

+
+
+ ) +} + +export const BackupPage = () => { + return ( +
+
+
+
+
+
+
+

+ Backup Plan: Repos, Alts, EXE +

+ +

+ It's pretty clear that authoritarianism and censorship is on + the rise, on all fronts, and from what can be seen, any idea + that push for the opposite gets attacked. That's why DEG + Mods is running on Nostr, and that's why we're also writing + this backup plan. +
+

+

Repositories

+

+ Wherever we can, we'll put DEG Mods' code on multiple + repositories such as Github, and (github but on nostr). + Below you can find the links where we've uploaded the site's + code to. +
+

+

Alternatives

+

+ With the repositories for DEG Mods is up on multiple places, + we encourage people to take the code and duplicate it + elsewhere. Fork it, change the design, remove or add systems + and features, and make your own version. Below you can find + links of alts that we've found. +
+

+

EXE

+

+ One last push we'd like to do is to create a .exe that'll + open up DEG Mods on your PC, as if you've opened the website + normally, with almost all of the functionalities you'd + expect (if not all). We want to do this so that in case + there are no alternatives, or that they're getting shut + down, then you can just rely on this instead. The link to it + will be added here the moment it becomes available. +
+

+
+ {BACKUP_LIST.map((b) => ( + + ))} +
+
+
+
+
+
+
+
+ ) +} diff --git a/src/pages/supporters.tsx b/src/pages/supporters.tsx new file mode 100644 index 0000000..afa326c --- /dev/null +++ b/src/pages/supporters.tsx @@ -0,0 +1,3 @@ +export const SupportersPage = () => { + return

WIP

+} diff --git a/src/routes/index.tsx b/src/routes/index.tsx index bee8638..20bd612 100644 --- a/src/routes/index.tsx +++ b/src/routes/index.tsx @@ -28,6 +28,8 @@ import { BlogPage } from '../pages/blog' import { blogRouteLoader } from '../pages/blog/loader' import { blogRouteAction } from '../pages/blog/action' import { reportRouteAction } from '../actions/report' +import { BackupPage } from 'pages/backup' +import { SupportersPage } from 'pages/supporters' export const appRoutes = { home: '/', @@ -51,7 +53,9 @@ export const appRoutes = { settingsAdmin: '/settings-admin', profile: '/profile/:nprofile?', feed: '/feed', - notifications: '/notifications' + notifications: '/notifications', + backup: '/backup', + supporters: '/supporters' } export const getGamePageRoute = (name: string) => @@ -185,6 +189,14 @@ export const routerWithNdkContext = (context: NDKContextType) => } ] }, + { + path: appRoutes.backup, + element: + }, + { + path: appRoutes.supporters, + element: + }, { path: '*', element: diff --git a/src/styles/backup.css b/src/styles/backup.css new file mode 100644 index 0000000..c2ece79 --- /dev/null +++ b/src/styles/backup.css @@ -0,0 +1,36 @@ +.backupList { + width: 100%; + display: flex; + flex-direction: column; + grid-gap: 15px; +} + +.backupListLink { + transition: ease 0.4s; + overflow: hidden; + padding: 15px; + box-shadow: 0 0 8px 0 rgb(0,0,0,0.1); + border-radius: 10px; + /*border: solid 1px rgba(255,255,255,0.1);*/ + position: relative; + color: rgba(255,255,255,0.75); + min-height: 150px; + display: flex; + flex-direction: column; +} + +.backupListLink:hover { + transition: ease 0.4s; + text-decoration: unset; + color: rgb(255,255,255); + transform: scale(1.02); +} + +.backupListLinkInside { + display: flex; + flex-direction: column; + grid-gap: 0px; + flex-grow: 1; + justify-content: end; +} +