feat:fix communication detail
This commit is contained in:
parent
8c179ecfc8
commit
f7b3c05a27
|
|
@ -66,7 +66,7 @@ export default function Questions() {
|
||||||
<Icon icon="ic:baseline-email" width={22} color="#2563eb" />
|
<Icon icon="ic:baseline-email" width={22} color="#2563eb" />
|
||||||
Email
|
Email
|
||||||
</Link>
|
</Link>
|
||||||
<Link
|
{/* <Link
|
||||||
href="/supervisor/communications/questions/facebook"
|
href="/supervisor/communications/questions/facebook"
|
||||||
className="flex items-center gap-3"
|
className="flex items-center gap-3"
|
||||||
>
|
>
|
||||||
|
|
@ -89,7 +89,7 @@ export default function Questions() {
|
||||||
color="#2563eb"
|
color="#2563eb"
|
||||||
/>
|
/>
|
||||||
Instagram
|
Instagram
|
||||||
</Link>
|
</Link> */}
|
||||||
<Link
|
<Link
|
||||||
href="/supervisor/communications/questions/whatsapp"
|
href="/supervisor/communications/questions/whatsapp"
|
||||||
className="flex items-center gap-3"
|
className="flex items-center gap-3"
|
||||||
|
|
@ -97,13 +97,13 @@ export default function Questions() {
|
||||||
<Icon icon="ri:whatsapp-fill" width={24} color="#2563eb" />
|
<Icon icon="ri:whatsapp-fill" width={24} color="#2563eb" />
|
||||||
Whatsapp
|
Whatsapp
|
||||||
</Link>
|
</Link>
|
||||||
<Link
|
{/* <Link
|
||||||
href="/supervisor/communications/questions/youtube"
|
href="/supervisor/communications/questions/youtube"
|
||||||
className="flex items-center gap-3"
|
className="flex items-center gap-3"
|
||||||
>
|
>
|
||||||
<Icon icon="mdi:youtube" width={24} color="#2563eb" />
|
<Icon icon="mdi:youtube" width={24} color="#2563eb" />
|
||||||
Youtube
|
Youtube
|
||||||
</Link>
|
</Link> */}
|
||||||
<Link
|
<Link
|
||||||
href="/supervisor/communications/questions/inbox"
|
href="/supervisor/communications/questions/inbox"
|
||||||
className="flex items-center gap-3"
|
className="flex items-center gap-3"
|
||||||
|
|
|
||||||
|
|
@ -31,6 +31,8 @@ import { Icon } from "@iconify/react/dist/iconify.js";
|
||||||
import { Link } from "@/i18n/routing";
|
import { Link } from "@/i18n/routing";
|
||||||
import { loading } from "@/lib/swal";
|
import { loading } from "@/lib/swal";
|
||||||
import { id } from "date-fns/locale";
|
import { id } from "date-fns/locale";
|
||||||
|
import { htmlToString } from "@/utils/globals";
|
||||||
|
import InfoLainnyaModal from "../ticketing/info-lainnya";
|
||||||
|
|
||||||
const taskSchema = z.object({
|
const taskSchema = z.object({
|
||||||
title: z.string().min(1, { message: "Judul diperlukan" }),
|
title: z.string().min(1, { message: "Judul diperlukan" }),
|
||||||
|
|
@ -63,6 +65,7 @@ export default function FormDetailEscalation() {
|
||||||
const [listDiscussion, setListDiscussion] = useState();
|
const [listDiscussion, setListDiscussion] = useState();
|
||||||
const [message, setMessage] = useState("");
|
const [message, setMessage] = useState("");
|
||||||
const [selectedPriority, setSelectedPriority] = useState("");
|
const [selectedPriority, setSelectedPriority] = useState("");
|
||||||
|
const [openEmergencyModal, setOpenEmergencyModal] = useState(false);
|
||||||
const [replyMessage, setReplyMessage] = useState("");
|
const [replyMessage, setReplyMessage] = useState("");
|
||||||
const [replies, setReplies] = useState([
|
const [replies, setReplies] = useState([
|
||||||
{
|
{
|
||||||
|
|
@ -136,6 +139,10 @@ export default function FormDetailEscalation() {
|
||||||
setReplyMessage("");
|
setReplyMessage("");
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const openEmergencyIssueDetail = () => {
|
||||||
|
setOpenEmergencyModal(true);
|
||||||
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
<div className="flex">
|
<div className="flex">
|
||||||
|
|
@ -179,6 +186,29 @@ export default function FormDetailEscalation() {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<p className="p-5 bg-white">{detail.message}</p>
|
<p className="p-5 bg-white">{detail.message}</p>
|
||||||
|
<div className="px-4 py-1 bg-white text-sm">
|
||||||
|
{detail?.typeId === 6 && detail?.emergencyIssue ? (
|
||||||
|
<div className="row mx-0 mb-3 emergency-attachments">
|
||||||
|
<div className=" mr-4">
|
||||||
|
<Button
|
||||||
|
color="primary"
|
||||||
|
size="md"
|
||||||
|
onClick={openEmergencyIssueDetail}
|
||||||
|
>
|
||||||
|
Info Lainnya
|
||||||
|
</Button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
) : null}
|
||||||
|
|
||||||
|
{detail?.emergencyIssue && (
|
||||||
|
<InfoLainnyaModal
|
||||||
|
open={openEmergencyModal}
|
||||||
|
onClose={() => setOpenEmergencyModal(false)}
|
||||||
|
data={detail.emergencyIssue}
|
||||||
|
/>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -45,6 +45,8 @@ import {
|
||||||
import { ChevronDownIcon } from "lucide-react";
|
import { ChevronDownIcon } from "lucide-react";
|
||||||
import { getOperatorUser } from "@/service/management-user/management-user";
|
import { getOperatorUser } from "@/service/management-user/management-user";
|
||||||
import { getCookiesDecrypt } from "@/lib/utils";
|
import { getCookiesDecrypt } from "@/lib/utils";
|
||||||
|
import { htmlToString } from "@/utils/globals";
|
||||||
|
import InfoLainnyaModal from "../ticketing/info-lainnya";
|
||||||
|
|
||||||
const taskSchema = z.object({
|
const taskSchema = z.object({
|
||||||
title: z.string().min(1, { message: "Judul diperlukan" }),
|
title: z.string().min(1, { message: "Judul diperlukan" }),
|
||||||
|
|
|
||||||
|
|
@ -603,7 +603,6 @@ export default function FormQuestionsReply() {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
disabled
|
|
||||||
/>
|
/>
|
||||||
<span>{op.label}</span>
|
<span>{op.label}</span>
|
||||||
</label>
|
</label>
|
||||||
|
|
|
||||||
|
|
@ -588,6 +588,7 @@ export default function FormDetailTicketing() {
|
||||||
<input
|
<input
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
checked={selectedOperator.includes(op.value)}
|
checked={selectedOperator.includes(op.value)}
|
||||||
|
disabled
|
||||||
onChange={(e) => {
|
onChange={(e) => {
|
||||||
if (e.target.checked) {
|
if (e.target.checked) {
|
||||||
setSelectedOperator((prev) => [
|
setSelectedOperator((prev) => [
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue