Skip to content

Commit 278da7c

Browse files
committed
Add some FedCM types
1 parent 8e3140b commit 278da7c

File tree

2 files changed

+25
-2
lines changed

2 files changed

+25
-2
lines changed

apps/web/app/(fed-cm)/fed-cm/login/SetLoginStatus.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@ import { useEffect, type FC } from 'react';
55
export const SetLoginStatus: FC = () => {
66
useEffect(() => {
77
if('login' in navigator) {
8-
(navigator.login as { setStatus(status: string): void }).setStatus('logged-in');
8+
navigator.login.setStatus('logged-in');
99
}
1010

1111
if('IdentityProvider' in window) {
12-
(window.IdentityProvider as { close(): void }).close();
12+
window.IdentityProvider.close();
1313
}
1414
});
1515

apps/web/types.d.ts

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,26 @@ declare module '*.svg?svgr' {
88
const SVG: React.VFC<React.SVGProps<SVGSVGElement>>;
99
export default SVG;
1010
}
11+
12+
interface Navigator {
13+
/** [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/API/Navigator/login) */
14+
login: NavigatorLogin
15+
}
16+
17+
/** [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/API/NavigatorLoginn) */
18+
interface NavigatorLogin {
19+
/** [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/API/NavigatorLogin/setStatus) */
20+
setStatus(status: 'logged-in' | 'logged-out'): Promise<undefined>
21+
}
22+
23+
interface Window {
24+
/** [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/API/IdentityProvider) */
25+
IdentityProvider: IdentityProvider
26+
}
27+
28+
/** [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/API/IdentityProvider) */
29+
interface IdentityProvider {
30+
/** [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/API/IdentityProvider/close_static) */
31+
close(): undefined
32+
}
33+

0 commit comments

Comments
 (0)