This commit is contained in:
Sabda Yagra 2025-07-04 12:32:55 +07:00
parent 19f1a59feb
commit 2bf469b721
7 changed files with 140 additions and 50 deletions

View File

@ -15,6 +15,8 @@ import { format } from "date-fns";
import { Link, useRouter } from "@/i18n/routing";
const columns: ColumnDef<any>[] = [
{
accessorKey: "no",
header: "Nos",
@ -62,11 +64,11 @@ const columns: ColumnDef<any>[] = [
accessorKey: "isActive",
header: "Status",
cell: ({ row }) => {
const isActive = row.getValue("isActive") as boolean; // Ambil nilai isActive
const status = isActive ? "Open" : "Closed"; // Tentukan teks berdasarkan isActive
const isActive = row.getValue("isActive") as boolean;
const status = isActive ? "Open" : "Closed";
const statusStyles = isActive
? "bg-green-100 text-green-600" // Gaya untuk "Open"
: "bg-red-100 text-red-600"; // Gaya untuk "Closed"
? "bg-green-100 text-green-600"
: "bg-red-100 text-red-600";
return (
<Badge className={`rounded-full px-5 ${statusStyles}`}>{status}</Badge>

View File

@ -129,7 +129,7 @@ export default function UsersCard(props: { team: any; fetchData: () => void }) {
{props?.team?.length}
</p>
</div>
<a onClick={() => setOpenSearch(!openSearch)}>
<a onClick={() => setOpenSearch(!openSearch)} className="cursor-pointer">
<Icon icon="material-symbols:search" width={24} />
</a>
</div>
@ -141,6 +141,7 @@ export default function UsersCard(props: { team: any; fetchData: () => void }) {
value={selectedUsers}
onChange={(selected) => setSelectedUsers(selected as UserOption[])}
placeholder="Select users"
className="cursor-pointer"
/>
{selectedUsers?.length > 0 && (

View File

@ -549,7 +549,7 @@ const FilterPage = () => {
onChange={(update) => {
setDateRange(update);
}}
placeholderText={t("searchDate")}
placeholderText={t("selectDate")}
onCalendarClose={() => setCalenderState(!calenderState)}
/>
<div className="flex items-center">

View File

@ -498,11 +498,11 @@ const Schedule = (props: any) => {
return (
<div className="text-left">
<p>
<b>{`${itemFound?.length} Jadwal Bersamaan`}</b>
<b>{t(`${itemFound?.length}simultaneousSchedule`)}</b>
</p>
<DropdownMenu>
<DropdownMenuTrigger className="font-bold text-blue-300">
Lihat Jadwal
{t("viewSchedule")}
</DropdownMenuTrigger>
<DropdownMenuContent>
{itemFound?.map((list: any) => (
@ -653,7 +653,7 @@ const Schedule = (props: any) => {
<div className="container-fluid relative">
<div className="grid grid-cols-1 mt-8">
<div className="relative block bg-white w-full dark:bg-slate-900 mx-auto">
<table className="w-full text-sm text-start">
<table className="w-full text-sm text-start table-fixed">
<thead className="text-md">
<tr className="h-full">
<th className="text-center border border-gray-100 dark:border-gray-700 py-6 min-w-[210px]">
@ -783,7 +783,7 @@ const Schedule = (props: any) => {
</svg>
</a> */}
</th>
<th className="text-center border-l-0 border border-gray-100 dark:border-gray-700 py-6 w-[20px]">
<th className="text-center border-l-0 border border-gray-100 dark:border-gray-700 pr-12 w-[20px]">
<a
onClick={() => changeNextWeek()}
className="cursor-pointer"
@ -925,7 +925,7 @@ const Schedule = (props: any) => {
{list?.startTime} - {list?.endTime} WIB
</p>
<p className="flex flex-row items-start gap-2 ">
<Icon icon="bxs:map" width={40} />
<Icon icon="bxs:map" />
{list?.address}
</p>
<p>{t("speaker")}</p>
@ -955,7 +955,7 @@ const Schedule = (props: any) => {
{list?.startTime} - {list?.endTime} WIB
</p>
<p className="flex flex-row items-start gap-2 ">
<Icon icon="bxs:map" width={40} />
<Icon icon="bxs:map" />
{list?.address}
</p>
<p>{t("speaker")}</p>
@ -985,7 +985,7 @@ const Schedule = (props: any) => {
{list?.startTime} - {list?.endTime} WIB
</p>
<p className="flex flex-row items-start gap-2 ">
<Icon icon="bxs:map" width={40} />
<Icon icon="bxs:map" />
{list?.address}
</p>
<p>{t("speaker")}</p>
@ -1073,7 +1073,7 @@ const Schedule = (props: any) => {
<AlertDialogHeader>
<AlertDialogTitle>
<h1 className="my-4 font-light">
JADWAL /{" "}
{t("timeTable1")}
{detail?.isYoutube == true ? "LIVE STREAMING" : "DETAIL"}
</h1>
<p className="font-bold">{detail?.title}</p>

View File

@ -57,41 +57,48 @@ const UserSurveyBox = () => {
});
const options = {
accessFrequency: [
"Setiap hari",
"Beberapa kali seminggu",
"Beberapa kali dalam sebulan",
"Baru pertama kali",
accessFrequency: [t("everyDay"), t("week"), t("month"), t("firstTime")],
uiExperienceDesign: [
t("veryGood"),
t("good"),
t("enough"),
t("notEnough"),
t("bad"),
],
uiExperienceDesign: ["Sangat baik", "Baik", "Cukup", "Kurang", "Buruk"],
uiExperienceNavigation: [
"Sangat mudah",
"Mudah",
"Cukup",
"Sulit",
"Sangat sulit",
t("veryEasy"),
t("easy"),
t("enough"),
t("difficult"),
t("veryDifficult"),
],
uiExperienceSpeed: [
"Sangat cepat",
"Cepat",
"Cukup",
"Lambat",
"Sangat lambat",
t("veryFast"),
t("fast"),
t("enough"),
t("slow"),
t("verySlow"),
],
infoAccuracy: [
t("verySatisfied"),
t("satisfied"),
t("enough"),
t("lessSatisfied"),
t("notSatisfied"),
],
infoAccuracy: ["Sangat puas", "Puas", "Cukup", "Kurang puas", "Tidak puas"],
infoCompleteness: [
"Sangat lengkap",
"Lengkap",
"Cukup",
"Kurang lengkap",
"Tidak lengkap",
t("veryComplete"),
t("completely"),
t("enough"),
t("incomplete"),
t("notComplete"),
],
usefulness: [
"Sangat membantu",
"Membantu",
"Cukup membantu",
"Kurang membantu",
"Tidak membantu",
t("veryHelpful"),
t("helping"),
t("quiteHelpful"),
t("lessHelpful"),
t("notHelpful"),
],
};
@ -201,17 +208,17 @@ const UserSurveyBox = () => {
<div className="space-y-3 mt-2">
{renderControllerGroup(
"uiExperienceDesign",
"a) Tampilan dan desain website",
t("websiteDesign"),
options.uiExperienceDesign
)}
{renderControllerGroup(
"uiExperienceNavigation",
"b) Kemudahan navigasi",
t("easeNavigation"),
options.uiExperienceNavigation
)}
{renderControllerGroup(
"uiExperienceSpeed",
"c) Kecepatan akses website",
t("speed"),
options.uiExperienceSpeed
)}
</div>
@ -222,12 +229,12 @@ const UserSurveyBox = () => {
<div className="space-y-3 mt-2">
{renderControllerGroup(
"infoAccuracy",
"a) Akurat dan terpercaya",
t("accurate"),
options.infoAccuracy
)}
{renderControllerGroup(
"infoCompleteness",
"b) Kelengkapan berita dan informasi",
t("complete"),
options.infoCompleteness
)}
</div>
@ -246,7 +253,7 @@ const UserSurveyBox = () => {
control={control}
render={({ field }) => (
<Textarea
placeholder="Tulis pesan Anda..."
placeholder={t("write")}
value={field.value}
onChange={field.onChange}
/>
@ -259,7 +266,7 @@ const UserSurveyBox = () => {
{t("cancel")}
</Button>
<Button type="submit" disabled={isLoading}>
{isLoading ? "Mengirim..." : "Kirim"}
{isLoading ? t("sending") : t("send")}
</Button>
</div>
</form>

View File

@ -596,7 +596,47 @@
"survey7": "2. How was your experience in accessing this website?",
"survey8": "3. How satisfied are you with the information available on the Polri MediaHub?",
"survey9": "4. Do you feel this website is helpful in getting information related to the Police?",
"survey10": "5. What are your suggestions or input?"
"survey10": "5. What are your suggestions or input?",
"everyDay": "Every Day",
"week": "Several times a week",
"month": "Several times a month",
"firstTime": "First time",
"veryGood": "Very Good",
"good": "Good",
"enough": "Enough",
"notEnough": "Not Enough",
"bad": "Bad",
"websiteDesign": "a) Website appearance and design",
"easeNavigation": "b) Ease of navigation",
"accurate": "a) Accurate and reliable",
"complete": "b) Completeness of news and information",
"write": "Write your message...",
"speed": "c) Website access speed",
"veryEasy": "Very Easy",
"easy": "Easy",
"difficult": "Difficult",
"veryDifficult": "Very Difficult",
"veryFast": "Very Fast",
"fast": "Fast",
"slow": "Slow",
"verySlow": "Very Slow",
"verySatisfied": "Very Satisfied",
"satisfied": "Satisfied",
"lessSatisfied": "Less Satisfied",
"notSatisfied": "Not Satisfied",
"veryComplete": "Very Complete",
"completely": "Complete",
"incomplete": "Incomplete",
"notComplete": "Not Complete",
"veryHelpful": "Very Helpful",
"helping": "Helpful",
"quiteHelpful": "Quite Helpful",
"lessHelpful": "Less Helpful",
"notHelpful": "Not helpful",
"sending": "Sending...",
"simultaneousSchedule": "Simultaneous Schedule",
"viewSchedule": "View Schedule",
"timeTable1": "TIMETABLE /"
},
"FilterPage": {
"image": "Image",

View File

@ -597,7 +597,47 @@
"survey7": "2. Bagaimana pengalaman Anda dalam mengakses website ini?",
"survey8": "3. Seberapa puas Anda dengan informasi yang tersedia di MediaHub Polri?",
"survey9": "4. Apakah Anda merasa website ini membantu dalam mendapatkan informasi terkait Polri?",
"survey10": "5. Apa saran atau masukan Anda?"
"survey10": "5. Apa saran atau masukan Anda?",
"everyDay": "Setiap Hari",
"week": "Beberapa kali seminggu",
"month": "Beberapa kali dalam sebulan",
"firstTime": "Pertama kali",
"veryGood": "Sangat Baik",
"good": "Baik",
"enough": "Cukup",
"notEnough": "Kurang",
"bad": "Buruk",
"websiteDesign": "a) Tampilan dan desain website",
"easeNavigation": "b) Kemudahan navigasi",
"accurate": "a) Akurat dan terpercaya",
"complete": "b) Kelengkapan berita dan informasi",
"write": "Tulis pesan Anda...",
"speed": "c) Kecepatan akses website",
"veryEasy": "Sangat Mudah",
"easy": "Mudah",
"difficult": "Sulit",
"veryDifficult": "Sangat Sulit",
"veryFast": "Sangat Cepat",
"fast": "Cepat",
"slow": "Lambat",
"verySlow": "Sangat Lambat",
"verySatisfied": "Sangat Puas",
"satisfied": "Puas",
"lessSatisfied": "Kurang Puas",
"notSatisfied": "Tidak Puas",
"veryComplete": "Sangat Lengkap",
"completely": "Lengkap",
"incomplete": "Kurang lengkap",
"notComplete": "Tidak lengkap",
"veryHelpful": "Sangat Membantu",
"helping": "Membantu",
"quiteHelpful": "Cukup Membantu",
"lessHelpful": "Kurang Membantu",
"notHelpful": "Tidak Membantu",
"sending": "Mengirim...",
"simultaneousSchedule": "Jadwal Bersamaan",
"viewSchedule": "Lihat Jadwal",
"timeTable1": "JADWAL /"
},
"FilterPage": {
"image": "Foto",