Co-authored-by: sealday <sealday@gmail.com> Reviewed-on: daoyoucloud/tachybase#1045
21 lines
529 B
TypeScript
21 lines
529 B
TypeScript
import { createContext, useContext } from 'react';
|
|
|
|
export type Authenticator = {
|
|
name: string;
|
|
authType: string;
|
|
authTypeTitle: string;
|
|
title?: string;
|
|
options?: {
|
|
[key: string]: any;
|
|
};
|
|
sort?: number;
|
|
};
|
|
|
|
export const AuthenticatorsContext = createContext<Authenticator[]>([]);
|
|
AuthenticatorsContext.displayName = 'AuthenticatorsContext';
|
|
|
|
export const useAuthenticator = (name: string) => {
|
|
const authenticators = useContext(AuthenticatorsContext);
|
|
return authenticators.find((a) => a.name === name);
|
|
};
|