GithubHelp home page GithubHelp logo

sheodox / alexandrite Goto Github PK

View Code? Open in Web Editor NEW
207.0 4.0 19.0 2.19 MB

A beautiful and convenient desktop-first alternate web UI for Lemmy.

Home Page: https://alexandrite.app

License: GNU Affero General Public License v3.0

JavaScript 0.28% HTML 0.08% TypeScript 20.28% Svelte 78.83% SCSS 0.36% Dockerfile 0.16%
lemmy

alexandrite's People

Contributors

bishma avatar ismailkarsli avatar pronian avatar sheodox avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

alexandrite's Issues

Some suggestions

Hey, as you said Im making an issue here for my suggestions to this awesome app:

1- Allow setting default sort method separately for post and comments: some other apps allow this and I think its great cause I prefer to sort posts by hot/top(6hrs) and comments always to top.

2- Different user colour for OP: the little OP flair is ok but personally I think this would be even better.

3- Leave a comment interface collapsed by default: maybe Im not the norm here but I for every 20 posts I browse the comment I might leave one post, so having to scroll past that every time feels like wasted space.

4- Customizable column width: would be neat if I could make the last column a bit smaller for example.

5- Wanted to second the suggestion to remove the 'Go' button and just refresh when you select a new option.

That's all I can think of right now but thank you for making this and also going through my suggestions. I completely understand if any are too much work or dont fit your vision for this app ofc.

Some QoL suggestions

A couple of low priority suggestions:

  1. Love the sticky navigation panel (thanks for the quick implementation!) - it would be great it this persisted between refreshes. Maybe store its "openness" as a cookie, or have the setting in settings imply it should always be open?
  2. It would be great if the "All" "Subscribed" etc filters at the top of the feed were sticky, so they were always visible. At the moment, you need to go to the top of the feed to change filter.
  3. I can't see a way of refreshing the feed you're currently on, other than navigating away and back.For example, if I am on "Home" and I browse for a bit, clicking "Home again" doesn't reload the feed. Nor does clicking on "Alexandrite".

Thanks again! Loving the UI and hope these minor QoL suggestions are helpful.

Disable infinite scroll

Infinite scroll is an additive dark pattern. It should be possible to disable it, preferably even by default.

Comments don't appear to load when uBlock Origin is enabled

As the title indicates, comments don't load when uBlock Origin is enabled.

image

The filters I'm using. I don't have any custom filters for Alexandrite.

image

EDIT: Actually, oddly enough, even with uBlock Origin off, on the Top feed, comments don't work either (while they work in the Hot feed).

Keyboard Navigation

It would be great to have some sort of keyboard navigation.

  • Navigate to Previous and Next Post
  • Expand images or content
  • Open comments
  • Go to the linked content

Add cross post to alexandrite

In lemmy-ui it is possible to cross-post a post to a different community.

e.g. on this post:
image you can cross-post by clicking this button:
image

Could this be added to alexandrite at some point please?

View source markdown for a post

In lemmy-ui it is possible to view the source markdown for a post/comment.

e.g. on this post:
image you can view the source by clicking this button:
image

Could this be added to alexandrite at some point please?

(Feature request) Show text on the posts area

I love infinite scrolling and desktop focused appearance on Alexandrite. But, Like modern reddit or wefwef for Lemmy, it will be wonderful if we can see the glimpse of the text on the posts. Is it possible to make it appear like that?

comments button

Hi, I noticed when clicking on the comments button on any post from the main page, it just opens up the post. Clicking on this button should directly open the comments section of that post. Thanks, I'm really enjoying Alexandrite so far!

Comments and proposals on how the 'post view' could be improved

Firstly, thank you for the work! Alexandrite is very cool and I think it is progressing well =). You might have thought about some of this a bit more than me but hopefully there is something useful in the following feedback/observations:

So I guess there are 8 elements relating to a post that I would like to be able to view/optionally view:

  1. Lemmy post content - i.e. pictures and text content on lemmy.
  2. External post content - the content on the external website that is being linked to.
  3. Lemmy Comments
  4. Community description - the description/about info for the community that the post was made in.
  5. Instance description - the description/about info for the instance/server that the post was made in.
  6. Reply widget - The reply widget where you can construct a response to the main post.
  7. Other info - the number of net upvotes, username, community, instance, post title, time of post.
  8. _ Actions _ - favorite, link to original post, send message, report post, ect

Currently I see 1 column of content and 1 column containing the community description/about details.
image

