mirror of
https://github.com/Anuken/Mindustry.git
synced 2025-07-26 07:37:54 +07:00
Mod release browser cleanup
This commit is contained in:
@ -46,7 +46,7 @@ mods.browser.add = Install
|
|||||||
mods.browser.reinstall = Reinstall
|
mods.browser.reinstall = Reinstall
|
||||||
mods.browser.view-releases = View Releases
|
mods.browser.view-releases = View Releases
|
||||||
mods.browser.noreleases = [scarlet]No Releases Found\n[accent]Couldn't find any releases for this mod. Check if the mod's repository has any releases published.
|
mods.browser.noreleases = [scarlet]No Releases Found\n[accent]Couldn't find any releases for this mod. Check if the mod's repository has any releases published.
|
||||||
mods.browser.latest = <Latest>
|
mods.browser.latest = [lightgray][Latest]
|
||||||
mods.browser.releases = Releases
|
mods.browser.releases = Releases
|
||||||
mods.github.open = Repo
|
mods.github.open = Repo
|
||||||
mods.github.open-release = Release Page
|
mods.github.open-release = Release Page
|
||||||
|
@ -40,7 +40,7 @@ public class ModsDialog extends BaseDialog{
|
|||||||
private float modImportProgress;
|
private float modImportProgress;
|
||||||
private String searchtxt = "";
|
private String searchtxt = "";
|
||||||
private @Nullable Seq<ModListing> modList;
|
private @Nullable Seq<ModListing> modList;
|
||||||
private boolean orderDate = false;
|
private boolean orderDate = true;
|
||||||
private BaseDialog currentContent;
|
private BaseDialog currentContent;
|
||||||
|
|
||||||
private BaseDialog browser;
|
private BaseDialog browser;
|
||||||
@ -506,48 +506,54 @@ public class ModsDialog extends BaseDialog{
|
|||||||
load.cont.add("[accent]Fetching Releases...");
|
load.cont.add("[accent]Fetching Releases...");
|
||||||
load.show();
|
load.show();
|
||||||
Http.get(ghApi + "/repos/" + mod.repo + "/releases", res -> {
|
Http.get(ghApi + "/repos/" + mod.repo + "/releases", res -> {
|
||||||
load.hide();
|
|
||||||
var json = Jval.read(res.getResultAsString());
|
var json = Jval.read(res.getResultAsString());
|
||||||
JsonArray releases = json.asArray();
|
JsonArray releases = json.asArray();
|
||||||
|
|
||||||
if(releases.size == 0){
|
Core.app.post(() -> {
|
||||||
ui.showInfo("@mods.browser.noreleases");
|
load.hide();
|
||||||
}else{
|
|
||||||
sel.hide();
|
|
||||||
BaseDialog downloads = new BaseDialog("@mods.browser.releases");
|
|
||||||
downloads.cont.pane(p -> {
|
|
||||||
for(int j = 0; j < releases.size; j++){
|
|
||||||
var release = releases.get(j);
|
|
||||||
|
|
||||||
int index = j;
|
if(releases.size == 0){
|
||||||
p.table(((TextureRegionDrawable) Tex.whiteui).tint(Pal.darkestGray), t -> {
|
ui.showInfo("@mods.browser.noreleases");
|
||||||
t.add((index == 0 ? Core.bundle.get("mods.browser.latest") + " " : "") + release.getString("name")).top().left().growX().wrap().pad(5f).color(Pal.accent);
|
}else{
|
||||||
t.row();
|
sel.hide();
|
||||||
t.add((release.getString("published_at")).substring(0, 10).replaceAll("-", "/")).top().left().growX().wrap().pad(5f).color(Color.gray);
|
BaseDialog downloads = new BaseDialog("@mods.browser.releases");
|
||||||
t.table(b -> {
|
downloads.cont.pane(p -> {
|
||||||
b.defaults().size(150f, 54f).pad(2f);
|
for(int j = 0; j < releases.size; j++){
|
||||||
b.button("@mods.github.open-release", Icon.link, () -> Core.app.openURI(release.getString("html_url")));
|
var release = releases.get(j);
|
||||||
b.button("@mods.browser.add", Icon.download, () -> {
|
|
||||||
String releaseUrl = release.getString("url");
|
|
||||||
githubImportMod(mod.repo, mod.hasJava, releaseUrl.substring(releaseUrl.lastIndexOf("/") + 1));
|
|
||||||
});
|
|
||||||
}).right();
|
|
||||||
}).margin(5f).growX().pad(5f);
|
|
||||||
|
|
||||||
if(j < releases.size - 1) p.row();
|
int index = j;
|
||||||
}
|
p.table(((TextureRegionDrawable)Tex.whiteui).tint(Pal.darkestGray), t -> {
|
||||||
}).width(600f).scrollX(false).fillY();
|
t.add("[accent]" + release.getString("name") + (index == 0 ? " " + Core.bundle.get("mods.browser.latest") : "")).top().left().growX().wrap().pad(5f);
|
||||||
downloads.buttons.button("@back", Icon.left, () -> {
|
t.row();
|
||||||
downloads.clear();
|
t.add((release.getString("published_at")).substring(0, 10).replaceAll("-", "/")).top().left().growX().wrap().pad(5f).color(Color.gray);
|
||||||
downloads.hide();
|
t.table(b -> {
|
||||||
sel.show();
|
b.defaults().size(150f, 54f).pad(2f);
|
||||||
}).size(150f, 54f).pad(2f);
|
b.button("@mods.github.open-release", Icon.link, () -> Core.app.openURI(release.getString("html_url")));
|
||||||
downloads.keyDown(KeyCode.escape, downloads::hide);
|
b.button("@mods.browser.add", Icon.download, () -> {
|
||||||
downloads.keyDown(KeyCode.back, downloads::hide);
|
String releaseUrl = release.getString("url");
|
||||||
downloads.hidden(sel::show);
|
githubImportMod(mod.repo, mod.hasJava, releaseUrl.substring(releaseUrl.lastIndexOf("/") + 1));
|
||||||
downloads.show();
|
});
|
||||||
}
|
}).right();
|
||||||
});
|
}).margin(5f).growX().pad(5f);
|
||||||
|
|
||||||
|
if(j < releases.size - 1) p.row();
|
||||||
|
}
|
||||||
|
}).width(600f).scrollX(false).fillY();
|
||||||
|
downloads.buttons.button("@back", Icon.left, () -> {
|
||||||
|
downloads.clear();
|
||||||
|
downloads.hide();
|
||||||
|
sel.show();
|
||||||
|
}).size(150f, 54f).pad(2f);
|
||||||
|
downloads.keyDown(KeyCode.escape, downloads::hide);
|
||||||
|
downloads.keyDown(KeyCode.back, downloads::hide);
|
||||||
|
downloads.hidden(sel::show);
|
||||||
|
downloads.show();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}, t -> Core.app.post(() -> {
|
||||||
|
modError(t);
|
||||||
|
load.hide();
|
||||||
|
}));
|
||||||
});
|
});
|
||||||
sel.keyDown(KeyCode.escape, sel::hide);
|
sel.keyDown(KeyCode.escape, sel::hide);
|
||||||
sel.keyDown(KeyCode.back, sel::hide);
|
sel.keyDown(KeyCode.back, sel::hide);
|
||||||
|
@ -25,4 +25,4 @@ org.gradle.caching=true
|
|||||||
#used for slow jitpack builds; TODO see if this actually works
|
#used for slow jitpack builds; TODO see if this actually works
|
||||||
org.gradle.internal.http.socketTimeout=100000
|
org.gradle.internal.http.socketTimeout=100000
|
||||||
org.gradle.internal.http.connectionTimeout=100000
|
org.gradle.internal.http.connectionTimeout=100000
|
||||||
archash=47a46d410b
|
archash=da27a54ef9
|
||||||
|
Reference in New Issue
Block a user