fix architecture and write new tests

This commit is contained in:
root
2026-06-10 00:40:19 -04:00
parent 560da1cadf
commit 80a597bc10
377 changed files with 84020 additions and 1337 deletions
@@ -4,7 +4,7 @@ import { Bell } from 'lucide-react'
import { usePathname, useRouter } from 'next/navigation'
import { useState, useEffect } from 'react'
import { io } from 'socket.io-client'
import { EMPLOYEE_PROFILE_KEY, EMPLOYEE_TOKEN_KEY, apiFetch } from '@/lib/api'
import { EMPLOYEE_PROFILE_KEY, apiFetch } from '@/lib/api'
import { useDashboardI18n } from '@/components/I18nProvider'
import { toDashboardAppPath } from '@/lib/dashboardPaths'
@@ -52,11 +52,6 @@ export default function TopBar() {
const [mounted, setMounted] = useState(false)
useEffect(() => { setMounted(true) }, [])
function getEmployeeToken() {
if (typeof window === 'undefined') return null
return window.localStorage.getItem(EMPLOYEE_TOKEN_KEY)
}
const title = (() => {
if (!mounted) return dict.titles['/']
if (dict.titles[appPath]) return dict.titles[appPath]
@@ -65,15 +60,12 @@ export default function TopBar() {
return dict.titles['/']
})()
async function refreshUnreadCount() {
if (!getEmployeeToken()) {
setUnreadCount(0)
return
}
try {
const data = await apiFetch<{ unread: number }>('/notifications/unread-count')
setUnreadCount(data.unread)
} catch {}
} catch {
setUnreadCount(0)
}
}
useEffect(() => {
@@ -89,15 +81,12 @@ export default function TopBar() {
}, [])
useEffect(() => {
const token = window.localStorage.getItem(EMPLOYEE_TOKEN_KEY)
if (!token) return
const socketOrigin = resolveSocketOrigin()
if (!socketOrigin) return
const socket = io(socketOrigin, {
autoConnect: false,
auth: { token },
withCredentials: true,
transports: ['polling', 'websocket'],
})
@@ -121,11 +110,6 @@ export default function TopBar() {
useEffect(() => {
if (!showNotifs) return
if (!getEmployeeToken()) {
setNotifications([])
setLoadingNotifs(false)
return
}
let cancelled = false
setLoadingNotifs(true)
@@ -157,12 +141,6 @@ export default function TopBar() {
}, [pathname])
useEffect(() => {
const token = window.localStorage.getItem(EMPLOYEE_TOKEN_KEY)
if (!token) {
setUserInitials(computeInitials(dict.workspaceUser))
return
}
const cached = window.localStorage.getItem(EMPLOYEE_PROFILE_KEY)
if (cached) {
try {