prepare loader ui

This commit is contained in:
Ilia Denisov
2026-03-15 20:40:25 +02:00
parent 1ea03495f6
commit fbcf4cef99
8 changed files with 191 additions and 57 deletions
+23 -9
View File
@@ -1,25 +1,39 @@
package loader
import (
"fmt"
"galaxy/connector"
"galaxy/util"
"runtime"
"slices"
)
func resolvePluginFile(version string) string {
return clientLibraryFile + "-" + version
return libUIPluginFile + "-" + version
}
func compareSemver(a, b string) int {
return 0
}
func latestVersion(versions []connector.VersionInfo) (connector.VersionInfo, bool) {
// latestVersion should return VersionInfo with the latest Version for the current OD
func latestVersion(versions []connector.VersionInfo) (connector.VersionInfo, bool, error) {
os := runtime.GOOS
versions = slices.DeleteFunc(versions, func(v connector.VersionInfo) bool { return v.OS != os })
if len(versions) == 0 {
return connector.VersionInfo{}, false
return connector.VersionInfo{}, false, nil
}
slices.SortFunc(versions, func(a, b connector.VersionInfo) int { return compareSemver(b.Version, a.Version) })
return versions[0], true
type v struct {
vi *connector.VersionInfo
sv *util.SemVer
}
semvers := make([]*v, len(versions))
for i := range versions {
sv, err := util.ParseSemver(versions[i].Version)
if err != nil {
return connector.VersionInfo{}, false, fmt.Errorf("latest version: %w", err)
}
semvers[i] = &v{
vi: &versions[i],
sv: &sv,
}
}
slices.SortFunc(semvers, func(a, b *v) int { return util.CompareSemver(*b.sv, *a.sv) })
return *semvers[0].vi, true, nil
}