commit 32de8e817e22882b59bef51d493f031935dd84fc parent cbeb559fb59ef4b027b24af4a2382ee50d12d44e Author: brookjeynes <me@brookjeynes.dev> Date: Fri, 19 Jun 2026 15:33:37 +1000 fix: edit release does not fetch similar releases Task-id: skmrqpvnotryrlpk Signed-off-by: brookjeynes <me@brookjeynes.dev> Diffstat:
9 files changed, 23 insertions(+), 9 deletions(-)
diff --git a/internal/db/db.go b/internal/db/db.go @@ -113,7 +113,7 @@ func New(ctx context.Context, dbPath string) (*DB, error) { role text not null, sort_order integer not null, - unique(release_id, role, sort_order), + unique(release_id, sort_order), foreign key (release_id) references releases(id) on delete cascade, foreign key (artist_id) references artists(id) on delete cascade, primary key (release_id, artist_id, role) diff --git a/internal/db/release.go b/internal/db/release.go @@ -177,8 +177,7 @@ func UpdateRelease(e Execer, release domain.EditRelease) error { _, err = e.Exec(` delete from release_artists where release_id = ? - and role = ? - `, release.ID, domain.RolePrimary) + `, release.ID) if err != nil { return fmt.Errorf("failed to delete release primary artists: %w", err) } diff --git a/internal/server/edit-release.go b/internal/server/edit-release.go @@ -7,6 +7,7 @@ import ( "lyrics/internal/db" "lyrics/internal/domain" "lyrics/internal/server/htmx" + "lyrics/internal/server/routes" editrelease "lyrics/internal/server/ui/views/edit-release" "net/http" "strconv" @@ -211,6 +212,12 @@ func (ss *ServerState) EditRelease(w http.ResponseWriter, r *http.Request) { logger.Info("edited release", "release", updatedRelease) - htmx.HxRedirect(w, http.StatusOK, "/") + release := domain.Release{ + ID: updatedRelease.ID, + Title: updatedRelease.Title, + LatinTitle: updatedRelease.LatinTitle, + } + + htmx.HxRedirect(w, http.StatusOK, routes.Release(release)) } } diff --git a/internal/server/ui/layouts/base/base.templ b/internal/server/ui/layouts/base/base.templ @@ -30,7 +30,7 @@ templ Base(params BaseParams) { <script src="/static/js/lucide.min.js"></script> <script src="/static/js/lucide-utils.js"></script> <script src="/static/js/toast.js" defer></script> - <script src="/static/js/string-utils.js" defer></script> + <script src="/static/js/string-utils.js"></script> <link rel="stylesheet" href="/static/minimal.css" type="text/css"/> <link rel="stylesheet" href="/static/style.css" type="text/css"/> <link rel="stylesheet" href="/static/picker-list.css" type="text/css"/> diff --git a/internal/server/ui/partials/similar-releases-list/similar-releases-list.templ b/internal/server/ui/partials/similar-releases-list/similar-releases-list.templ @@ -1,6 +1,7 @@ package similarreleaseslist import "fmt" +import "lyrics/internal/server/routes" templ SimilarReleasesList(params SimilarReleasesListParams) { if len(params.Releases) >= 1 { @@ -15,7 +16,7 @@ templ SimilarReleasesList(params SimilarReleasesListParams) { } }} <li title={ value }> - { value } + <a href={ routes.Release(release) }>{ value }</a> </li> } </ul> diff --git a/internal/server/ui/views/edit-release/edit-release.templ b/internal/server/ui/views/edit-release/edit-release.templ @@ -9,7 +9,7 @@ import ( ) templ EditRelease(params EditReleaseParams) { - @base.Base(base.BaseParams{Title: "edit " + params.Release.Title}) { + @base.Base(base.BaseParams{Title: "edit " + params.Release.Title, PageStylesheets: []string{"new-release.css"}}) { <h1>Edit release</h1> <form class="release-form" @@ -56,6 +56,10 @@ templ EditRelease(params EditReleaseParams) { title: <input x-ref="releaseTitle" + hx-get="/release/search?format=similar" + hx-trigger="input changed delay:500ms" + hx-target="#similar-releases" + hx-swap="innerHTML" name="release-title" type="text" value={ params.Release.Title } @@ -77,6 +81,7 @@ templ EditRelease(params EditReleaseParams) { /> </label> </fieldset> + <section id="similar-releases" class="similar-releases" aria-label="Similar releases"></section> <fieldset x-data={ fmt.Sprintf("{ items: %s, uid: %d }", editReleaseArtistsJSON(params.Release.Artists), len(params.Release.Artists)) } > diff --git a/tasks/add_ability_to_edit_artist.txt b/tasks/add_ability_to_edit_artist.txt @@ -1,2 +0,0 @@ -add ability to edit artist @feat +artist -id: spkotwvkwmpntlmw diff --git a/tasks/done/edit_release_does_not_fetch_similar_releases.txt b/tasks/done/edit_release_does_not_fetch_similar_releases.txt @@ -0,0 +1,2 @@ +edit release does not fetch similar releases @bug +release +id: skmrqpvnotryrlpk diff --git a/tasks/order_songs_via_input_type_number.txt b/tasks/order_songs_via_input_type_number.txt @@ -0,0 +1,2 @@ +order songs via input type number @feat +release +id: rrpptxupmmsrnrsz