Convert-it/Controllers/HomeController.cs
Ricardo Carneiro 84b058904f
All checks were successful
Deploy ASP.NET MVC to OCI / build-and-deploy (push) Successful in 9m32s
fix: adiversos ajustes e mais 1 conversor
2025-09-14 21:26:16 -03:00

135 lines
5.7 KiB
C#

using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Localization;
using System.Collections.Generic;
namespace Convert_It_Online.Controllers
{
// ViewModel para representar uma ferramenta no menu da Home
public class ToolViewModel
{
public required string Title { get; set; }
public required string Description { get; set; }
public required string Area { get; set; }
public required string Controller { get; set; }
public required string IconClass { get; set; } // Propriedade para o ícone
public string Action { get; set; } = "Index";
}
public class HomeController : Controller
{
private readonly IStringLocalizer<SharedResource> _localizer;
public HomeController(IStringLocalizer<SharedResource> localizer)
{
_localizer = localizer;
}
private void SetCommonViewBagProperties()
{
ViewBag.HomeLink = _localizer["HomeLink"];
ViewBag.TextMenuTitle = _localizer["TextMenuTitle"];
ViewBag.ImageMenuTitle = _localizer["ImageMenuTitle"];
ViewBag.CaseConverterTitle = _localizer["CaseConverterTitle"];
ViewBag.JpgToWebpTitle = _localizer["JpgToWebpTitle"];
ViewBag.HeicToJpgTitle = _localizer["HeicToJpgTitle"];
ViewBag.FooterText = _localizer["FooterText"];
ViewBag.About = _localizer["About"];
ViewBag.Contact = _localizer["Contact"];
ViewBag.Terms = _localizer["Terms"];
}
public IActionResult Index()
{
SetCommonViewBagProperties();
ViewBag.PageTitle = _localizer["PageTitle"];
ViewBag.Subtitle = _localizer["Subtitle"];
ViewBag.AboutSiteTitle = _localizer["AboutSiteTitle"];
ViewBag.AboutSiteContent = _localizer["AboutSiteContent"];
ViewBag.WhyFreeTitle = _localizer["WhyFreeTitle"];
ViewBag.WhyFreeContent = _localizer["WhyFreeContent"];
ViewBag.SecurityTitle = _localizer["SecurityTitle"];
ViewBag.SecurityContent = _localizer["SecurityContent"];
ViewBag.AllConvertersTitle = _localizer["AllConvertersTitle"];
ViewBag.UseConverterButton = _localizer["UseConverterButton"];
var individualConverters = new List<ToolViewModel>
{
new ToolViewModel
{
Title = _localizer["CaseConverterIndividualTitle"],
Description = _localizer["CaseConverterIndividualDescription"],
Area = "TextTools",
Controller = "CaseConverter",
IconClass = "bi-fonts"
},
new ToolViewModel
{
Title = _localizer["JpgToWebpIndividualTitle"],
Description = _localizer["JpgToWebpIndividualDescription"],
Area = "ImageConverters",
Controller = "JpgToWebp",
IconClass = "bi-file-earmark-image"
},
new ToolViewModel
{
Title = _localizer["HeicToJpgIndividualTitle"],
Description = _localizer["HeicToJpgIndividualDescription"],
Area = "ImageConverters",
Controller = "HeicToJpg",
IconClass = "bi-phone"
}
};
return View(individualConverters);
}
public IActionResult About()
{
SetCommonViewBagProperties();
ViewBag.AboutTitle = _localizer["AboutTitle"];
ViewBag.WhatIsTitle = _localizer["WhatIsTitle"];
ViewBag.WhatIsContent = _localizer["WhatIsContent"];
ViewBag.MissionTitle = _localizer["MissionTitle"];
ViewBag.MissionContent = _localizer["MissionContent"];
ViewBag.FeaturesTitle = _localizer["FeaturesTitle"];
ViewBag.Feature1 = _localizer["Feature1"];
ViewBag.Feature2 = _localizer["Feature2"];
ViewBag.Feature3 = _localizer["Feature3"];
ViewBag.Feature4 = _localizer["Feature4"];
ViewBag.StartConverting = _localizer["StartConverting"];
return View();
}
public IActionResult Contact()
{
SetCommonViewBagProperties();
ViewBag.ContactTitle = _localizer["ContactTitle"];
ViewBag.ContactIntro = _localizer["ContactIntro"];
ViewBag.EmailTitle = _localizer["EmailTitle"];
ViewBag.SupportTitle = _localizer["SupportTitle"];
ViewBag.SupportTime = _localizer["SupportTime"];
ViewBag.FaqTitle = _localizer["FaqTitle"];
return View();
}
public IActionResult Terms()
{
SetCommonViewBagProperties();
ViewBag.TermsTitle = _localizer["TermsTitle"];
ViewBag.TermsIntro = _localizer["TermsIntro"];
ViewBag.AcceptanceTitle = _localizer["AcceptanceTitle"];
ViewBag.AcceptanceContent = _localizer["AcceptanceContent"];
ViewBag.ServiceTitle = _localizer["ServiceTitle"];
ViewBag.ServiceContent = _localizer["ServiceContent"];
ViewBag.PrivacyTitle = _localizer["PrivacyTitle"];
ViewBag.PrivacyContent = _localizer["PrivacyContent"];
ViewBag.LimitationTitle = _localizer["LimitationTitle"];
ViewBag.LimitationContent = _localizer["LimitationContent"];
ViewBag.ChangesTitle = _localizer["ChangesTitle"];
ViewBag.ChangesContent = _localizer["ChangesContent"];
ViewBag.LastUpdated = _localizer["LastUpdated"];
ViewBag.BackToHome = _localizer["BackToHome"];
return View();
}
}
}