From d3b3bcb49c8cd6b80f7790fc7951c67ed89752d0 Mon Sep 17 00:00:00 2001 From: "ildar.timerbaev" Date: Wed, 8 Jan 2025 16:22:20 +0300 Subject: [PATCH] Changed permlink to wave-ntz for Waves page --- .../components/wave-form/api/use-wave-create.ts | 2 +- .../waves/components/wave-form/api/use-waves-api.ts | 12 +++++++++--- src/utils/posting.ts | 12 ++++++++++++ 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/src/features/waves/components/wave-form/api/use-wave-create.ts b/src/features/waves/components/wave-form/api/use-wave-create.ts index 768d29f9d..d70e45bd7 100644 --- a/src/features/waves/components/wave-form/api/use-wave-create.ts +++ b/src/features/waves/components/wave-form/api/use-wave-create.ts @@ -45,7 +45,7 @@ export function useWaveCreate() { const entry = hostEntries[0]; return { host, - entry: (await generalApiRequest({ entry, raw, editingEntry })) as WaveEntry, + entry: (await generalApiRequest({ entry, raw, editingEntry, host })) as WaveEntry, isEditing: !!editingEntry }; }, diff --git a/src/features/waves/components/wave-form/api/use-waves-api.ts b/src/features/waves/components/wave-form/api/use-waves-api.ts index 0658d798b..5f148a48a 100644 --- a/src/features/waves/components/wave-form/api/use-waves-api.ts +++ b/src/features/waves/components/wave-form/api/use-waves-api.ts @@ -3,7 +3,7 @@ import { useContext } from "react"; import { useGlobalStore } from "@/core/global-store"; import { PollsContext } from "@/features/polls"; import { Entry, FullAccount, WaveEntry } from "@/entities"; -import { createReplyPermlink, tempEntry } from "@/utils"; +import { createReplyPermlink, createWavePermlink, tempEntry } from "@/utils"; import { EntryMetadataManagement } from "@/features/entry-management"; import { comment } from "@/api/operations"; import { EcencyEntriesCacheManagement } from "@/core/caches"; @@ -24,11 +24,13 @@ export function useWavesApi() { mutationFn: async ({ entry, raw, - editingEntry + editingEntry, + host }: { entry: Entry; raw: string; editingEntry?: WaveEntry; + host?: string; }) => { if (!activeUser || !activeUser.data.__loaded) { throw new Error("[Wave][Thread-base][API] – No active user"); @@ -36,7 +38,11 @@ export function useWavesApi() { const parentAuthor = editingEntry?.parent_author ?? entry.author; const parentPermlink = editingEntry?.parent_permlink ?? entry.permlink; - const permlink = editingEntry?.permlink ?? createReplyPermlink(entry.author); + let permlink = editingEntry?.permlink ?? createReplyPermlink(entry.author); + + if (host === "ecency.waves" && !editingEntry) { + permlink = createWavePermlink(); + } const tags = raw.match(/\#[a-zA-Z0-9]+/g)?.map((tag) => tag.replace("#", "")) ?? ["ecency"]; const jsonMeta = EntryMetadataManagement.EntryMetadataManager.shared diff --git a/src/utils/posting.ts b/src/utils/posting.ts index 17c602ec3..befd77925 100644 --- a/src/utils/posting.ts +++ b/src/utils/posting.ts @@ -131,6 +131,18 @@ export const createReplyPermlink = (toAuthor?: string) => { return `re-${toAuthor?.replace(/\./g, "")}-${timeFormat}`; }; +export function createWavePermlink() { + const t = new Date(Date.now()); + + const timeFormat = `${t.getFullYear().toString()}${(t.getMonth() + 1).toString()}${t + .getDate() + .toString()}t${t.getHours().toString()}${t.getMinutes().toString()}${t + .getSeconds() + .toString()}${t.getMilliseconds().toString()}z`; + + return `wave-${timeFormat}`; +} + export const createPatch = (text1: string, text2: string): string | undefined => { const dmp = new diff_match_patch(); if (text1 === "") return undefined;