|
5 | 5 | { |
6 | 6 | string seriesName = group.First().Download.Name; |
7 | 7 | var seasonGroups = group.GroupBy(_ => _.Download.Season); |
8 | | - <h5 class="d-inline-block me-2"> |
| 8 | + <div class="d-inline-block me-2 mb-2"> |
9 | 9 | <HxBadge CssClass="px-3 pt-2 pb-2" Color="ThemeColor.Secondary"> |
10 | | - <div class="d-block"> |
11 | | - <span class="d-block mb-2 text-warning">@seriesName</span> |
12 | | - <div class="d-flex justify-content-center"> |
13 | | - @foreach (IGrouping<int, EpisodeDownloadModel> group2 in seasonGroups) |
14 | | - { |
15 | | - <HxBadge CssClass="d-inline-block px-3 mx-1" Type="BadgeType.RoundedPill" Color="ThemeColor.Dark"> |
16 | | - @($"S{group2.Key:D2}") |
17 | | - </HxBadge> |
18 | | - } |
19 | | - </div> |
20 | | - </div> |
21 | | - </HxBadge> |
22 | | - </h5> |
23 | | - } |
24 | | - </div> |
25 | | - <div class="container mt-5 text-center"> |
26 | | - @foreach (IGrouping<string, EpisodeDownloadModel> group in GetGroupedDownloads()) |
27 | | - { |
28 | | - string seriesName = group.First().Download.Name; |
29 | | - var seasonGroups = group.GroupBy(_ => _.Download.Season); |
30 | | - <h5 class="d-inline-block me-2"> |
31 | | - <HxBadge CssClass="px-3 pt-2 pb-2" Color="ThemeColor.Secondary"> |
32 | | - <div class="d-block"> |
33 | | - <span class="d-block mb-2 pb-2 text-warning border-bottom border-2 border-dark-subtle mx-1">@seriesName</span> |
34 | | - <div class="d-flex justify-content-center"> |
35 | | - @foreach (IGrouping<int, EpisodeDownloadModel> group2 in seasonGroups) |
36 | | - { |
37 | | - <HxBadge CssClass="d-inline-block px-3 mx-1" Type="BadgeType.RoundedPill" Color="ThemeColor.Dark"> |
38 | | - @($"S{group2.Key:D2}") |
39 | | - </HxBadge> |
40 | | - } |
41 | | - </div> |
42 | | - </div> |
43 | | - </HxBadge> |
44 | | - </h5> |
45 | | - } |
46 | | - </div> |
47 | | - <div class="container mt-5 text-center"> |
48 | | - @foreach (IGrouping<string, EpisodeDownloadModel> group in GetGroupedDownloads()) |
49 | | - { |
50 | | - string seriesName = group.First().Download.Name; |
51 | | - var seasonGroups = group.GroupBy(_ => _.Download.Season); |
52 | | - <h5 class="d-inline-block me-2"> |
53 | | - <HxBadge CssClass="px-3 pt-2 pb-2" Color="ThemeColor.Secondary"> |
54 | | - <div class="d-block"> |
| 10 | + <div class="d-block" style="min-width: 250px"> |
55 | 11 | <h5> |
56 | 12 | <HxBadge CssClass="w-100 py-2" Type="BadgeType.RoundedPill" Color="ThemeColor.Warning"> |
57 | | - @seriesName |
58 | | - </HxBadge> |
59 | | - </h5> |
60 | | - <div class="d-flex justify-content-center"> |
61 | | - @foreach (IGrouping<int, EpisodeDownloadModel> group2 in seasonGroups) |
62 | | - { |
63 | | - <HxBadge CssClass="d-inline-block px-3 mx-1" Type="BadgeType.RoundedPill" Color="ThemeColor.Dark"> |
64 | | - @($"S{group2.Key:D2}") |
65 | | - </HxBadge> |
66 | | - } |
67 | | - </div> |
68 | | - </div> |
69 | | - </HxBadge> |
70 | | - </h5> |
71 | | - } |
72 | | - </div> |
73 | | - <div class="container mt-5 text-center"> |
74 | | - @foreach (IGrouping<string, EpisodeDownloadModel> group in GetGroupedDownloads()) |
75 | | - { |
76 | | - string seriesName = group.First().Download.Name; |
77 | | - var seasonGroups = group.GroupBy(_ => _.Download.Season); |
78 | | - <h5 class="d-inline-block me-2"> |
79 | | - <HxBadge CssClass="px-3 pt-2 pb-2" Color="ThemeColor.Secondary"> |
80 | | - <div class="d-block"> |
81 | | - <h5> |
82 | | - <HxBadge CssClass="w-100 py-2" Type="BadgeType.RoundedPill" Color="ThemeColor.Success"> |
83 | | - @seriesName |
| 13 | + <span class="pe-3 align-middle">@seriesName</span> |
| 14 | + <HxIcon CssClass="text-danger float-end fs-5" Icon="BootstrapIcon.XCircle"></HxIcon> |
84 | 15 | </HxBadge> |
85 | 16 | </h5> |
86 | 17 | <div class="d-flex justify-content-center"> |
87 | 18 | @foreach (IGrouping<int, EpisodeDownloadModel> group2 in seasonGroups) |
88 | 19 | { |
89 | | - <HxBadge CssClass="d-inline-block px-3 mx-1" Type="BadgeType.RoundedPill" Color="ThemeColor.Dark"> |
90 | | - @($"S{group2.Key:D2}") |
| 20 | + <HxBadge style="font-size: 15px" CssClass="d-inline-block px-3 mx-1" Type="BadgeType.RoundedPill" Color="ThemeColor.Dark"> |
| 21 | + <span class="pe-3">@($"S{group2.Key:D2}")</span> |
| 22 | + <HxIcon CssClass="text-danger float-end" Icon="BootstrapIcon.XCircle"></HxIcon> |
91 | 23 | </HxBadge> |
92 | 24 | } |
93 | 25 | </div> |
94 | 26 | </div> |
95 | 27 | </HxBadge> |
96 | | - </h5> |
| 28 | + </div> |
97 | 29 | } |
98 | 30 | </div> |
99 | 31 | } |
|
102 | 34 | private List<EpisodeDownloadModel>? Downloads { get; set; } = []; |
103 | 35 | private CronJobState CronJobState = CronJobState.WaitForNextCycle; |
104 | 36 |
|
105 | | - private List<EpisodeDownloadModel>? MockDownloads { get; set; } = new() |
106 | | - { |
107 | | - new EpisodeDownloadModel(){ Download = new DownloadModel() { Name = "Jujutsu Kaisen", Season = 1, Episode = 1 } }, |
108 | | - new EpisodeDownloadModel(){ Download = new DownloadModel() { Name = "Jujutsu Kaisen", Season = 2, Episode = 1 } }, |
109 | | - new EpisodeDownloadModel(){ Download = new DownloadModel() { Name = "Jujutsu Kaisen", Season = 3, Episode = 1 } }, |
110 | | - new EpisodeDownloadModel(){ Download = new DownloadModel() { Name = "Mushoku Tensei: Jobless Reincarnation", Season = 1, Episode = 1 } }, |
111 | | - new EpisodeDownloadModel(){ Download = new DownloadModel() { Name = "Mushoku Tensei: Jobless Reincarnation", Season = 2, Episode = 1 } }, |
112 | | - new EpisodeDownloadModel(){ Download = new DownloadModel() { Name = "Date a Live", Season = 1, Episode = 1 } }, |
113 | | - new EpisodeDownloadModel(){ Download = new DownloadModel() { Name = "Date a Live", Season = 2, Episode = 1 } }, |
114 | | - new EpisodeDownloadModel(){ Download = new DownloadModel() { Name = "Black Clover", Season = 1, Episode = 1 } }, |
115 | | - new EpisodeDownloadModel(){ Download = new DownloadModel() { Name = "Black Clover", Season = 2, Episode = 1 } }, |
116 | | - new EpisodeDownloadModel(){ Download = new DownloadModel() { Name = "Beyblade X", Season = 1, Episode = 1 } }, |
117 | | - new EpisodeDownloadModel(){ Download = new DownloadModel() { Name = "Beyblade X", Season = 2, Episode = 1 } }, |
118 | | - new EpisodeDownloadModel(){ Download = new DownloadModel() { Name = "Beyblade Y", Season = 1, Episode = 1 } }, |
119 | | - new EpisodeDownloadModel(){ Download = new DownloadModel() { Name = "Beyblade Y", Season = 2, Episode = 1 } }, |
120 | | - new EpisodeDownloadModel(){ Download = new DownloadModel() { Name = "Beyblade Z", Season = 1, Episode = 1 } }, |
121 | | - new EpisodeDownloadModel(){ Download = new DownloadModel() { Name = "Beyblade Z", Season = 2, Episode = 1 } }, |
122 | | - new EpisodeDownloadModel(){ Download = new DownloadModel() { Name = "The Eminence in Shadow", Season = 1, Episode = 1 } }, |
123 | | - new EpisodeDownloadModel(){ Download = new DownloadModel() { Name = "The Eminence in Shadow", Season = 2, Episode = 1 } }, |
124 | | - }; |
125 | | - |
126 | 37 | protected override void OnAfterRender(bool firstRender) |
127 | 38 | { |
128 | 39 | if (firstRender) |
|
163 | 74 |
|
164 | 75 | private IEnumerable<IGrouping<string, EpisodeDownloadModel>> GetGroupedDownloads() |
165 | 76 | { |
166 | | - return MockDownloads.GroupBy(_ => _.Download.Name); |
| 77 | + return Downloads.GroupBy(_ => _.Download.Name).Take(5); |
167 | 78 | } |
168 | 79 | } |
0 commit comments