From 58601bc17b6f0516eee9c36aa36e39f1dea3ad77 Mon Sep 17 00:00:00 2001 From: trisusilo48 Date: Wed, 26 Feb 2025 10:47:58 +0700 Subject: bitehsip --- src/lib/treckingAwb/component/Manifest.jsx | 43 +++++++++++++++++++++++++++--- 1 file changed, 40 insertions(+), 3 deletions(-) (limited to 'src/lib/treckingAwb/component') diff --git a/src/lib/treckingAwb/component/Manifest.jsx b/src/lib/treckingAwb/component/Manifest.jsx index 87e01e38..a0df6ee9 100644 --- a/src/lib/treckingAwb/component/Manifest.jsx +++ b/src/lib/treckingAwb/component/Manifest.jsx @@ -7,6 +7,18 @@ import { toast } from 'react-hot-toast'; import ImageNext from 'next/image'; import { list } from 'postcss'; + +function capitalizeFirstLetter(str) { + return str.charAt(0).toUpperCase() + str.slice(1); +} + + +function capitalizeWords(str) { + return str.split(' ').map(word => capitalizeFirstLetter(word)).join(' '); +} + + + const Manifest = ({ idAWB, closePopup }) => { const [manifests, setManifests] = useState(null); const [isLoading, setIsLoading] = useState(false); @@ -101,6 +113,16 @@ const Manifest = ({ idAWB, closePopup }) => {

Sedang Dikirim

)} + {manifests?.status === 'cancelled' && ( +
+

Di Batalkan

+
+ )} + {manifests?.status === 'on_hold' && ( +
+

Ditunda Sementara

+
+ )} {manifests?.status === 'pending' && (

Pending

@@ -112,12 +134,18 @@ const Manifest = ({ idAWB, closePopup }) => { Estimasi tiba pada{' '} ({manifests?.eta}) -

+

Dikirim Menggunakan{' '} {manifests?.deliveryOrder.carrier}

+

+ Tipe Service {' '} + + {manifests?.deliveryOrder.service} + +

{manifests?.waybillNumber && (

No. Resi

@@ -184,11 +212,20 @@ const Manifest = ({ idAWB, closePopup }) => { - {manifests.delivered == true && index == 0 && ( + {manifests.delivered == true && + index == 0 && + manifests.isBiteship == false && ( +

+ Sudah Sampai +

+ )} + {manifests.isBiteship == true && (

- Sudah Sampai + {capitalizeWords(manifest.status)}

)}

-- cgit v1.2.3 From e25b9c18c192277863727ce3707e51e4aabee3d3 Mon Sep 17 00:00:00 2001 From: trisusilo48 Date: Fri, 11 Apr 2025 14:51:37 +0700 Subject: manifest --- src/lib/treckingAwb/component/Manifest.jsx | 180 ++++++++++++++++------------- 1 file changed, 98 insertions(+), 82 deletions(-) (limited to 'src/lib/treckingAwb/component') diff --git a/src/lib/treckingAwb/component/Manifest.jsx b/src/lib/treckingAwb/component/Manifest.jsx index a0df6ee9..fa998bd3 100644 --- a/src/lib/treckingAwb/component/Manifest.jsx +++ b/src/lib/treckingAwb/component/Manifest.jsx @@ -7,18 +7,17 @@ import { toast } from 'react-hot-toast'; import ImageNext from 'next/image'; import { list } from 'postcss'; - function capitalizeFirstLetter(str) { return str.charAt(0).toUpperCase() + str.slice(1); } - function capitalizeWords(str) { - return str.split(' ').map(word => capitalizeFirstLetter(word)).join(' '); + return str + .split(' ') + .map((word) => capitalizeFirstLetter(word)) + .join(' '); } - - const Manifest = ({ idAWB, closePopup }) => { const [manifests, setManifests] = useState(null); const [isLoading, setIsLoading] = useState(false); @@ -63,7 +62,7 @@ const Manifest = ({ idAWB, closePopup }) => { setManifests(list); setIsLoading(false); }; - + console.log(manifests); useEffect(() => { if (idAWB) { getManifest(); @@ -97,7 +96,7 @@ const Manifest = ({ idAWB, closePopup }) => { {!isLoading && ( @@ -118,7 +117,7 @@ const Manifest = ({ idAWB, closePopup }) => {

Di Batalkan

)} - {manifests?.status === 'on_hold' && ( + {manifests?.status === 'on_hold' && (

Ditunda Sementara

@@ -129,28 +128,15 @@ const Manifest = ({ idAWB, closePopup }) => {
)} +
-

- Estimasi tiba pada{' '} - ({manifests?.eta}) -

-

- Dikirim Menggunakan{' '} - - {manifests?.deliveryOrder.carrier} - -

-

- Tipe Service {' '} - - {manifests?.deliveryOrder.service} - -

- {manifests?.waybillNumber && ( -
-

No. Resi

-
-

{manifests?.waybillNumber}

+
+
+ Nomor Resi +
+ + : {manifests?.waybillNumber}{' '} +
- )} +
+ Kurir + + {' '} + : {manifests?.deliveryOrder.carrier} + +
+
+ Jenis Service + + {' '} + : {manifests?.deliveryOrder.service} + +
+
+ Tanggal Dikirim + : {manifests?.deliveredDate} +
+
+ Estimasi Tiba + + :{' '} + + {manifests?.eta} + + +
+

+ {manifests?.isDelay && ( + + )}
-
    - {manifests?.manifests?.map((manifest, index) => ( - <> -
  1. - {manifests.delivered == true && index == 0 ? ( -
    - -
    - ) : ( -
    - )} - {manifests.delivered != true && ( +
      + {manifests?.manifests?.map((manifest, index) => { + const isFirst = index === 0; + const isDelivered = manifests.delivered === true; + const isBiteship = manifests.isBiteship === true; + const statusTitle = + isDelivered && isFirst && !isBiteship + ? 'Pesanan sampai' + : isBiteship + ? capitalizeWords(manifest.status) + : ''; + + return ( +
    1. + {/* Kolom 1: Tanggal + Jam */} +
      + {formatCustomDate(manifest.datetime)} +
      + + {/* Kolom 2: Bullet/Poin */} +
      - )} +
      - - {manifests.delivered == true && - index == 0 && - manifests.isBiteship == false && ( -

      - Sudah Sampai -

      - )} - {manifests.isBiteship == true && ( -

      - {capitalizeWords(manifest.status)} + {/* Kolom 3: Status dan Deskripsi */} +

      +

      + {manifests?.deliveryOrder.carrier != 'Self Pick Up' ? capitalizeWords(manifest.status) : ''}

      - )} -

      - {manifest.description} -

      +

      +

    2. - - ))} + ); + })}
    -- cgit v1.2.3 From 900372920d521ee940b141646381d363d487e4d0 Mon Sep 17 00:00:00 2001 From: trisusilo48 Date: Mon, 14 Apr 2025 16:47:04 +0700 Subject: transaction --- .../treckingAwb/component/InformationSection.jsx | 73 ++++++++++++++++++++++ src/lib/treckingAwb/component/Manifest.jsx | 71 +-------------------- 2 files changed, 76 insertions(+), 68 deletions(-) create mode 100644 src/lib/treckingAwb/component/InformationSection.jsx (limited to 'src/lib/treckingAwb/component') diff --git a/src/lib/treckingAwb/component/InformationSection.jsx b/src/lib/treckingAwb/component/InformationSection.jsx new file mode 100644 index 00000000..41386683 --- /dev/null +++ b/src/lib/treckingAwb/component/InformationSection.jsx @@ -0,0 +1,73 @@ +import { useState } from "react"; +import toast from "react-hot-toast"; + +const InformationSection = ({ manifests }) => { + const [copied, setCopied] = useState(false); + + const handleCopyClick = () => { + const textToCopy = manifests?.waybillNumber; + navigator.clipboard.writeText(textToCopy); + setCopied(true); + toast.success('No Resi Berhasil di Copy'); + setTimeout(() => setCopied(false), 2000); // Reset copied state after 2 seconds + }; + + return ( +
    +
    +
    + Nomor Resi +
    + : {manifests?.waybillNumber} + +
    +
    +
    + Kurir + + {' '} + : {manifests?.deliveryOrder.carrier} + +
    +
    + Jenis Service + + {' '} + : {manifests?.deliveryOrder.service} + +
    +
    + Tanggal Dikirim + : {manifests?.deliveredDate} +
    +
    + Estimasi Tiba + + :{' '} + {manifests?.eta} + +
    +
    +
    + ); +}; + +export default InformationSection; diff --git a/src/lib/treckingAwb/component/Manifest.jsx b/src/lib/treckingAwb/component/Manifest.jsx index fa998bd3..e2251e3e 100644 --- a/src/lib/treckingAwb/component/Manifest.jsx +++ b/src/lib/treckingAwb/component/Manifest.jsx @@ -6,6 +6,7 @@ import { useEffect, useState } from 'react'; import { toast } from 'react-hot-toast'; import ImageNext from 'next/image'; import { list } from 'postcss'; +import InformationSection from './InformationSection'; function capitalizeFirstLetter(str) { return str.charAt(0).toUpperCase() + str.slice(1); @@ -71,16 +72,6 @@ const Manifest = ({ idAWB, closePopup }) => { } }, [idAWB]); - const [copied, setCopied] = useState(false); - - const handleCopyClick = () => { - const textToCopy = manifests?.waybillNumber; - navigator.clipboard.writeText(textToCopy); - setCopied(true); - toast.success('No Resi Berhasil di Copy'); - setTimeout(() => setCopied(false), 2000); // Reset copied state after 2 seconds - }; - return ( <> {isLoading && ( @@ -129,64 +120,8 @@ const Manifest = ({ idAWB, closePopup }) => { )}
-
-
-
- Nomor Resi -
- - : {manifests?.waybillNumber}{' '} - - -
-
-
- Kurir - - {' '} - : {manifests?.deliveryOrder.carrier} - -
-
- Jenis Service - - {' '} - : {manifests?.deliveryOrder.service} - -
-
- Tanggal Dikirim - : {manifests?.deliveredDate} -
-
- Estimasi Tiba - - :{' '} - - {manifests?.eta} - - -
-
-
+ +
{manifests?.isDelay && (
Date: Mon, 21 Apr 2025 13:05:57 +0700 Subject: fedback renca --- src/lib/treckingAwb/component/InformationSection.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/lib/treckingAwb/component') diff --git a/src/lib/treckingAwb/component/InformationSection.jsx b/src/lib/treckingAwb/component/InformationSection.jsx index 41386683..87fb05f4 100644 --- a/src/lib/treckingAwb/component/InformationSection.jsx +++ b/src/lib/treckingAwb/component/InformationSection.jsx @@ -1,7 +1,7 @@ import { useState } from "react"; import toast from "react-hot-toast"; -const InformationSection = ({ manifests }) => { +const InformationSection = ({ manifests, source = "tracking" }) => { const [copied, setCopied] = useState(false); const handleCopyClick = () => { -- cgit v1.2.3 From 71ca9d6c85871b6bcb2976ed4911032aab4d32e7 Mon Sep 17 00:00:00 2001 From: trisusilo48 Date: Thu, 24 Apr 2025 13:53:32 +0700 Subject: fixing revisi renca --- src/lib/treckingAwb/component/InformationSection.jsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/lib/treckingAwb/component') diff --git a/src/lib/treckingAwb/component/InformationSection.jsx b/src/lib/treckingAwb/component/InformationSection.jsx index 87fb05f4..bb37d4ae 100644 --- a/src/lib/treckingAwb/component/InformationSection.jsx +++ b/src/lib/treckingAwb/component/InformationSection.jsx @@ -1,7 +1,7 @@ import { useState } from "react"; import toast from "react-hot-toast"; -const InformationSection = ({ manifests, source = "tracking" }) => { +const InformationSection = ({ manifests}) => { const [copied, setCopied] = useState(false); const handleCopyClick = () => { @@ -44,14 +44,14 @@ const InformationSection = ({ manifests, source = "tracking" }) => { Kurir {' '} - : {manifests?.deliveryOrder.carrier} + : {manifests?.deliveryOrder?.carrier}
Jenis Service {' '} - : {manifests?.deliveryOrder.service} + : {manifests?.deliveryOrder?.service}
-- cgit v1.2.3 From ca05a70e98e9066882de6394ffbd89db7af2cb9d Mon Sep 17 00:00:00 2001 From: trisusilo48 Date: Tue, 29 Apr 2025 09:14:44 +0700 Subject: add button live tracking --- src/lib/treckingAwb/component/Manifest.jsx | 44 +++++++++++++++++++++++++++--- 1 file changed, 40 insertions(+), 4 deletions(-) (limited to 'src/lib/treckingAwb/component') diff --git a/src/lib/treckingAwb/component/Manifest.jsx b/src/lib/treckingAwb/component/Manifest.jsx index e2251e3e..acb86f57 100644 --- a/src/lib/treckingAwb/component/Manifest.jsx +++ b/src/lib/treckingAwb/component/Manifest.jsx @@ -7,6 +7,7 @@ import { toast } from 'react-hot-toast'; import ImageNext from 'next/image'; import { list } from 'postcss'; import InformationSection from './InformationSection'; +import Link from 'next/link'; function capitalizeFirstLetter(str) { return str.charAt(0).toUpperCase() + str.slice(1); @@ -19,6 +20,19 @@ function capitalizeWords(str) { .join(' '); } +function mappingLiveTracking(kurir, resi){ + let url = null + switch (kurir){ + case('grab'): + url = 'https://express.grab.com/track/orders?ids='+resi + break; + default: + url = false + } + + return url +} + const Manifest = ({ idAWB, closePopup }) => { const [manifests, setManifests] = useState(null); const [isLoading, setIsLoading] = useState(false); @@ -63,7 +77,7 @@ const Manifest = ({ idAWB, closePopup }) => { setManifests(list); setIsLoading(false); }; - console.log(manifests); + useEffect(() => { if (idAWB) { getManifest(); @@ -72,6 +86,8 @@ const Manifest = ({ idAWB, closePopup }) => { } }, [idAWB]); + const isLiveTracking = mappingLiveTracking(manifests?.deliveryOrder?.carrier.toLowerCase(), manifests?.waybillNumber) + return ( <> {isLoading && ( @@ -121,7 +137,7 @@ const Manifest = ({ idAWB, closePopup }) => {
- +
{manifests?.isDelay && (
{ : ''; return ( -
  • +
  • {/* Kolom 1: Tanggal + Jam */}
    {formatCustomDate(manifest.datetime)} @@ -173,7 +192,9 @@ const Manifest = ({ idAWB, closePopup }) => { {/* Kolom 3: Status dan Deskripsi */}

    - {manifests?.deliveryOrder.carrier != 'Self Pick Up' ? capitalizeWords(manifest.status) : ''} + {manifests?.deliveryOrder.carrier != 'Self Pick Up' + ? capitalizeWords(manifest.status) + : ''}

    { })}

    +
    + { + isLiveTracking && + manifests?.status === 'shipment' && ( + + Live Tracking + + ) + } +
    )} -- cgit v1.2.3 From 907deb7ca6589b83203b2352a3dd02b631696848 Mon Sep 17 00:00:00 2001 From: Miqdad Date: Mon, 9 Jun 2025 20:36:58 +0700 Subject: add barang in information section --- src/lib/treckingAwb/component/InformationSection.jsx | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'src/lib/treckingAwb/component') diff --git a/src/lib/treckingAwb/component/InformationSection.jsx b/src/lib/treckingAwb/component/InformationSection.jsx index bb37d4ae..082939b7 100644 --- a/src/lib/treckingAwb/component/InformationSection.jsx +++ b/src/lib/treckingAwb/component/InformationSection.jsx @@ -1,7 +1,7 @@ -import { useState } from "react"; -import toast from "react-hot-toast"; +import { useState } from 'react'; +import toast from 'react-hot-toast'; -const InformationSection = ({ manifests}) => { +const InformationSection = ({ manifests }) => { const [copied, setCopied] = useState(false); const handleCopyClick = () => { @@ -40,6 +40,10 @@ const InformationSection = ({ manifests}) => {
  • +
    + Kurir + : {manifests?.products} +
    Kurir -- cgit v1.2.3