/// <summary> /// Activiates the default Clarity theme, registers system-defined widget areas, /// then load some widgets. /// </summary> private async Task SetupThemeAndWidgets() { // Clarity theme await _themeService.ActivateThemeAsync("Clarity"); // System-defined Areas await _widgetSvc.RegisterAreaAsync(WidgetService.BlogSidebar1.Id); await _widgetSvc.RegisterAreaAsync(WidgetService.BlogSidebar2.Id); await _widgetSvc.RegisterAreaAsync(WidgetService.BlogBeforePost.Id); await _widgetSvc.RegisterAreaAsync(WidgetService.BlogAfterPost.Id); await _widgetSvc.RegisterAreaAsync(WidgetService.BlogBeforePostList.Id); await _widgetSvc.RegisterAreaAsync(WidgetService.BlogAfterPostList.Id); await _widgetSvc.RegisterAreaAsync(WidgetService.Footer1.Id); await _widgetSvc.RegisterAreaAsync(WidgetService.Footer2.Id); await _widgetSvc.RegisterAreaAsync(WidgetService.Footer3.Id); // Area: BlogSidebar1 // Social Icons var socialIconsWidget = new SocialIconsWidget { Links = SocialIconsWidget.SocialLinkSeeds }; var widgetInstId = await _widgetSvc.CreateWidgetAsync(socialIconsWidget, "SocialIcons"); await _widgetSvc.AddWidgetToAreaAsync(widgetInstId, WidgetService.BlogSidebar1.Id, 0); // Blog Tags widgetInstId = await _widgetSvc.CreateWidgetAsync("BlogTags"); await _widgetSvc.AddWidgetToAreaAsync(widgetInstId, WidgetService.BlogSidebar1.Id, 1); // Blog Categories widgetInstId = await _widgetSvc.CreateWidgetAsync("BlogCategories"); await _widgetSvc.AddWidgetToAreaAsync(widgetInstId, WidgetService.BlogSidebar1.Id, 2); // Blog Archives widgetInstId = await _widgetSvc.CreateWidgetAsync("BlogArchives"); await _widgetSvc.AddWidgetToAreaAsync(widgetInstId, WidgetService.BlogSidebar1.Id, 3); // Area: BlogAfterPost // Recent Blog Posts var recentBlogPostsWidget = new RecentBlogPostsWidget { ShowPostExcerpt = true }; widgetInstId = await _widgetSvc.CreateWidgetAsync(recentBlogPostsWidget, "RecentBlogPosts"); await _widgetSvc.AddWidgetToAreaAsync(widgetInstId, WidgetService.BlogAfterPost.Id, 0); }
public async Task <IActionResult> OnPostAsync([FromBody] RecentBlogPostsWidget widget) { if (ModelState.IsValid) { await widgetService.UpdateWidgetAsync(widget.Id, widget); return(new JsonResult("Widget settings updated.")); } return(BadRequest("Invalid form values submitted.")); }