GithubHelp home page GithubHelp logo

elk-zone / elk Goto Github PK

View Code? Open in Web Editor NEW
5.2K 60.0 534.0 12.6 MB

A nimble Mastodon web client

Home Page: https://elk.zone

License: MIT License

Vue 57.67% TypeScript 41.07% CSS 0.96% JavaScript 0.15% Dockerfile 0.14%
mastodon mastodon-client nuxt-app

elk's People

Contributors

alexzhang1030 avatar antfu avatar ayoayco avatar boehs avatar cyberalien avatar danielroe avatar demivan avatar edimitchel avatar emanuelpina avatar iamdtms avatar johnythecarrot avatar katullo11 avatar lazzzis avatar littlesound avatar mastoduy avatar maybeanerd avatar mini-ghost avatar mrcego avatar patak-dev avatar renovate[bot] avatar shinigami92 avatar shuuji3 avatar sma11x avatar sxzz avatar userquin avatar webfansplz avatar wheatjs avatar xabirequejo avatar zaidhaan avatar zyyv 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  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

elk's Issues

Plugin System

Support third-party plugins for more features and possibilities.

  • NPM package
  • plugins can inject their UI into some places.

Add hover indicator for post elements

mas.to shows an underline below some clickable content like account name and post-time

We should copy this behavior
IMO it serves a better UX

Peek.2022-11-24.21-38.mp4

Improve accessibility

  • zen-hide sidebar should be an aside instead of a div
    • "A mastodon client made with <3" and "las build" should be in p tags instead of divs
    • Username should be a header or a p instead of a div
    • Profile image should be wrapped in the same tag as the username stuff, and should be a button because it's not pointing to a separate URL but rather toggles a flyout menu (it's should semantically be the same as a "hamburger" flyout toggle). In fact, the button should probably be lifted up to the div that contains the button styling
      • Speaking of the account flyout menu, that should capture tab focus, include a "close" button, and should close when a user hits esc
    • The light grey used throughout the dark theme isn't accessible for the sizes it's used at (it looks like white with .35 opacity applied; I'd generally recommend against applying opacity to text because it gets hard to use DevTools to determine color contrast)`
  • The glass effect that holds small-screen nav and headers (at least in dark mode) doesn't allow for enough color contrast when over light colors (especially white). I'd generally recommend (as a quick test, because these are mostly white and black, and the orange is close to white in lightness) determining color contrast by throwing a white background behind the effect and doing a contrast ratio test against the resultant rendered background color
  • The account sidebar and nav shouldn't require a user to hover to see the ability to enable/view. Instead, a persistent button to show/hide these items should be made available.

Make dark mode toggle more obvious | Use preferred dark mode

I literally searched the dark mode toggle everywhere at first.
In my profile settings by clicking on my profile below the compose button or in the lower right corner.

It took me around 10 seconds to find it in the right lower corner.


I'm also not sure but does it use already preferred color schema by default? It was light mode for me by default.

Open up MVP

  • DB for storing app tokens
  • Auto register app for servers
  • Users switcher, logout
  • Dialog of warning on the first visit
  • "Open in main server" mean for each toot

Nice to have

  • Editor
    • Image upload
    • Video upload
    • Code snippets
    • Rich text?
    • Emoji picker: #500
  • Preference page
  • Override emojis: #129
  • i18n setup

Add pull-to-refresh

Web apps installed on iOS have problems resuming, which can result in an app trapped in a seemingly stable but actually unusable/behind experience. Adding pull-to-refresh (maybe two staged, one to update timeline, one to reload app) can help resolve this problem

Account page shows non-rendered emoji in title

When being in an account page, emojis will not get rendered and fallback to their text representation

This bug is also in mastodon ๐Ÿ˜•

image

I think it's not possible to show (at least custom) emojis in title because we cannot render images

So maybe trim out /:.+:/ from the account displayName when showing in title

Add a preview before posting

As elk supports markdown and other thing, we should provide a preview before sending the post out to the world

ui issues

Here some ui issues (I'll add new ones when found):

  • #51
  • login dialog not using focus trap
  • mobile nav button missing, cannot navigate (not logged/public)
  • mobile nav button missing, cannot navigate (logged)
  • change message header layout: on mobile breaks the layout

Feel free o create issue from previous list and assign it yourself.

feat: Support polls in posts

When creating a post we should be able to add polls to the post. I'll be happy to take up this task. We can probably use a UI similar to Twitter's. The only difference seems to be that Mastodon allows you to toggle between single and multi poll responses.

image alt text improvements

it should be possible to:

  • set image alt text when uploading images
  • view image alt text by clicking on the image or in a button in an overlay
  • edit image alt text when editing a post

Improve contrast in dark mode for publish button

image

image

In dark mode the publish text is hard to read for both cases: disabled or enabled

I would suggest lower the orange tone a bit and increase grey the text color a bit for disabled

Edit: when hovering over the publish button, it feels like it gets the correct color that should be applied by default

image

Jump back to top

When clicking on the elk logo in the right upper corner while you are on the timeline and have scrolled a bit down, jump back to top (and see if there are new posts)

mas.to and bird-site is doing this already

Support search

Currently the search feature is completely missing

I wanted to search for some tags to follow them, and suddenly found out that the search functionality is not supported yet

Fullscreen preview for images

When clicking on an image in a post, it should be enlarged and shown in a fullscreen preview

On mobile mas.to has also the issue/bug to scroll the content behind the preview instead of e.g. support pinch zoom for touch input ๐Ÿ˜• / or swipe to show prev-next image if there are multiple

Drag N' Drop media to compose container

As a user, I will like to be able to drag media from my file directory into the compose container to attach it to my post. Similar behavior to birdy-app

I'm thinking about using vueuse useDropZone wdyt?

Sign-in form is not accessible

Two big things I noticed on the sign in form:

  • It's not a form, so pressing Return/Enter doesn't cause the login to initiate.
  • It doesn't capture focus within the dialog, or follow some other dialog guidelines.

I'm happy to take this one on, just reporting it here.

Screen.Recording.2022-11-24.at.10.33.16.AM.mov

Do not allow to fav/boost own posts

One thing that annoys me already on mastodon is that you can fav/boost your own posts ๐Ÿค”
IMO this doesn't make sense

We could disable these in the first step, but also even could think further to hide these posts (by default) as these should go into the notifications tab (this should be more thinked through)

image

Provide a tooltip of why publish is disabled

When hovering over the publish button, we should show a tooltip to describe what you need to do to be possible to press publish

image

yes, I know this is just to make it really stupid safe
but as there is no hover effect or disable cursor icon, it feels like the UI is buggy

add PWA stuff

PWA tasks list:

  • #101
  • #340
  • include tests for service worker and push notifications
  • include notification settings panel
  • add support to send messages when offline

Emojis should only animate if cursor is near

On mas.to animated emojis only play when you are near to the context
Like when you hover over the post or over your profile

Right now it is really distracting with many playing emojis on one viewport

Peek.2022-11-24.21-06.mp4

Support basic markdown when rendering a post

I think we could at least support *italic*, **bold**, and inline code.

Maybe we should have a toggle button to see the raw post, as an escape hatch. And also make sure that when we select and copy the text, the original raw post is copied.

keyboard shortcuts

like default mastodon ui + twitter, we can implement shortcuts, e.g. g - n goes to notifications, g - h to home, etc.

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.