4.0.1 • Published 4 days ago

@uplift-ltd/use-user-context v4.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
4 days ago

@uplift-ltd/use-user-context

Installation

npm i --save @uplift-ltd/use-user-context

API

UserContextProvider

import { gql } from "@uplift-ltd/apollo";
import { UserContextProvider } from "@uplift-ltd/use-user-context";
import { CurrentUser } from "./__generated__/CurrentUser";

const CURRENT_USER_QUERY = gql`
  query CurrentUser {
    isAuthenticated
    currentUser: me {
      id
      email
    }
  }
`;

function MyApp() {
  return (
    <UserContextProvider getToken={getToken} currentUserQuery={CURRENT_USER_QUERY}>
      <div />
    </UserContextProvider>
  );
}

useUserContext

Note: Create wrapper so you don't have to pass in types all the time.

import { useUserContext } from "@uplift-ltd/use-user-context";

function MyComponent() {
  const { loading, currentUser } = useUserContext();
  return <div>{currentUser?.id}</div>;
}

useAsserUserContext

Note: Create wrapper so you don't have to pass in types all the time.

import { useAssertUserContext } from "@uplift-ltd/use-user-context";

function MyComponent() {
  const currentUser = useAssertUserContext();
  return <div>{currentUser.id}</div>;
}

Override Types

Override User Type

import "@uplift-ltd/use-user-context";
import { UserContextCurrentUserFragment } from "~/hooks/__generated__/useUserContext";

declare module "@uplift-ltd/use-user-context" {
  // eslint-disable-next-line @typescript-eslint/no-empty-interface
  export interface CurrentUser extends UserContextCurrentUserFragment {}
}

Override Query Type

import "@uplift-ltd/use-user-context";

declare module "@uplift-ltd/use-user-context" {
  export interface CurrentUser {
    id: string;
    fullName: string;
  }

  export interface CurrentUserQuery {
    me: CurrentUser | null;
  }
}
4.0.1

4 days ago

3.0.0

6 months ago

2.0.4

9 months ago

4.0.0

6 months ago

4.0.0-alpha.0

6 months ago

3.0.1-alpha.0

6 months ago

2.0.3

11 months ago

2.0.3-alpha.0

1 year ago

2.0.2

1 year ago

3.0.0-alpha.1

1 year ago

3.0.0-alpha.0

1 year ago

3.0.0-alpha.2

1 year ago

2.0.1

1 year ago

2.0.0-alpha.0

1 year ago

2.0.0

1 year ago

1.3.10

1 year ago

1.3.9

1 year ago

1.3.9-alpha.3

1 year ago

1.3.9-alpha.1

1 year ago