1
0
Fork 0
mirror of https://github.com/anyproto/anytype-ts.git synced 2025-06-08 05:57:02 +09:00

refactoring

This commit is contained in:
Andrew Simachev 2023-08-25 13:04:30 +02:00
parent dacd56b82f
commit 7d3efc3d15
No known key found for this signature in database
GPG key ID: 49A163D0D14E6FD8
5 changed files with 56 additions and 68 deletions

View file

@ -1,5 +1,40 @@
(() => {
let ports = [];
const native = chrome.runtime.connectNative('com.anytype.desktop');
native.postMessage({ type: 'getPorts' });
native.onMessage.addListener((msg) => {
console.log('[Native]', msg);
if (msg.error) {
console.error(msg.error);
};
switch (msg.type) {
case 'launchApp': {
break;
};
case 'getPorts': {
if (msg.response) {
for (let pid in msg.response) {
ports = msg.response[pid];
break;
};
};
break;
};
};
});
native.onDisconnect.addListener(() => {
console.log('[Native] Disconnected');
});
chrome.runtime.onInstalled.addListener((details) => {
if (![ 'install', 'update' ].includes(details.reason)) {
return;
@ -29,8 +64,10 @@
chrome.runtime.onMessage.addListener((msg, sender, sendResponse) => {
switch (msg.type) {
case 'initNative': {
initNative(sendResponse);
case 'getPorts': {
console.log('PORTS', ports);
sendResponse({ ports });
break;
};
};
@ -38,52 +75,6 @@
return true;
});
const initNative = (callBack) => {
const client = chrome.runtime.connectNative('com.anytype.desktop');
client.onMessage.addListener((msg) => {
console.log('[Native]', msg);
const res = { ...msg };
switch (msg.type) {
case 'NMHStartApplication': {
if (!msg.error) {
client.postMessage({ type: 'NMHGetOpenPorts' });
};
break;
};
case 'NMHGetOpenPorts': {
let port = '';
if (msg.response) {
for (let pid in msg.response) {
port = msg.response[pid][1];
break;
};
};
if (!port || msg.error) {
res.error = '';
client.postMessage({ type: 'NMHStartApplication' });
} else {
res.port = port;
};
break;
};
};
callBack(res);
});
client.onDisconnect.addListener(() => {
console.log('[Native] Disconnected');
});
client.postMessage({ type: 'NMHGetOpenPorts' });
};
initMenu = () => {
chrome.contextMenus.create({
id: 'webclipper',
@ -101,9 +92,7 @@
};
sendToActiveTab = (msg) => {
getActiveTab((tab) => {
sendToTab(tab, msg);
});
getActiveTab((tab) => sendToTab(tab, msg));
};
sendToTab = (tab, msg) => {
@ -112,7 +101,7 @@
};
chrome.tabs.sendMessage(tab.id, msg, (response) => {
console.log('Res', response);
console.log('[sendToTab]', response);
return true;
});
};

View file

@ -107,8 +107,7 @@ class Iframe extends React.Component {
UtilCommon.init(history);
commonStore.configSet({ debug: { mw: true } }, false);
commonStore.gatewaySet('http://127.0.0.1:63423');
/* @ts-ignore */
chrome.runtime.onMessage.addListener((msg, sender, sendResponse) => {
console.log('Iframe message', msg, sender);
@ -121,13 +120,14 @@ class Iframe extends React.Component {
return true;
});
Util.sendMessage({ type: 'initNative' }, (response) => {
if (response.error) {
Util.sendMessage({ type: 'getPorts' }, (response) => {
if (!response.ports || !response.ports.length) {
return;
};
authStore.tokenSet('eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzZWVkIjoiWGhYdXlEUFYifQ.pnNEnTksl5pFacCTv5aFJd-Ur8X2cRfmIXcT30w02ro');
dispatcher.init(`http://127.0.0.1:${response.port}`);
authStore.tokenSet('eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzZWVkIjoiVXFrdVJid0gifQ.iwzQLqS7znIuiCGTCLtMWxCxNboNZnS1hssU-rwrjWA');
commonStore.gatewaySet(`http://127.0.0.1:${response.ports[0]}`);
dispatcher.init(`http://127.0.0.1:${response.ports[1]}`);
UtilCommon.route('/create', {});
});

View file

@ -2,7 +2,7 @@ import * as React from 'react';
import { observer } from 'mobx-react';
import { Label, Button, Error } from 'Component';
import { I, UtilCommon, UtilData, dispatcher } from 'Lib';
import { authStore } from 'Store';
import { authStore, commonStore } from 'Store';
import Url from 'json/url.json';
import Util from '../lib/util';
@ -42,16 +42,17 @@ const Index = observer(class Index extends React.Component<I.PageComponent, Stat
};
onLogin () {
Util.sendMessage({ type: 'initNative' }, (response) => {
console.log('Response', response);
Util.sendMessage({ type: 'getPorts' }, (response) => {
console.log('[onLogin]', response);
if (response.error) {
if (!response.ports || !response.ports.length) {
this.setState({ error: 'Pairing failed' });
return;
};
authStore.tokenSet('eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzZWVkIjoiWGhYdXlEUFYifQ.pnNEnTksl5pFacCTv5aFJd-Ur8X2cRfmIXcT30w02ro');
dispatcher.init(`http://127.0.0.1:${response.port}`);
authStore.tokenSet('eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzZWVkIjoiVXFrdVJid0gifQ.iwzQLqS7znIuiCGTCLtMWxCxNboNZnS1hssU-rwrjWA');
commonStore.gatewaySet(`http://127.0.0.1:${response.ports[0]}`);
dispatcher.init(`http://127.0.0.1:${response.ports[1]}`);
UtilData.createsSubscriptions(() => {
UtilCommon.route('/create', {});

View file

@ -311,7 +311,7 @@ func parseMessage(msg []byte) {
}
switch iMsg.Type {
case "NMHGetOpenPorts":
case "getPorts":
// Get open ports
openPorts, err := getOpenPorts()
@ -320,7 +320,7 @@ func parseMessage(msg []byte) {
} else {
oMsg.Response = openPorts
}
case "NMHStartApplication":
case "launchApp":
// Start application
pid, err := startApplication()
if err != nil {

View file

@ -5,8 +5,6 @@
.content { overflow: visible !important; padding: 0px; }
.items { height: 100%; }
.item.empty { margin-top: 8px; }
.item.add {
.name { @include text-overflow-nw; width: calc(100% - 24px); }
}