From 0d9a0988fe6042a7648ad0100be1c41acf627439 Mon Sep 17 00:00:00 2001 From: Ricardo Carneiro Date: Sun, 17 Aug 2025 20:50:40 -0300 Subject: [PATCH] feat: aparencia dashboard --- .../Controllers/PaymentController.cs | 5 +- src/BCards.Web/Program.cs | 2 +- .../ViewModels/ManageSubscriptionViewModel.cs | 2 +- src/BCards.Web/Views/Admin/Dashboard.cshtml | 89 ++++----- .../Views/Payment/ManageSubscription.cshtml | 4 +- src/BCards.Web/Views/Shared/_Layout.cshtml | 169 ++++++++++++++++++ src/BCards.Web/Views/UserPage/Display.cshtml | 4 +- 7 files changed, 227 insertions(+), 48 deletions(-) diff --git a/src/BCards.Web/Controllers/PaymentController.cs b/src/BCards.Web/Controllers/PaymentController.cs index b01b7b1..b0b1410 100644 --- a/src/BCards.Web/Controllers/PaymentController.cs +++ b/src/BCards.Web/Controllers/PaymentController.cs @@ -114,13 +114,14 @@ public class PaymentController : Controller // Parse do plano atual (mesmo que o Dashboard) var userPlanType = Enum.TryParse(user.CurrentPlan, true, out var planType) ? planType : PlanType.Trial; var currentPlanString = userPlanType.ToString().ToLower(); - + var subscription = await _subscriptionRepository.GetByUserIdAsync(user.Id); var viewModel = new ManageSubscriptionViewModel { User = user, StripeSubscription = await _paymentService.GetSubscriptionDetailsAsync(user.Id), PaymentHistory = await _paymentService.GetPaymentHistoryAsync(user.Id), - AvailablePlans = GetAvailablePlans(currentPlanString) + AvailablePlans = GetAvailablePlans(currentPlanString), + CurrentPeriodEnd = (DateTime?) subscription.CurrentPeriodEnd }; // Pegar assinatura local se existir diff --git a/src/BCards.Web/Program.cs b/src/BCards.Web/Program.cs index 414ab94..d01fa48 100644 --- a/src/BCards.Web/Program.cs +++ b/src/BCards.Web/Program.cs @@ -87,7 +87,7 @@ builder.Services.AddAuthentication(options => { OnRedirectToAuthorizationEndpoint = context => { - context.Response.Redirect(context.RedirectUri + "&prompt=select_account"); + context.Response.Redirect(context.RedirectUri + "&prompt=login"); return Task.CompletedTask; } }; diff --git a/src/BCards.Web/ViewModels/ManageSubscriptionViewModel.cs b/src/BCards.Web/ViewModels/ManageSubscriptionViewModel.cs index ef75549..968930e 100644 --- a/src/BCards.Web/ViewModels/ManageSubscriptionViewModel.cs +++ b/src/BCards.Web/ViewModels/ManageSubscriptionViewModel.cs @@ -19,7 +19,7 @@ public class ManageSubscriptionViewModel public bool CanDowngrade => HasActiveSubscription && User.CurrentPlan != "basic"; public bool WillCancelAtPeriodEnd => StripeSubscription?.CancelAtPeriodEnd == true; - public DateTime? CurrentPeriodEnd => null; + public DateTime? CurrentPeriodEnd { get; set; } public DateTime? NextBillingDate => !WillCancelAtPeriodEnd ? CurrentPeriodEnd : null; public decimal? MonthlyAmount => StripeSubscription?.Items?.Data?.FirstOrDefault()?.Price?.UnitAmount / 100m; diff --git a/src/BCards.Web/Views/Admin/Dashboard.cshtml b/src/BCards.Web/Views/Admin/Dashboard.cshtml index 709ac69..b15f863 100644 --- a/src/BCards.Web/Views/Admin/Dashboard.cshtml +++ b/src/BCards.Web/Views/Admin/Dashboard.cshtml @@ -93,13 +93,15 @@ } -
- +
+ +