Files
EnterpriseAppProtection/popup.html
becarta 13d9821b8d feat: Enhance Enterprise App Protection extension with monitoring and UI improvements
- Introduce error reporting and performance monitoring in background.js to track API calls and processing times.
- Implement health check system to ensure the extension's operational status and log issues.
- Add caching and encryption utilities in content.js for improved link analysis and data validation.
- Refactor link analysis to process in batches, enhancing performance and user experience.
- Update UI in domains_management.html and options.html for better usability and aesthetics, including responsive design and improved layout.
- Enhance popup.html to display suspicious links with better styling and functionality.
- Modify manifest.json to include new permissions and host access for Safe Browsing API.
2025-05-10 03:31:18 +02:00

223 lines
5.9 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Enterprise App Protection</title>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap" rel="stylesheet">
<style>
:root {
--primary-color: #2563eb;
--success-color: #059669;
--info-color: #0891b2;
--danger-color: #dc2626;
--background-color: #f8fafc;
--surface-color: #ffffff;
--text-primary: #1e293b;
--text-secondary: #64748b;
--border-color: #e2e8f0;
--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
--shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1);
--radius-sm: 0.375rem;
--radius-md: 0.5rem;
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
padding: 1.25rem;
width: 320px;
background-color: var(--background-color);
color: var(--text-primary);
line-height: 1.5;
}
.header {
text-align: center;
margin-bottom: 1.5rem;
}
h2 {
font-size: 1.25rem;
font-weight: 600;
color: var(--text-primary);
margin-bottom: 0.5rem;
}
.stats {
background-color: var(--surface-color);
border-radius: var(--radius-md);
padding: 1rem;
margin-bottom: 1rem;
box-shadow: var(--shadow-sm);
}
.counter {
font-size: 1.5rem;
font-weight: 600;
color: var(--danger-color);
display: block;
margin: 0.5rem 0;
}
.links-container {
background-color: var(--surface-color);
border-radius: var(--radius-md);
padding: 0.75rem;
margin-bottom: 1rem;
box-shadow: var(--shadow-sm);
max-height: 150px;
overflow-y: auto;
}
.links-container::-webkit-scrollbar {
width: 6px;
}
.links-container::-webkit-scrollbar-track {
background: var(--background-color);
border-radius: var(--radius-sm);
}
.links-container::-webkit-scrollbar-thumb {
background: var(--border-color);
border-radius: var(--radius-sm);
}
ul {
list-style: none;
}
li {
font-size: 0.875rem;
padding: 0.5rem;
border-bottom: 1px solid var(--border-color);
color: var(--text-secondary);
}
li:last-child {
border-bottom: none;
}
.last-update {
font-size: 0.75rem;
color: var(--text-secondary);
text-align: center;
margin-bottom: 1rem;
}
.button-group {
display: grid;
gap: 0.75rem;
margin-bottom: 1rem;
}
button {
width: 100%;
padding: 0.75rem;
border: none;
border-radius: var(--radius-md);
font-size: 0.875rem;
font-weight: 500;
cursor: pointer;
transition: all 0.2s ease;
display: flex;
align-items: center;
justify-content: center;
gap: 0.5rem;
}
button:hover {
transform: translateY(-1px);
box-shadow: var(--shadow-md);
}
button:active {
transform: translateY(0);
}
.update-btn {
background-color: var(--primary-color);
color: white;
}
.settings-btn {
background-color: var(--success-color);
color: white;
}
.domains-btn {
background-color: var(--info-color);
color: white;
}
.reset-section {
text-align: center;
padding-top: 1rem;
border-top: 1px solid var(--border-color);
}
.reset-section h3 {
font-size: 0.875rem;
color: var(--text-secondary);
margin-bottom: 0.75rem;
}
#resetCounter {
background-color: var(--surface-color);
color: var(--text-secondary);
border: 1px solid var(--border-color);
}
#resetCounter:hover {
background-color: var(--background-color);
}
</style>
</head>
<body>
<div class="header">
<h2>Enterprise App Protection</h2>
</div>
<div class="stats">
<span>Suspicious Links Detected</span>
<span class="counter" id="suspiciousCount">0</span>
</div>
<div class="links-container">
<ul id="suspiciousLinks"></ul>
</div>
<p class="last-update" id="lastUpdate">Last Updated: Never</p>
<div class="button-group">
<button id="updateDB" class="update-btn">
<span>🔄</span>
<span>Update Database</span>
</button>
<button id="settings" class="settings-btn">
<span>⚙️</span>
<span>Open Settings</span>
</button>
<button id="manageDomains" class="domains-btn">
<span>🌐</span>
<span>Manage Domains</span>
</button>
</div>
<div class="reset-section">
<h3>Reset Suspicious Links Counter</h3>
<button id="resetCounter">
<span>♻️</span>
<span>Reset Counter</span>
</button>
</div>
<script src="popup.js"></script>
</body>
</html>