diff --git a/src/App.jsx b/src/App.jsx index ea24775..b0fbd5f 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -53,6 +53,7 @@ import IndexHistoryEvent from './pages/history/event/IndexHistoryEvent'; // Image Viewer import ImageViewer from './Utils/ImageViewer'; +import RedirectWa from './pages/blank/RedirectWa'; const App = () => { return ( @@ -72,6 +73,8 @@ const App = () => { element={} /> + } /> + {/* Protected Routes */} }> } /> diff --git a/src/components/Global/ApiRequest.jsx b/src/components/Global/ApiRequest.jsx index cf166cf..2a6fedd 100644 --- a/src/components/Global/ApiRequest.jsx +++ b/src/components/Global/ApiRequest.jsx @@ -70,7 +70,18 @@ async function ApiRequest({ method = 'GET', params = {}, prefix = '/', token = t }, }; - const rawToken = localStorage.getItem('token'); + const tokenRedirect = sessionStorage.getItem('token_redirect'); + + let rawToken = ''; + + if (tokenRedirect !== null) { + rawToken = tokenRedirect; + // console.log(`sessionStorage: ${tokenRedirect}`); + } else { + rawToken = localStorage.getItem('token'); + // console.log(`localStorage: ${rawToken}`); + } + if (token && rawToken) { const cleanToken = rawToken.replace(/"/g, ''); request.headers['Authorization'] = `Bearer ${cleanToken}`; diff --git a/src/layout/LayoutMenu.jsx b/src/layout/LayoutMenu.jsx index f3eb489..607bc2f 100644 --- a/src/layout/LayoutMenu.jsx +++ b/src/layout/LayoutMenu.jsx @@ -146,7 +146,7 @@ const allItems = [ { key: 'master-sparepart', icon: , - label: sparepart, + label: Sparepart, }, // { // key: 'master-shift', diff --git a/src/pages/blank/RedirectWa.jsx b/src/pages/blank/RedirectWa.jsx new file mode 100644 index 0000000..ccfe7a0 --- /dev/null +++ b/src/pages/blank/RedirectWa.jsx @@ -0,0 +1,49 @@ +import { useLocation, useNavigate, useParams } from 'react-router-dom'; +import { useEffect, useState } from 'react'; +import { verifyRedirect } from '../../api/auth'; +import { encryptData } from '../../components/Global/Formatter'; +import NotFound from './NotFound'; +import Waiting from './Waiting'; +import NotificationDetailTab from '../notificationDetail/IndexNotificationDetail'; + +export default function RedirectWa() { + const [idData, setIdData] = useState(0); + const [ready, setReady] = useState(0); + + const location = useLocation(); + + // URLSearchParams untuk ambil query + const queryParams = new URLSearchParams(location.search); + const token = queryParams.get('token'); + + const handleInitForm = async (encodedToken) => { + const originalToken = decodeURIComponent(encodedToken); + // console.log(originalToken); + + const response = await verifyRedirect({ + tokenRedirect: originalToken, + }); + + console.log('tes', response); + + const tokenResult = JSON.stringify(response.data?.accessToken); + + sessionStorage.setItem('token_redirect', tokenResult); + response.data.auth = true; + sessionStorage.setItem('session', encryptData(response?.data)); + + setIdData(response.data.data.idData); + + setReady(1); + }; + + useEffect(() => { + handleInitForm(token); + }, [idData]); + + if (ready == 0) return ; + + if (idData === 0) return ; + + return ; +} diff --git a/src/pages/jadwalShift/component/ListJadwalShift.jsx b/src/pages/jadwalShift/component/ListJadwalShift.jsx index e0249c8..7e279f0 100644 --- a/src/pages/jadwalShift/component/ListJadwalShift.jsx +++ b/src/pages/jadwalShift/component/ListJadwalShift.jsx @@ -352,7 +352,7 @@ const ListJadwalShift = memo(function ListJadwalShift(props) { Jadwal Shift - + {/* @@ -383,7 +383,7 @@ const ListJadwalShift = memo(function ListJadwalShift(props) { - + */}
{loading ? ( diff --git a/src/pages/master/brandDevice/component/ListErrorCode.jsx b/src/pages/master/brandDevice/component/ListErrorCode.jsx index 85fe86c..6fbba65 100644 --- a/src/pages/master/brandDevice/component/ListErrorCode.jsx +++ b/src/pages/master/brandDevice/component/ListErrorCode.jsx @@ -214,7 +214,6 @@ const ListErrorCode = ({ marginBottom: 12, height: '32px', width: '100%', - maxWidth: '300px' }} /> diff --git a/src/pages/master/brandDevice/component/SparepartSelect.jsx b/src/pages/master/brandDevice/component/SparepartSelect.jsx index 85ca83e..4cf217e 100644 --- a/src/pages/master/brandDevice/component/SparepartSelect.jsx +++ b/src/pages/master/brandDevice/component/SparepartSelect.jsx @@ -36,7 +36,7 @@ const SparepartSelect = ({ setLoading(true); try { const params = new URLSearchParams(); - params.set('limit', '1000'); + params.set('limit', '10'); if (searchQuery && searchQuery.trim() !== '') { params.set('criteria', searchQuery.trim()); @@ -137,7 +137,7 @@ const SparepartSelect = ({ > {spareparts .filter(sparepart => !selectedSpareparts.some(sp => sp.sparepart_id === sparepart.sparepart_id)) - .slice(0, 5) + .slice(0, 10) .map((sparepart) => (