diff --git a/ui/noogle/public/shipyard.ico b/ui/noogle/public/shipyard.ico
new file mode 100644
index 0000000..19ef70a
Binary files /dev/null and b/ui/noogle/public/shipyard.ico differ
diff --git a/ui/noogle/src/components/ImageGeneration.vue b/ui/noogle/src/components/ImageGeneration.vue
index 60d3fa2..0829c7f 100644
--- a/ui/noogle/src/components/ImageGeneration.vue
+++ b/ui/noogle/src/components/ImageGeneration.vue
@@ -11,7 +11,7 @@ import {
EventBuilder,
Tag,
EventId,
- Nip19Event, Alphabet, Keys
+ Nip19Event, Alphabet, Keys, nip04_decrypt, SecretKey
} from "@rust-nostr/nostr-sdk";
import store from '../store';
import miniToastr from "mini-toastr";
@@ -26,6 +26,8 @@ import amberSignerService from "./android-signer/AndroidSigner";
let dvms =[]
let searching = false
+
+
let listener = false
let hasmultipleinputs = false
@@ -60,6 +62,52 @@ async function post_note(note){
await client.publishTextNote(note, tags);
}
}
+
+async function schedule(note) {
+
+
+ let schedule = Timestamp.fromSecs(datetopost.value/1000)
+ let humandatetime = schedule.toHumanDatetime()
+ let time = humandatetime.split("T")[1].split("Z")[0].trim()
+ let date = humandatetime.split("T")[0].split("-")[2].trim() + "." + humandatetime.split("T")[0].split("-")[1].trim() + "." + humandatetime.split("T")[0].split("-")[0].trim().slice(2)
+
+ console.log("Date: " + date + " Time: "+ time )
+
+ let client = store.state.client
+ let signer = store.state.signer
+
+ let noteevent = EventBuilder.textNote(note, []).customCreatedAt(schedule).toUnsignedEvent(store.state.pubkey)
+ let signedEvent = await signer.signEvent(noteevent)
+
+ let stringifiedevent = signedEvent.asJson()
+
+ let tags_str = []
+ let tag = Tag.parse(["i", stringifiedevent, "text"])
+ tags_str.push(tag.asVec())
+ let tags_as_str = JSON.stringify(tags_str)
+
+
+ let content = await signer.nip04Encrypt(PublicKey.parse("85c20d3760ef4e1976071a569fb363f4ff086ca907669fb95167cdc5305934d1"), tags_as_str)
+
+ let tags_t = []
+ tags_t.push(Tag.parse(["p", "85c20d3760ef4e1976071a569fb363f4ff086ca907669fb95167cdc5305934d1"]))
+ tags_t.push(Tag.parse(["encrypted"]))
+ tags_t.push(Tag.parse(["client", "noogle"]))
+
+
+ let evt = new EventBuilder(5905, content, tags_t)
+ console.log(evt)
+ let res = await client.sendEventBuilder(evt);
+ console.log(res)
+ miniToastr.showMessage("Note scheduled for " + ("Date: " + date + " Time: "+ time ))
+
+
+
+
+}
+
+
+
async function generate_image(message) {
try {
@@ -145,7 +193,7 @@ async function listen() {
let client = store.state.client
let pubkey = store.state.pubkey
- const filter = new Filter().kinds([7000, 6100]).pubkey(pubkey).since(Timestamp.now());
+ const filter = new Filter().kinds([7000, 6100, 6905]).pubkey(pubkey).since(Timestamp.now());
await client.subscribe([filter]);
const handle = {
@@ -156,6 +204,7 @@ async function listen() {
}
//const dvmname = getNamefromId(event.author.toHex())
console.log("Received new event from", relayUrl);
+ console.log(event.asJson())
let resonsetorequest = false
sleep(1000).then(async () => {
for (let tag in event.tags) {
@@ -235,7 +284,12 @@ async function listen() {
}
- } else if (event.kind === 6100) {
+ }
+ else if (event.kind === 6905) {
+ console.log(event.content)
+
+ }
+ else if (event.kind === 6100) {
let entries = []
console.log("6100:", event.content);
@@ -353,22 +407,27 @@ defineProps({
import { ref } from "vue";
import ModalComponent from "../components/Newnote.vue";
import VueDatePicker from "@vuepic/vue-datepicker";
+import {timestamp} from "@vueuse/core";
const isModalOpened = ref(false);
const modalcontent = ref("");
+const datetopost = ref(Date.now());
const openModal = result => {
+ datetopost.value = Date.now();
isModalOpened.value = true;
modalcontent.value = result
};
const closeModal = () => {
isModalOpened.value = false;
+ console.log(datetopost.value)
};
const submitHandler = async () => {
- await post_note(modalcontent)
+ // await post_note(modalcontent)
+ await schedule(modalcontent, Timestamp.now())
}
@@ -410,8 +469,35 @@ const submitHandler = async () => {
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+ or
+
+
+