feat:cookies encrypt

This commit is contained in:
Rama Priyanto 2025-08-29 20:01:29 +07:00
parent 07d6eb9fa6
commit e18bbace7a
24 changed files with 54 additions and 39 deletions

View File

@ -1,6 +1,6 @@
"use client"; "use client";
import { HumasLayout } from "@/components/layout/humas-layout"; import HumasLayout from "@/components/layout/humas-layout";
export default function DocsLayout({ export default function DocsLayout({
children, children,

View File

@ -1,4 +1,4 @@
import { HumasLayout } from "@/components/layout/humas-layout"; import HumasLayout from "@/components/layout/humas-layout";
import ListEnewsPolri from "@/components/table/tabel-emajalah-polri"; import ListEnewsPolri from "@/components/table/tabel-emajalah-polri";
export default function ListEnewsPage() { export default function ListEnewsPage() {

View File

@ -1,4 +1,4 @@
import { HumasLayout } from "@/components/layout/humas-layout"; import HumasLayout from "@/components/layout/humas-layout";
export default function DetailEMajalahLayout({ export default function DetailEMajalahLayout({
children, children,

View File

@ -1,5 +1,5 @@
"use client"; "use client";
import { HumasLayout } from "@/components/layout/humas-layout"; import HumasLayout from "@/components/layout/humas-layout";
import EMagazineDetail from "@/components/main/detail/e-magazine-detail"; import EMagazineDetail from "@/components/main/detail/e-magazine-detail";
import React, { Suspense, useEffect, useState } from "react"; import React, { Suspense, useEffect, useState } from "react";

View File

@ -1,5 +1,5 @@
"use client"; "use client";
import { HumasLayout } from "@/components/layout/humas-layout"; import HumasLayout from "@/components/layout/humas-layout";
export default function ApplicationLayout({ export default function ApplicationLayout({
children, children,

View File

@ -1,5 +1,5 @@
"use client"; "use client";
import { HumasLayout } from "@/components/layout/humas-layout"; import HumasLayout from "@/components/layout/humas-layout";
export default function KontakLayout({ export default function KontakLayout({
children, children,

View File

@ -1,7 +1,7 @@
"use client"; "use client";
import ListNews from "@/components/main/detail/list-news"; import ListNews from "@/components/main/detail/list-news";
import React, { useEffect, useState } from "react"; import React, { useEffect, useState } from "react";
import { HumasLayout } from "@/components/layout/humas-layout"; import HumasLayout from "@/components/layout/humas-layout";
export default function ListNewsPage() { export default function ListNewsPage() {
const [hasMounted, setHasMounted] = useState(false); const [hasMounted, setHasMounted] = useState(false);

View File

@ -1,5 +1,4 @@
"use server"; import HumasLayout from "@/components/layout/humas-layout";
import { HumasLayout } from "@/components/layout/humas-layout";
import DetailPage from "@/components/main/detail/new-detail"; import DetailPage from "@/components/main/detail/new-detail";
import { getArticleById } from "@/services/article"; import { getArticleById } from "@/services/article";
import { Metadata } from "next"; import { Metadata } from "next";

View File

@ -1,6 +1,6 @@
import ListNews from "@/components/main/detail/list-news"; import ListNews from "@/components/main/detail/list-news";
import React from "react"; import React from "react";
import { HumasLayout } from "@/components/layout/humas-layout"; import HumasLayout from "@/components/layout/humas-layout";
export default function PoldaNewsPage() { export default function PoldaNewsPage() {
// return <ListNews />; // return <ListNews />;

View File

@ -1,6 +1,6 @@
import ListNews from "@/components/main/detail/list-news"; import ListNews from "@/components/main/detail/list-news";
import React from "react"; import React from "react";
import { HumasLayout } from "@/components/layout/humas-layout"; import HumasLayout from "@/components/layout/humas-layout";
export default function PoldaNewsPage() { export default function PoldaNewsPage() {
// return <ListNews />; // return <ListNews />;

View File

@ -1,5 +1,5 @@
"use client"; "use client";
import { HumasLayout } from "@/components/layout/humas-layout"; import HumasLayout from "@/components/layout/humas-layout";
export default function PropimLayout({ export default function PropimLayout({
children, children,

View File

@ -1,6 +1,6 @@
"use client"; "use client";
import { HumasLayout } from "@/components/layout/humas-layout"; import HumasLayout from "@/components/layout/humas-layout";
import { getCustomStaticDetailBySlug } from "@/services/static-page-service"; import { getCustomStaticDetailBySlug } from "@/services/static-page-service";
import { Card, CircularProgress } from "@heroui/react"; import { Card, CircularProgress } from "@heroui/react";
import { useParams } from "next/navigation"; import { useParams } from "next/navigation";

View File

@ -1,5 +1,5 @@
"use client"; "use client";
import { HumasLayout } from "@/components/layout/humas-layout"; import HumasLayout from "@/components/layout/humas-layout";
export default function StrukturLayout({ export default function StrukturLayout({
children, children,

View File

@ -1,5 +1,5 @@
"use client"; "use client";
import { HumasLayout } from "@/components/layout/humas-layout"; import HumasLayout from "@/components/layout/humas-layout";
export default function AboutLayout({ export default function AboutLayout({
children, children,

View File

@ -1,5 +1,5 @@
"use client"; "use client";
import { HumasLayout } from "@/components/layout/humas-layout"; import HumasLayout from "@/components/layout/humas-layout";
export default function TaskLayout({ export default function TaskLayout({
children, children,

View File

@ -1,5 +1,5 @@
"use client"; "use client";
import { HumasLayout } from "@/components/layout/humas-layout"; import HumasLayout from "@/components/layout/humas-layout";
export default function VisiMisiLayout({ export default function VisiMisiLayout({
children, children,

View File

@ -20,7 +20,11 @@ import Cookies from "js-cookie";
export default function FooterNew(props: { margin?: boolean }) { export default function FooterNew(props: { margin?: boolean }) {
const [emailValue, setEmailValue] = useState(""); const [emailValue, setEmailValue] = useState("");
const [accessToken, setAccessToken] = useState<any>();
useEffect(() => {
const accessToken = Cookies.get("access_token"); const accessToken = Cookies.get("access_token");
setAccessToken(accessToken);
}, []);
const doSubscribe = async () => { const doSubscribe = async () => {
const isValidEmail = (email: string): boolean => { const isValidEmail = (email: string): boolean => {

View File

@ -9,8 +9,7 @@ import FooterNew from "../landing/footer-new";
interface Props { interface Props {
children: React.ReactNode; children: React.ReactNode;
} }
const HumasLayout = ({ children }: Props) => {
export const HumasLayout = ({ children }: Props) => {
const [hasMounted, setHasMounted] = useState(false); const [hasMounted, setHasMounted] = useState(false);
useEffect(() => { useEffect(() => {
@ -32,3 +31,5 @@ export const HumasLayout = ({ children }: Props) => {
</section> </section>
); );
}; };
export default HumasLayout;

View File

@ -61,19 +61,16 @@ export default function NavbarHumas(props: { size: string }) {
const [isOpen, setIsOpen] = useState(false); const [isOpen, setIsOpen] = useState(false);
const router = useRouter(); const router = useRouter();
// const t = useTranslations("Navbar"); // const t = useTranslations("Navbar");
const token = Cookies.get("access_token");
const isAuthenticated = Cookies.get("is_authenticated");
const [isScrolled, setIsScrolled] = useState(false); const [isScrolled, setIsScrolled] = useState(false);
const [search, setSearch] = useState(""); const [search, setSearch] = useState("");
const [token, setToken] = useState<any>();
const language = storedLanguage((state) => state.locale); const language = storedLanguage((state) => state.locale);
const setLanguage = storedLanguage((state) => state.setLocale); const setLanguage = storedLanguage((state) => state.setLocale);
// useEffect(() => { useEffect(() => {
// if (!isAuthenticated) { const token = Cookies.get("access_token");
// onLogout(); setToken(token);
// } }, []);
// }, [token]);
const onLogout = () => { const onLogout = () => {
Object.keys(Cookies.get()).forEach((cookieName) => { Object.keys(Cookies.get()).forEach((cookieName) => {

View File

@ -23,9 +23,6 @@ import { SendIcon, TimesIcon } from "@/components/icons";
import { saveActivity } from "@/services/activity-log"; import { saveActivity } from "@/services/activity-log";
import { usePathname } from "next/navigation"; import { usePathname } from "next/navigation";
const userId = getCookiesDecrypt("uie");
const token = Cookies.get("access_token");
const commentSchema = z.object({ const commentSchema = z.object({
name: z.string().min(1, { name: z.string().min(1, {
message: "Judul harus diisi", message: "Judul harus diisi",
@ -54,6 +51,16 @@ export default function Comment(props: { id: string | null }) {
const [editCommentId, setEditCommentId] = useState(0); const [editCommentId, setEditCommentId] = useState(0);
const [replyValue, setReplyValue] = useState(""); const [replyValue, setReplyValue] = useState("");
const [editValue, setEditValue] = useState(""); const [editValue, setEditValue] = useState("");
const [userId, setUserId] = useState<any>();
const [token, setToken] = useState<any>();
useEffect(() => {
const userId = getCookiesDecrypt("uie");
const token = Cookies.get("access_token");
setUserId(userId);
setToken(token);
}, []);
const formOptions = { const formOptions = {
resolver: zodResolver(commentSchema), resolver: zodResolver(commentSchema),
}; };

View File

@ -14,16 +14,18 @@ import Cookies from "js-cookie";
import Head from "next/head"; import Head from "next/head";
import { getCookiesDecrypt } from "@/utils/global"; import { getCookiesDecrypt } from "@/utils/global";
const token = Cookies.get("access_token");
const uid = getCookiesDecrypt("uie");
export default function NewsDetailPage(props: { datas: any }) { export default function NewsDetailPage(props: { datas: any }) {
const params = useParams(); const params = useParams();
const id: any = params?.id; const id: any = params?.id;
const pathname = usePathname(); const pathname = usePathname();
const [detailArticle, setDetailArticle] = useState<any>(); const [detailArticle, setDetailArticle] = useState<any>();
const [articles, setArticles] = useState<any>([]); const [articles, setArticles] = useState<any>([]);
const [uid, setUid] = useState<any>("");
useEffect(() => {
const uid = getCookiesDecrypt("uie");
setUid(uid);
}, []);
useEffect(() => { useEffect(() => {
getArticles(); getArticles();
sendActivity(); sendActivity();
@ -43,6 +45,7 @@ export default function NewsDetailPage(props: { datas: any }) {
if (uid) { if (uid) {
req.userId = Number(uid); req.userId = Number(uid);
} }
const token = Cookies.get("access_token");
const resActivity = await saveActivity(req, token); const resActivity = await saveActivity(req, token);
}; };

View File

@ -28,9 +28,6 @@ import Cookies from "js-cookie";
import { saveActivity } from "@/services/activity-log"; import { saveActivity } from "@/services/activity-log";
import { Accordion, AccordionItem, Image } from "@heroui/react"; import { Accordion, AccordionItem, Image } from "@heroui/react";
const token = Cookies.get("access_token");
const uid = getCookiesDecrypt("uie");
export default function DetailNews(props: { data: any; listArticle: any }) { export default function DetailNews(props: { data: any; listArticle: any }) {
const { data, listArticle } = props; const { data, listArticle } = props;
const [prevArticle, setPrevArticle] = useState(""); const [prevArticle, setPrevArticle] = useState("");
@ -40,6 +37,15 @@ export default function DetailNews(props: { data: any; listArticle: any }) {
const params = useParams(); const params = useParams();
const id: any = params?.id; const id: any = params?.id;
const shareText = "Humas Polri"; const shareText = "Humas Polri";
const [uid, setUid] = useState<any>("");
const [token, setToken] = useState<any>("");
useEffect(() => {
const token = Cookies.get("access_token");
const uid = getCookiesDecrypt("uie");
setToken(token);
setUid(uid);
}, []);
const handleShare = async (platform: string) => { const handleShare = async (platform: string) => {
let shareLink = ""; let shareLink = "";

View File

@ -18,7 +18,6 @@ export default function RelatedNews(props: { categories: any }) {
useEffect(() => { useEffect(() => {
async function getArticle() { async function getArticle() {
console.log("categories", categories);
const idString = categories.map((item: any) => item.id).join(","); const idString = categories.map((item: any) => item.id).join(",");
const req = { const req = {

View File

@ -19,7 +19,6 @@
"name": "next" "name": "next"
} }
], ],
"types": ["node", "minimatch"],
"paths": { "paths": {
"@/*": ["./*"] "@/*": ["./*"]
}, },