diff --git a/src/hooks/useTitle.ts b/src/hooks/useTitle.ts new file mode 100644 index 0000000..28f5b29 --- /dev/null +++ b/src/hooks/useTitle.ts @@ -0,0 +1,7 @@ +import React from "react"; + +export default function useTitle(title: string) { + React.useEffect(() => { + document.title = `NAM | ${title}` + }, [title]) +} diff --git a/src/pages/Backbone.tsx b/src/pages/Backbone.tsx index a4c184f..c1ec796 100644 --- a/src/pages/Backbone.tsx +++ b/src/pages/Backbone.tsx @@ -12,6 +12,7 @@ import ReactTable from "../components/ReactTable"; import IconButton from "../components/IconButton"; import { Edit } from "iconsax-react"; import { ColumnDef } from "@tanstack/react-table"; +import useTitle from "../hooks/useTitle"; interface UserData { backbone: string; @@ -22,6 +23,8 @@ interface UserData { } export default function Backbone() { + useTitle("Backbone"); + const data: UserData[] = [ { backbone: "BB-BDG-SMD", device_start: "DV-CODE-1", device_end: "DV-CODE-2", total_core: "24 Core", total_fishbone: "3" }, { backbone: "BB-BDG-SBG", device_start: "DV-CODE-3", device_end: "DV-CODE-4", total_core: "24 Core", total_fishbone: "5" }, diff --git a/src/pages/Dashboard.tsx b/src/pages/Dashboard.tsx index cf8413a..c45ec2c 100644 --- a/src/pages/Dashboard.tsx +++ b/src/pages/Dashboard.tsx @@ -1,4 +1,8 @@ +import useTitle from "../hooks/useTitle"; + export default function Dashboard() { + useTitle("Dashboard"); + return (
Dashboard diff --git a/src/pages/Devices.tsx b/src/pages/Devices.tsx index d8d7168..76aa1c8 100644 --- a/src/pages/Devices.tsx +++ b/src/pages/Devices.tsx @@ -12,6 +12,7 @@ import ReactTable from "../components/ReactTable"; import { ColumnDef } from "@tanstack/react-table"; import IconButton from "../components/IconButton"; import { Edit } from "iconsax-react"; +import useTitle from "../hooks/useTitle"; interface UserData { device_code: string; @@ -22,6 +23,8 @@ interface UserData { } export default function Devices() { + useTitle("Devices"); + const data: UserData[] = [ { device_code: 'DV-CODE-1', device_type: "OTB", address: "Jl. Contoh 1", port_amount: '16', status: "Active" }, { device_code: 'DV-CODE-2', device_type: "OTB", address: "Jl. Contoh 2", port_amount: '16', status: "Active" }, diff --git a/src/pages/Fishbone.tsx b/src/pages/Fishbone.tsx index dcb63a4..195b9c6 100644 --- a/src/pages/Fishbone.tsx +++ b/src/pages/Fishbone.tsx @@ -12,6 +12,7 @@ import ReactTable from "../components/ReactTable"; import { ColumnDef } from "@tanstack/react-table"; import IconButton from "../components/IconButton"; import { Edit } from "iconsax-react"; +import useTitle from "../hooks/useTitle"; interface UserData { backbone: string; @@ -21,6 +22,8 @@ interface UserData { } export default function Fishbone() { + useTitle("Fishbone"); + const data: UserData[] = [ { backbone: 'BB-BDG-SMD', device_start: "DV-CODE-1", device_end: "DV-CODE-2", total_core: '24 Core', }, { backbone: 'BB-BDG-SBG', device_start: "DV-CODE-3", device_end: "DV-CODE-4", total_core: '24 Core', }, diff --git a/src/pages/Towers.tsx b/src/pages/Towers.tsx index 4cf51c5..78eb1ed 100644 --- a/src/pages/Towers.tsx +++ b/src/pages/Towers.tsx @@ -12,6 +12,7 @@ import ReactTable from "../components/ReactTable"; import { ColumnDef } from "@tanstack/react-table"; import IconButton from "../components/IconButton"; import { Edit } from "iconsax-react"; +import useTitle from "../hooks/useTitle"; interface UserData { tower_code: string; @@ -20,6 +21,8 @@ interface UserData { } export default function Towers() { + useTitle("Towers"); + const data: UserData[] = [ { tower_code: 'TW-CODE-1', device: "DV-CODE-1", address: "Jl. Contoh 1" }, { tower_code: 'TW-CODE-2', device: "DV-CODE-2", address: "Jl. Contoh 2" }, diff --git a/src/pages/auth/Login.tsx b/src/pages/auth/Login.tsx index a8f4d93..6796a3f 100644 --- a/src/pages/auth/Login.tsx +++ b/src/pages/auth/Login.tsx @@ -8,8 +8,11 @@ import Typography from "@mui/material/Typography"; import Grid from "@mui/material/Grid2"; import { useNavigate } from "react-router"; import { useAuthStore } from "../../stores/authStore"; +import useTitle from "../../hooks/useTitle"; export default function Login() { + useTitle("Login"); + let navigate = useNavigate(); const { login, token, isLoading, error } = useAuthStore(); diff --git a/src/stores/storage.ts b/src/stores/storage.ts index 3c76413..8e0333e 100644 --- a/src/stores/storage.ts +++ b/src/stores/storage.ts @@ -1,3 +1,4 @@ +import CryptoJS from "crypto-js"; import { StateStorage } from "zustand/middleware"; const KEY = import.meta.env.VITE_APP_KEY;