diff --git a/src/shared/components/app-details.tsx b/src/shared/components/app-details.tsx new file mode 100644 index 0000000..e9f0b85 --- /dev/null +++ b/src/shared/components/app-details.tsx @@ -0,0 +1,50 @@ +import { Component } from "inferno"; +import { Icon } from "./icon"; + +interface AppDetailsProps { + name: string; + description: string; + link: string; + icon?: string; + banner?: string; + links: AppLink[]; +} + +interface AppLink { + link: string; + icon: string; +} + +export class AppDetails extends Component { + constructor(props: any, context: any) { + super(props, context); + } + render() { + let p = this.props; + let icon = p.icon || "/static/assets/images/lemmy.svg"; + let banner = p.banner || "/static/assets/images/lemmy.svg"; + + return ( + <> +
+ +

+ {p.name} +

+
+
+ +
+
+

{p.description}

+ + + ); + } +} diff --git a/src/shared/components/apps.tsx b/src/shared/components/apps.tsx index 1aa91f6..444133f 100644 --- a/src/shared/components/apps.tsx +++ b/src/shared/components/apps.tsx @@ -1,5 +1,5 @@ import { Component } from "inferno"; -import { Icon } from "./icon"; +import { AppDetails } from "./app-details"; import { Helmet } from "inferno-helmet"; const title = "Lemmy - Apps and Libraries"; @@ -20,73 +20,49 @@ export class Apps extends Component {
-
- -

- lemmur -

-
-
- -
-
-

- A Lemmy client for Android, Linux, and Windows. -

- +
-
- -

- remmel -

-
-
- -
-
-

An iOS client for lemmy.

- +
@@ -94,58 +70,33 @@ export class Apps extends Component {
-
- -

- lemmy-ui -

-
-
- -
-
-

The official web app for lemmy.

- +
-
- -

- - lemmy-lite - -

-
-
- -
-
-

- A static, JSless, touch-friendly Lemmy frontend built for legacy - web clients and maximum performance -

- +
diff --git a/src/shared/components/donate-lines.tsx b/src/shared/components/donate-lines.tsx new file mode 100644 index 0000000..43bf30e --- /dev/null +++ b/src/shared/components/donate-lines.tsx @@ -0,0 +1,39 @@ +import { Component } from "inferno"; + +export class DonateLines extends Component { + constructor(props: any, context: any) { + super(props, context); + } + render() { + return ( + <> +

+ Lemmy is free, open-source software, meaning no advertising, + monetizing, or venture capital, ever.{" "} + Your donations directly support full-time + development of the project. +

+ + + ); + } +} diff --git a/src/shared/components/footer.tsx b/src/shared/components/footer.tsx index 48bd288..760221f 100644 --- a/src/shared/components/footer.tsx +++ b/src/shared/components/footer.tsx @@ -1,5 +1,4 @@ import { Component } from "inferno"; -import { Link } from "inferno-router"; import { LinkLine } from "./link-line"; export class Footer extends Component { diff --git a/src/shared/components/join.tsx b/src/shared/components/join.tsx index c04ca1f..211fdcf 100644 --- a/src/shared/components/join.tsx +++ b/src/shared/components/join.tsx @@ -3,6 +3,8 @@ import { Helmet } from "inferno-helmet"; const title = "Lemmy - Join a Server"; +// TODO wait until new lemmy-instances is written to refactor this + export class Join extends Component { constructor(props: any, context: any) { super(props, context); diff --git a/src/shared/components/main.tsx b/src/shared/components/main.tsx index 100b63e..3bb9980 100644 --- a/src/shared/components/main.tsx +++ b/src/shared/components/main.tsx @@ -1,111 +1,133 @@ import { Component } from "inferno"; import { Helmet } from "inferno-helmet"; +import { DonateLines } from "./donate-lines"; const title = "Lemmy - A link aggregator for the fediverse"; export class Main extends Component { - constructor(props: any, context: any) { super(props, context); } render() { return ( -
+
-
-
-
-

Lemmy

-

A link aggregator for the fediverse.

-
- - +
+
+
+

Lemmy

+

A link aggregator for the fediverse.

+
+
-
+
-
-
-

Follow communities anywhere in the world

-

Lemmy is similar to sites like Reddit, Lobste.rs, or Hacker News: you subscribe to communities you're interested in, post links and discussions, then vote and comment on them. Lemmy isn't just a reddit alternative; its a network of interconnected communities ran by different people and organizations, all combining to create a single, personalized front page of your favorite news, articles, and memes.

-

Join a Server

-
-
-
- -
-
- -
-
-
-
-
- -
-
-

Open Source

-

Lemmy is and will always remain free, open source software, using the strong copyleft AGPL License.

-
-
-
-
-
- -
-
-

Blazing Fast

-

Made using some of the fastest frameworks and tools, including Rust, Actix, Diesel, Inferno, and Typescript.

-
-
-
-
-
- -
-
-

Powerful Mod Tools

-

Each server can set its own moderation policy, to help foster a healthy environment where all can feel comfortable contributing.

-
-
-
-
- -
-
- -
-
-

Create your own discussion platform

-

With Lemmy, you can easily host your own server, and all these servers are federated (think email), and connected to the same universe, called the Fediverse. For a link aggregator, this means that someone registered on one server can subscribe to communities elsewhere, and can have discussions with people on a completely different server.

-

- Run a Server -

-
-
-
+
+
+

Follow communities anywhere in the world

+

+ Lemmy is similar to + sites like Reddit,{" "} + Lobste.rs, or{" "} + Hacker News: you + subscribe to communities you're interested in, post links and + discussions, then vote and comment on them. Lemmy isn't just a + reddit alternative; its a network of interconnected communities + ran by different people and organizations, all combining to create{" "} + a single, personalized front page of your favorite news, + articles, and memes.{" "} +

+

+ + Join a Server + +

+
+
+

-
-

Live Updates

-

New comments and posts stream in to your front page and inbox; No more page refreshes required.

+
+
+
+ +
+
+

Open Source

+

+ Lemmy is and will always remain free,{" "} + open source{" "} + software, using the strong{" "} + + copyleft + {" "} + + AGPL License + + . +

+
-
- +
+
+
+ +
+
+

Blazing Fast

+

+ Made using some of the fastest frameworks and tools, + including Rust,{" "} + Actix,{" "} + Diesel,{" "} + Inferno, and{" "} + Typescript. +

+
+
+
+
+
+ +
+
+

Powerful Mod Tools

+

+ Each server can set its own moderation policy, to help + foster a healthy environment where all can feel comfortable + contributing. +

+
@@ -114,57 +136,122 @@ export class Main extends Component {
-
-
- -
-
-

More Features

-
    -
  • Self hostable, easy to deploy, via Docker, or Ansible. -
  • -
  • Clean, mobile-friendly interface.
  • -
  • User avatar support.
  • -
  • Full vote scores (+/-) like old Reddit.
  • -
  • Themes, including light, dark, and solarized.
  • -
  • Emojis with autocomplete support. Start typing :
  • -
  • User tagging using @, Community tagging using !.
  • -
  • Integrated image uploading in both posts and comments.
  • -
  • Notifications, including via email.
  • -
  • i18n / internationalization support for > 30 languages.
  • -
  • RSS / Atom feeds for All, Subscribed, Inbox, User, and Community.
  • -
  • Can fully erase your data, replacing all posts and comments.
  • -
  • NSFW post / community support.
  • -
-
+
+

Create your own discussion platform

+

+ With Lemmy, you can{" "} + + easily host your own server + + , and all these servers are federated (think email), and + connected to the same universe, called the{" "} + Fediverse. + For a link aggregator, this means that someone registered on one + server can subscribe to communities elsewhere, and can have + discussions with people on a completely different server. +

+

+ + Run a Server + +

-
-
-
-
-
-

Support / Donate

-

Lemmy is free, open-source software, meaning no advertising, monetizing, or venture capital, ever. Your donations directly support full-time development of the project.

- -
+
+ +
+ +
+
+
+

Live Updates

+

+ New comments and posts stream in to your front page and inbox; + No more page refreshes required. +

+
+
+
-
+
+ +
+
+ +
+
+
+ +
+
+

More Features

+
    +
  • + Self hostable, easy to deploy, via{" "} + + Docker + + , or{" "} + + Ansible + + . +
  • +
  • Clean, mobile-friendly interface.
  • +
  • User avatar support.
  • +
  • + Full vote scores (+/-) like old Reddit. +
  • +
  • Themes, including light, dark, and solarized.
  • +
  • + Emojis with autocomplete support. Start typing : +
  • +
  • + User tagging using @, Community tagging using{" "} + !. +
  • +
  • Integrated image uploading in both posts and comments.
  • +
  • Notifications, including via email.
  • +
  • + + i18n / internationalization support for > 30 languages. + +
  • +
  • + RSS / Atom feeds for All, Subscribed + , Inbox, User, and{" "} + Community. +
  • +
  • + Can fully erase your data, replacing all posts and comments. +
  • +
  • NSFW post / community support.
  • +
+
-); +
+ +
+
+
+
+
+

+ Support / Donate +

+ +
+
+
+
+
+ ); } } - - diff --git a/src/shared/components/sponsors.tsx b/src/shared/components/sponsors.tsx index ec7f25f..4c937c2 100644 --- a/src/shared/components/sponsors.tsx +++ b/src/shared/components/sponsors.tsx @@ -1,8 +1,33 @@ import { Component } from "inferno"; import { Helmet } from "inferno-helmet"; +import { DonateLines } from "./donate-lines"; const title = "Lemmy - Sponsors"; +interface LinkedSponsor { + name: string; + link: string; +} + +let silverSponsors: LinkedSponsor[] = [ + { name: "RedJoker", link: "https://iww.org" }, +]; +let highlightedSponsors = ["DQW", "Alex Benishek"]; +let sponsors = [ + "seahorse", + "Tommaso", + "Jamie Gray", + "Brendan", + "mexicanhalloween", + "William Moore", + "Rachel Schmitz", + "comradeda", + "Jonathan Cremin", + "Arthur Nieuwland", + "Forrest Weghorst", + "Andre Vallestero", +]; + export class Sponsors extends Component { constructor(props: any, context: any) { super(props, context); @@ -16,35 +41,7 @@ export class Sponsors extends Component {

Donate to Lemmy

-

- Lemmy is free, open-source software, meaning no advertising, - monetizing, or venture capital, ever.{" "} - Your donations directly support full-time - development of the project. -

- +

@@ -53,57 +50,27 @@ export class Sponsors extends Component {

Sponsors

Silver Sponsors are those that pledged $40 to Lemmy.

- + {silverSponsors.map(s => ( + + ))}

General Sponsors are those that pledged $10 to $39 to Lemmy.

-
-
DQW
-
-
-
Alex Benishek
-
-
-
seahorse
-
-
-
Tommaso
-
-
-
Jamie Gray
-
-
-
Brendan
-
-
-
mexicanhalloween
-
-
-
William Moore
-
-
-
Rachel Schmitz
-
-
-
comradeda
-
-
-
Jonathan Cremin
-
-
-
Arthur Nieuwland
-
-
-
Forrest Weghorst
-
-
-
Andre Vallestero
-
+ {highlightedSponsors.map(s => ( +
+
{s}
+
+ ))} + {sponsors.map(s => ( +
+
{s}
+
+ ))}