fix eslint and types
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
import type { FC } from "react";
|
||||
import React, { useContext } from "react";
|
||||
import { ethers } from "ethers";
|
||||
|
||||
@@ -37,7 +38,7 @@ export const useBsc = () => {
|
||||
return context;
|
||||
};
|
||||
|
||||
export const BscProvider = ({ children }: React.PropsWithChildren<any>) => {
|
||||
export const BscProvider: FC = ({ children }) => {
|
||||
const value: BscContext = {
|
||||
provider,
|
||||
pancake: {
|
||||
@@ -46,4 +47,4 @@ export const BscProvider = ({ children }: React.PropsWithChildren<any>) => {
|
||||
};
|
||||
|
||||
return <Context.Provider value={value}>{children}</Context.Provider>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
import type { FC } from "react";
|
||||
import React, { createContext, useContext } from "react";
|
||||
import { useFragment } from "react-relay";
|
||||
import { graphql } from "babel-plugin-relay/macro";
|
||||
|
||||
import type { UserProvider_user$key } from "./__generated__/UserProvider_user.graphql";
|
||||
|
||||
type CurrentUserContext = {
|
||||
user: {
|
||||
readonly firstName: string;
|
||||
firstName: string;
|
||||
} | null;
|
||||
isAuthenticated: boolean;
|
||||
};
|
||||
@@ -20,13 +24,33 @@ export const useCurrentUser = (): CurrentUserContext => {
|
||||
};
|
||||
|
||||
type Props = {
|
||||
user: {
|
||||
readonly firstName: string;
|
||||
} | null;
|
||||
userRef: UserProvider_user$key | null;
|
||||
};
|
||||
|
||||
export const UserProvider: FC<Props> = ({ user, children }) => (
|
||||
<Context.Provider value={{ user, isAuthenticated: !!user }}>
|
||||
{children}
|
||||
</Context.Provider>
|
||||
);
|
||||
export const UserProvider: FC<Props> = ({ userRef, children }) => {
|
||||
const userData = useFragment<UserProvider_user$key>(
|
||||
graphql`
|
||||
fragment UserProvider_user on User {
|
||||
firstName
|
||||
}
|
||||
`,
|
||||
userRef
|
||||
);
|
||||
|
||||
const user = userData
|
||||
? {
|
||||
firstName: userData.firstName,
|
||||
}
|
||||
: null;
|
||||
|
||||
return (
|
||||
<Context.Provider
|
||||
value={{
|
||||
user,
|
||||
isAuthenticated: !!user,
|
||||
}}
|
||||
>
|
||||
{children}
|
||||
</Context.Provider>
|
||||
);
|
||||
};
|
||||
|
||||
37
app/javascript/src/contexts/__generated__/UserProvider_user.graphql.ts
generated
Normal file
37
app/javascript/src/contexts/__generated__/UserProvider_user.graphql.ts
generated
Normal file
@@ -0,0 +1,37 @@
|
||||
/* tslint:disable */
|
||||
/* eslint-disable */
|
||||
// @ts-nocheck
|
||||
|
||||
import { ReaderFragment } from "relay-runtime";
|
||||
import { FragmentRefs } from "relay-runtime";
|
||||
export type UserProvider_user = {
|
||||
readonly firstName: string;
|
||||
readonly " $refType": "UserProvider_user";
|
||||
};
|
||||
export type UserProvider_user$data = UserProvider_user;
|
||||
export type UserProvider_user$key = {
|
||||
readonly " $data"?: UserProvider_user$data;
|
||||
readonly " $fragmentRefs": FragmentRefs<"UserProvider_user">;
|
||||
};
|
||||
|
||||
|
||||
|
||||
const node: ReaderFragment = {
|
||||
"argumentDefinitions": [],
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "UserProvider_user",
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "firstName",
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"type": "User",
|
||||
"abstractKey": null
|
||||
};
|
||||
(node as any).hash = '352cdd208485d062f3f7c2e22e287a99';
|
||||
export default node;
|
||||
Reference in New Issue
Block a user