diff --git a/src/components/Settings/Tabs/NotificationSettingTab.jsx b/src/components/Settings/Tabs/NotificationSettingTab.jsx index 85dffc8..c8571a2 100644 --- a/src/components/Settings/Tabs/NotificationSettingTab.jsx +++ b/src/components/Settings/Tabs/NotificationSettingTab.jsx @@ -1,237 +1,86 @@ -import React, { useState } from "react"; +import React, { useEffect, useState } from "react"; import SwitchCom from "../../Helpers/SwitchCom"; +import LoadingSpinner from "../../Spinners/LoadingSpinner"; +import usersService from "../../../services/UsersService"; +import localImgLoad from "../../../lib/localImgLoad"; + +import defaultImage from '../../../assets/images/banner-job-due.jpg' + + export default function NotificationSettingTab() { - const [updateNotification, setUpdateNotification] = useState(false); - const [uploadProduct, setUploadProduct] = useState(true); - const [saleProduct, setSaleProduct] = useState(true); - const [getProduct, setGetProduct] = useState(false); - const [authLevel, setAuthLevel] = useState(true); + const api = new usersService(); + + const [accSettings, setAccSettings] = useState({loading: true, data: []}) // STATE TO HOLD ACCOUNT SETTINGS + + // const [updateNotification, setUpdateNotification] = useState(false); + // const [uploadProduct, setUploadProduct] = useState(true); + // const [saleProduct, setSaleProduct] = useState(true); + // const [getProduct, setGetProduct] = useState(false); + // const [authLevel, setAuthLevel] = useState(true); + + const handleNotificationChange = (item) => { + setAccSettings(prev => { + let newAccSettings = prev.data.map(data => { + if(data.uid == item.uid){ + let newPrefValue = data.pref_value == null || data.pref_value == false ? true : false + return {...data, pref_value: newPrefValue} + }else{ + return data + } + }) + return {...prev, data: newAccSettings} + }) + } + + useEffect(()=>{ + api.getAccSettings().then(res => { + setAccSettings({loading: false, data: res.data?.result_list || []}) + }).catch(errer => { + setAccSettings({loading: false, data: []}) + }) + },[]) + return (
-