commits
Signed-off-by: Anirudh Oppiliappan <anirudh@tangled.org>
Signed-off-by: Anirudh Oppiliappan <anirudh@tangled.org>
Signed-off-by: Anirudh Oppiliappan <anirudh@tangled.org>
Some more conditional styling for rounding. Makes it look more cohesive.
Signed-off-by: Anirudh Oppiliappan <anirudh@tangled.org>
Signed-off-by: Anirudh Oppiliappan <anirudh@tangled.org>
this greatly improves build speed of derivations that depend on the
dolly derivation, because it no longer rebuilds everytime there is a
change to appview.
Signed-off-by: oppiliappan <me@oppi.li>
adding text-inherit overrides the `<a>` styling.
Signed-off-by: oppiliappan <me@oppi.li>
Tiny avatar, description and paddings are now uniform across repo and
string pages.
Signed-off-by: Anirudh Oppiliappan <anirudh@tangled.org>
the new 3-panel layout puts the diff upfront, and the review panel off
to the right. on mobile devices, the review panel is a collapsible
bottom-sheet, and on desktop, it is a collapsible side-panel. it is now
possible to comment on a PR while viewing its diff.
all the JS on the page is entirely optional and simply added for
quality-of-life (such as auto-collapsing the bottomsheet on mobile
etc.).
in the review panel, submissions are listed with a top-level entry, and
comments on each submission are "reply" entries. the top-level
submission header includes the following information:
- commit messages and bodies (if available, on patch PRs this is
omitted)
- pipeline status (if avaiable, only for PRs that have triggered CI)
- mergability (if available, this is calculated only for the
latest submission)
the actual merge status (merged/closed/deleted) of the PR is listed
above the pull-action bar. previous designs combined the mergability
check and the merge-status into one component.
Signed-off-by: oppiliappan <me@oppi.li>
all 3 pages are presented in one page now.
Signed-off-by: oppiliappan <me@oppi.li>
the component is almost identical to the new-comment component on issues
now.
the loader icon now replaces the existing button icon when a request is
inflight. this is much cleverer because it avoids the increase in button
width when a request is inflight.
Signed-off-by: oppiliappan <me@oppi.li>
Signed-off-by: oppiliappan <me@oppi.li>
also removes unused functions such as filetree.
any object that adheres to the DiffRenderer interface can now be
presented as html using the repo/fragments/diff template.
types.NiceDiff and patchutil.Interdiff now implement the new interface.
this allows us to remove the differing rendering logic necessary to
present each kind of diff.
any {split,unified} {diff,interdiff} can be rendered by adhering to this
interface.
move most of the logic from the html template into golang. this is just
much more predictable. also add a short and long form summary.
reduces the left margin by placing profile pictures halfway over the
vertical line. this mimics gh discussions design.
the layered button is too heavy to use on already layered elements such
as cards. this is also against the material design principles.
we should ideally templatize this a bit more
Signed-off-by: oppiliappan <me@oppi.li>
Signed-off-by: oppiliappan <me@oppi.li>
Add offset-based pagination to the pulls page, matching the issues behavior
Signed-off-by: moshyfawn <email@moshyfawn.dev>
Signed-off-by: Seongmin Lee <git@boltless.me>
Extract pagination UI into a shared template for reuse across pages. Refactored issues listing to use it with no behavior change
Signed-off-by: moshyfawn <email@moshyfawn.dev>
Signed-off-by: Seongmin Lee <git@boltless.me>
prepare for PR page pagination
Signed-off-by: Seongmin Lee <git@boltless.me>
Wrap participant avatars with profile links. Make DID-type labels fully clickable chips linking to user profiles, matching the commit hash chip pattern
Signed-off-by: moshyfawn <email@moshyfawn.dev>
Signed-off-by: Seongmin Lee <git@boltless.me>
avoid using `.Knot` and `.Rkey` directly
Signed-off-by: Seongmin Lee <git@boltless.me>
Signed-off-by: Seongmin Lee <git@boltless.me>
rkey itself isn't unique across the network because multiple different
knots can emit same rkey. We should use full at-uri here instead.
Signed-off-by: Seongmin Lee <git@boltless.me>
there is a very strange bug in the bluesky-pds implementation that
prevents blobs with the text `<svg` from being uploaded. it triggers a
500 because the underlying MIME type detection library assumes XML but
the provided MIME type does not match.
ref: https://github.com/bluesky-social/atproto/issues/3151
gzipping the content lets us upload this without any issues.
Signed-off-by: oppiliappan <me@oppi.li>
Signed-off-by: pompydev <pompydev@proton.me>
`hx-swap-oob` on breaks on `hx-boost` swaps (star button vainishing repo
tab changes), so that was why I made `starBtn-oob` fragment. But
`hx-swap-oob="outerHTML:..."` doesn't strip the wrapper element, adding
`div` wrappers to star button on every star/unstar interactions.
To fix this, dynamically put `hx-swap-oob` attribute to star button
itself by using `.HxSwapOob` param.
Signed-off-by: Seongmin Lee <git@boltless.me>
thanks @nel.pet!
Signed-off-by: oppiliappan <me@oppi.li>
The follow button now returns the updated followers count alongside the button state, keeping them in sync
Signed-off-by: moshyfawn <email@moshyfawn.dev>
Prevents horizontal scrollbar overflow in Safari when markdown content
contains long unbreakable strings like URLs
Signed-off-by: moshyfawn <email@moshyfawn.dev>
favicon was not following prefers-color-scheme.
Signed-off-by: oppiliappan <me@oppi.li>
incorporates changes suggested by @boltless.me
Co-authored-by: Seongmin Lee <git@boltless.me>
Signed-off-by: oppiliappan <me@oppi.li>
these files are now generated at build time.
Signed-off-by: oppiliappan <me@oppi.li>
Signed-off-by: oppiliappan <me@oppi.li>
given a dolly html template, this command generates pngs, svgs, icos etc
with the supplied size and color specifications.
Signed-off-by: oppiliappan <me@oppi.li>
more customizable with params & classes
Signed-off-by: oppiliappan <me@oppi.li>
full dolly everywhere.
Signed-off-by: oppiliappan <me@oppi.li>
the ico file format is quite straightforward, it contains a few headers
followed by any number of full PNG/BMP images. for our usecase, we only
need to be able to embed a single favicon an ico file, this module
handles just the conversion of an image.Image to the ico format.
Signed-off-by: oppiliappan <me@oppi.li>
path.Dir on extractPathAfterRef returned the parent directory, which broke relative link resolution in markdown when viewing directories. extractCurrentDir now handles blob and tree paths separately: blob paths return the parent dir, tree paths return the directory itself
Signed-off-by: moshyfawn <email@moshyfawn.dev>
Signed-off-by: Anirudh Oppiliappan <anirudh@tangled.org>
the new 3-panel layout puts the diff upfront, and the review panel off
to the right. on mobile devices, the review panel is a collapsible
bottom-sheet, and on desktop, it is a collapsible side-panel. it is now
possible to comment on a PR while viewing its diff.
all the JS on the page is entirely optional and simply added for
quality-of-life (such as auto-collapsing the bottomsheet on mobile
etc.).
in the review panel, submissions are listed with a top-level entry, and
comments on each submission are "reply" entries. the top-level
submission header includes the following information:
- commit messages and bodies (if available, on patch PRs this is
omitted)
- pipeline status (if avaiable, only for PRs that have triggered CI)
- mergability (if available, this is calculated only for the
latest submission)
the actual merge status (merged/closed/deleted) of the PR is listed
above the pull-action bar. previous designs combined the mergability
check and the merge-status into one component.
Signed-off-by: oppiliappan <me@oppi.li>
there is a very strange bug in the bluesky-pds implementation that
prevents blobs with the text `<svg` from being uploaded. it triggers a
500 because the underlying MIME type detection library assumes XML but
the provided MIME type does not match.
ref: https://github.com/bluesky-social/atproto/issues/3151
gzipping the content lets us upload this without any issues.
Signed-off-by: oppiliappan <me@oppi.li>
`hx-swap-oob` on breaks on `hx-boost` swaps (star button vainishing repo
tab changes), so that was why I made `starBtn-oob` fragment. But
`hx-swap-oob="outerHTML:..."` doesn't strip the wrapper element, adding
`div` wrappers to star button on every star/unstar interactions.
To fix this, dynamically put `hx-swap-oob` attribute to star button
itself by using `.HxSwapOob` param.
Signed-off-by: Seongmin Lee <git@boltless.me>
the ico file format is quite straightforward, it contains a few headers
followed by any number of full PNG/BMP images. for our usecase, we only
need to be able to embed a single favicon an ico file, this module
handles just the conversion of an image.Image to the ico format.
Signed-off-by: oppiliappan <me@oppi.li>
path.Dir on extractPathAfterRef returned the parent directory, which broke relative link resolution in markdown when viewing directories. extractCurrentDir now handles blob and tree paths separately: blob paths return the parent dir, tree paths return the directory itself
Signed-off-by: moshyfawn <email@moshyfawn.dev>