Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion macos-editor/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
<body>
<div id="app"></div>
<!-- El editor React se montará aquí -->
<script src="renderer.js"></script>
<script src="bundle.js"></script>
</body>
</html>
31 changes: 3 additions & 28 deletions macos-editor/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ function createNewFileWindow() {
height: 600,
title: `New File - ${packageJson.productName}`,
webPreferences: {
preload: path.join(__dirname, 'preload.js'),
nodeIntegration: true,
contextIsolation: false
}
Expand Down Expand Up @@ -111,51 +110,27 @@ const menuTemplate = [
const appMenu = Menu.buildFromTemplate(menuTemplate);
Menu.setApplicationMenu(appMenu);

function createSplashWindow() {
const splashWindow = new BrowserWindow({
width: 400,
height: 300,
frame: false,
alwaysOnTop: true,
transparent: true,
webPreferences: {
nodeIntegration: true,
contextIsolation: false
}
});

splashWindow.loadFile('splash.html');
return splashWindow;
}

function createWindow() {
async function createWindow() {
const mainWindow = new BrowserWindow({
width: 800,
height: 600,
show: false,
title: appName,
name: appName,
webPreferences: {
preload: path.join(__dirname, 'preload.js'),
nodeIntegration: true,
contextIsolation: false
}
});

mainWindow.loadFile('index.html');
await mainWindow.loadFile('index.html');

mainWindow.once('ready-to-show', () => {
setTimeout(() => {
splashWindow.close();
mainWindow.show();
}, 3000); // Show splash screen for 3 seconds
mainWindow.show();
});
}

let splashWindow;

app.on('ready', () => {
splashWindow = createSplashWindow();
createWindow();
});

Expand Down
23 changes: 18 additions & 5 deletions macos-editor/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,21 +9,34 @@
},
"author": "Carlos de Huerta",
"scripts": {
"start": "tsc && electron .",
"build": "tsc && electron-builder"
"start": "tsc && esbuild ./src/index.tsx --bundle --outfile=./bundle.js --format=iife && electron .",
"build": "tsc && esbuild ./src/index.tsx --bundle --outfile=./bundle.js --format=iife && electron-builder"
},
"dependencies": {
"@tiptap/core": "^2.0.0-beta.22",
"@tiptap/starter-kit": "^2.0.0-beta.22",
"react": "^17.0.2",
"react-dom": "^17.0.2"
"@tiptap/extension-heading": "^2.12.0",
"@tiptap/extension-highlight": "^2.12.0",
"@tiptap/extension-image": "^2.12.0",
"@tiptap/extension-link": "^2.12.0",
"@tiptap/extension-subscript": "^2.12.0",
"@tiptap/extension-superscript": "^2.12.0",
"@tiptap/extension-task-item": "^2.12.0",
"@tiptap/extension-task-list": "^2.12.0",
"@tiptap/extension-text-align": "^2.12.0",
"@tiptap/extension-typography": "^2.12.0",
"@tiptap/extension-underline": "^2.12.0",
"@tiptap/react": "^2.12.0",
"react": "^19.1.0",
"react-dom": "^19.1.0"
},
"devDependencies": {
"@types/react": "^19.1.4",
"@types/react-dom": "^19.1.5",
"electron": "^36.2.1",
"electron-builder": "^26.0.12",
"typescript": "^4.4.3"
"typescript": "^4.4.3",
"esbuild": "^0.12.15"
},
"build": {
"appId": "net.espora.pora",
Expand Down
1 change: 0 additions & 1 deletion macos-editor/renderer.js

This file was deleted.

6 changes: 0 additions & 6 deletions macos-editor/splash.html

This file was deleted.

64 changes: 0 additions & 64 deletions macos-editor/src/index.jsx

This file was deleted.

43 changes: 41 additions & 2 deletions macos-editor/src/index.tsx
Original file line number Diff line number Diff line change
@@ -1,11 +1,35 @@
import React from 'react';
import { EditorContent, useEditor } from '@tiptap/react';
import StarterKit from '@tiptap/starter-kit';
import Underline from '@tiptap/extension-underline';
import Heading from '@tiptap/extension-heading';
import TextAlign from '@tiptap/extension-text-align';
import Highlight from '@tiptap/extension-highlight';
import Link from '@tiptap/extension-link';
import TaskList from '@tiptap/extension-task-list';
import TaskItem from '@tiptap/extension-task-item';
import Image from '@tiptap/extension-image';
import Typography from '@tiptap/extension-typography';
import Subscript from '@tiptap/extension-subscript';
import Superscript from '@tiptap/extension-superscript';
import './styles.scss';

const MacOSEditor: React.FC = () => {
const editor = useEditor({
extensions: [StarterKit],
extensions: [
StarterKit,
Underline,
Heading.configure({ levels: [1, 2, 3] }),
TextAlign.configure({ types: ['heading', 'paragraph'] }),
Highlight,
Link,
TaskList,
TaskItem,
Image,
Typography,
Subscript,
Superscript,
],
content: '<p>Hello World!</p>',
});

Expand All @@ -18,7 +42,22 @@ const MacOSEditor: React.FC = () => {
<div className="toolbar">
<button onClick={() => editor.chain().focus().toggleBold().run()}>Bold</button>
<button onClick={() => editor.chain().focus().toggleItalic().run()}>Italic</button>
<button onClick={() => editor.chain().focus().toggleHeading({ level: 1 }).run()}>Heading</button>
<button onClick={() => editor.chain().focus().toggleUnderline().run()}>Underline</button>
<button onClick={() => editor.chain().focus().toggleStrike().run()}>Strike</button>
<button onClick={() => editor.chain().focus().toggleHighlight().run()}>Highlight</button>
<button onClick={() => editor.chain().focus().toggleHeading({ level: 1 }).run()}>H1</button>
<button onClick={() => editor.chain().focus().toggleHeading({ level: 2 }).run()}>H2</button>
<button onClick={() => editor.chain().focus().toggleHeading({ level: 3 }).run()}>H3</button>
<button onClick={() => editor.chain().focus().setTextAlign('left').run()}>Left</button>
<button onClick={() => editor.chain().focus().setTextAlign('center').run()}>Center</button>
<button onClick={() => editor.chain().focus().setTextAlign('right').run()}>Right</button>
<button onClick={() => editor.chain().focus().setTextAlign('justify').run()}>Justify</button>
<button onClick={() => editor.chain().focus().toggleTaskList().run()}>Task List</button>
<button onClick={() => editor.chain().focus().toggleSuperscript().run()}>Superscript</button>
<button onClick={() => editor.chain().focus().toggleSubscript().run()}>Subscript</button>
<button onClick={() => editor.chain().focus().setLink({ href: prompt('URL:') || '' }).run()}>Link</button>
<button onClick={() => editor.chain().focus().unsetLink().run()}>Unlink</button>
<button onClick={() => editor.chain().focus().setImage({ src: prompt('Image URL:') || '' }).run()}>Image</button>
</div>
<EditorContent editor={editor} />
</div>
Expand Down
Loading