feat: improve official columns

This commit is contained in:
2024-04-18 07:50:46 +07:00
parent f3c52237fa
commit cd31b99559
10 changed files with 59 additions and 77 deletions

View File

@@ -195,45 +195,39 @@ export class Ark {
hashtags: string[],
limit: number,
asOf?: number,
global?: boolean,
) {
let until: string = undefined;
if (asOf && asOf > 0) until = asOf.toString();
const dedup = true;
const seenIds = new Set<string>();
const dedupQueue = new Set<string>();
const nostrTags = hashtags.map((tag) => tag.replace("#", "").toLowerCase());
const nostrEvents: Event[] = await invoke("get_events_from_interests", {
hashtags,
hashtags: nostrTags,
limit,
until,
global,
});
if (dedup) {
for (const event of nostrEvents) {
const tags = event.tags
.filter((el) => el[0] === "e")
?.map((item) => item[1]);
for (const event of nostrEvents) {
const tags = event.tags
.filter((el) => el[0] === "e")
?.map((item) => item[1]);
if (tags.length) {
for (const tag of tags) {
if (seenIds.has(tag)) {
dedupQueue.add(event.id);
break;
}
seenIds.add(tag);
if (tags.length) {
for (const tag of tags) {
if (seenIds.has(tag)) {
dedupQueue.add(event.id);
break;
}
seenIds.add(tag);
}
}
return nostrEvents
.filter((event) => !dedupQueue.has(event.id))
.sort((a, b) => b.created_at - a.created_at);
}
return nostrEvents.sort((a, b) => b.created_at - a.created_at);
return nostrEvents
.filter((event) => !dedupQueue.has(event.id))
.sort((a, b) => b.created_at - a.created_at);
}
public async publish(

View File

@@ -126,7 +126,7 @@ export function NoteContent({
);
if (compact) {
parsedContent = reactStringReplace(parsedContent, /[\r\n]{2,}/g, () => (
parsedContent = reactStringReplace(parsedContent, /\n*\n/g, () => (
<div key={nanoid()} className="h-1.5" />
));
}

View File

@@ -19,7 +19,7 @@ export function MentionNote({
return (
<div
contentEditable={false}
className="my-1 flex w-full cursor-default items-center justify-between rounded-2xl border border-black/10 p-3 dark:border-white/10"
className="my-1 flex w-full cursor-default items-center justify-between rounded-xl border border-black/10 p-3 dark:border-white/10"
>
<p>Loading...</p>
</div>
@@ -30,7 +30,7 @@ export function MentionNote({
return (
<div
contentEditable={false}
className="my-1 w-full cursor-default rounded-2xl border border-black/10 p-3 dark:border-white/10"
className="my-1 w-full cursor-default rounded-xl border border-black/10 p-3 dark:border-white/10"
>
{t("note.error")}
</div>