commit 22563a4f960716ff3a112f19f40bf521087c6225
parent cb0d890e2cd02f63ea50bc6bc38fff0342518d40
Author: Sebastian <sebasjm@gmail.com>
Date: Sun, 22 Jun 2025 12:28:04 -0300
fix #10114
Diffstat:
2 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/packages/merchant-backoffice-ui/src/context/session.ts b/packages/merchant-backoffice-ui/src/context/session.ts
@@ -18,6 +18,7 @@ import {
AccessToken,
Codec,
TalerMerchantConfigResponse,
+ TalerMerchantManagementHttpClient,
buildCodecForObject,
codecForString,
codecForURL,
@@ -125,6 +126,8 @@ export interface SessionStateHandler {
* @param info
*/
impersonate(baseUrl: URL): void;
+
+ getInstanceForUsername(username: string): TalerMerchantManagementHttpClient;
}
export const DEFAULT_ADMIN_USERNAME = "admin";
@@ -257,6 +260,9 @@ export const SessionContextProvider = ({
prevToken: state.prevToken,
});
},
+ getInstanceForUsername(username:string) {
+ return username !== currentInstance ? rootLib.subInstanceApi(username).instance : lib.instance
+ }
};
return h(Context.Provider, {
diff --git a/packages/merchant-backoffice-ui/src/paths/login/index.tsx b/packages/merchant-backoffice-ui/src/paths/login/index.tsx
@@ -46,17 +46,13 @@ const VERSION = typeof __VERSION__ !== "undefined" ? __VERSION__ : undefined;
export function LoginPage(_p: Props): VNode {
const [token, setToken] = useState("");
const [notif, setNotif] = useState<Notification | undefined>(undefined);
- const { lib, state, logIn } = useSessionContext();
+ const { lib, state, logIn, getInstanceForUsername } = useSessionContext();
const [username, setUsername] = useState(state.instance);
const { i18n } = useTranslationContext();
async function doLoginImpl() {
- console.log(state.instance !== username, state.instance, username);
- const api =
- state.instance !== username
- ? lib.subInstanceApi(username).instance
- : lib.instance;
+ const api = getInstanceForUsername(username)
const result = await api.createAuthTokenFromToken(
createRFC8959AccessTokenEncoded(token),