using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Postall.Models; using System.Security.Claims; using System.Threading.Tasks; using System.Collections.Generic; using Postall.Models; namespace Postall.Controllers { [Authorize] public class VideosController : Controller { // Simulação de dados para exemplo - em produção, estes dados viriam de uma API ou banco de dados private List GetSampleVideos() { return new List { new VideoViewModel { Id = "video1", Title = "Como usar o PostAll - Tutorial", Description = "Aprenda a usar todas as funcionalidades do PostAll para gerenciar suas redes sociais.", ThumbnailUrl = "https://i.ytimg.com/vi/sample1/maxresdefault.jpg", PublishedAt = DateTime.Now.AddDays(-2) }, new VideoViewModel { Id = "video2", Title = "Estratégias de Marketing Digital para 2024", Description = "Conheça as melhores estratégias para alavancar seu negócio nas redes sociais em 2024.", ThumbnailUrl = "https://i.ytimg.com/vi/sample2/maxresdefault.jpg", PublishedAt = DateTime.Now.AddDays(-5) }, new VideoViewModel { Id = "video3", Title = "Análise de Métricas nas Redes Sociais", Description = "Aprenda a interpretar as métricas das suas redes sociais e tomar decisões baseadas em dados.", ThumbnailUrl = "https://i.ytimg.com/vi/sample3/maxresdefault.jpg", PublishedAt = DateTime.Now.AddDays(-7) } }; } public IActionResult Index() { var userVideos = GetSampleVideos(); return View(userVideos); } [HttpGet] public IActionResult GetChannelVideos() { // Em um cenário real, você buscaria os vídeos da API do YouTube var channelVideos = GetSampleVideos().OrderByDescending(v => v.PublishedAt).Take(10).ToList(); return PartialView("_ChannelVideosPartial", channelVideos); } [HttpPost] public IActionResult AddVideos(string[] selectedVideos) { if (selectedVideos == null || selectedVideos.Length == 0) { return RedirectToAction("Index"); } // Em um cenário real, você salvaria esses IDs no banco de dados // Aqui apenas redirecionamos de volta para o Index TempData["Message"] = $"{selectedVideos.Length} vídeo(s) adicionado(s) com sucesso!"; return RedirectToAction("Index"); } } }