Files
ewoooc/templates/market_intel/disabled.html
ogt d2d798933a
All checks were successful
CD Pipeline / deploy (push) Successful in 1m9s
fix: rename crawler UI to product monitoring
2026-06-26 18:08:14 +08:00

230 lines
6.7 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{% extends "ewoooc_base.html" %}
{% block title %}市場情報EwoooC{% endblock %}
{% block extra_css %}
<style>
.market-intel-page {
display: grid;
gap: 1rem;
min-width: 0;
}
.market-intel-hero,
.market-intel-panel {
background:
radial-gradient(circle at 1px 1px, rgba(120, 83, 44, 0.14) 1px, transparent 1.35px),
var(--momo-bg-paper, #faf7f0);
background-size: 10px 10px, auto;
border: 1px solid var(--momo-border, #d8c8aa);
border-radius: 8px;
box-shadow: var(--momo-shadow-sm, 0 8px 18px rgba(72, 49, 28, 0.08));
min-width: 0;
}
.market-intel-hero {
display: grid;
gap: 1rem;
grid-template-columns: minmax(0, 1fr) auto;
padding: clamp(1rem, 2vw, 1.35rem);
}
.market-intel-kicker,
.market-intel-label {
color: var(--momo-accent, #a76a2d);
font-family: var(--momo-font-mono, "JetBrains Mono", monospace);
font-size: 0.78rem;
font-weight: 800;
letter-spacing: 0;
margin: 0;
text-transform: uppercase;
}
.market-intel-title {
color: var(--momo-text-title, #2a2520);
font-family: var(--momo-font-display, "Noto Sans TC", sans-serif);
font-size: clamp(1.45rem, 3vw, 2rem);
font-weight: 900;
letter-spacing: 0;
line-height: 1.15;
margin: 0.35rem 0 0;
}
.market-intel-copy {
color: var(--momo-text-muted, #756a5b);
line-height: 1.65;
margin: 0.6rem 0 0;
max-width: 58rem;
}
.market-intel-status-grid {
display: grid;
gap: 0.75rem;
grid-template-columns: repeat(auto-fit, minmax(min(150px, 100%), 1fr));
min-width: 0;
}
.market-intel-status-card {
background: rgba(255, 250, 241, 0.82);
border: 1px solid rgba(120, 83, 44, 0.16);
border-left: 3px solid var(--momo-accent, #a76a2d);
border-radius: 8px;
min-width: 0;
padding: 0.8rem 0.9rem;
}
.market-intel-status-card strong {
color: var(--momo-text-title, #2a2520);
display: block;
font-family: var(--momo-font-mono, "JetBrains Mono", monospace);
font-size: 1rem;
margin-top: 0.25rem;
}
.market-intel-panel {
padding: clamp(1rem, 2vw, 1.2rem);
}
.market-intel-flow {
display: grid;
gap: 0.75rem;
grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
margin-top: 0.9rem;
min-width: 0;
}
.market-intel-flow-item {
background: rgba(255, 250, 241, 0.78);
border: 1px solid rgba(120, 83, 44, 0.14);
border-radius: 8px;
min-width: 0;
padding: 0.85rem;
}
.market-intel-flow-item h3 {
color: var(--momo-text-title, #2a2520);
font-size: 1rem;
font-weight: 900;
margin: 0;
}
.market-intel-flow-item p {
color: var(--momo-text-muted, #756a5b);
line-height: 1.55;
margin: 0.45rem 0 0;
}
.market-intel-actions {
display: flex;
flex-wrap: wrap;
gap: 0.65rem;
margin-top: 0.9rem;
}
.market-intel-action {
align-items: center;
background: var(--momo-bg-paper, #faf7f0);
border: 1px solid rgba(120, 83, 44, 0.22);
border-radius: 8px;
color: var(--momo-text-title, #2a2520);
display: inline-flex;
font-weight: 800;
gap: 0.45rem;
min-height: 2.35rem;
padding: 0.45rem 0.7rem;
text-decoration: none;
}
.market-intel-action:hover {
background: rgba(201, 117, 45, 0.12);
color: var(--momo-accent-dark, #8f4530);
}
@media (max-width: 640px) {
.market-intel-hero {
grid-template-columns: 1fr;
}
}
</style>
{% endblock %}
{% block ewooo_content %}
<section class="market-intel-page">
<header class="market-intel-hero">
<div>
<p class="market-intel-kicker">市場情報</p>
<h1 class="market-intel-title">市場情報入口</h1>
<p class="market-intel-copy">
市場情報尚未進入正式決策先用比價覆核、PChome 商品監控與 AI 觀測台守住商品判斷。
</p>
</div>
</header>
<section class="market-intel-panel" aria-labelledby="market-intel-status-title">
<p class="market-intel-label">資料狀態</p>
<h2 id="market-intel-status-title" class="market-intel-title">資料狀態</h2>
<div class="market-intel-status-grid">
<div class="market-intel-status-card">
<span class="market-intel-label">情報入口</span>
<strong>{{ '已啟用' if status.enabled else '未啟用' }}</strong>
</div>
<div class="market-intel-status-card">
<span class="market-intel-label">資料擷取</span>
<strong>{{ '已啟用' if status.crawler_enabled else '未啟用' }}</strong>
</div>
<div class="market-intel-status-card">
<span class="market-intel-label">寫入</span>
<strong>{{ '已啟用' if status.write_enabled else '未啟用' }}</strong>
</div>
<div class="market-intel-status-card">
<span class="market-intel-label">排程</span>
<strong>{{ '已啟用' if status.scheduler_attached else '未啟用' }}</strong>
</div>
<div class="market-intel-status-card">
<span class="market-intel-label">來源規格</span>
<strong>{{ adapter_count|default(0) }}</strong>
</div>
<div class="market-intel-status-card">
<span class="market-intel-label">手動整理</span>
<strong>{{ '已啟用' if manual_fetch_allowed|default(false) else '未啟用' }}</strong>
</div>
</div>
</section>
<section class="market-intel-panel" aria-labelledby="market-intel-flow-title">
<p class="market-intel-label">操作入口</p>
<h2 id="market-intel-flow-title" class="market-intel-title">正式操作入口</h2>
<div class="market-intel-flow">
<article class="market-intel-flow-item">
<h3>PChome 比價覆核</h3>
<p>先處理候選同款、單位價與低信心候選。</p>
</article>
<article class="market-intel-flow-item">
<h3>PChome 商品監控</h3>
<p>先檢查搜尋、候選取得與資料新鮮度。</p>
</article>
<article class="market-intel-flow-item">
<h3>AI 觀測台</h3>
<p>監看 AI 呼叫、主機健康、RAG 命中與 PPT 產線。</p>
</article>
</div>
<div class="market-intel-actions">
<a class="market-intel-action" href="/?filter=pchome_review&review_status=all&sort_by=pchome_review&order=desc">
<i class="fas fa-scale-balanced" aria-hidden="true"></i>
<span>比價覆核</span>
</a>
<a class="market-intel-action" href="/pchome_crawler">
<i class="fas fa-magnifying-glass-chart" aria-hidden="true"></i>
<span>PChome 商品監控</span>
</a>
<a class="market-intel-action" href="/observability/overview">
<i class="fas fa-satellite-dish" aria-hidden="true"></i>
<span>AI 觀測台</span>
</a>
</div>
</section>
</section>
{% endblock %}