fix: auto scroll in modal landing

This commit is contained in:
Sabda Yagra 2025-08-15 13:50:20 +07:00
parent fb976f01bb
commit bd5d87c7ce
2 changed files with 103 additions and 93 deletions

View File

@ -151,8 +151,10 @@ const EventModal = ({
satker: false, satker: false,
international: false, international: false,
}); });
const levelNumber = getCookiesDecrypt("ulne");
const [agendaType, setAgendaType] = React.useState(""); // State untuk agendaType const userLevelId = getCookiesDecrypt("ulie");
const poldaState = Cookies.get("state");
const [agendaType, setAgendaType] = React.useState("");
const [selectedPolda, setSelectedPolda] = useState<string[]>([]); const [selectedPolda, setSelectedPolda] = useState<string[]>([]);
const [selectedPolres, setSelectedPolres] = useState<string[]>([]); const [selectedPolres, setSelectedPolres] = useState<string[]>([]);
const [selectedSatker, setSelectedSatker] = useState<string[]>([]); const [selectedSatker, setSelectedSatker] = useState<string[]>([]);
@ -253,7 +255,7 @@ const EventModal = ({
useEffect(() => { useEffect(() => {
setIsDatePickerOpen(false); setIsDatePickerOpen(false);
}, [onClose]) }, [onClose]);
const handleCheckboxChange = (levelId: number) => { const handleCheckboxChange = (levelId: number) => {
setCheckedLevels((prev) => { setCheckedLevels((prev) => {
@ -393,13 +395,7 @@ const EventModal = ({
setIsAudioUploadFinish(true); setIsAudioUploadFinish(true);
} }
audioFiles.map(async (item: FileWithPreview, index: number) => { audioFiles.map(async (item: FileWithPreview, index: number) => {
await uploadResumableFile( await uploadResumableFile(index, String(id), item, "4", "0");
index,
String(id),
item,
"4",
"0"
);
}); });
if (publish) { if (publish) {
setIsPublishing(true); setIsPublishing(true);
@ -742,7 +738,10 @@ const EventModal = ({
</div> </div>
<div className="space-y-1.5"> <div className="space-y-1.5">
<Label htmlFor="date">Tanggal</Label> <Label htmlFor="date">Tanggal</Label>
<Popover open={isDatePickerOpen} onOpenChange={() => setIsDatePickerOpen(true)}> <Popover
open={isDatePickerOpen}
onOpenChange={() => setIsDatePickerOpen(true)}
>
<PopoverTrigger asChild> <PopoverTrigger asChild>
<Button <Button
variant="outline" variant="outline"
@ -789,26 +788,31 @@ const EventModal = ({
<div className="space-y-1.5"> <div className="space-y-1.5">
<Label htmlFor="wilayahPublish">Jenis Agenda</Label> <Label htmlFor="wilayahPublish">Jenis Agenda</Label>
<div className="flex flex-wrap items-center gap-2"> <div className="flex flex-wrap items-center gap-2">
<div> {roleId === 1 && (
<Checkbox <div>
id="semua" <Checkbox
checked={wilayahPublish.semua} id="semua"
onCheckedChange={() => toggleWilayah("semua")} checked={wilayahPublish.semua}
/> onCheckedChange={() => toggleWilayah("semua")}
<label htmlFor="semua" className="ml-2 text-sm"> />
Semua <label htmlFor="semua" className="ml-2 text-sm">
</label> Semua
</div> </label>
<div> </div>
<Checkbox )}
id="nasional" {roleId === 1 && (
checked={wilayahPublish.nasional} <div>
onCheckedChange={() => toggleWilayah("nasional")} <Checkbox
/> id="nasional"
<label htmlFor="nasional" className="ml-2 text-sm mr-2"> checked={wilayahPublish.nasional}
Nasional onCheckedChange={() => toggleWilayah("nasional")}
</label> />
</div> <label htmlFor="nasional" className="ml-2 text-sm mr-2">
Nasional
</label>
</div>
)}
<div> <div>
<Checkbox <Checkbox
id="polda" id="polda"
@ -829,59 +833,65 @@ const EventModal = ({
/> />
)} )}
</div> </div>
<div> {(roleId === 1 || roleId === 4 || roleId === 3) && (
<Checkbox <div>
id="polres" <Checkbox
checked={wilayahPublish.polres} id="polres"
onCheckedChange={() => toggleWilayah("polres")} checked={wilayahPublish.polres}
/> onCheckedChange={() => toggleWilayah("polres")}
<label htmlFor="polres" className="ml-2 text-sm mr-2">
Polres
</label>
{wilayahPublish.polres && (
<UnitMapping
unit="Polres"
isDetail={isDetailMode}
initData={selectedPolres}
sendDataToParent={(data: any) =>
setSelectedPolres(data)
}
/> />
)} <label htmlFor="polres" className="ml-2 text-sm mr-2">
</div> Polres
<div> </label>
<Checkbox {wilayahPublish.polres && (
id="satker" <UnitMapping
checked={wilayahPublish.satker} unit="Polres"
onCheckedChange={() => toggleWilayah("satker")} isDetail={isDetailMode}
/> initData={selectedPolres}
<label htmlFor="satker" className="mx-2 text-sm mr-2"> sendDataToParent={(data: any) =>
Satker setSelectedPolres(data)
</label> }
{wilayahPublish.satker && ( />
<UnitMapping )}
unit="Satker" </div>
isDetail={isDetailMode} )}
initData={selectedSatker} {(roleId === 1 || roleId === 2) && (
sendDataToParent={(data: any) => <div>
setSelectedSatker(data) <Checkbox
} id="satker"
checked={wilayahPublish.satker}
onCheckedChange={() => toggleWilayah("satker")}
/> />
)} <label htmlFor="satker" className="mx-2 text-sm mr-2">
</div> Satker
<div> </label>
<Checkbox {wilayahPublish.satker && (
id="international" <UnitMapping
checked={wilayahPublish.international} unit="Satker"
onCheckedChange={() => toggleWilayah("international")} isDetail={isDetailMode}
/> initData={selectedSatker}
<label sendDataToParent={(data: any) =>
htmlFor="international" setSelectedSatker(data)
className="ml-2 text-sm mr-2" }
> />
Internasional )}
</label> </div>
</div> )}
{roleId === 1 && (
<div>
<Checkbox
id="international"
checked={wilayahPublish.international}
onCheckedChange={() => toggleWilayah("international")}
/>
<label
htmlFor="international"
className="ml-2 text-sm mr-2"
>
Internasional
</label>
</div>
)}
</div> </div>
</div> </div>

View File

@ -162,7 +162,7 @@ const HeroModal = ({
pagination={{ dynamicBullets: true }} pagination={{ dynamicBullets: true }}
modules={[Pagination, Autoplay]} modules={[Pagination, Autoplay]}
onSwiper={(swiper) => (swiperRef.current = swiper)} onSwiper={(swiper) => (swiperRef.current = swiper)}
autoplay={{ delay: 3000 }} autoplay={{ delay: 10000 }}
className="mySwiper w-full" className="mySwiper w-full"
> >
{dataContent?.map((list: any) => ( {dataContent?.map((list: any) => (
@ -311,7 +311,7 @@ const HeroNew = (props: { group?: string }) => {
useEffect(() => { useEffect(() => {
const timer = setTimeout(() => { const timer = setTimeout(() => {
setIsLoading(false); setIsLoading(false);
}, 3000); }, 10000);
return () => clearTimeout(timer); return () => clearTimeout(timer);
}, []); }, []);