The first commit, the core and all files is adding to repo
This commit is contained in:
40
components/Pairing.tsx
Normal file
40
components/Pairing.tsx
Normal file
@@ -0,0 +1,40 @@
|
||||
"use client";
|
||||
import { useState } from "react";
|
||||
import { api } from "./StartGame";
|
||||
export function Pairing({ code }: { code: string }) {
|
||||
const [message, setMessage] = useState(""),
|
||||
[busy, setBusy] = useState(false);
|
||||
async function approve() {
|
||||
setBusy(true);
|
||||
try {
|
||||
await api("pairing/approve", { code });
|
||||
setMessage("Capture client linked. You can return to Minecraft.");
|
||||
} catch (e) {
|
||||
setMessage((e as Error).message);
|
||||
} finally {
|
||||
setBusy(false);
|
||||
}
|
||||
}
|
||||
return (
|
||||
<div className="auth-card">
|
||||
<span className="eyebrow">LINK YOUR CAPTURE CLIENT</span>
|
||||
<h2>{code}</h2>
|
||||
<p className="muted">
|
||||
Approve only if this code is displayed by your MineGeo Fabric mod.
|
||||
Linking lets that client upload private map drafts to your account.
|
||||
</p>
|
||||
<button
|
||||
className="button primary full"
|
||||
disabled={busy || !!message}
|
||||
onClick={approve}
|
||||
>
|
||||
Link my Minecraft client
|
||||
</button>
|
||||
{message && (
|
||||
<p role="status" className="success-message">
|
||||
{message}
|
||||
</p>
|
||||
)}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user