IW4M-Admin/WebfrontCore/Controllers/AboutController.cs
2021-10-16 13:30:26 -05:00

44 lines
1.5 KiB
C#

using System.Linq;
using Microsoft.AspNetCore.Mvc;
using SharedLibraryCore;
using SharedLibraryCore.Configuration;
using SharedLibraryCore.Interfaces;
using WebfrontCore.Extensions;
using WebfrontCore.ViewModels;
namespace WebfrontCore.Controllers
{
public class AboutController : BaseController
{
private readonly ApplicationConfiguration _appConfig;
public AboutController(IManager manager, ApplicationConfiguration appConfig) : base(manager)
{
_appConfig = appConfig;
}
public IActionResult Index()
{
ViewBag.Description = Localization["WEBFRONT_ABOUT_DESCRIPTION"].FormatExt(
_appConfig.ShouldUseFallbackBranding()
? _appConfig.WebfrontCustomBranding
: _appConfig.CommunityInformation.Name);
ViewBag.Title = _appConfig.ShouldUseFallbackBranding()
? Localization["WEBFRONT_NAV_ABOUT"]
: _appConfig.CommunityInformation.Name;
var info = new CommunityInfo
{
GlobalRules = _appConfig.GlobalRules,
ServerRules =
_appConfig.Servers.ToDictionary(
config => Manager.GetServers().FirstOrDefault(server =>
server.IP == config.IPAddress && server.Port == config.Port)?.Hostname,
config => config.Rules),
CommunityInformation = _appConfig.CommunityInformation
};
return View(info);
}
}
}