Spaces:
Configuration error
Configuration error
| <html class="light" lang="en"><head> | |
| <meta charset="utf-8"/> | |
| <meta content="width=device-width, initial-scale=1.0" name="viewport"/> | |
| <title>TrendAI - Weekly Industry Intelligence Report</title> | |
| <!-- Fonts --> | |
| <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Hanken+Grotesk:wght@600;700&family=JetBrains+Mono:wght@500&display=swap" rel="stylesheet"/> | |
| <!-- Icons --> | |
| <link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:wght,FILL@100..700,0..1&display=swap" rel="stylesheet"/> | |
| <link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:wght,FILL@100..700,0..1&display=swap" rel="stylesheet"/> | |
| <!-- Tailwind --> | |
| <script src="https://cdn.tailwindcss.com?plugins=forms,container-queries"></script> | |
| <link href="/static/style.css" rel="stylesheet"/> | |
| <script id="tailwind-config"> | |
| tailwind.config = { | |
| darkMode: "class", | |
| theme: { | |
| extend: { | |
| "colors": { | |
| "sustainability-green": "#22C55E", | |
| "error": "#ba1a1a", | |
| "on-secondary": "#ffffff", | |
| "tertiary-container": "#002113", | |
| "text-muted": "#64748B", | |
| "on-tertiary-fixed-variant": "#005236", | |
| "on-primary-fixed-variant": "#3f465c", | |
| "secondary-container": "#39b8fd", | |
| "primary-container": "#131b2e", | |
| "surface-variant": "#e0e3e5", | |
| "on-error": "#ffffff", | |
| "error-container": "#ffdad6", | |
| "on-background": "#191c1e", | |
| "secondary-fixed-dim": "#89ceff", | |
| "primary-fixed-dim": "#bec6e0", | |
| "on-secondary-container": "#004666", | |
| "on-tertiary": "#ffffff", | |
| "surface-container-highest": "#e0e3e5", | |
| "inverse-primary": "#bec6e0", | |
| "secondary-fixed": "#c9e6ff", | |
| "on-primary-container": "#7c839b", | |
| "on-error-container": "#93000a", | |
| "surface-container-low": "#f2f4f6", | |
| "secondary": "#006591", | |
| "tertiary-fixed": "#6ffbbe", | |
| "behavior-orange": "#F59E0B", | |
| "on-primary": "#ffffff", | |
| "surface-dim": "#d8dadc", | |
| "inverse-surface": "#2d3133", | |
| "background": "#f7f9fb", | |
| "primary": "#000000", | |
| "on-secondary-fixed-variant": "#004c6e", | |
| "tertiary": "#000000", | |
| "on-surface": "#191c1e", | |
| "surface-container-lowest": "#ffffff", | |
| "on-surface-variant": "#45464d", | |
| "on-primary-fixed": "#131b2e", | |
| "border-subtle": "#E2E8F0", | |
| "marketing-purple": "#8B5CF6", | |
| "on-tertiary-container": "#009668", | |
| "inverse-on-surface": "#eff1f3", | |
| "surface-tint": "#565e74", | |
| "outline-variant": "#c6c6cd", | |
| "tertiary-fixed-dim": "#4edea3", | |
| "primary-fixed": "#dae2fd", | |
| "surface-container-high": "#e6e8ea", | |
| "surface-bright": "#f7f9fb", | |
| "surface": "#f7f9fb", | |
| "outline": "#76777d", | |
| "surface-container": "#eceef0", | |
| "on-tertiary-fixed": "#002113", | |
| "on-secondary-fixed": "#001e2f" | |
| }, | |
| "borderRadius": { | |
| "DEFAULT": "0.125rem", | |
| "lg": "0.25rem", | |
| "xl": "0.5rem", | |
| "full": "0.75rem" | |
| }, | |
| "spacing": { | |
| "card-padding": "24px", | |
| "stack-md": "16px", | |
| "container-max": "1440px", | |
| "stack-lg": "32px", | |
| "stack-sm": "8px", | |
| "gutter": "24px", | |
| "margin-page": "40px" | |
| }, | |
| "fontFamily": { | |
| "headline-md": ["Hanken Grotesk"], | |
| "label-md": ["JetBrains Mono"], | |
| "body-sm": ["Inter"], | |
| "body-lg": ["Inter"], | |
| "body-md": ["Inter"], | |
| "display-lg": ["Hanken Grotesk"], | |
| "headline-lg-mobile": ["Hanken Grotesk"], | |
| "label-sm": ["JetBrains Mono"], | |
| "headline-lg": ["Hanken Grotesk"] | |
| }, | |
| "fontSize": { | |
| "headline-md": ["24px", {"lineHeight": "32px", "fontWeight": "600"}], | |
| "label-md": ["12px", {"lineHeight": "16px", "fontWeight": "500"}], | |
| "body-sm": ["14px", {"lineHeight": "20px", "fontWeight": "400"}], | |
| "body-lg": ["18px", {"lineHeight": "28px", "fontWeight": "400"}], | |
| "body-md": ["16px", {"lineHeight": "24px", "fontWeight": "400"}], | |
| "display-lg": ["48px", {"lineHeight": "56px", "letterSpacing": "-0.02em", "fontWeight": "700"}], | |
| "headline-lg-mobile": ["24px", {"lineHeight": "32px", "fontWeight": "600"}], | |
| "label-sm": ["10px", {"lineHeight": "14px", "fontWeight": "500"}], | |
| "headline-lg": ["32px", {"lineHeight": "40px", "letterSpacing": "-0.01em", "fontWeight": "600"}] | |
| } | |
| } | |
| } | |
| } | |
| </script> | |
| <style> | |
| @media print { | |
| .no-print { display: none ; } | |
| body { background: white ; } | |
| .a4-card { | |
| box-shadow: none ; | |
| border: none ; | |
| width: 100% ; | |
| margin: 0 ; | |
| padding: 0 ; | |
| } | |
| } | |
| .material-symbols-outlined { | |
| font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24; | |
| } | |
| .executive-accent { | |
| border-left: 4px solid #006591; | |
| } | |
| .a4-card { | |
| width: 210mm; | |
| min-height: 297mm; | |
| margin: 2rem auto; | |
| background: #ffffff; | |
| box-shadow: 0 0 40px rgba(0,0,0,0.05); | |
| padding: 40px; | |
| } | |
| .chart-fade { | |
| background: linear-gradient(180deg, rgba(14, 165, 233, 0.1) 0%, rgba(14, 165, 233, 0) 100%); | |
| } | |
| </style> | |
| </head> | |
| <body class="bg-background text-on-background font-body-md"> | |
| <!-- Sidebar Navigation --> | |
| <nav class="bg-surface-container-lowest dark:bg-primary-container h-screen w-64 fixed left-0 top-0 border-r border-border-subtle dark:border-outline-variant flex flex-col h-full p-stack-md no-print"> | |
| <div class="mb-stack-lg"> | |
| <h1 class="font-headline-md text-headline-md font-bold text-primary dark:text-primary-fixed">TrendAI</h1> | |
| <p class="font-body-md text-body-md text-text-muted">Executive Briefing</p> | |
| </div> | |
| <div class="flex-1 space-y-2"> | |
| <a class="flex items-center gap-3 p-3 rounded-lg hover:bg-surface-container-low dark:hover:bg-surface-variant transition-colors text-text-muted dark:text-on-surface-variant font-body-md" href="/dashboard.html"> | |
| <span class="material-symbols-outlined">dashboard</span> | |
| Dashboard | |
| </a> | |
| <a class="flex items-center gap-3 p-3 rounded-lg hover:bg-surface-container-low dark:hover:bg-surface-variant transition-colors text-text-muted dark:text-on-surface-variant font-body-md" href="/trend_discovery.html"> | |
| <span class="material-symbols-outlined">explore</span> | |
| Trend Discovery | |
| </a> | |
| <a class="flex items-center gap-3 p-3 rounded-lg bg-surface-container-low dark:bg-surface-variant text-secondary dark:text-secondary-fixed font-bold font-body-md" href="/executive_brief.html"> | |
| <span class="material-symbols-outlined text-xl">description</span> | |
| <span class="font-body-md">Executive Briefs</span> | |
| </a> | |
| <a class="flex items-center gap-3 p-3 rounded-lg hover:bg-surface-container-low dark:hover:bg-surface-variant transition-colors text-text-muted dark:text-on-surface-variant font-body-md" href="/news_management.html"> | |
| <span class="material-symbols-outlined text-xl">newspaper</span> | |
| <span class="font-body-md">Manajemen Berita</span> | |
| </a> | |
| <a id="nav-settings" class="flex items-center gap-3 p-3 rounded-lg hover:bg-surface-container-low dark:hover:bg-surface-variant transition-colors text-text-muted dark:text-on-surface-variant font-body-md" href="javascript:void(0)"> | |
| <span class="material-symbols-outlined text-xl">settings</span> | |
| <span class="font-body-md">Settings</span> | |
| </a> | |
| </div> | |
| </nav> | |
| <!-- Main Content Area --> | |
| <main class="ml-64 min-h-screen pb-stack-lg"> | |
| <!-- Top Navbar --> | |
| <header class="bg-surface dark:bg-background border-b border-border-subtle dark:border-outline-variant flex justify-between items-center h-16 px-margin-page no-print sticky top-0 z-10"> | |
| <div class="flex items-center gap-4"> | |
| <h2 class="font-headline-md text-headline-md font-bold text-primary dark:text-primary-fixed">TrendAI Summarizer</h2> | |
| <div class="relative ml-4"> | |
| <select id="project-selector-brief" class="project-selector appearance-none bg-surface-container-low border border-border-subtle rounded-lg pl-4 pr-10 py-1.5 font-label-md text-label-md text-primary outline-none focus:ring-2 focus:ring-secondary transition-all"> | |
| <!-- Populated by JS --> | |
| </select> | |
| <span class="material-symbols-outlined absolute right-3 top-1/2 -translate-y-1/2 pointer-events-none text-text-muted">expand_more</span> | |
| </div> | |
| </div> | |
| <div class="flex items-center gap-6"> | |
| <button class="flex items-center gap-2 px-4 py-2 bg-secondary text-on-secondary rounded font-body-sm transition-transform active:scale-95 focus:ring-2 focus:ring-secondary" onclick="window.print()"> | |
| <span class="material-symbols-outlined text-[18px]">download</span> | |
| Export PDF | |
| </button> | |
| </div> | |
| </header> | |
| <!-- Report Container (A4 Card) --> | |
| <div class="a4-card border border-border-subtle relative overflow-hidden"> | |
| <!-- Decorative Branding Element --> | |
| <div class="absolute top-0 right-0 w-32 h-32 opacity-5 pointer-events-none"> | |
| </div> | |
| <!-- Report Header --> | |
| <div class="flex justify-between items-start mb-12"> | |
| <div> | |
| <span class="font-label-sm text-label-sm uppercase tracking-widest text-secondary block mb-2">Laporan Ringkasan Tren Industri</span> | |
| <h1 class="font-display-lg text-display-lg text-primary leading-tight">Laporan Ringkasan Tren Industri</h1> | |
| <div class="flex items-center gap-4 mt-4"> | |
| <div class="flex items-center gap-1 text-text-muted"> | |
| <span class="material-symbols-outlined text-[16px]">calendar_today</span> | |
| <span id="report-period-dates" class="font-body-sm text-body-sm">Memuat periode data...</span> | |
| </div> | |
| <div class="flex items-center gap-1 text-text-muted"> | |
| <span class="material-symbols-outlined text-[16px]">verified</span> | |
| <span class="font-body-sm text-body-sm">Dihasilkan oleh TrendAI</span> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="text-right"> | |
| <p class="font-label-md text-label-md font-bold text-primary">LAPORAN RINGKASAN</p> | |
| <p id="report-id-badge" class="font-label-sm text-label-sm text-text-muted">Memuat data...</p> | |
| </div> | |
| </div> | |
| <!-- Summary Section --> | |
| <section class="mb-stack-lg"> | |
| <div class="flex items-center gap-2 mb-stack-md border-b border-border-subtle pb-2"> | |
| <span class="material-symbols-outlined text-secondary">analytics</span> | |
| <h2 class="font-headline-md text-headline-md text-primary">Ringkasan Tren Utama</h2> | |
| </div> | |
| <div class="grid grid-cols-3 gap-gutter mb-stack-md"> | |
| <div class="p-stack-md border border-border-subtle bg-surface-container-low rounded-lg"> | |
| <p class="font-label-sm text-label-sm text-text-muted uppercase mb-1">KATA KUNCI TERIDENTIFIKASI</p> | |
| <p id="brief-sentiment-shift" class="font-headline-md text-headline-md text-sustainability-green">-</p> | |
| <p id="brief-sentiment-desc" class="font-body-sm text-body-sm mt-2 text-on-surface-variant">Data dari seluruh artikel terproses.</p> | |
| </div> | |
| <div class="p-stack-md border border-border-subtle bg-surface-container-low rounded-lg"> | |
| <p class="font-label-sm text-label-sm text-text-muted uppercase mb-1">KATEGORI TREN</p> | |
| <p id="brief-competitive-noise" class="font-headline-md text-headline-md text-behavior-orange">-</p> | |
| <p id="brief-noise-desc" class="font-body-sm text-body-sm mt-2 text-on-surface-variant">Klaster AI yang terdeteksi.</p> | |
| </div> | |
| <div class="p-stack-md border border-border-subtle bg-surface-container-low rounded-lg"> | |
| <p class="font-label-sm text-label-sm text-text-muted uppercase mb-1">TOTAL ARTIKEL</p> | |
| <p id="brief-market-volatility" class="font-headline-md text-headline-md text-primary">-</p> | |
| <p id="brief-volatility-desc" class="font-body-sm text-body-sm mt-2 text-on-surface-variant">Semua sumber berita terindeks.</p> | |
| </div> | |
| </div> | |
| <div id="brief-narrative-container" class="executive-accent p-stack-md bg-surface-container-lowest"> | |
| <p class="font-body-lg text-body-lg text-on-surface leading-relaxed"> | |
| Loading trend summaries... | |
| </p> | |
| </div> | |
| </section> | |
| <!-- Strategic Insights --> | |
| <section class="mb-stack-lg"> | |
| <div class="flex items-center gap-2 mb-stack-md border-b border-border-subtle pb-2"> | |
| <span class="material-symbols-outlined text-secondary">psychology</span> | |
| <h2 class="font-headline-md text-headline-md text-primary">Wawasan Strategis</h2> | |
| </div> | |
| <div id="brief-insights-list" class="space-y-stack-md"> | |
| <!-- Populated by JS --> | |
| </div> | |
| </section> | |
| <!-- Recommendations --> | |
| <section> | |
| <div class="flex items-center gap-2 mb-stack-md border-b border-border-subtle pb-2"> | |
| <span class="material-symbols-outlined text-secondary">assignment_turned_in</span> | |
| <h2 class="font-headline-md text-headline-md text-primary">Rekomendasi Strategis</h2> | |
| </div> | |
| <div class="grid grid-cols-12 gap-gutter"> | |
| <div id="brief-recommendations-list" class="col-span-7 space-y-4"> | |
| <!-- Populated by JS --> | |
| </div> | |
| <div class="col-span-5 bg-surface-container-low p-stack-md rounded-lg border border-border-subtle self-start"> | |
| <h4 class="font-label-md text-label-md font-bold mb-stack-md flex items-center gap-2"> | |
| <span class="material-symbols-outlined text-[18px]">trending_up</span> | |
| DISTRIBUSI ARTIKEL PER KATEGORI | |
| </h4> | |
| <div id="brief-performance-chart-container" class="w-full relative"> | |
| <!-- SVG dynamically drawn --> | |
| </div> | |
| <div class="flex justify-between mt-3 font-label-sm text-label-sm text-text-muted border-t border-slate-200/50 pt-2"> | |
| <span>Kategori Tren</span> | |
| <span>Distribusi</span> | |
| <span>Artikel</span> | |
| </div> | |
| </div> | |
| </div> | |
| </section> | |
| <!-- Footer for the A4 card --> | |
| <div class="mt-20 pt-stack-md border-t border-border-subtle flex justify-between items-end"> | |
| <div> | |
| <p class="font-label-sm text-label-sm text-text-muted">TrendAI Platform Analisis Tren</p> | |
| <p class="font-label-sm text-label-sm text-text-muted">© <span id="copyright-year">2024</span> TrendAI Analytics. All Rights Reserved.</p> | |
| </div> | |
| <div class="text-right"> | |
| <p class="font-label-sm text-label-sm text-primary font-bold">LAPORAN DIGITAL</p> | |
| <p class="font-label-sm text-label-sm text-text-muted">Dihasilkan oleh TrendAI</p> | |
| </div> | |
| </div> | |
| </div> | |
| <!-- External Footer (JSON defined) --> | |
| </main> | |
| <script src="/static/common.js?v=1.0.1"></script> | |
| <script src="/static/executive_brief.js?v=1.0.1"></script> | |
| </body></html> | |