diff --git a/joinlemmy-translations b/joinlemmy-translations index c5a83e2..99c9267 160000 --- a/joinlemmy-translations +++ b/joinlemmy-translations @@ -1 +1 @@ -Subproject commit c5a83e2acc36144ac5ddfe140e972f7db58ce1ed +Subproject commit 99c926712f74149c92fcd87c46f4d6e37f9bc4b4 diff --git a/lemmy-docs b/lemmy-docs index 3afc885..2c5c205 160000 --- a/lemmy-docs +++ b/lemmy-docs @@ -1 +1 @@ -Subproject commit 3afc885c84c7f12610a1889657e4261dea56f01a +Subproject commit 2c5c2053bb8a76ea3f626cc59a568d6fd15f860f diff --git a/lemmy-translations b/lemmy-translations index e2cc291..207da6e 160000 --- a/lemmy-translations +++ b/lemmy-translations @@ -1 +1 @@ -Subproject commit e2cc2912dac3f74959a934ad66ec833a04e847ae +Subproject commit 207da6e18156c79078d62da8afabda089545414d diff --git a/src/shared/components/app-definitions.ts b/src/shared/components/app-definitions.ts index 8bd13ba..d1d52dc 100644 --- a/src/shared/components/app-definitions.ts +++ b/src/shared/components/app-definitions.ts @@ -1,4 +1,4 @@ -export interface ApiLibrary { +export interface ToolDetails { name: string; link: string; description: string; @@ -33,7 +33,7 @@ export interface AppLink { icon: string; } -export const API_LIBRARIES: ApiLibrary[] = [ +export const API_LIBRARIES: ToolDetails[] = [ { name: "lemmy-js-client", link: "https://github.com/LemmyNet/lemmy-js-client", @@ -67,6 +67,32 @@ export const API_LIBRARIES: ApiLibrary[] = [ }, ]; +export const MODERATION_TOOLS: ToolDetails[] = [ + { + name: "Fediseer", + link: "https://gui.fediseer.com", + description: + "This service provides an REST API which can be used to retrieve various information about Fediverse instances, particularly focused on detecting and countering bad actors.", + }, + { + name: "LemmyAutomod", + link: "https://github.com/RikudouSage/LemmyAutomod", + description: + "LemmyAutomod is a tool for Lemmy that allows instance admins to set rules that will take action in certain scenarios.", + }, + { + name: "threativore", + link: "https://github.com/db0/threativore", + description: "A Thrediverse bot fight against spam", + }, + { + name: "lemmy-bouncer", + link: "https://github.com/SleeplessOne1917/lemmy-bouncer", + description: + "Lemmy automod bot to prevent unvetted users from posting or commenting in a community.", + }, +]; + const VOYAGER: AppDetails = { name: "Voyager", description: "A Lemmy Client for iOS, Android and the web", diff --git a/src/shared/components/apps.tsx b/src/shared/components/apps.tsx index f821a66..3e2517b 100644 --- a/src/shared/components/apps.tsx +++ b/src/shared/components/apps.tsx @@ -6,10 +6,12 @@ import { BottomSpacer, SELECT_CLASSES, TEXT_GRADIENT } from "./common"; import { API_LIBRARIES, APP_LIST, + ToolDetails, AppDetails, AppLink, Platform, SourceType, + MODERATION_TOOLS, } from "./app-definitions"; import { Icon } from "./icon"; import { I18nKeys } from "i18next"; @@ -95,13 +97,18 @@ const AppGrid = ({ apps }: AppGridProps) => ( ); -const ApiLibrariesBlock = () => ( +interface ToolsBlockProps { + title: string; + items: ToolDetails[]; +} + +const ToolsBlock = ({ title, items }: ToolsBlockProps) => (
- -
+ +
    - {API_LIBRARIES.map(a => ( + {items.map(a => (
  • @@ -163,7 +170,13 @@ export class Apps extends Component { {this.filterAndTitleBlock()} - +
    + + +
);