Intro

This project is an open source alternative frontend for Lemmy. It is built with Next.js.

Screenshots (desktop & mobile)

Goals

  • Drop-in replacement for lemmy-ui
  • Minimalistic design, following in the footsteps of other timeless link aggregator UIs
  • Fast!
  • Super basic NextJS architecture, taking advantage of features like the app router & server actions

Motivation

The original lemmy-ui has been extremely important for the growth of Lemmy, and the new lemmy-ui-leptos also looks quite interesting. One issue with both of these is that they are built using quite obscure technologies (Inferno and Leptos).

This project was created as an alternative for contributors who are already familiar with NextJs and want to use those skills on Lemmy. The beauty of open source is that anybody can build what they want, and all these alternative projects can happily coexist!

You can read more in the original announcement post here.

Roadmap

✅ - Completed

Milestone 1 - Lurk (✅ v0.1.0)

Includes read-only functionality, more or less everything you need in order to be a lurker on Lemmy

  • Front page (✅ v0.1.0)
  • Single post page with comments (✅ v0.1.0)
  • Single comment thread page (✅ v0.1.0)
  • User profile (✅ v0.1.0)
  • Community page (✅ v0.1.0)
  • Communities list (✅ v0.1.0)
  • Inline expanding media (✅ v0.1.0)
  • Separate mobile layout for narrow screens (✅ v0.1.0)
  • Search page (✅ v0.1.0)
  • Federation page (✅ v0.1.0)
  • Full Lemmy markdown support (spoiler tags, custom emoji, etc) (✅ v0.1.0)
  • Blur NSFW content (✅ v0.1.0)

Milestone 2 - Participate

Features related to actually participating on Lemmy

  • Login page (✅ v0.1.0)
  • Sign-up page (✅ v0.9.0)
  • Forgot password page (✅ v0.5.0)
  • Vote functionality (✅ v0.1.0)
  • Post create/edit/delete (✅ v0.3.0)
  • Comment create/edit/delete (✅ v0.1.0)
  • Inbox (Replies, DMs, mentions) (✅ v0.8.0)
  • DM sending (✅ v0.6.0)
  • Post/comment sharing (✅ v0.2.1)
  • Post/comment saving (✅ v0.2.1)
  • Image uploads (✅ v0.10.0)
  • User settings page
  • User/instance/community blocking

Milestone 3 - Moderate

Features related to moderation & administration

  • Report posts/comment/DMs
  • Report inbox
  • Community create/edit/delete
  • Modlog
  • “Rap sheet” on user profiles
  • Mod toolbar on posts/comments
  • Instance settings for admins
  • Sign-up applications inbox

Future ideas

  • GitHub actions pipeline
  • Complete instructions & examples for deployment on other instances
  • More themes/layouts?
  • More features for markdown editor (more formatting options, emoji picker, @mentions)
  • Signfeld@lemm.ee
    link
    fedilink
    arrow-up
    3
    ·
    8 months ago

    I just randomly thought of this project and logged in specifically to see if there were any updates to it. This is exciting, I’ll be sure to follow the project and contribute if I can!

    Is there a sort of dev talk chat room going on where people interested could join, share ideas, and get help with making features?

    • sunaurus@lemm.eeOPM
      link
      fedilink
      arrow-up
      2
      ·
      8 months ago

      Awesome, thank you!

      The main channels for communication I have set up now are this community as well as GitHub issues - feel free to use either or both of those for discussing ideas or anything else.

  • sunaurus@lemm.eeOPM
    link
    fedilink
    arrow-up
    1
    ·
    8 months ago

    Just for fun, I added 3 color themes for the accent color, which you can switch between on the fly in the footer of every page.

    Green:

    Red:

    Blue:

    Btw, I have actually started using next.lemm.ee as my main Lemmy interface now personally, only switching back to the default UI when I need to do something that’s not implemented in lemmy-ui-next yet (mostly moderation related stuff).

    • sunaurus@lemm.eeOPM
      link
      fedilink
      arrow-up
      1
      ·
      8 months ago

      Just looking at this comment through lemmy-ui-next, I realize that I need to implement some kind of inline image minimization logic… those secreenshots take up way too much space 😅