Skip to content

Commit

Permalink
added copy url button to AltManager
Browse files Browse the repository at this point in the history
  • Loading branch information
1zun4 committed Jan 6, 2024
1 parent bde8d96 commit bde2d0e
Show file tree
Hide file tree
Showing 4 changed files with 36 additions and 5 deletions.
9 changes: 9 additions & 0 deletions src-theme/src/client/api.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -220,6 +220,15 @@
})
}
export function newMicrosoftAccountUrl() {
return request("/accounts/new/microsoft/url", {
method: "POST",
headers: {
"Content-Type": "application/json"
}
})
}
/**
* class AlteningForm(
* val token: String
Expand Down
6 changes: 5 additions & 1 deletion src-theme/src/routes/altmanager/AltManager.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
newAlteningGen,
newCrackedAccount,
newMicrosoftAccount,
newMicrosoftAccountUrl,
restoreInitialAccount
} from "../../client/api.svelte";
import { listen } from "../../client/ws.svelte";
Expand Down Expand Up @@ -378,7 +379,10 @@
<br>

<button on:click={newMicrosoftAccount}>
Add
Browser
</button>
<button on:click={newMicrosoftAccountUrl}>
Copy URL
</button>
</div>
<div class="button">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -135,19 +135,19 @@ object AccountManager : Configurable("Accounts"), Listenable {

@RequiredByScript
@JvmName("newMicrosoftAccount")
fun newMicrosoftAccount() {
fun newMicrosoftAccount(url: (String) -> Unit) {
// Prevents you from starting multiple login attempts
val activeUrl = activeUrl
if (activeUrl != null) {
browseUrl(activeUrl)
url(activeUrl)
return
}

runCatching {
newMicrosoftAccount(url = {
this.activeUrl = it

browseUrl(it)
url(it)
}, success = { account ->
EventManager.callEvent(AltManagerUpdateEvent(true,
"Added new account: ${account.profile?.username}"))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,17 +21,22 @@ package net.ccbluex.liquidbounce.web.socket.protocol.rest.client.session

import com.google.gson.JsonArray
import com.google.gson.JsonObject
import com.mojang.blaze3d.systems.RenderSystem
import net.ccbluex.liquidbounce.api.ClientApi.formatAvatarUrl
import net.ccbluex.liquidbounce.api.IpInfoApi
import net.ccbluex.liquidbounce.config.util.decode
import net.ccbluex.liquidbounce.event.EventManager
import net.ccbluex.liquidbounce.event.events.AltManagerUpdateEvent
import net.ccbluex.liquidbounce.features.misc.AccountManager
import net.ccbluex.liquidbounce.utils.client.browseUrl
import net.ccbluex.liquidbounce.utils.client.isPremium
import net.ccbluex.liquidbounce.utils.client.mc
import net.ccbluex.liquidbounce.web.socket.netty.httpForbidden
import net.ccbluex.liquidbounce.web.socket.netty.httpOk
import net.ccbluex.liquidbounce.web.socket.netty.rest.RestNode
import net.ccbluex.liquidbounce.web.socket.protocol.protocolGson
import net.minecraft.client.session.Session
import org.lwjgl.glfw.GLFW

internal fun RestNode.setupSessionRestApi() {
setupLocalSessionRestApi()
Expand Down Expand Up @@ -106,7 +111,20 @@ private fun RestNode.setupAccountManagerRest() {
}

post("/accounts/new/microsoft") {
AccountManager.newMicrosoftAccount()
AccountManager.newMicrosoftAccount {
browseUrl(it)
EventManager.callEvent(AltManagerUpdateEvent(true, "Opened login url in browser"))
}
httpOk(JsonObject())
}

post("/accounts/new/microsoft/url") {
AccountManager.newMicrosoftAccount {
RenderSystem.recordRenderCall {
GLFW.glfwSetClipboardString(mc.window.handle, it)
EventManager.callEvent(AltManagerUpdateEvent(true, "Copied login url to clipboard"))
}
}
httpOk(JsonObject())
}

Expand Down

0 comments on commit bde2d0e

Please sign in to comment.