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