Merge pull request #150 from bipproduction/lukman/27-agustus-2024

feat : update global
This commit is contained in:
Amalia
2024-08-27 17:36:11 +08:00
committed by GitHub
5 changed files with 21 additions and 4 deletions

View File

@@ -0,0 +1,3 @@
import { hookstate } from "@hookstate/core";
export const globalRefreshDiscussion = hookstate<boolean>(false);

View File

@@ -12,6 +12,8 @@ import moment from "moment";
import "moment/locale/id";
import { useParams, useRouter } from "next/navigation";
import toast from "react-hot-toast";
import { useHookstate } from "@hookstate/core";
import { globalRefreshDiscussion } from "../lib/val_discussion";
export default function DetailDiscussion({ id, idDivision }: { id: string, idDivision: string }) {
const [isData, setData] = useState<IDetailDiscussion>()
@@ -19,6 +21,7 @@ export default function DetailDiscussion({ id, idDivision }: { id: string, idDiv
const param = useParams<{ id: string, detail: string }>()
const [isLoad, setIsLoad] = useState(true)
const router = useRouter()
const refresh = useHookstate(globalRefreshDiscussion)
const getData = async () => {
try {
@@ -35,7 +38,7 @@ export default function DetailDiscussion({ id, idDivision }: { id: string, idDiv
useShallowEffect(() => {
getData()
}, [])
}, [refresh.get()])
const sendComent = async () => {
try {

View File

@@ -8,12 +8,15 @@ import { FaCheck, FaPencil } from "react-icons/fa6";
import { MdClose } from "react-icons/md";
import { funDeleteDiscussion, funEditStatusDiscussion } from "../lib/api_discussion";
import { useParams, useRouter } from "next/navigation";
import { useHookstate } from "@hookstate/core";
import { globalRefreshDiscussion } from "../lib/val_discussion";
export default function DrawerDetailDiscussion({ onSuccess, id, status, idDivision }: { onSuccess: (val: boolean) => void, id: string, status: number, idDivision: string }) {
const [isValModal, setValModal] = useState(false)
const [isValModalStatus, setValModalStatus] = useState(false)
const router = useRouter()
const param = useParams<{ id: string, detail: string }>()
const refresh = useHookstate(globalRefreshDiscussion)
async function fetchStatusDiscussion(val: boolean) {
@@ -23,6 +26,8 @@ export default function DrawerDetailDiscussion({ onSuccess, id, status, idDivisi
if (response.success) {
toast.success(response.message)
refresh.set(!refresh.get())
onSuccess(false)
setValModalStatus(false)
} else {
toast.error(response.message)
@@ -45,6 +50,7 @@ export default function DrawerDetailDiscussion({ onSuccess, id, status, idDivisi
if (response.success) {
toast.success(response.message)
setValModal(false)
onSuccess(false)
router.push(`/division/${param.id}/discussion`)
} else {
toast.error(response.message)

View File

@@ -8,12 +8,15 @@ import toast from "react-hot-toast"
import { FaPencil, FaToggleOff } from "react-icons/fa6"
import { funEditPosition, funEditStatusPosition, funGetOnePosition } from "../lib/api_position"
import { IDataPosition } from "../lib/type_position"
import { useHookstate } from "@hookstate/core"
import { globalRefreshPosition } from "../lib/val_posisition"
export default function DrawerDetailPosition({ onUpdated, id, isActive }: {
onUpdated: (val: boolean) => void, id: string, isActive: boolean;
}) {
const [openDrawerGroup, setOpenDrawerGroup] = useState(false)
const [isModal, setModal] = useState(false)
const refresh = useHookstate(globalRefreshPosition)
const [data, setData] = useState<any>({
id: id,
name: "",
@@ -68,6 +71,7 @@ export default function DrawerDetailPosition({ onUpdated, id, isActive }: {
if (res.success) {
toast.success(res.message);
refresh.set(!refresh.get())
onUpdated(true);
onCLose();
} else {
@@ -84,7 +88,7 @@ export default function DrawerDetailPosition({ onUpdated, id, isActive }: {
useShallowEffect(() => {
getAllGroup()
getOneData()
}, [])
}, [refresh.get()])
async function nonActive(val: boolean) {
try {
@@ -92,6 +96,7 @@ export default function DrawerDetailPosition({ onUpdated, id, isActive }: {
const res = await funEditStatusPosition(id, { isActive: isActive })
if (res.success) {
toast.success(res.message);
refresh.set(!refresh.get())
onUpdated(true);
} else {
onUpdated(false);

View File

@@ -43,7 +43,7 @@ export default function DrawerListPosition({ onCreated }: { onCreated: (val: boo
useShallowEffect(() => {
getAllGroup()
}, [])
}, [refresh.get()])
async function onSubmit() {
@@ -56,7 +56,7 @@ export default function DrawerListPosition({ onCreated }: { onCreated: (val: boo
if (res.success) {
setOpenDrawerGroup(false)
toast.success(res.message)
refresh.set(true)
refresh.set(!refresh.get())
onCreated(true)
} else {
toast.error(res.message)