fix(downloads): GIF review round 1 — shape, HDR, caps, audio, copy
- A GIF squares its pixels before the size, so an anamorphic source keeps
its shown shape (a 720x480 DVD at 16:9 was 480x320).
- An editor GIF of an HDR upload is tonemapped, as a clip GIF is.
- The length caps are judged in whole milliseconds: a range exactly at a
cap is no longer refused for a float hair over it.
- A GIF is made of a video only: an audio file is refused with its reason
and the editor offers no GIF for it.
- A GIF clip keeps no audio track: the track neither splits its cache key
nor fails it.
- The editor's GIF notes keep their live region mounted; one size reads
as one ("about 1 MB"), none is shown with nothing kept; the size choices
show their unit; a shared picture that fails to load says so.
- Copy: the two-sentence GIF notes keep their last stop (a copy-rule test
now holds it); the English warns of "only a still picture".
This commit is contained in:
@@ -488,7 +488,14 @@ function SharedPicture({ meta, nested }: { meta: FileMeta; nested: boolean }) {
|
||||
width={meta.width ?? undefined}
|
||||
height={meta.height ?? undefined}
|
||||
retries={1}
|
||||
fallback={<FileIcon className="m-12 w-12 h-12 text-muted" aria-hidden />}
|
||||
// A picture link always has a picture: a missing one failed to load, and says so —
|
||||
// the bare file glyph would read as a file with no preview.
|
||||
fallback={
|
||||
<div role="status" className="flex flex-col items-center gap-2 px-12 py-10 text-muted">
|
||||
<FileIcon className="w-12 h-12" aria-hidden />
|
||||
<p className="text-sm">{T.pictureFailed}</p>
|
||||
</div>
|
||||
}
|
||||
className={clsx(
|
||||
"max-w-full h-auto w-auto mx-auto block",
|
||||
nested ? "max-h-[60dvh]" : "max-h-[80dvh]",
|
||||
|
||||
Reference in New Issue
Block a user