sort images in a 'natural sort' way

This commit is contained in:
2025-05-14 11:12:06 -04:00
parent 32d8bdb10e
commit 7c8820f9e3
3 changed files with 16 additions and 5 deletions

18
main.go
View File

@@ -7,12 +7,14 @@ import (
"log"
"os"
"path/filepath"
"slices"
"strconv"
"strings"
"git.yetaga.in/alazyreader/why/filetypes"
"github.com/dblezek/tga"
"github.com/disintegration/imaging"
"github.com/maruel/natural"
"golang.org/x/image/webp"
tk "modernc.org/tk9.0"
)
@@ -92,14 +94,20 @@ func newBrowse(file string) {
return
}
directoryState.images = []string{}
i := 0
for _, v := range dirfiles {
if filetypes.IsImage(v) {
directoryState.images = append(directoryState.images, v.Name())
if filepath.Join(directoryState.dir, v.Name()) == file {
directoryState.i = i
}
i++
}
}
slices.SortFunc(directoryState.images, func(a, b string) int {
if natural.Less(a, b) {
return -1
}
return 1
})
for i, v := range directoryState.images {
if v == file {
directoryState.i = i
}
}
updateImage(file)