Added Pastes into the feed
This commit is contained in:
parent
04a5641650
commit
1fe82c18af
3 changed files with 15 additions and 9 deletions
|
@ -24,7 +24,7 @@ namespace Neighbourhood.omg.lol {
|
||||||
public List<MarkupString>? EphemeralMessages { get; set; }
|
public List<MarkupString>? EphemeralMessages { get; set; }
|
||||||
public List<string>? AddressDirectory { get; set; }
|
public List<string>? AddressDirectory { get; set; }
|
||||||
|
|
||||||
public List<StatusOrPic>? Feed { get; set; }
|
public List<FeedItem>? Feed { get; set; }
|
||||||
|
|
||||||
public Dictionary<string, Theme>? Themes { get; set; }
|
public Dictionary<string, Theme>? Themes { get; set; }
|
||||||
|
|
||||||
|
@ -316,12 +316,13 @@ namespace Neighbourhood.omg.lol {
|
||||||
await GetPastes(SelectedAddressName, forceRefresh: true);
|
await GetPastes(SelectedAddressName, forceRefresh: true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<IOrderedEnumerable<StatusOrPic>> GetFeed(bool forceRefresh = false) {
|
public async Task<IOrderedEnumerable<FeedItem>> GetFeed(bool forceRefresh = false) {
|
||||||
if(forceRefresh || Feed == null || Feed.Count == 0) {
|
if(forceRefresh || Feed == null || Feed.Count == 0) {
|
||||||
Feed = new List<StatusOrPic>();
|
Feed = new List<FeedItem>();
|
||||||
foreach(string address in Following ?? new List<string>()) {
|
foreach(string address in Following ?? new List<string>()) {
|
||||||
Feed.AddRange((await GetStatuses(address, forceRefresh))?.Select(s => new StatusOrPic { Status = s }) ?? new List<StatusOrPic>());
|
Feed.AddRange((await GetStatuses(address, forceRefresh))?.Select(s => new FeedItem { Status = s }) ?? new List<FeedItem>());
|
||||||
Feed.AddRange((await GetPics(address, forceRefresh))?.Select(p => new StatusOrPic { Pic = p }) ?? new List<StatusOrPic>());
|
Feed.AddRange((await GetPics(address, forceRefresh))?.Select(p => new FeedItem { Pic = p }) ?? new List<FeedItem>());
|
||||||
|
Feed.AddRange((await GetPastes(address, forceRefresh))?.Select(p => new FeedItem { Paste = p }) ?? new List<FeedItem>());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return Feed.OrderByDescending(s => s.CreatedTime);
|
return Feed.OrderByDescending(s => s.CreatedTime);
|
||||||
|
|
|
@ -35,13 +35,16 @@ else {
|
||||||
<div class="responsive page-container">
|
<div class="responsive page-container">
|
||||||
<div id="feed" class="page no-padding active">
|
<div id="feed" class="page no-padding active">
|
||||||
@if (feed != null){
|
@if (feed != null){
|
||||||
foreach (StatusOrPic item in feed) {
|
foreach (FeedItem item in feed) {
|
||||||
if (item.IsStatus) {
|
if (item.IsStatus) {
|
||||||
<StatusCard Status="@item.Status"></StatusCard>
|
<StatusCard Status="@item.Status"></StatusCard>
|
||||||
}
|
}
|
||||||
else if (item.IsPic) {
|
else if (item.IsPic) {
|
||||||
<PicCard Pic="@item.Pic"></PicCard>
|
<PicCard Pic="@item.Pic"></PicCard>
|
||||||
}
|
}
|
||||||
|
else if (item.IsPaste) {
|
||||||
|
<PasteCard Paste="@item.Paste"></PasteCard>
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
<LoadingCard id="feedLoading" icon="fa-solid fa-list-timeline"></LoadingCard>
|
<LoadingCard id="feedLoading" icon="fa-solid fa-list-timeline"></LoadingCard>
|
||||||
|
@ -75,7 +78,7 @@ else {
|
||||||
}
|
}
|
||||||
|
|
||||||
@code {
|
@code {
|
||||||
private IOrderedEnumerable<StatusOrPic>? feed;
|
private IOrderedEnumerable<FeedItem>? feed;
|
||||||
|
|
||||||
protected override async Task OnInitializedAsync() {
|
protected override async Task OnInitializedAsync() {
|
||||||
await base.OnInitializedAsync();
|
await base.OnInitializedAsync();
|
||||||
|
|
|
@ -1,11 +1,13 @@
|
||||||
namespace Neighbourhood.omg.lol.Models {
|
namespace Neighbourhood.omg.lol.Models {
|
||||||
public class StatusOrPic {
|
public class FeedItem {
|
||||||
public Status? Status { get; set; }
|
public Status? Status { get; set; }
|
||||||
public Pic? Pic { get; set; }
|
public Pic? Pic { get; set; }
|
||||||
|
public Paste? Paste { get; set; }
|
||||||
|
|
||||||
public bool IsStatus { get => Status != null; }
|
public bool IsStatus { get => Status != null; }
|
||||||
public bool IsPic { get => Pic != null; }
|
public bool IsPic { get => Pic != null; }
|
||||||
|
public bool IsPaste { get => Paste != null; }
|
||||||
|
|
||||||
public DateTimeOffset? CreatedTime { get => Status?.CreatedTime ?? Pic?.CreatedTime; }
|
public DateTimeOffset? CreatedTime { get => Status?.CreatedTime ?? Pic?.CreatedTime ?? Paste?.ModifiedTime; }
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in a new issue