using System.Collections.Generic;
using System.Linq;

namespace Model.Website.Data;

public class WebsiteData
{
    /**
     * Flag for content generated by the AI. Can contain UI that makes no sense, or more importantly,
     * game data that is not real. Fun to look at, but needs to be thoroughly vetted before it can ever go live.
     */
    public static bool allowSlopData { get; set; } = true;

    private static bool IsPageAllowed(WebPageModel page)
    {
        if (allowSlopData) return true;

        return page.Id != 5 && page.Id != 6;
    }

    public static List<WebPageModel> GetPages()
    {
        var pages = new List<WebPageModel>
        {
            new()
            {
                Id = 2,
                WebSectionModelId = 2,
                Name = "Build Calculator",
                Description = "Build order calculator for determining army timings",
                Href = "build-calculator",
                IsPrivate = "False",
                Icon = "fa-solid fa-helmet-battle"
            },
            new()
            {
                Id = 1,
                WebSectionModelId = 2,
                Name = "Database",
                Description = "Database of game information",
                Href = "database",
                IsPrivate = "False",
                Icon = "fa-solid fa-clipboard-list"
            },
            new()
            {
                Id = 3,
                WebSectionModelId = 2,
                Name = "Harass Calculator",
                Description = "Database of game information",
                Href = "harass-calculator",
                IsPrivate = "False",
                Icon = "fa-solid fa-bow-arrow"
            },
            new()
            {
                Id = 4,
                WebSectionModelId = 2,
                Name = "Data Tables",
                Description = "Data tables",
                Href = "data-tables",
                IsPrivate = "False",
                Icon = "fa-solid fa-table-list"
            },
            new()
            {
                Id = 5,
                WebSectionModelId = 2,
                Name = "Glossary",
                Description = "Reference for game terms and mechanics",
                Href = "glossary",
                IsPrivate = "False",
                Icon = "fa-solid fa-book-open"
            },
            new()
            {
                Id = 6,
                WebSectionModelId = 2,
                Name = "Tech Tree",
                Description = "Interactive tech tree visualization",
                Href = "tech-tree",
                IsPrivate = "False",
                Icon = "fa-solid fa-diagram-project"
            }
        };

        return pages.Where(IsPageAllowed).ToList();
    }
}