diff --git a/cmd/server/main.go b/cmd/server/main.go index b55b935..c9fed82 100644 --- a/cmd/server/main.go +++ b/cmd/server/main.go @@ -50,7 +50,7 @@ func main() { // Initialize handlers customerHandler := handlers.NewCustomerHandler(customerStorage, feishuWebhook) - followUpHandler := handlers.NewFollowUpHandler(followUpStorage, customerStorage, feishuWebhook) + followUpHandler := handlers.NewFollowUpHandler(followUpStorage, customerStorage, trialPeriodStorage, feishuWebhook) trialPeriodHandler := handlers.NewTrialPeriodHandler(trialPeriodStorage, customerStorage, feishuWebhook) authHandler := handlers.NewAuthHandler() diff --git a/frontend/css/style.css b/frontend/css/style.css index 6d6e4dc..6158ae8 100644 --- a/frontend/css/style.css +++ b/frontend/css/style.css @@ -1580,6 +1580,52 @@ td.overflow-cell { border-color: #ffd591; } +/* Deal Status Badges */ +.deal-badge { + display: inline-flex; + align-items: center; + gap: 4px; + padding: 3px 10px; + border-radius: 12px; + font-size: 0.75rem; + font-weight: 600; + white-space: nowrap; +} + +.deal-badge i { + font-size: 0.7rem; +} + +.deal-prospect { + background-color: #f0f0f0; + color: #595959; + border: 1px solid #d9d9d9; +} + +.deal-trial { + background-color: #e6f7ff; + color: #1890ff; + border: 1px solid #91d5ff; +} + +.deal-negotiation { + background-color: #fff7e6; + color: #fa8c16; + border: 1px solid #ffd591; +} + +.deal-closed-won { + background-color: #f6ffed; + color: #52c41a; + border: 1px solid #b7eb8f; +} + +.deal-lost { + background-color: #fff2f0; + color: #ff4d4f; + border: 1px solid #ffccc7; +} + .status-active { background-color: #d4edda; color: #155724; diff --git a/frontend/index.html b/frontend/index.html index 3ebe1fe..256f817 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -341,7 +341,8 @@