150 lines
4.6 KiB
JavaScript
150 lines
4.6 KiB
JavaScript
|
"use client"
|
||
|
import React, { useEffect } from "react";
|
||
|
import { usePathname } from "next/navigation";
|
||
|
|
||
|
|
||
|
function tanggal(a) {
|
||
|
var newDate = new Date();
|
||
|
if (a != undefined) {
|
||
|
if (a === "gugus") {
|
||
|
newDate = new Date(helper.sesiGet('tahun') + '-' + helper.sesiGet('bulan'));
|
||
|
} else {
|
||
|
newDate = new Date(a);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
var namaBulan = ['Januari', 'Februari', 'Maret', 'April', 'Mei', 'Juni', 'Juli', 'Agustus', 'September', 'Oktober', 'November', 'Desember'];
|
||
|
|
||
|
var namaHari = ['Minggu', 'Senin', 'Selasa', 'Rabu', 'Kamis', 'Jum`at', 'Sabtu'];
|
||
|
|
||
|
function buat(newDate) {
|
||
|
var year = newDate.getFullYear();
|
||
|
var month = (newDate.getMonth() + 1) + '';
|
||
|
var day = (newDate.getDate()) + '';
|
||
|
var format = '00';
|
||
|
var ansMonth = format.substring(0, format.length - month.length) + month;
|
||
|
var ansDay = format.substring(0, format.length - day.length) + day;
|
||
|
var dayKnow = ansDay + '-' + ansMonth + '-' + year;
|
||
|
if (a == null) {
|
||
|
return "";
|
||
|
} else {
|
||
|
return dayKnow;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function buatN(newDate) {
|
||
|
var year = newDate.getFullYear();
|
||
|
var month = newDate.getMonth();
|
||
|
var day = (newDate.getDate()) + '';
|
||
|
var format = '00';
|
||
|
var ansMonth = namaBulan[month];
|
||
|
var ansDay = format.substring(0, format.length - day.length) + day;
|
||
|
var dayKnow = ansDay + ' ' + ansMonth + ' ' + year;
|
||
|
if (a == null) {
|
||
|
return "";
|
||
|
} else {
|
||
|
return dayKnow;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function buatO(newDate) {
|
||
|
var year = newDate.getFullYear();
|
||
|
var month = (newDate.getMonth() + 1) + '';
|
||
|
var day = (newDate.getDate()) + '';
|
||
|
var format = '00';
|
||
|
var ansMonth = format.substring(0, format.length - month.length) + month;
|
||
|
var ansDay = format.substring(0, format.length - day.length) + day;
|
||
|
var dayKnow = year + '-' + ansMonth + '-' + ansDay;
|
||
|
return {
|
||
|
full: dayKnow,
|
||
|
day: newDate.getDay()
|
||
|
};
|
||
|
}
|
||
|
|
||
|
function buatNum(newDate) {
|
||
|
var year = newDate.getFullYear();
|
||
|
var month = (newDate.getMonth() + 1) + '';
|
||
|
var day = (newDate.getDate()) + '';
|
||
|
var format = '00';
|
||
|
var ansMonth = format.substring(0, format.length - month.length) + month;
|
||
|
var ansDay = format.substring(0, format.length - day.length) + day;
|
||
|
var dayKnow = year + ansMonth + ansDay;
|
||
|
return Number(dayKnow);
|
||
|
}
|
||
|
|
||
|
function buatC(newDate) {
|
||
|
var year = newDate.getFullYear();
|
||
|
var month = newDate.getMonth();
|
||
|
var day = newDate.getDate();
|
||
|
var dateK = new Date(year, month, day);
|
||
|
return dateK;
|
||
|
}
|
||
|
var date = new Date(),
|
||
|
y = date.getFullYear(),
|
||
|
m = date.getMonth();
|
||
|
var firstDay = new Date(newDate.getFullYear(), newDate.getMonth(), 1);
|
||
|
var lastDay = new Date(newDate.getFullYear(), newDate.getMonth() + 1, 0)
|
||
|
var returnData = {
|
||
|
oneDayMilisecond: 86400000,
|
||
|
milisecond: newDate.getTime(),
|
||
|
normal: buatO(newDate).full,
|
||
|
cek1: buatC(newDate),
|
||
|
sekarang: buat(newDate),
|
||
|
sekarang2: buatN(newDate),
|
||
|
cek2: buatC(firstDay),
|
||
|
normal2: buatO(firstDay).full,
|
||
|
awal: buat(firstDay),
|
||
|
awal2: buatN(firstDay),
|
||
|
akhir: buat(lastDay),
|
||
|
akhir2: buatN(lastDay),
|
||
|
cek3: buatC(lastDay),
|
||
|
normal3: buatO(lastDay).full,
|
||
|
angka: buatNum(newDate),
|
||
|
dayn: namaHari[buatO(newDate).day],
|
||
|
day: buatO(newDate).day,
|
||
|
day2n: namaHari[buatO(firstDay).day],
|
||
|
day2: buatO(firstDay).day,
|
||
|
day3n: namaHari[buatO(lastDay).day],
|
||
|
day3: buatO(lastDay).day
|
||
|
}
|
||
|
return returnData;
|
||
|
}
|
||
|
|
||
|
|
||
|
const Viewers = function({children}){
|
||
|
|
||
|
const pathname = usePathname();
|
||
|
|
||
|
useEffect(()=>{
|
||
|
let tokenuser = localStorage.getItem('token-user') ? localStorage.getItem('token-user'):null;
|
||
|
if(!localStorage.getItem('token-user')){
|
||
|
tokenuser = 'token-' + Date.now();
|
||
|
localStorage.setItem('token-user', tokenuser);
|
||
|
}
|
||
|
fetch("/api/viewers", {
|
||
|
method: "POST", // or 'PUT'
|
||
|
headers: {
|
||
|
"Content-Type": "application/json",
|
||
|
},
|
||
|
body: JSON.stringify({
|
||
|
id: tokenuser,
|
||
|
slug: pathname,
|
||
|
nilai: tanggal().normal
|
||
|
}),
|
||
|
})
|
||
|
.then(function(res){
|
||
|
return res.json()
|
||
|
})
|
||
|
.then(function(r){
|
||
|
})
|
||
|
.catch(function(r){
|
||
|
console.log(r)
|
||
|
})
|
||
|
},[pathname])
|
||
|
|
||
|
return <>
|
||
|
{children}
|
||
|
</>
|
||
|
}
|
||
|
|
||
|
export default Viewers;
|