sheodox / alexandrite Goto Github PK
View Code? Open in Web Editor NEWA beautiful and convenient desktop-first alternate web UI for Lemmy.
Home Page: https://alexandrite.app
License: GNU Affero General Public License v3.0
A beautiful and convenient desktop-first alternate web UI for Lemmy.
Home Page: https://alexandrite.app
License: GNU Affero General Public License v3.0
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.
A couple of low priority suggestions:
Thanks again! Loving the UI and hope these minor QoL suggestions are helpful.
Right now you can change the hue which is nice but exact colors would be better, like specific RGB or hex colors for the text and background.
Infinite scroll is an additive dark pattern. It should be possible to disable it, preferably even by default.
It would be great to have some sort of keyboard navigation.
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?
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!
Video support is so nice!!! Please add it.
The standard Lemmy UI does support videos, though in a relatively limited form, as shown here.
This is what the player looks like:
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:
Currently I see 1 column of content and 1 column containing the community description/about details.
Here are some proposals on how this post view might be improved:
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).
Hi
Alexandrite looks good. But, not everyone likes dark mode. Is it possible to support light mode like original Lemmy?
Is there a way to hide the sidebar? It doesn't fit a 1080p vertical monitor with it included.
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.
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.
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.
Right now it looks like this:
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.
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
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.
May I ask what the code is licensed under? Is it free for anybody to use?
It would be nice, if we could define what comment sorting we would have on default. Not sure how complicated would this be though.
It would be cool to have some sorts of documentation to host this project.
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.
I am using in mobile ui is not optimal
Being able to favorite certain communities for easy access or even creating groups similar to what Apollo had would be fantastic.
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:
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.
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.
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.
The colors in the hue slider, but it can be jarring to look at for users switching from Reddit. In the settings, Alexandrite should offer radio buttons for light or dark themes, or a custom color with the hue slider.
Hello!
Can you add support for kbin.social?
This was a feature from RES for old.reddit, and I miss it so much on Lemmy. Would be cool to have it on Alexandrite.
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!
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.
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:
...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.
Example post: https://alexandrite.app/lemmy.world/post/2578599
This doesn't happen if seeing the post through a regular Lemmy WebUI.
Example post: https://lemmy.world/post/2578599
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.
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
}
}
}
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.
Please add support for it. Will make usability and accessibility better!
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!
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?
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 ?
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?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.