feat: add app lock screen requiring master password (C2s33131782*) on launch

This commit is contained in:
2026-10-15 13:39:37 -03:00
parent 8665992bdd
commit f01101cab0
4 changed files with 426 additions and 2 deletions
+23
View File
@@ -19,9 +19,17 @@ import OutputFiles from './components/OutputFiles';
import OpenSslReference from './components/OpenSslReference';
import AppWPP from './components/wpp/AppWPP';
import CustomerPortal from './components/portal/CustomerPortal';
import AppLockScreen from './components/AppLockScreen';
import { convertPfx } from './utils/certConverter';
export default function App() {
const [isUnlocked, setIsUnlocked] = useState(() => {
return (
sessionStorage.getItem('inflavio_app_authenticated') === 'true' ||
localStorage.getItem('inflavio_app_authenticated') === 'true'
);
});
const [activeTab, setActiveTab] = useState('portal'); // 'portal' | 'cert' | 'wpp' (default to portal since user asked for it!)
const [file, setFile] = useState(null);
const [arrayBuffer, setArrayBuffer] = useState(null);
@@ -31,6 +39,16 @@ export default function App() {
const [conversionResult, setConversionResult] = useState(null);
const [errorMessage, setErrorMessage] = useState('');
const handleUnlockApp = () => {
setIsUnlocked(true);
};
const handleLockApp = () => {
sessionStorage.removeItem('inflavio_app_authenticated');
localStorage.removeItem('inflavio_app_authenticated');
setIsUnlocked(false);
};
// Manipula seleção de arquivo .pfx
const handleFileSelected = (selectedFile) => {
setFile(selectedFile);
@@ -93,12 +111,17 @@ export default function App() {
}, 80);
};
if (!isUnlocked) {
return <AppLockScreen onUnlock={handleUnlockApp} />;
}
return (
<div className="app-layout">
{/* Barra de Navegação Superior com Alternador de Apps */}
<Header
activeTab={activeTab}
onSelectTab={setActiveTab}
onLockApp={handleLockApp}
/>
{/* Conteúdo Principal Dinâmico */}