Add third party tools (#301)

* Updating submodules

* Adding third party tools.

* Updating submodules

* Changing to moderation tools.

* Addressing PR comments.
This commit is contained in:
Dessalines 2024-03-01 04:22:48 -05:00 committed by GitHub
parent f542560466
commit 6e61947d03
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 49 additions and 10 deletions

@ -1 +1 @@
Subproject commit c5a83e2acc36144ac5ddfe140e972f7db58ce1ed Subproject commit 99c926712f74149c92fcd87c46f4d6e37f9bc4b4

@ -1 +1 @@
Subproject commit 3afc885c84c7f12610a1889657e4261dea56f01a Subproject commit 2c5c2053bb8a76ea3f626cc59a568d6fd15f860f

@ -1 +1 @@
Subproject commit e2cc2912dac3f74959a934ad66ec833a04e847ae Subproject commit 207da6e18156c79078d62da8afabda089545414d

View file

@ -1,4 +1,4 @@
export interface ApiLibrary { export interface ToolDetails {
name: string; name: string;
link: string; link: string;
description: string; description: string;
@ -33,7 +33,7 @@ export interface AppLink {
icon: string; icon: string;
} }
export const API_LIBRARIES: ApiLibrary[] = [ export const API_LIBRARIES: ToolDetails[] = [
{ {
name: "lemmy-js-client", name: "lemmy-js-client",
link: "https://github.com/LemmyNet/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 = { const VOYAGER: AppDetails = {
name: "Voyager", name: "Voyager",
description: "A Lemmy Client for iOS, Android and the web", description: "A Lemmy Client for iOS, Android and the web",

View file

@ -6,10 +6,12 @@ import { BottomSpacer, SELECT_CLASSES, TEXT_GRADIENT } from "./common";
import { import {
API_LIBRARIES, API_LIBRARIES,
APP_LIST, APP_LIST,
ToolDetails,
AppDetails, AppDetails,
AppLink, AppLink,
Platform, Platform,
SourceType, SourceType,
MODERATION_TOOLS,
} from "./app-definitions"; } from "./app-definitions";
import { Icon } from "./icon"; import { Icon } from "./icon";
import { I18nKeys } from "i18next"; import { I18nKeys } from "i18next";
@ -95,13 +97,18 @@ const AppGrid = ({ apps }: AppGridProps) => (
</div> </div>
); );
const ApiLibrariesBlock = () => ( interface ToolsBlockProps {
title: string;
items: ToolDetails[];
}
const ToolsBlock = ({ title, items }: ToolsBlockProps) => (
<div> <div>
<AppTitle title={i18n.t("api_libraries")} /> <AppTitle title={title} />
<div className="card card-bordered bg-neutral-900 shadow-xl md:w-1/2"> <div className="card card-bordered bg-neutral-900 shadow-xl">
<div className="card-body"> <div className="card-body">
<ul> <ul>
{API_LIBRARIES.map(a => ( {items.map(a => (
<li> <li>
<span className={`${TEXT_GRADIENT} mr-2`}></span> <span className={`${TEXT_GRADIENT} mr-2`}></span>
<span> <span>
@ -163,7 +170,13 @@ export class Apps extends Component<any, State> {
<TitleBlock /> <TitleBlock />
{this.filterAndTitleBlock()} {this.filterAndTitleBlock()}
<AppGrid apps={this.state.apps} /> <AppGrid apps={this.state.apps} />
<ApiLibrariesBlock /> <div className="grid md:grid-cols-2 grid-cols-1 gap-4 mb-16">
<ToolsBlock title={i18n.t("api_libraries")} items={API_LIBRARIES} />
<ToolsBlock
title={i18n.t("moderation_tools")}
items={MODERATION_TOOLS}
/>
</div>
<BottomSpacer /> <BottomSpacer />
</div> </div>
); );