bugfix(docs_links): open external URL in browser window, remove deprecated method in electron, refactor to index.tsx

This commit is contained in:
Baptiste POULAIN 2023-12-07 14:33:42 +01:00
parent dc39538d02
commit 56a456a9b6
5 changed files with 20 additions and 15 deletions

BIN
bun.lockb Executable file

Binary file not shown.

View File

@ -1,5 +1,6 @@
{
"compilerOptions": {
"jsx": "react",
"target": "es2017",
"allowSyntheticDefaultImports": false,
"baseUrl": "./",

View File

@ -1,7 +1,7 @@
import 'github-markdown-css/github-markdown.css';
import get from 'lodash/get';
import { updateRequestDocs } from 'providers/ReduxStore/slices/collections';
import { useTheme } from 'providers/Theme/index';
import { useTheme } from 'providers/Theme';
import { useState } from 'react';
import { useDispatch, useSelector } from 'react-redux';
import { saveRequest } from 'providers/ReduxStore/slices/collections/actions';

View File

@ -1,20 +1,17 @@
// @ts-ignore
import MarkdownIt from 'markdown-it';
import StyledWrapper from './StyledWrapper';
import * as React from 'react';
const md = new MarkdownIt();
const Markdown = ({ onDoubleClick, content }) => {
const handleOnDoubleClick = (event) => {
switch (event.detail) {
case 2: {
onDoubleClick();
break;
}
case 1:
default: {
break;
}
const Markdown = ({ onDoubleClick, content }: { onDoubleClick: () => void; content?: string }) => {
const handleOnDoubleClick = (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {
console.log(event);
if (event?.detail === 2) {
onDoubleClick();
}
return;
};
const htmlFromMarkdown = md.render(content || '');

View File

@ -98,9 +98,16 @@ app.on('ready', async () => {
mainWindow.on('maximize', () => saveMaximized(true));
mainWindow.on('unmaximize', () => saveMaximized(false));
mainWindow.webContents.on('new-window', function (e, url) {
e.preventDefault();
require('electron').shell.openExternal(url);
mainWindow.webContents.on('will-redirect', (event, url) => {
event.preventDefault();
if (/^(http:\/\/|https:\/\/)/.test(url)) {
require('electron').shell.openExternal(url);
}
});
mainWindow.webContents.setWindowOpenHandler((details) => {
require('electron').shell.openExternal(details.url);
return { action: 'allow' };
});
// register all ipc handlers