feat: add plugin com.msgbyte.env.electron

pull/100/head
moonrailgun 2 years ago
parent 148f446eb6
commit eb83f784a1

@ -0,0 +1,11 @@
{
"label": "Electron Support",
"label.zh-CN": "Electron 支持",
"name": "com.msgbyte.env.electron",
"url": "/plugins/com.msgbyte.env.electron/index.js",
"version": "0.0.0",
"author": "moonrailgun",
"description": "Add support for Electron environment in Tailchat",
"description.zh-CN": "在 Tailchat 添加对 Electron 环境的支持",
"requireRestart": true
}

@ -0,0 +1,16 @@
{
"name": "@plugins/com.msgbyte.env.electron",
"main": "src/index.tsx",
"version": "0.0.0",
"description": "Add support for Electron environment in Tailchat",
"private": true,
"scripts": {
"sync:declaration": "tailchat declaration github"
},
"dependencies": {},
"devDependencies": {
"@types/styled-components": "^5.1.26",
"react": "18.2.0",
"styled-components": "^5.3.6"
}
}

@ -0,0 +1,19 @@
import React from 'react';
import { Translate } from './translate';
interface WindowElectronDeviceInfo {
version: string;
}
export const DeviceInfoPanel: React.FC = React.memo(() => {
const deviceInfo: WindowElectronDeviceInfo =
(window as any).__electronDeviceInfo ?? {};
return (
<div>
<div>
{Translate.clientVersion}: {deviceInfo.version}
</div>
</div>
);
});
DeviceInfoPanel.displayName = 'DeviceInfoPanel';

@ -0,0 +1,15 @@
import { regCustomPanel } from '@capital/common';
import { DeviceInfoPanel } from './DeviceInfoPanel';
import { Translate } from './translate';
const PLUGIN_NAME = 'Electron Support';
console.log(`Plugin ${PLUGIN_NAME} is loaded`);
regCustomPanel({
position: 'setting',
icon: '',
name: 'com.msgbyte.env.electron/deviceInfoPanel',
label: Translate.deviceInfo,
render: DeviceInfoPanel,
});

@ -0,0 +1,12 @@
import { localTrans } from '@capital/common';
export const Translate = {
deviceInfo: localTrans({
'zh-CN': '设备信息',
'en-US': 'Device Info',
}),
clientVersion: localTrans({
'zh-CN': '客户端版本号',
'en-US': 'Client Version',
}),
};

@ -0,0 +1,7 @@
{
"compilerOptions": {
"esModuleInterop": true,
"jsx": "react",
"importsNotUsedAsValues": "error"
}
}

@ -0,0 +1,2 @@
declare module '@capital/common';
declare module '@capital/component';

@ -1049,6 +1049,18 @@ importers:
specifier: 18.2.0
version: 18.2.0
client/web/plugins/com.msgbyte.env.electron:
devDependencies:
'@types/styled-components':
specifier: ^5.1.26
version: 5.1.26
react:
specifier: 18.2.0
version: 18.2.0
styled-components:
specifier: ^5.3.6
version: 5.3.6(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)
client/web/plugins/com.msgbyte.env.rn:
devDependencies:
'@types/styled-components':

Loading…
Cancel
Save