Enhance session handling and improve data parsing; add safe date parsing utility

This commit is contained in:
2025-05-22 16:11:33 +02:00
parent efb5261c7d
commit ed6e5b0c36
11 changed files with 130 additions and 50 deletions

View File

@ -6,6 +6,8 @@ import { Company } from "../../lib/types";
export default function CompanySettingsPage() {
const { data: session, status } = useSession();
// We store the full company object for future use and updates after save operations
// eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars
const [company, setCompany] = useState<Company | null>(null);
const [csvUrl, setCsvUrl] = useState<string>("");
const [csvUsername, setCsvUsername] = useState<string>("");

View File

@ -6,6 +6,7 @@ import { useRouter } from "next/navigation";
import Sidebar from "../../components/Sidebar";
export default function DashboardLayout({ children }: { children: ReactNode }) {
// eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars
const { data: session, status } = useSession();
const router = useRouter();
@ -28,6 +29,8 @@ export default function DashboardLayout({ children }: { children: ReactNode }) {
);
}
// Defined for potential future use, like adding a logout button in the layout
// eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars
const handleLogout = () => {
signOut({ callbackUrl: "/login" });
};

View File

@ -40,7 +40,7 @@ export default function SessionsPage() {
// Pagination states
const [currentPage, setCurrentPage] = useState(1);
const [totalPages, setTotalPages] = useState(0);
// eslint-disable-next-line @typescript-eslint/no-unused-vars
// eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars
const [pageSize, setPageSize] = useState(10); // Or make this configurable
useEffect(() => {
@ -283,7 +283,11 @@ export default function SessionsPage() {
Session ID: {session.sessionId || session.id}
</h2>
<p className="text-sm text-gray-500 mb-1">
Start Time: {new Date(session.startTime).toLocaleString()}
Start Time (Local):{" "}
{new Date(session.startTime).toLocaleString()}
</p>
<p className="text-xs text-gray-400 mb-1">
Start Time (Raw API): {session.startTime.toString()}
</p>
{session.category && (
<p className="text-sm text-gray-700">

View File

@ -2,7 +2,6 @@
import { useState, useEffect } from "react";
import { useSession } from "next-auth/react";
import { UserSession } from "../../../lib/types";
interface UserItem {
id: string;