Skip to content

Commit c8dba6a

Browse files
committed
temp
1 parent 1194a9a commit c8dba6a

File tree

3 files changed

+28
-0
lines changed

3 files changed

+28
-0
lines changed

src/commands/showPanel.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,9 @@ async function handleMessage(
100100
context.globalState.update("courseId", courseId);
101101
treeDataProvider.refresh();
102102
break;
103+
case MessageTypeNames.LoginWithBrowser:
104+
const { route } = message;
105+
vscode.env.openExternal(vscode.Uri.parse(route));
103106
}
104107
console.log(`${Date.now()} Finish handleMessage: ${message.type}`);
105108
}

src/extension.ts

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import { activateLspClient, deactivateLspClient } from "./lsp/client";
88
import { LanguageClient } from "vscode-languageclient/node";
99
import { canonicaliseLocation } from "./utils/misc";
1010
import config from "./utils/config";
11+
import { showPanel } from "./commands/showPanel";
1112

1213
// TODO: Don't expose this object directly, create an interface via a wrapper class
1314
export let client: LanguageClient;
@@ -51,6 +52,27 @@ export function activate(context: vscode.ExtensionContext) {
5152
"*.js": "source",
5253
});
5354
}
55+
56+
vscode.window.registerUriHandler({
57+
handleUri(uri: vscode.Uri) {
58+
console.log("I got it");
59+
const searchParams = new URLSearchParams(uri.query);
60+
const code = searchParams.get("code");
61+
// const provider = searchParams.get("provider");
62+
const clientRequestId = searchParams.get("client-request-id");
63+
// vscode.window.showInformationMessage(`code: ${provider}`);
64+
vscode.window.showInformationMessage(`Code: ${code}`);
65+
vscode.window.showInformationMessage(`CRI: ${clientRequestId}`);
66+
67+
// vscode.commands.executeCommand("source-academy.show-panel", `/login/callback?code=${code}&provider=${provider}`);
68+
vscode.commands.executeCommand(
69+
"source-academy.show-panel",
70+
`/login/callback?code=${code}&client-request-id=${clientRequestId}`,
71+
);
72+
73+
// context.globalState.update("token", { accessToken, refreshToken });
74+
},
75+
});
5476
}
5577

5678
// This method is called when your extension is deactivated

src/utils/messages.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,9 @@ const Messages = createMessages({
5858
Navigate: (route: string) => ({
5959
route,
6060
}),
61+
LoginWithBrowser: (route: string) => ({
62+
route,
63+
}),
6164
});
6265

6366
export default Messages;

0 commit comments

Comments
 (0)