Libation/Source/LibationUiBase/LibationContributor.cs
Michael Bucari-Tovo dfb63d3275 Add contributor
2025-05-09 13:15:18 -06:00

58 lines
1.7 KiB
C#

using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
namespace LibationUiBase;
public enum LibationContributorType
{
Contributor,
Collaborator,
Creator
}
public class LibationContributor
{
public string Name { get; }
public LibationContributorType Type { get; }
public Uri Link { get; }
public static IEnumerable<LibationContributor> PrimaryContributors
=> Contributors.Where(c => c.Type is LibationContributorType.Creator or LibationContributorType.Collaborator);
public static IEnumerable<LibationContributor> AdditionalContributors
=> Contributors.Where(c => c.Type is LibationContributorType.Contributor);
public static IReadOnlyList<LibationContributor> Contributors { get; }
= new ReadOnlyCollection<LibationContributor>([
GitHubUser("rmcrackan", LibationContributorType.Creator),
GitHubUser("Mbucari", LibationContributorType.Collaborator),
GitHubUser("pixil98"),
GitHubUser("hutattedonmyarm"),
GitHubUser("seanke"),
GitHubUser("wtanksleyjr"),
GitHubUser("Dr.Blank"),
GitHubUser("CharlieRussel"),
GitHubUser("cbordeman"),
GitHubUser("jwillikers"),
GitHubUser("Shuvashish76"),
GitHubUser("RokeJulianLockhart"),
GitHubUser("maaximal"),
GitHubUser("muchtall"),
GitHubUser("ScubyG"),
GitHubUser("patienttruth"),
GitHubUser("stickystyle"),
GitHubUser("cherez"),
]);
private LibationContributor(string name, LibationContributorType type,Uri link)
{
Name = name;
Type = type;
Link = link;
}
private static LibationContributor GitHubUser(string name, LibationContributorType type = LibationContributorType.Contributor)
=> new LibationContributor(name, type, new Uri($"ht" + $"tps://github.com/{name.Replace('.', '-')}"));
}