fosrl.pangolin/src/providers/OrgUserProvider.tsx
vlalx d768bb163a
I18n additionals (#125)
* New translation keys

* Updates in src/components

* Updates in src/providers

* remove lable in selector, not needed

---------

Co-authored-by: Lokowitz <marvinlokowitz@gmail.com>
2025-06-03 20:10:00 +02:00

45 lines
1.1 KiB
TypeScript

"use client";
import OrgUserContext from "@app/contexts/orgUserContext";
import { GetOrgUserResponse } from "@server/routers/user";
import { useState } from "react";
import { useTranslations } from "next-intl";
interface OrgUserProviderProps {
children: React.ReactNode;
orgUser: GetOrgUserResponse;
}
export function OrgUserProvider({
children,
orgUser: serverOrgUser,
}: OrgUserProviderProps) {
const [orgUser, setOrgUser] = useState<GetOrgUserResponse>(serverOrgUser);
const t = useTranslations();
const updateOrgUser = (updateOrgUser: Partial<GetOrgUserResponse>) => {
if (!orgUser) {
throw new Error(t('orgErrorNoUpdate'));
}
setOrgUser((prev) => {
if (!prev) {
return prev;
}
return {
...prev,
...updateOrgUser,
};
});
};
return (
<OrgUserContext.Provider value={{ orgUser, updateOrgUser }}>
{children}
</OrgUserContext.Provider>
);
}
export default OrgUserProvider;