Replace ParamContext & CookieContext with AppContext
This commit is contained in:
parent
e1fb2875ae
commit
b28a723d19
6 changed files with 14 additions and 18 deletions
|
@ -1,3 +1,4 @@
|
||||||
-stage/
|
-stage/
|
||||||
-node_modules/
|
-node_modules/
|
||||||
-.gems/
|
-.gems/
|
||||||
|
-/twenty-client/tmp/
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
import { createContext } from "react";
|
import { createContext } from "react";
|
||||||
export const ParamContext = createContext<Record<string, string>>({});
|
type TContext = Record<"params" | "cookies", Record<string, string>>;
|
||||||
export const CookieContext = createContext<Record<string, string>>({});
|
export const AppContext = createContext<TContext>({});
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { PropsWithChildren } from "react";
|
import { PropsWithChildren } from "react";
|
||||||
import { ApolloClient, ApolloProvider, InMemoryCache } from "@apollo/client";
|
import { ApolloClient, ApolloProvider, InMemoryCache } from "@apollo/client";
|
||||||
import { ParamContext, CookieContext } from "~/Context";
|
import { AppContext } from "~/Context";
|
||||||
|
|
||||||
export function App({ children }: PropsWithChildren<{}>) {
|
export function App({ children }: PropsWithChildren<{}>) {
|
||||||
const client = new ApolloClient({
|
const client = new ApolloClient({
|
||||||
|
@ -17,10 +17,8 @@ export function App({ children }: PropsWithChildren<{}>) {
|
||||||
document.cookie.split(";").map(e => e.split("=")),
|
document.cookie.split(";").map(e => e.split("=")),
|
||||||
);
|
);
|
||||||
return (
|
return (
|
||||||
<CookieContext.Provider value={cookies}>
|
<AppContext.Provider value={{ params, cookies }}>
|
||||||
<ParamContext.Provider value={params}>
|
|
||||||
<ApolloProvider client={client}>{children}</ApolloProvider>
|
<ApolloProvider client={client}>{children}</ApolloProvider>
|
||||||
</ParamContext.Provider>
|
</AppContext.Provider>
|
||||||
</CookieContext.Provider>
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import { useContext } from "react";
|
import { useContext } from "react";
|
||||||
import { ParamContext, CookieContext } from "~/Context";
|
import { AppContext } from "~/Context";
|
||||||
import { Maybe } from "~/types/schema";
|
import { Maybe } from "~/types/schema";
|
||||||
import { ProjectSelect } from "~/components/ProjectSelect";
|
import { ProjectSelect } from "~/components/ProjectSelect";
|
||||||
const BASE_CLASSNAMES = ["block", "w-3/4", "no-underline", "p-3", "mt-2"];
|
const BASE_CLASSNAMES = ["block", "w-3/4", "no-underline", "p-3", "mt-2"];
|
||||||
|
@ -31,8 +31,7 @@ const find = (path: string, bar: Bar): Maybe<Item> => {
|
||||||
};
|
};
|
||||||
|
|
||||||
export function NavBar() {
|
export function NavBar() {
|
||||||
const params = useContext(ParamContext);
|
const { params, cookies } = useContext(AppContext);
|
||||||
const cookies = useContext(CookieContext);
|
|
||||||
const bar: Bar = {
|
const bar: Bar = {
|
||||||
Tasks: [
|
Tasks: [
|
||||||
{ text: "All tasks", href: "/tasks/" },
|
{ text: "All tasks", href: "/tasks/" },
|
||||||
|
@ -70,7 +69,7 @@ export function NavBar() {
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
})}
|
})}
|
||||||
<h3>Scope</h3>
|
<h3>Settings</h3>
|
||||||
<ProjectSelect
|
<ProjectSelect
|
||||||
selected={params.projectId || cookies.projectId}
|
selected={params.projectId || cookies.projectId}
|
||||||
onChange={project => {
|
onChange={project => {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import { useEffect, useState, useContext } from "react";
|
import { useEffect, useState, useContext } from "react";
|
||||||
import { ParamContext, CookieContext } from "~/Context";
|
import { AppContext } from "~/Context";
|
||||||
import { useForm } from "react-hook-form";
|
import { useForm } from "react-hook-form";
|
||||||
import { useCreateTask } from "~/hooks/mutations/useCreateTask";
|
import { useCreateTask } from "~/hooks/mutations/useCreateTask";
|
||||||
import { useUpdateTask } from "~/hooks/mutations/useUpdateTask";
|
import { useUpdateTask } from "~/hooks/mutations/useUpdateTask";
|
||||||
|
@ -23,8 +23,7 @@ const DEFAULT_TASK_CONTENT = [
|
||||||
].join("\n");
|
].join("\n");
|
||||||
|
|
||||||
export function Task() {
|
export function Task() {
|
||||||
const params = useContext(ParamContext);
|
const { params, cookies } = useContext(AppContext);
|
||||||
const cookies = useContext(CookieContext);
|
|
||||||
const projectId: Maybe<number> = Number(
|
const projectId: Maybe<number> = Number(
|
||||||
params.projectId || cookies.projectId,
|
params.projectId || cookies.projectId,
|
||||||
);
|
);
|
||||||
|
|
|
@ -1,13 +1,12 @@
|
||||||
import { useEffect, useContext } from "react";
|
import { useEffect, useContext } from "react";
|
||||||
import { ParamContext, CookieContext } from "~/Context";
|
import { AppContext } from "~/Context";
|
||||||
import { NavBar } from "~/components/NavBar";
|
import { NavBar } from "~/components/NavBar";
|
||||||
import { Group } from "~/components/Group";
|
import { Group } from "~/components/Group";
|
||||||
import { TaskStatus, Maybe } from "~/types/schema";
|
import { TaskStatus, Maybe } from "~/types/schema";
|
||||||
import { useTasks } from "~/hooks/queries/useTasks";
|
import { useTasks } from "~/hooks/queries/useTasks";
|
||||||
|
|
||||||
export function Tasks() {
|
export function Tasks() {
|
||||||
const params = useContext(ParamContext);
|
const { params, cookies } = useContext(AppContext);
|
||||||
const cookies = useContext(CookieContext);
|
|
||||||
const projectId: Maybe<number> =
|
const projectId: Maybe<number> =
|
||||||
params.projectId || cookies.projectId
|
params.projectId || cookies.projectId
|
||||||
? Number(params.projectId || cookies.projectId)
|
? Number(params.projectId || cookies.projectId)
|
||||||
|
|
Loading…
Reference in a new issue