From 3873243a0f477185fe6cf79c3e75c1a2ac82f4a1 Mon Sep 17 00:00:00 2001 From: miggymofongo Date: Sat, 4 Jan 2025 23:50:59 -0400 Subject: [PATCH] updated the readme --- README.md | 16 ++++++- package-lock.json | 44 ++++++++++++++++++ package.json | 2 + public/assets/icons/casto_kingdom.png | Bin 0 -> 78628 bytes src/components/menu-plugin.ts | 62 +++++++++++--------------- src/pages/app-write/app-write.ts | 52 ++++++++++++++------- src/styles/shared-styles.ts | 22 +++++++++ 7 files changed, 145 insertions(+), 53 deletions(-) create mode 100755 public/assets/icons/casto_kingdom.png diff --git a/README.md b/README.md index 5741946..6e1209d 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,18 @@ -# Nostr Microclient +# Personal Microclient -using nostr-tools and pwabuilder to play with notes and display them on an installable personal web page. +This is an installable personal website that is accessisible through chrome-based and firefox browsers. The website is built with PWA Builder and Lit Web Components. It utilizes the Nostr +protocol to connect to my personal relay for fetching recent notes as well as kind 0 notes AKA profile metadata. + +If you're on safari browsers, try visiting the webpage then tapping on the arrow +pointing up in the bottom toolbar. Scroll down a bit to tap on "Add to Home Screen". + +If you're on a chromium-based browser you should be able to do the same + + + +# TODO + + diff --git a/package-lock.json b/package-lock.json index cb7acb5..d5ff3ee 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,11 +15,13 @@ "@thepassle/app-tools": "^0.9.12", "axios": "^1.7.7", "cors": "^2.8.5", + "crelt": "^1.0.6", "express": "^4.21.1", "lazy.js": "^0.5.1", "lit": "^3.2.1", "nostr-tools": "^2.10.1", "prosemirror-markdown": "^1.13.1", + "prosemirror-menu": "^1.2.4", "prosemirror-model": "^1.24.1", "prosemirror-state": "^1.4.3", "prosemirror-view": "^1.37.1", @@ -3046,6 +3048,11 @@ "node": ">= 0.10" } }, + "node_modules/crelt": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/crelt/-/crelt-1.0.6.tgz", + "integrity": "sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==" + }, "node_modules/crypto-random-string": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", @@ -4762,6 +4769,27 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/prosemirror-commands": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/prosemirror-commands/-/prosemirror-commands-1.6.2.tgz", + "integrity": "sha512-0nDHH++qcf/BuPLYvmqZTUUsPJUCPBUXt0J1ErTcDIS369CTp773itzLGIgIXG4LJXOlwYCr44+Mh4ii6MP1QA==", + "dependencies": { + "prosemirror-model": "^1.0.0", + "prosemirror-state": "^1.0.0", + "prosemirror-transform": "^1.10.2" + } + }, + "node_modules/prosemirror-history": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/prosemirror-history/-/prosemirror-history-1.4.1.tgz", + "integrity": "sha512-2JZD8z2JviJrboD9cPuX/Sv/1ChFng+xh2tChQ2X4bB2HeK+rra/bmJ3xGntCcjhOqIzSDG6Id7e8RJ9QPXLEQ==", + "dependencies": { + "prosemirror-state": "^1.2.2", + "prosemirror-transform": "^1.0.0", + "prosemirror-view": "^1.31.0", + "rope-sequence": "^1.3.0" + } + }, "node_modules/prosemirror-markdown": { "version": "1.13.1", "resolved": "https://registry.npmjs.org/prosemirror-markdown/-/prosemirror-markdown-1.13.1.tgz", @@ -4772,6 +4800,17 @@ "prosemirror-model": "^1.20.0" } }, + "node_modules/prosemirror-menu": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/prosemirror-menu/-/prosemirror-menu-1.2.4.tgz", + "integrity": "sha512-S/bXlc0ODQup6aiBbWVsX/eM+xJgCTAfMq/nLqaO5ID/am4wS0tTCIkzwytmao7ypEtjj39i7YbJjAgO20mIqA==", + "dependencies": { + "crelt": "^1.0.0", + "prosemirror-commands": "^1.0.0", + "prosemirror-history": "^1.0.0", + "prosemirror-state": "^1.0.0" + } + }, "node_modules/prosemirror-model": { "version": "1.24.1", "resolved": "https://registry.npmjs.org/prosemirror-model/-/prosemirror-model-1.24.1.tgz", @@ -5052,6 +5091,11 @@ "fsevents": "~2.3.2" } }, + "node_modules/rope-sequence": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/rope-sequence/-/rope-sequence-1.3.4.tgz", + "integrity": "sha512-UT5EDe2cu2E/6O4igUr5PSFs23nvvukicWHx6GnOPlHAiiYbzNuCRQCuiUdHJQcqKalLKlrYJnjY0ySGsXNQXQ==" + }, "node_modules/rxjs": { "version": "7.8.1", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", diff --git a/package.json b/package.json index 46ab7e8..c31c06e 100644 --- a/package.json +++ b/package.json @@ -21,11 +21,13 @@ "@thepassle/app-tools": "^0.9.12", "axios": "^1.7.7", "cors": "^2.8.5", + "crelt": "^1.0.6", "express": "^4.21.1", "lazy.js": "^0.5.1", "lit": "^3.2.1", "nostr-tools": "^2.10.1", "prosemirror-markdown": "^1.13.1", + "prosemirror-menu": "^1.2.4", "prosemirror-model": "^1.24.1", "prosemirror-state": "^1.4.3", "prosemirror-view": "^1.37.1", diff --git a/public/assets/icons/casto_kingdom.png b/public/assets/icons/casto_kingdom.png new file mode 100755 index 0000000000000000000000000000000000000000..ba4a4b8ed9635a71367f6b68fd5ae0e7c18374a8 GIT binary patch literal 78628 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 literal 0 HcmV?d00001 diff --git a/src/components/menu-plugin.ts b/src/components/menu-plugin.ts index e0476ad..8ae3539 100644 --- a/src/components/menu-plugin.ts +++ b/src/components/menu-plugin.ts @@ -1,40 +1,32 @@ -import { Plugin } from 'prosemirror-state'; +// menu-plugin.ts +import { MenuItem } from "prosemirror-menu"; +import { menuBar } from "prosemirror-menu"; +import { toggleMark } from "prosemirror-commands"; +import { Plugin } from "prosemirror-state"; -export const plusButtonPlugin = new Plugin({ - view(editorView) { - const button = document.createElement('button'); - button.textContent = '+'; - button.className = 'plus-button' +// Modify the menuBar function to accept customSchema as a parameter +export function createMenuPlugin(customSchema: any) { + const boldButton = new MenuItem({ + title: "Bold", + run: toggleMark(customSchema.marks.bold), + active: (state) => state.selection.$head.marks().some(mark => mark.type === customSchema.marks.bold), + }); - button.style.position = 'absolute'; - button.style.zIndex = '10'; - button.style.display = 'none'; // Hide initially + const italicButton = new MenuItem({ + title: "Italic", + run: toggleMark(customSchema.marks.italic), + active: (state) => state.selection.$head.marks().some(mark => mark.type === customSchema.marks.italic), + }); - editorView.dom.appendChild(button); + const menuContent = [ + [boldButton, italicButton] // Array of buttons or other menu items + ]; - button.addEventListener('click', () => { - console.log('Plus button clicked'); - // Add logic to open dropdown or execute commands - }); + menuBar({ + content: menuContent, + floating: true, + }); + return new Plugin({ - return { - update(view) { - const { $from } = view.state.selection; - - // Only show the button when the cursor is in a text block with no content - if ($from.parent.isTextblock && $from.parent.content.size === 0) { - const coords = view.coordsAtPos($from.pos); - // Position the button relative to the cursor - button.style.top = `${coords.top + window.scrollY}px`; // Added scroll offset for better positioning - button.style.left = `${coords.left + window.scrollX - 30}px`; // Added scroll offset - button.style.display = 'block'; // Make the button visible - } else { - button.style.display = 'none'; // Hide the button when not in valid position - } - }, - destroy() { - button.remove(); // Cleanup on destroy - }, - }; - }, -}); + }) +} diff --git a/src/pages/app-write/app-write.ts b/src/pages/app-write/app-write.ts index ef744e3..7172a07 100644 --- a/src/pages/app-write/app-write.ts +++ b/src/pages/app-write/app-write.ts @@ -16,11 +16,11 @@ import { toggleMark } from 'prosemirror-commands'; import {undo, redo, history} from 'prosemirror-history' import { baseKeymap } from 'prosemirror-commands'; -import { plusButtonPlugin } from '../../components/menu-plugin'; +import { menuBar } from 'prosemirror-menu'; +import {createMenuPlugin} from '../../components/menu-plugin' - -const customSchema = new Schema({ +export const customSchema = new Schema({ nodes: { text: { group: 'inline', @@ -79,8 +79,11 @@ const customSchema = new Schema({ }, }); +// Create the menu plugin +const menuPlugin = createMenuPlugin(customSchema); + // Commands - function insertStar(state: EditorState, dispatch?: (tr: Transaction) => void): boolean { +function insertStar(state: EditorState, dispatch?: (tr: Transaction) => void): boolean { const type = customSchema.nodes.star; const { $from } = state.selection; @@ -98,7 +101,7 @@ const customSchema = new Schema({ return true; } - function toggleLink(state: EditorState, dispatch?: (tr: Transaction) => void): boolean { +function toggleLink(state: EditorState, dispatch?: (tr: Transaction) => void): boolean { let {doc, selection} = state if (selection.empty) return false let attrs = null @@ -111,7 +114,7 @@ const customSchema = new Schema({ // Keymap - const customKeymap = keymap({ +const customKeymap = keymap({ 'Ctrl-Space': insertStar, "Ctrl-b": (state, dispatch) => { console.log("Ctrl-b pressed, toggling shouting mark..."); @@ -165,21 +168,31 @@ export class AppWrite extends LitElement { console.error('Editor container not here'); return } - const state = EditorState.create({ - schema: customSchema, - plugins: [ + const doc = customSchema.nodes.doc.createAndFill(); + if (!doc) { + console.error("failed to create initial document") + return; + } - history(), - keymap({ + const state = EditorState.create({ + doc, + plugins: [menuPlugin, + + + history(), + keymap({ 'Mod-z': undo, 'Mod-y': redo, - }), - keymap(baseKeymap), + }), + keymap(baseKeymap), // Add the plus-button plugin here - plusButtonPlugin - ], - }); + customKeymap + ], + }); + + + const selection = state.selection; let view = new EditorView(this.editorContainer, { state, dispatchTransaction(transaction) { @@ -195,6 +208,13 @@ export class AppWrite extends LitElement { } + /* connectedCallback(): void { + super.connectedCallback(); + if(!this.editorView) { + this.editorView; + } + } */ + disconnectedCallback(): void { super.disconnectedCallback(); if (this.editorView) { diff --git a/src/styles/shared-styles.ts b/src/styles/shared-styles.ts index 57edc8a..4a9e52a 100644 --- a/src/styles/shared-styles.ts +++ b/src/styles/shared-styles.ts @@ -445,4 +445,26 @@ export const styles = css` background-color: #45a049; } +/* Add these styles to your component's CSS */ +.dropdown-menu { + background-color: white; + border: 1px solid #ccc; + padding: 10px; + border-radius: 4px; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); +} + +.dropdown-menu button { + background-color: white; + border: 1px solid #ccc; + padding: 5px; + border-radius: 4px; + margin-bottom: 5px; + cursor: pointer; +} + +.dropdown-menu button:hover { + background-color: #f0f0f0; +} + `; \ No newline at end of file