structure + layout header sidebar

This commit is contained in:
hamid zarghami
2025-10-14 13:06:18 +03:30
commit 31967a2ecb
53 changed files with 6362 additions and 0 deletions
+47
View File
@@ -0,0 +1,47 @@
const TOKEN_NAME = import.meta.env.VITE_TOKEN_NAME;
const REFRESH_TOKEN_NAME = import.meta.env.VITE_REFRESH_TOKEN_NAME;
export const getToken = () => {
return localStorage.getItem(TOKEN_NAME);
};
export const setToken = (token: string) => {
localStorage.setItem(TOKEN_NAME, token);
};
export const removeToken = () => {
localStorage.removeItem(TOKEN_NAME);
};
export const getRefreshToken = () => {
return localStorage.getItem(REFRESH_TOKEN_NAME);
};
export const setRefreshToken = (refreshToken: string) => {
localStorage.setItem(REFRESH_TOKEN_NAME, refreshToken);
};
export const removeRefreshToken = () => {
localStorage.removeItem(REFRESH_TOKEN_NAME);
};
export const timeAgo = (dateString: string): string => {
const date = new Date(dateString);
const now = new Date();
const diffInMs = now.getTime() - date.getTime();
const diffInMinutes = Math.floor(diffInMs / (1000 * 60));
const diffInHours = Math.floor(diffInMinutes / 60);
const diffInDays = Math.floor(diffInHours / 24);
if (diffInMinutes < 1) return "همین الان";
if (diffInMinutes < 60) return `${diffInMinutes} دقیقه پیش`;
if (diffInHours < 24) return `${diffInHours} ساعت پیش`;
if (diffInDays < 7) return `${diffInDays} روز پیش`;
return date.toLocaleDateString("fa-IR");
};
export const NumberFormat = (num?: number): string => {
if (!num) return "0";
return num.toLocaleString("fa-IR");
};