Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Frontend #7

Open
kwaa opened this issue Jan 17, 2024 · 20 comments
Open

Frontend #7

kwaa opened this issue Jan 17, 2024 · 20 comments
Labels
enhancement New feature or request

Comments

@kwaa
Copy link
Member

kwaa commented Jan 17, 2024

Hatsu requires a front-end to implement Webmention Backfeed.

This part is a bit more complicated, so I expect to have it done before v1.0.0.

Stacks:

Paths (temporary):

  • hatsu.local/@example.com (user, /u/example.com => /@example.com)
  • hatsu.local/@example.com/foo/bar (post, /o/https://example.com/foo/bar => /@example.com/foo/bar)
@kwaa kwaa added enhancement New feature or request help wanted Extra attention is needed labels Jan 17, 2024
@kwaa kwaa added this to the 1.0 [Hoshi no Kakera] milestone Jan 17, 2024
@kwaa kwaa removed the help wanted Extra attention is needed label Feb 1, 2024
@kwaa
Copy link
Member Author

kwaa commented May 12, 2024

I expect to start writing the frontend at v0.3.0.

It should be:

features = ["frontend"] - enable by default, can be disable manually when compiling locally so that it doesn't contain any frontend content

./hatsu --frontend=false - enable by default, disable frontend if passed --frontend=false as a argument

@reesericci
Copy link
Contributor

Would it be possible to help design the frontend?

@kwaa
Copy link
Member Author

kwaa commented May 13, 2024

Would it be possible to help design the frontend?

Since Leptos doesn't have a proper component library, for now, I'm considering using @material/web.

@reesericci
Copy link
Contributor

I meant like design things page by page, not necessarily components. Also, I recently looked into using that for one of my projects and found it to be woefully incomplete unfortunately, see the Roadmap

@kwaa
Copy link
Member Author

kwaa commented May 13, 2024

I meant like design things page by page, not necessarily components.

I welcome any help. For now, the frontend of Hatsu doesn't need to be too complex, so it should be a Mobile-first design. It's just displaying content (maybe some simple interactions and a “view original page” button)

Also, I recently looked into using that for one of my projects and found it to be woefully incomplete unfortunately, see the Roadmap

As an alternative, it may be possible to use mdui, which currently offers more components

@reesericci
Copy link
Contributor

image

just a quick mockup i made in a few mins, what are your thoughts?

@kwaa
Copy link
Member Author

kwaa commented May 13, 2024

just a quick mockup i made in a few mins, what are your thoughts?

Posts should ideally be on a separate page.

@reesericci
Copy link
Contributor

reesericci commented May 13, 2024

could we have both a permalink page that gets rendered as a drawer if you click from the UI?

@kwaa
Copy link
Member Author

kwaa commented May 13, 2024

could we have both a permalink page that gets rendered as a drawer if you click from the UI?

My idea is still to make it as simple as possible, so we don't have to put in too much time for parts that don't matter.

@reesericci
Copy link
Contributor

That makes total sense - I was just thinking from a UX perspective but simplicity is more valuable here.

I fleshed out the design a bit more:

image

here's the figma file: https://www.figma.com/file/Tc4glSBiGnwg6crUva5uKX/hatsu?type=design&node-id=0%3A1&mode=design&t=8xFSAjkRLoe9fYWj-1

@kwaa
Copy link
Member Author

kwaa commented May 13, 2024

For post comments / reactions, I'll use KKna directly, they're all expected to use @material/web, so it'll look very consistent

@reesericci
Copy link
Contributor

reesericci commented May 13, 2024

Makes sense to me

@kwaa
Copy link
Member Author

kwaa commented May 13, 2024

The homepage should only show the Hatsu version (and optional instance info), and provide a webring-like feel to the user list on the other pages

@reesericci
Copy link
Contributor

reesericci commented May 13, 2024

I think it would make sense to show a list of feeds though. I do like the webring idea too.

@kwaa
Copy link
Member Author

kwaa commented May 13, 2024

I think it would make sense to show a list of feeds though. I do like the webring idea too.

The main thing I meant was to move the list of users to a separate page, with the home page only being used to display basic information.

@reesericci
Copy link
Contributor

hmmm - i think the homepage being the index makes logical sense more than a separate index page

@kwaa
Copy link
Member Author

kwaa commented May 13, 2024

I expect to write the frontend in the following order:

  • Home page with only basic information
  • User page
  • Post page
  • Separate reply page (for Webmention Backfeed feature)

The other pages are low-priority.

@reesericci
Copy link
Contributor

Separate reply page (for Webmention Backfeed feature)

Can't there just be multiple h-entries on the page and link with an ID?

@kwaa
Copy link
Member Author

kwaa commented May 13, 2024

Can't there just be multiple h-entries on the page and link with an ID?

This means it's too complicated to implement it in KKna and SSR it.

@reesericci
Copy link
Contributor

updated things a bit:
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants