From ca980012993bf4c7372ef2a59a8fda0263b7052d Mon Sep 17 00:00:00 2001 From: Ricardo Carneiro Date: Sun, 17 Aug 2025 19:01:30 -0300 Subject: [PATCH] fix: muitos temas! --- src/BCards.Web/Controllers/AdminController.cs | 9 +++++++-- src/BCards.Web/Models/PageTheme.cs | 5 +++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/BCards.Web/Controllers/AdminController.cs b/src/BCards.Web/Controllers/AdminController.cs index 319fb67..dd3059e 100644 --- a/src/BCards.Web/Controllers/AdminController.cs +++ b/src/BCards.Web/Controllers/AdminController.cs @@ -317,7 +317,7 @@ public class AdminController : Controller model.ProfileImageId = existingPage.ProfileImageId; } - UpdateUserPageFromModel(existingPage, model); + await UpdateUserPageFromModel(existingPage, model); // Set status to PendingModeration for updates existingPage.Status = ViewModels.PageStatus.Creating; @@ -740,7 +740,7 @@ public class AdminController : Controller return userPage; } - private void UpdateUserPageFromModel(UserPage page, ManagePageViewModel model) + private async Task UpdateUserPageFromModel(UserPage page, ManagePageViewModel model) { page.DisplayName = model.DisplayName; page.Category = model.Category; @@ -748,6 +748,11 @@ public class AdminController : Controller page.Bio = model.Bio; page.Slug = model.Slug; page.ProfileImageId = model.ProfileImageId; // CRUCIAL: Atualizar ProfileImageId + + // CRUCIAL: Atualizar tema selecionado + var selectedTheme = await _themeService.GetThemeByNameAsync(model.SelectedTheme) ?? _themeService.GetDefaultTheme(); + page.Theme = selectedTheme; + page.UpdatedAt = DateTime.UtcNow; // Update links diff --git a/src/BCards.Web/Models/PageTheme.cs b/src/BCards.Web/Models/PageTheme.cs index 78d036b..c14e2bf 100644 --- a/src/BCards.Web/Models/PageTheme.cs +++ b/src/BCards.Web/Models/PageTheme.cs @@ -38,4 +38,9 @@ public class PageTheme [BsonElement("createdAt")] public DateTime CreatedAt { get; set; } = DateTime.UtcNow; + + // Campo translations - para compatibilidade futura, não usado por enquanto + [BsonElement("translations")] + [BsonIgnoreIfDefault] + public object? Translations { get; set; } } \ No newline at end of file