Here are some proposals on how this post view might be improved:

  1. Do not show community description by default. When I click on a post I want to see the Lemmy post content and maybe the Lemmy Comments. I do not often look at the community/instance description so I don't think it should be shown by default. However it is useful/cool to have the option to view it.
  2. Have an option to view the comments in a column alongside the main post. I often look at comments immediately or soon after reading a post. It would be convenient for comments to be visible immediately after opening a post.
  3. Have an option to view external content from the post link inside a column alongside the Lemmy post content. I don't know how technically viable this is but it would be cool to be able to view external content without leaving alexandrite.app. This is not viable (read discussion bellow).
  4. Have an option to view the sidebar for the posts' community and/or the posts' instance alongside the Lemmy post content. The default view currently shows the community sidebar. It would be good to make a button that shows the sidebar alongside the Lemmy post content.
  5. Have an option to view/use the Reply widget alongside the Lemmy post content.
  6. Have an option to view/use the Reply widget alongside the Lemmy Comments. This is similar to the above except it would show the widget when you click the reply button on a comment. I think this should open an additional column in addition to the 2 that are already open (Lemmy post content and Lemmy Comments).
  7. Remove the thumbnail for posts where the Lemmy post content is a picture. It is redundant/waste of space to have the thumbnail showing in addition to the picture in the Lemmy post content.

