9f5aa729

By: Michael Lynch <git@mtlynch.io>

Share variants via embedded MediaFiles to drop type switches

Splitting MediaFiles into PhotoFiles/VideoFiles forced callers to switch
on MediaType just to pick an accessor, even when reading only the
variants both types share (FullSize, thumbnails).

Reintroduce a MediaFiles struct holding the shared variants, with a
single MediaItem.MediaFiles() accessor that does the one internal type
switch. PhotoFiles now embeds MediaFiles and adds only its DisplaySize
field. VideoFiles was identical to the shared set, so delete it.

This removes the new switches in browse.go and import-from-tinybeans;
the remaining switches in media.go are behavioral (distinct template
fields per type) and predate the split.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
configuredevShellbackendbackend-devcheck-bashcheck-frontendcheck-go-formattingcheck-go-test-packagescheck-trailing-newlinecheck-trailing-whitespacedeploy-to-flydiagramdocker-imagee2e-testsgo-testsimport-from-tinybeanslint-sqllittle-momentslittle-moments-devx86_64-linux