diff --git a/app/tasks/subscription_tasks.py b/app/tasks/subscription_tasks.py index 3ad276ea..90fc65f2 100644 --- a/app/tasks/subscription_tasks.py +++ b/app/tasks/subscription_tasks.py @@ -25,9 +25,9 @@ def apply_pending_subscription_changes_all() -> dict[str, int]: from app.models import UserProfile from app.utils.subscription import apply_pending_subscription_changes - db = SessionLocal() applied = 0 checked = 0 + db = SessionLocal() try: profiles = ( db.query(UserProfile) diff --git a/app/utils/subscription.py b/app/utils/subscription.py index 3cadfdc6..b121c9c5 100644 --- a/app/utils/subscription.py +++ b/app/utils/subscription.py @@ -742,7 +742,7 @@ def request_subscription_change( "new_tier": new_tier_id, "message": ( f"Your downgrade to {get_tier(new_tier_id, db)['name']} has been scheduled for " - f"{change_date.strftime('%B %-d, %Y')}. " + f"{change_date.strftime('%B')} {change_date.day}, {change_date.year}. " "You will continue to have access to your current plan until then." ), } diff --git a/frontend/templates/subscription.html b/frontend/templates/subscription.html index df9e4d93..65fbe296 100644 --- a/frontend/templates/subscription.html +++ b/frontend/templates/subscription.html @@ -14,7 +14,7 @@ -
+
{% if not multi_user_enabled %} @@ -40,7 +40,7 @@

Pending plan change scheduled

Your plan will change to {{ pending_tier.name }} - on {{ pending_date | string | truncate(10, True, '') }}. + on {% if pending_date %}{{ pending_date.strftime('%B') }} {{ pending_date.day }}, {{ pending_date.year }}{% endif %}. You keep all current plan benefits until then.

@@ -79,7 +79,7 @@ {% if period_start %}

- Since {{ period_start.strftime('%b %-d, %Y') }} + Since {{ period_start.strftime('%b') }} {{ period_start.day }}, {{ period_start.year }}

{% endif %} @@ -290,12 +290,21 @@ const CSRF_TOKEN = document.querySelector('meta[name="csrf-token"]')?.getAttribu function showFlash(message, type) { const container = document.getElementById('flash-container'); - const color = type === 'success' ? 'green' : (type === 'warning' ? 'amber' : 'red'); - const icon = type === 'success' ? 'fa-check-circle' : (type === 'warning' ? 'fa-clock' : 'fa-exclamation-circle'); + let bgClass, borderClass, iconClass, textClass; + if (type === 'success') { + bgClass = 'bg-green-50'; borderClass = 'border-green-300'; + iconClass = 'fa-check-circle text-green-500'; textClass = 'text-green-800'; + } else if (type === 'warning') { + bgClass = 'bg-amber-50'; borderClass = 'border-amber-300'; + iconClass = 'fa-clock text-amber-500'; textClass = 'text-amber-800'; + } else { + bgClass = 'bg-red-50'; borderClass = 'border-red-300'; + iconClass = 'fa-exclamation-circle text-red-500'; textClass = 'text-red-800'; + } container.innerHTML = ` -