diff --git a/browser-extensions/chrome/src/App.tsx b/browser-extensions/chrome/src/App.tsx index a2c5e4533..8db048295 100644 --- a/browser-extensions/chrome/src/App.tsx +++ b/browser-extensions/chrome/src/App.tsx @@ -2,7 +2,6 @@ import React, { useState, useEffect, useRef } from 'react'; import { HashRouter as Router, Routes, Route, Navigate, useNavigate } from 'react-router-dom'; import { useAuth } from './context/AuthContext'; import { useDb } from './context/DbContext'; -import { useWebApi } from './context/WebApiContext'; import { useMinDurationLoading } from './hooks/useMinDurationLoading'; import Header from './components/Layout/Header'; import BottomNav from './components/Layout/BottomNav'; @@ -13,6 +12,7 @@ import LoadingSpinner from './components/LoadingSpinner'; import Home from './pages/Home'; import './styles/app.css'; import CredentialDetails from './pages/CredentialDetails'; +import EmailDetails from './pages/EmailDetails'; // Add this type definition at the top level type RouteConfig = { path: string; @@ -24,7 +24,6 @@ type RouteConfig = { const App: React.FC = () => { const authContext = useAuth(); const dbContext = useDb(); - const webApi = useWebApi(); const [isUserMenuOpen, setIsUserMenuOpen] = useState(false); const [clientUrl, setClientUrl] = useState('https://app.aliasvault.net'); const [currentTab, setCurrentTab] = useState<'credentials' | 'emails'>('credentials'); @@ -35,8 +34,9 @@ const App: React.FC = () => { { path: '/', element: , showBackButton: false }, { path: '/settings', element: , showBackButton: true, title: 'Settings' }, { path: '/credentials', element: , showBackButton: false }, - { path: '/credentials/:id', element: , showBackButton: true, title: 'Credential Details' }, + { path: '/credentials/:id', element: , showBackButton: true, title: 'Credential details' }, { path: '/emails', element: , showBackButton: false }, + { path: '/emails/:id', element: , showBackButton: true, title: 'Email details' }, ]; /** diff --git a/browser-extensions/chrome/src/components/Layout/BottomNav.tsx b/browser-extensions/chrome/src/components/Layout/BottomNav.tsx index 955cc3dbb..f29f91168 100644 --- a/browser-extensions/chrome/src/components/Layout/BottomNav.tsx +++ b/browser-extensions/chrome/src/components/Layout/BottomNav.tsx @@ -1,7 +1,7 @@ import React from 'react'; import { useNavigate } from 'react-router-dom'; import { useAuth } from '../../context/AuthContext'; - +import { useDb } from '../../context/DbContext'; interface BottomNavProps { currentTab: 'credentials' | 'emails'; setCurrentTab: (tab: 'credentials' | 'emails') => void; @@ -9,6 +9,7 @@ interface BottomNavProps { const BottomNav: React.FC = ({ currentTab, setCurrentTab }) => { const authContext = useAuth(); + const dbContext = useDb(); const navigate = useNavigate(); const handleTabChange = (tab: 'credentials' | 'emails') => { @@ -16,7 +17,7 @@ const BottomNav: React.FC = ({ currentTab, setCurrentTab }) => { navigate(`/${tab}`); }; - if (!authContext.isLoggedIn) { + if (!authContext.isLoggedIn || !dbContext.dbAvailable) { return null; } diff --git a/browser-extensions/chrome/src/pages/CredentialDetails.tsx b/browser-extensions/chrome/src/pages/CredentialDetails.tsx index fd3441d09..8f62ac500 100644 --- a/browser-extensions/chrome/src/pages/CredentialDetails.tsx +++ b/browser-extensions/chrome/src/pages/CredentialDetails.tsx @@ -87,7 +87,7 @@ const CredentialDetails: React.FC = () => { + + +
+

From: {email.fromDisplay} ({email.fromLocal}@{email.fromDomain})

+

To: {email.toLocal}@{email.toDomain}

+

Date: {new Date(email.dateSystem).toLocaleString()}

+
+ + + {/* Email Body */} +
+ {email.messageHtml ? ( +