Polish: daily reward via celebration overlay + premium chat to recipient
CI/CD / CI - API (dotnet build + engine sim) (push) Has been cancelled
CI/CD / CI - Web (tsc + next build) (push) Has been cancelled
CI/CD / Deploy - local stack (db + server + web) (push) Has been cancelled

- Daily reward now routes through the global CelebrationOverlay: new "daily"
  variant + coins count-up; claiming closes the daily modal and fires
  celebrate({variant:"daily", coins}). Unifies the "you earned X" moment.
- Premium (pro) gold chat is now visible to the OTHER player: ChatMessage gains
  senderPro; server resolves each participant's plan once (SocialService.IsPro)
  and stamps it on ChatMessageDto; ChatScreen styles incoming bubbles with
  .premium-chat when senderPro. Mock marks ~half its friends pro so it's visible
  offline too.

Verified: tsc + next build + dotnet build all pass.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
soroush.asadi
2026-06-06 22:26:28 +03:30
parent 03dfbe1e67
commit 82b2bc0648
8 changed files with 45 additions and 7 deletions
+1 -1
View File
@@ -95,7 +95,7 @@ export function ChatScreen() {
"max-w-[78%] rounded-2xl px-3.5 py-2 text-sm",
m.fromMe
? cn("ms-auto rounded-ee-sm", isPro ? "premium-chat" : "btn-gold")
: "me-auto glass text-cream rounded-es-sm"
: cn("me-auto rounded-es-sm", m.senderPro ? "premium-chat" : "glass text-cream")
)}
>
{m.text}