If you think that any of these might actually help then please let me know and I might try and put something together for a PR (although I don't have much experience with svelte).

Support Light mode

Hi
Alexandrite looks good. But, not everyone likes dark mode. Is it possible to support light mode like original Lemmy?

Hide Sidebar

Is there a way to hide the sidebar? It doesn't fit a 1080p vertical monitor with it included.

Loader stuck when clicking back button after navigating to external pages

When click on an external link a loader is shown while the page is loading. When on the next page and clicking the back button,the loader is still there and wont go away, forcing you to reload the page (and suddenly seeing a completely different view too)

Expected behavior: No loader when navigation back to the lemmy page.

Bug: if there's only one language available for choosing in the comment Language dropdown, default to it.

Most comments I've made, I'm not used to having to pull down the dropdown box for language and choose an available language. Usually, the only thing in that dropdown is "Undetermined", though occasionally it's "English" and very, very occasionally it's both (I have no idea what determines this).

If there is only one choice, it would seem reasonable that it's defaulted to that, and/or remember your previous choice.

Cannot load content from geddit.social

https://geddit.social is a Lemmy instance hosted by @[email protected]

It is currently on version 0.18.2, which should be high enough for Alexandrite to work

However, it cannot load any content, stating that it had an error connecting.

The console says:

Access to fetch at 'https://geddit.social/api/v3/site?' from origin 'https://alexandrite.app' has been blocked by CORS policy: The 'Access-Control-Allow-Origin' header contains multiple values 'https://alexandrite.app, *', but only one is allowed. Have the server send the header with a valid value, or, if an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

I am currently using Brave Version 1.56.11 on a Linux Desktop.
Firefox and Librewolf show the same issue.

Feature Request: The ability to resize the right sidebar with community info and have it scroll with the page.

Right now it looks like this:
Screenshot 2023-08-06 at 5 07 00 AM
The right sidebar takes up much more screen real-estate than the default Lemmy UI and even new reddit, and the content stays there no matter how much you scroll down. This makes it very distracting and uncomfortable to look at. The css resize property could be used to allow users to adjust the height by dragging the border horizontally, though I couldn't get it working with dev tools / inspect element.

Also, There should be a setting to make the content of the right sidebar scroll with the content, so if you scroll down enough then you don't see it at all.

feature: Support more admin actions like handling registration applications

As an instance admin, I'd love to be able to handle more admin stuff in Alexandrite, without having to resort to temporarily moving to the main lemmy-ui. In particular, registration applications are an important part of my duties, and it would be really nice to handle them in the app.

Big congrats on the progress so far, Alexandrite is a great desktop client! <3

Feature request: Pin the left-hand side bar and favourite communities

It would be great if there was an option to pin the left-hand side bar in the open position, so that the list of communities was always visible.

As an extension to this, the ability to "star" communities, so that they appeared at the top of the list.

This would be useful for people who like to browse by community, rather than just a constant feed.

License?

May I ask what the code is licensed under? Is it free for anybody to use?

The ability to pin the left sidebar and to resize it as well.

The icon for it should have an arrow icon >> like the right sidebar, instead of the hamburger menu and where it gets automatically closed when you click somewhere else on the screen. The left sidebar could cycle between three states, one where its completely hidden, one where it only shows the icons (like Photon UI does with its left sidebar: https://photon.lemmy.world/), and the one where it shows all the labels.

Remove 'go' button

image

Proposal:
Instead of a 'go' button, reload the posts whenever an option/filter is selected.

This is a nicer user experience as the user can achieve the same thing with less clicks.

Feature request: improved default thumbnails

Currently, when a post doesn't have a distinctive thumbnail image, Alexandrite shows one of two small off-white icons on a dark background. I feel like it might be nice if these default thumbnails had contrastive colors (maybe blue for links, orange for text posts?), as well as bigger icons, and ideally the community's icon as well. This would make it easier to distinguish at a glance between text posts and links, and between posts from different communities.

Edit: I'm just noticing that there is also a third default thumbnail for "image failed to load". I feel like that one can probably stay the way it is.

A mockup, feat. the community icon of conlangs(at)kbin.social:
Alexandrite Default Thumbnails Proposal

[Feature Request] Add a reveal/show read posts option on the post page

Would it be possible to add an option to hide read posts on the post page next to the sorting settings?

There are some communities where I don't want to see the read posts and some where I do (because of pinned posts, etc). So, setting the profile to not show read posts means I can't adjust this on community levels.

Thanks if you can.

[Feature request] Adjust font type/size of post titles & comments

I think allowing for adjustable font sizes and types would make the interface a little easier to use, especially for those of us with imperfect vision. Also it feels like the difference between the post title and comment font sizes is a little too large.

Thanks for this great alternative lemmy interface.

Keyboard focus after loading home page

When you load the home page of the app (i.e. https://alexandrite.app/) the list with lemmy posts does not appear to have keyboard focus. This makes it impossible to scroll through the list with the keyboard using PageUp, PageDown and the arrow keys.

To be able to scroll the post list with the keyboard, you first have to click on an empty part of the post list, or press TAB about 15 times.

It would be better if the post list received the keyboard focus automatically, just like it is on the default lemmy site, or kbin, or r***it.

ARM64 Support

Hi! I Loved this interface, but can't get it in arm64.

I am getting the following error:
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested exec /usr/local/bin/docker-entrypoint.sh: exec format error

Do you have instructions so I can build it locally?

Thanks!

"Scroll to top" button jitters

Firefox, Windows 10, for what it's worth.

Hovering the mouse cursor over the "scroll to top" button causes a set of horizontal and vertical scroll bars to rapidly appear and disappear. This causes the "scroll to top" button to jitter diagonally. I have opted to hide the "scroll to top" button using a uBlock Origin cosmetic filter (alexandrite.app##.svelte-8424c7.gap-2.f-row.floating-nav-container) since I personally felt like this button was visual clutter anyways.

A simple solution to both the issue of visual clutter as well as button jittering might be to move the "scroll to top" button to the upper bar. There is a lot of blank space on either side of the search bar.

clicking on an entry should not show the entry's thumbnail image

When I click on an entry, what I immediately see is the entry's thumbnail, heading, a close button etc. One has to scroll down to see the full size image fully, or read the text. Just show the image or text at the top so that one doesn't have to scroll down.

What I see when i click an item
Screenshot 2023-08-11 at 10 22 04 pm

What I'd like to see when i click an item
Screenshot 2023-08-11 at 10 22 13 pm

Third (3rd) item of bullet list doesn't display

When using a Mardown bullet list, as shown below...

This is a list:
- Item 1
- Item 2
- Item 3
- Item 4

This is a list:

  • Item 1
  • Item 2
  • Item 3
  • Item 4

...The 3rd item doesn't display. This is true for both posts and the preview function.

How to reproduce:
Start a new post and make a bullet list with 3 or more items. The 3rd item won't display on the preview, and when you actually post, you will not be able to see the 3rd item.

What I'm using:
I'm browsing via Alexandrite.app, not any self-hosted version on any instance.

Screeshots:
The bug in preview, the 3rd item doesn't display.

Example post: https://alexandrite.app/lemmy.world/post/2578599
The bug in the post itself. The 3rd item doesn't display.

This doesn't happen if seeing the post through a regular Lemmy WebUI.
Example post: https://lemmy.world/post/2578599
The bug doesn't happen if seeing the post from the standard Lemy WebUI. The 3rd item displays.

[Feature Request] "Send Secure Message" support

Normally on Lemmy, if someone has a Matrix account tag/link added in the Matrix User section of their profile, a "Send Secure Message" button is shown on their profile for logged-in users that links to their Matrix account, it'd be neat to have on Alexandrite too if possible.
image

Is running Alexandrite on the base domain suported?

I've been messing around with a self hosted Lemmy instance at ctrlaltelite.xyz. Right now I have Alexandrite site up on the base domain and currently have Lemmy-ui on m.ctrlaltelite.xyz. I also have a.ctrlaltelite.xyz pointing to Alexandrite.

The functionality on the base domain seems to be working but I'm missing some glyphs on the page in Firefox only (Brave/Edge work fine.) The glyphs are not missing on a.ctrlaltelite.xyz.

Missing glyphs:
alexandrite

The relevant portion of my docker compose:

  alexandrite:
    image: ghcr.io/sheodox/alexandrite:latest
    hostname: alexandrite
    container_name: alexandrite
    restart: unless-stopped
    depends_on:
      - lemmy-app
    environment:
      - ALEXANDRITE_DEFAULT_INSTANCE=${ALEXANDRITE_DEFAULT_INSTANCE}
      - ALEXANDRITE_WELCOME_LEMMY_HELP=${ALEXANDRITE_WELCOME_LEMMY_HELP}
      - ALEXANDRITE_WELCOME_INSTANCE_HELP=${ALEXANDRITE_WELCOME_INSTANCE_HELP}
      - ALEXANDRITE_FORCE_INSTANCE=${ALEXANDRITE_FORCE_INSTANCE}
    networks:
      - backend
      - frontend

.env:

ALEXANDRITE_DEFAULT_INSTANCE=ctrlaltelite.xyz
ALEXANDRITE_WELCOME_LEMMY_HELP=false
ALEXANDRITE_WELCOME_INSTANCE_HELP=false
ALEXANDRITE_FORCE_INSTANCE=ctrlaltelite.xyz

My caddy config:

*.ctrlaltelite.xyz, ctrlaltelite.xyz {
	import init_external "ctrlaltelite.xyz"
	encode gzip zstd
	import caddy-common
	reverse_proxy alexandrite:3000

	@a host a.ctrlaltelite.xyz
	import logger "a.ctrlaltelite.xyz"
	handle @a {
		reverse_proxy alexandrite:3000
	}

	@lemmy {
		path /api/*
		path /pictrs/*
		path /feeds/*
		path /nodeinfo/*
		path /.well-known/*
	}

	@lemmy-hdr {
		header Accept application/*
	}

	@lemmy-post {
		method POST
	}

	handle @lemmy-hdr {
		reverse_proxy lemmy-app:8536
	}

	handle @lemmy {
		reverse_proxy lemmy-app:8536
	}

	handle @lemmy-post {
		reverse_proxy lemmy-app:8536
	}

	@m host m.ctrlaltelite.xyz
	import logger "m.ctrlaltelite.xyz"
	import caddy-common
	handle @m {
		reverse_proxy lemmy-ui:1234
	}

	@status host status.ctrlaltelite.xyz
	handle @status {
		reverse_proxy iamfoo:2001 {
	    header_up Host {http.reverse_proxy.upstream.hostport}
	  }
	  header {
	    -Server
	  }
	}
}

Configurable Image Share Format

Right now all the links are defaulting to webp if I wanna copy the link to share the image, some apps like Facebook messenger don't support those.

It would be nice if there was a way to set this to JPG.

Add Search Bar

Please add support for it. Will make usability and accessibility better!

Clicking on post thumbnail should open post

Hello, whenever I see a post I wanna open, I keep trying to click the post thumbnail/post preview/whatever, but then I realise I can't. Can you add this feature? Thank you!

Separate theme per instance

I use a couple accounts on different lemmy servers for different purposes, but they all look alike when I toggle between them. It would be nice if I could visually distinguish between them. Would it be possible to have a separate theme per lemmy instance, so that I can assign them different colors?

Or perhaps even entirely separate settings per instance?

Feature Request: Ability ot edit a keymap

I use a QWERTZ keyboard.
I suppose that the original idea was that the upvote key is supposed to be located next to the downvote key.
It doesn't work very well with my keyboard layout.

Would it be possible to not hard-code the keymaps in src/routes/(meta)/help/hotkeys/+page.svelte and use user-saved keymaps ?

Feature Request-Mark Read/Hiding Posts

Hello
I know voyager aka wefwef for Lemmy or memmy for Lemmy have an option to mark read on Scroll or show hide read button to keep on track of our latest feeds on our homepage. Is it possible to implement this feature on Alexandrite?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.