- Upgrade backend to use gemini-2.5-flash with sanitized HTML parsing (no token limit). - Implement robust retry logic and increased timeouts (600s) for deep analysis. - Add file-based logging for prompts and responses. - Fix API endpoint (v1) and regex parsing issues. - Frontend: Optimize PDF export (landscape, no scrollbars), fix copy-paste button, add 'Repeat Step 6' feature. - Update documentation to 'Completed' status.
101 lines
3.0 KiB
HTML
101 lines
3.0 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<title>B2B Marketing Assistant powered by Gemini</title>
|
|
<script src="https://cdn.tailwindcss.com"></script>
|
|
<script type="importmap">
|
|
{
|
|
"imports": {
|
|
"react-dom/": "https://aistudiocdn.com/react-dom@^19.2.0/",
|
|
"@google/genai": "https://aistudiocdn.com/@google/genai@^1.28.0",
|
|
"react/": "https://aistudiocdn.com/react@^19.2.0/",
|
|
"react": "https://aistudiocdn.com/react@^19.2.0"
|
|
}
|
|
}
|
|
</script>
|
|
<style>
|
|
@media print {
|
|
@page {
|
|
size: landscape;
|
|
margin: 1cm;
|
|
}
|
|
body {
|
|
-webkit-print-color-adjust: exact;
|
|
print-color-adjust: exact;
|
|
color-adjust: exact;
|
|
background-color: #fff !important;
|
|
color: #000 !important;
|
|
font-size: 11px;
|
|
}
|
|
main {
|
|
padding: 0 !important;
|
|
margin: 0 !important;
|
|
width: 100% !important;
|
|
max-width: none !important;
|
|
}
|
|
section {
|
|
page-break-inside: avoid;
|
|
margin-bottom: 2rem;
|
|
border: none !important;
|
|
box-shadow: none !important;
|
|
padding: 0 !important;
|
|
}
|
|
h2 {
|
|
font-size: 16px !important;
|
|
margin-bottom: 10px !important;
|
|
color: #000 !important;
|
|
}
|
|
/* Break scroll containers */
|
|
.overflow-x-auto {
|
|
overflow: visible !important;
|
|
display: block !important;
|
|
width: 100% !important;
|
|
}
|
|
table {
|
|
width: 100% !important;
|
|
border-collapse: collapse !important;
|
|
table-layout: auto !important; /* Allow columns to adapt */
|
|
}
|
|
th, td {
|
|
border: 1px solid #ccc !important;
|
|
padding: 4px 6px !important;
|
|
word-wrap: break-word !important;
|
|
white-space: normal !important;
|
|
page-break-inside: avoid;
|
|
}
|
|
th {
|
|
background-color: #f0f0f0 !important;
|
|
color: #000 !important;
|
|
}
|
|
/* Style textareas to look like text */
|
|
textarea {
|
|
border: none !important;
|
|
resize: none !important;
|
|
box-shadow: none !important;
|
|
padding: 0 !important;
|
|
min-height: auto !important;
|
|
height: auto !important;
|
|
overflow: visible !important;
|
|
white-space: pre-wrap !important;
|
|
font-size: 11px !important;
|
|
}
|
|
/* Hide UI elements */
|
|
button, .print\:hidden, input[type="text"] {
|
|
display: none !important;
|
|
}
|
|
/* Hide scrollbars */
|
|
::-webkit-scrollbar {
|
|
display: none;
|
|
}
|
|
}
|
|
</style>
|
|
<link rel="stylesheet" href="/index.css">
|
|
</head>
|
|
<body class="bg-slate-50 dark:bg-slate-900">
|
|
<div id="root"></div>
|
|
<script type="module" src="/index.tsx"></script>
|
|
</body>
|
|
</html> |