Merge branch 'master' of https://github.com/rubickCenter/rubick
# Conflicts: # feature/src/App.vue # feature/src/views/market/index.vue # feature/src/views/settings/index.vue
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div :class="[platform, 'detach']">
|
<div :class="[platform, 'detach']">
|
||||||
<div class="info">
|
<div class="info">
|
||||||
<img :src="plugInfo.logo" />
|
<img :src="plugInfo.logo"/>
|
||||||
<input
|
<input
|
||||||
autofocus
|
autofocus
|
||||||
@input="changeValue"
|
@input="changeValue"
|
||||||
@ -11,17 +11,25 @@
|
|||||||
/>
|
/>
|
||||||
<span v-else>{{ plugInfo.pluginName }}</span>
|
<span v-else>{{ plugInfo.pluginName }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="handle">
|
<div class="handle-container">
|
||||||
<div class="devtool" @click="openDevTool" title="开发者工具"></div>
|
<div class="handle">
|
||||||
|
<div class="devtool" @click="openDevTool" title="开发者工具"></div>
|
||||||
|
</div>
|
||||||
|
<div class="window-handle" v-if="platform !== 'darwin'">
|
||||||
|
<div class="minimize" @click="minimize"></div>
|
||||||
|
<div class="maximize" @click="maximize"></div>
|
||||||
|
<div class="close" @click="close"></div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import throttle from "lodash.throttle";
|
import throttle from 'lodash.throttle';
|
||||||
import { ref } from "vue";
|
import { ref } from 'vue';
|
||||||
|
|
||||||
|
const { ipcRenderer } = window.require('electron');
|
||||||
|
|
||||||
const { ipcRenderer } = window.require("electron");
|
|
||||||
const platform = ref(window.process.platform);
|
const platform = ref(window.process.platform);
|
||||||
const showInput = ref(false);
|
const showInput = ref(false);
|
||||||
|
|
||||||
@ -43,8 +51,8 @@ try {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const changeValue = throttle((e) => {
|
const changeValue = throttle((e) => {
|
||||||
ipcRenderer.send("msg-trigger", {
|
ipcRenderer.send('msg-trigger', {
|
||||||
type: "detachInputChange",
|
type: 'detachInputChange',
|
||||||
data: {
|
data: {
|
||||||
text: e.target.value,
|
text: e.target.value,
|
||||||
},
|
},
|
||||||
@ -52,7 +60,19 @@ const changeValue = throttle((e) => {
|
|||||||
}, 500);
|
}, 500);
|
||||||
|
|
||||||
const openDevTool = () => {
|
const openDevTool = () => {
|
||||||
ipcRenderer.send("msg-trigger", { type: "openPluginDevTools" });
|
ipcRenderer.send('msg-trigger', { type: 'openPluginDevTools' });
|
||||||
|
};
|
||||||
|
|
||||||
|
const minimize = () => {
|
||||||
|
ipcRenderer.send('detach:service', { type: 'minimize' });
|
||||||
|
};
|
||||||
|
|
||||||
|
const maximize = () => {
|
||||||
|
ipcRenderer.send('detach:service', { type: 'maximize' });
|
||||||
|
};
|
||||||
|
|
||||||
|
const close = () => {
|
||||||
|
ipcRenderer.send('detach:service', { type: 'close' });
|
||||||
};
|
};
|
||||||
|
|
||||||
Object.assign(window, {
|
Object.assign(window, {
|
||||||
@ -79,10 +99,10 @@ html, body {
|
|||||||
|
|
||||||
.detach {
|
.detach {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 56px;
|
height: 60px;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
background: #eee;
|
color: var(--color-text-primary);
|
||||||
}
|
}
|
||||||
|
|
||||||
.detach {
|
.detach {
|
||||||
@ -112,8 +132,8 @@ html, body {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.detach input {
|
.detach input {
|
||||||
background-color: #FFFFFF;
|
background-color: var(--color-body-bg);
|
||||||
color: #333333;
|
color: var(--color-text-primary);
|
||||||
width: 360px;
|
width: 360px;
|
||||||
height: 36px;
|
height: 36px;
|
||||||
line-height: 36px;
|
line-height: 36px;
|
||||||
@ -152,8 +172,49 @@ html, body {
|
|||||||
background-color: #dee2e6;
|
background-color: #dee2e6;
|
||||||
}
|
}
|
||||||
|
|
||||||
.detach .devtool {
|
.handle .devtool {
|
||||||
background: center / 18px no-repeat url("./assets/devtool.svg");
|
background: center no-repeat url("./assets/tool.svg")
|
||||||
|
}
|
||||||
|
|
||||||
|
.handle-container {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.window-handle {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.window-handle > div {
|
||||||
|
width: 48px;
|
||||||
|
height: 56px;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.window-handle > div:hover {
|
||||||
|
background-color: #dee2e6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.window-handle .minimize {
|
||||||
|
background: center / 20px no-repeat url("./assets/minimize.svg");
|
||||||
|
}
|
||||||
|
|
||||||
|
.window-handle .maximize {
|
||||||
|
background: center / 20px no-repeat url("./assets/maximize.svg");
|
||||||
|
}
|
||||||
|
|
||||||
|
.window-handle .unmaximize {
|
||||||
|
background: center / 20px no-repeat url("./assets/unmaximize.svg");
|
||||||
|
}
|
||||||
|
|
||||||
|
.window-handle .close {
|
||||||
|
background: center / 20px no-repeat url("./assets/close.svg");
|
||||||
|
}
|
||||||
|
|
||||||
|
.window-handle .close:hover {
|
||||||
|
background-color: #e53935 !important;
|
||||||
|
background-image: url("./assets/close-hover.svg") !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
1
detach/src/assets/close-hover.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1618205429990" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2034" width="64" height="64" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"></style></defs><path d="M529.066667 524.8l241.066666-241.066667c8.533333-8.533333 8.533333-21.333333 0-29.866666s-21.333333-8.533333-29.866666 0L499.2 494.933333 258.133333 253.866667c-8.533333-8.533333-21.333333-8.533333-29.866666 0s-8.533333 21.333333 0 29.866666L469.333333 524.8 228.266667 765.866667c-8.533333 8.533333-8.533333 21.333333 0 29.866666 4.266667 4.266667 10.666667 6.4 14.933333 6.4s10.666667-2.133333 14.933333-6.4L499.2 554.666667l241.066667 241.066666c4.266667 4.266667 10.666667 6.4 14.933333 6.4s10.666667-2.133333 14.933333-6.4c8.533333-8.533333 8.533333-21.333333 0-29.866666L529.066667 524.8z" fill="#ffffff" p-id="2035"></path></svg>
|
After Width: | Height: | Size: 1011 B |
1
detach/src/assets/close.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1618205429990" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2034" width="64" height="64" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"></style></defs><path d="M529.066667 524.8l241.066666-241.066667c8.533333-8.533333 8.533333-21.333333 0-29.866666s-21.333333-8.533333-29.866666 0L499.2 494.933333 258.133333 253.866667c-8.533333-8.533333-21.333333-8.533333-29.866666 0s-8.533333 21.333333 0 29.866666L469.333333 524.8 228.266667 765.866667c-8.533333 8.533333-8.533333 21.333333 0 29.866666 4.266667 4.266667 10.666667 6.4 14.933333 6.4s10.666667-2.133333 14.933333-6.4L499.2 554.666667l241.066667 241.066666c4.266667 4.266667 10.666667 6.4 14.933333 6.4s10.666667-2.133333 14.933333-6.4c8.533333-8.533333 8.533333-21.333333 0-29.866666L529.066667 524.8z" fill="#888888" p-id="2035"></path></svg>
|
After Width: | Height: | Size: 1011 B |
1
detach/src/assets/info.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?><svg width="20" height="20" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="48" height="48" fill="white" fill-opacity="0.01"/><path d="M24 44C29.5228 44 34.5228 41.7614 38.1421 38.1421C41.7614 34.5228 44 29.5228 44 24C44 18.4772 41.7614 13.4772 38.1421 9.85786C34.5228 6.23858 29.5228 4 24 4C18.4772 4 13.4772 6.23858 9.85786 9.85786C6.23858 13.4772 4 18.4772 4 24C4 29.5228 6.23858 34.5228 9.85786 38.1421C13.4772 41.7614 18.4772 44 24 44Z" fill="none" stroke="#888" stroke-width="3" stroke-linejoin="round"/><path fill-rule="evenodd" clip-rule="evenodd" d="M24 11C25.3807 11 26.5 12.1193 26.5 13.5C26.5 14.8807 25.3807 16 24 16C22.6193 16 21.5 14.8807 21.5 13.5C21.5 12.1193 22.6193 11 24 11Z" fill="#888"/><path d="M24.5 34V20H23.5H22.5" stroke="#888" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/><path d="M21 34H28" stroke="#888" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/></svg>
|
After Width: | Height: | Size: 995 B |
1
detach/src/assets/maximize.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1618205323520" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1376" width="64" height="64" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"></style></defs><path d="M832 832H192V192h640v640z m-597.333333-42.666667h554.666666V234.666667H234.666667v554.666666z" fill="#888888" p-id="1377"></path></svg>
|
After Width: | Height: | Size: 510 B |
1
detach/src/assets/minimize.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1618205449254" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2381" width="64" height="64" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"></style></defs><path d="M768 533.333333H256c-12.8 0-21.333333-8.533333-21.333333-21.333333s8.533333-21.333333 21.333333-21.333333h512c12.8 0 21.333333 8.533333 21.333333 21.333333s-8.533333 21.333333-21.333333 21.333333z" fill="#888888" p-id="2382"></path></svg>
|
After Width: | Height: | Size: 613 B |
1
detach/src/assets/pin.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?><svg width="20" height="20" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(#icon-3d122e4c72881c3e)"><path d="M10.6963 17.5042C13.3347 14.8657 16.4701 14.9387 19.8781 16.8076L32.62 9.74509L31.8989 4.78683L43.2126 16.1005L38.2656 15.3907L31.1918 28.1214C32.9752 31.7589 33.1337 34.6647 30.4953 37.3032C30.4953 37.3032 26.235 33.0429 22.7171 29.525L6.44305 41.5564L18.4382 25.2461C14.9202 21.7281 10.6963 17.5042 10.6963 17.5042Z" fill="#888" stroke="#888" stroke-width="3" stroke-linejoin="round"/></g><defs><clipPath id="icon-3d122e4c72881c3e"><rect width="48" height="48" fill="#FFF"/></clipPath></defs></svg>
|
After Width: | Height: | Size: 685 B |
1
detach/src/assets/setting.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?><svg width="20" height="20" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="48" height="48" fill="white" fill-opacity="0.01"/><path d="M34.0003 41L44 24L34.0003 7H14.0002L4 24L14.0002 41H34.0003Z" fill="none" stroke="#888" stroke-width="3" stroke-linejoin="round"/><path d="M24 29C26.7614 29 29 26.7614 29 24C29 21.2386 26.7614 19 24 19C21.2386 19 19 21.2386 19 24C19 26.7614 21.2386 29 24 29Z" fill="none" stroke="#888" stroke-width="3" stroke-linejoin="round"/></svg>
|
After Width: | Height: | Size: 539 B |
1
detach/src/assets/tool.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?><svg width="20" height="20" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="48" height="48" fill="white" fill-opacity="0.01"/><path d="M44 16C44 22.6274 38.6274 28 32 28C29.9733 28 28.0639 27.4975 26.3896 26.6104L9 44L4 39L21.3896 21.6104C20.5025 19.9361 20 18.0267 20 16C20 9.37258 25.3726 4 32 4C34.0267 4 35.9361 4.50245 37.6104 5.38959L30 13L35 18L42.6104 10.3896C43.4975 12.0639 44 13.9733 44 16Z" fill="none" stroke="#888" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/></svg>
|
After Width: | Height: | Size: 570 B |
1
detach/src/assets/unmaximize.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1618205464128" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2718" width="64" height="64" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"></style></defs><path d="M855.466667 168.533333h-554.666667V277.333333H192v554.666667h554.666667v-108.8h108.8v-554.666667zM704 789.333333H234.666667V320h469.333333v469.333333z m108.8-108.8H746.666667V277.333333H343.466667V211.2h469.333333v469.333333z" fill="#888888" p-id="2719"></path></svg>
|
After Width: | Height: | Size: 642 B |
1
detach/src/assets/unpin.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?><svg width="20" height="20" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(#icon-7599d19572881c3e)"><path d="M10.6963 17.5042C13.3347 14.8657 16.4701 14.9387 19.8781 16.8076L32.62 9.74509L31.8989 4.78683L43.2126 16.1005L38.2656 15.3907L31.1918 28.1214C32.9752 31.7589 33.1337 34.6647 30.4953 37.3032C30.4953 37.3032 26.235 33.0429 22.7171 29.525L6.44305 41.5564L18.4382 25.2461C14.9202 21.7281 10.6963 17.5042 10.6963 17.5042Z" fill="none" stroke="#888" stroke-width="3" stroke-linejoin="round"/></g><defs><clipPath id="icon-7599d19572881c3e"><rect width="48" height="48" fill="#888"/></clipPath></defs></svg>
|
After Width: | Height: | Size: 685 B |
25
detach/src/assets/var.less
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
:root {
|
||||||
|
--color-text-primary: rgba(0, 0, 0, 0.85);
|
||||||
|
--color-text-content: #141414;
|
||||||
|
--color-text-desc: rgba(0, 0, 0, 0.45);
|
||||||
|
// 背景色
|
||||||
|
--color-body-bg: #fff;
|
||||||
|
--color-menu-bg: #f3efef;
|
||||||
|
--color-list-hover: #e2e2e2;
|
||||||
|
--color-input-hover: #fff;
|
||||||
|
// 边框
|
||||||
|
--color-border-light: #f0f0f0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dark {
|
||||||
|
--color-text-primary: #e8e8f0;
|
||||||
|
--color-text-content: #ccccd8;
|
||||||
|
--color-text-desc: #8f8fa6;
|
||||||
|
// 背景色
|
||||||
|
--color-body-bg: #1c1c28;
|
||||||
|
--color-menu-bg: #1c1c28;
|
||||||
|
--color-list-hover: #33333d;
|
||||||
|
--color-input-hover: #33333d;
|
||||||
|
// 边框
|
||||||
|
--color-border-light: #33333d;
|
||||||
|
}
|
1
detach/src/assets/zoom.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?><svg width="20" height="20" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="48" height="48" fill="white" fill-opacity="0.01"/><path d="M21 38C30.3888 38 38 30.3888 38 21C38 11.6112 30.3888 4 21 4C11.6112 4 4 11.6112 4 21C4 30.3888 11.6112 38 21 38Z" fill="none" stroke="#888" stroke-width="3" stroke-linejoin="round"/><path d="M21 15L21 27" stroke="#888" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/><path d="M15 21L27 21" stroke="#888" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/><path d="M33.2218 33.2218L41.7071 41.7071" stroke="#888" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/></svg>
|
After Width: | Height: | Size: 720 B |
@ -1,4 +1,5 @@
|
|||||||
import { createApp } from "vue";
|
import { createApp } from 'vue';
|
||||||
import App from "./App.vue";
|
import App from './App.vue';
|
||||||
|
import './assets/var.less';
|
||||||
|
|
||||||
createApp(App).mount("#app");
|
createApp(App).mount('#app');
|
||||||
|
@ -41,12 +41,12 @@ import { ref } from 'vue';
|
|||||||
import { useRouter } from 'vue-router';
|
import { useRouter } from 'vue-router';
|
||||||
import {
|
import {
|
||||||
HeartOutlined,
|
HeartOutlined,
|
||||||
UserOutlined,
|
|
||||||
AppstoreOutlined,
|
AppstoreOutlined,
|
||||||
SettingOutlined,
|
SettingOutlined,
|
||||||
BugOutlined,
|
BugOutlined,
|
||||||
} from '@ant-design/icons-vue';
|
} from '@ant-design/icons-vue';
|
||||||
import { useStore } from 'vuex';
|
import { useStore } from 'vuex';
|
||||||
|
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const active = ref(['market']);
|
const active = ref(['market']);
|
||||||
const changeMenu = (key: any) => {
|
const changeMenu = (key: any) => {
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
@import "~ant-design-vue/dist/antd.less"; // 引入官方提供的 less 样式入口文件
|
|
||||||
|
|
||||||
@primary-color: #ff4ea4; // 全局主色
|
|
||||||
@error-color: #ff4ea4; // 错误色
|
|
||||||
|
|
||||||
:root {
|
:root {
|
||||||
--color-text-primary: rgba(0, 0, 0, 0.85);
|
--color-text-primary: rgba(0, 0, 0, 0.85);
|
||||||
--color-text-content: #141414;
|
--color-text-content: #141414;
|
||||||
|
@ -6,6 +6,7 @@
|
|||||||
v-model:value="searchValue"
|
v-model:value="searchValue"
|
||||||
:placeholder="$t('feature.market.search')"
|
:placeholder="$t('feature.market.search')"
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
|
class="search"
|
||||||
@search="onSearch"
|
@search="onSearch"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@ -103,7 +104,14 @@ const { searchValue, current } = toRefs(state);
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
background: var(--color-menu-bg);
|
background: var(--color-menu-bg);
|
||||||
height: calc(~'100vh - 46px');
|
height: calc(~"100vh - 46px");
|
||||||
|
.search {
|
||||||
|
:deep(.ant-btn), :deep(.ant-input), :deep(.ant-input-group-addon) {
|
||||||
|
color: var(--ant-primary-color) !important;
|
||||||
|
background: var(--color-input-hover);
|
||||||
|
border-color: var(--color-border-light);
|
||||||
|
}
|
||||||
|
}
|
||||||
.container {
|
.container {
|
||||||
background: var(--color-body-bg);
|
background: var(--color-body-bg);
|
||||||
width: calc(~'100% - 200px');
|
width: calc(~'100% - 200px');
|
||||||
|
@ -485,12 +485,13 @@ const changeLanguage = (value) => {
|
|||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
height: 24px;
|
height: 24px;
|
||||||
font-weight: lighter;
|
font-weight: lighter;
|
||||||
|
background: var(--color-input-hover);
|
||||||
.ant-input {
|
.ant-input {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
color: var(--ant-primary-color);
|
color: var(--ant-primary-color);
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
font-weight: lighter;
|
font-weight: lighter;
|
||||||
|
background: var(--color-input-hover);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "rubick",
|
"name": "rubick",
|
||||||
"version": "2.3.0",
|
"version": "2.3.4",
|
||||||
"author": "muwoo <2424880409@qq.com>",
|
"author": "muwoo <2424880409@qq.com>",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
@ -1 +0,0 @@
|
|||||||
body,html{margin:0;padding:0;font-family:system-ui,PingFang SC,Helvetica Neue,Microsoft Yahei,sans-serif;-webkit-user-select:none;-moz-user-select:none;user-select:none;overflow:hidden}.detach{width:100%;height:56px;background:#eee;flex:1;display:flex;align-items:center;font-size:18px;padding-left:10px;font-weight:500;box-sizing:border-box;justify-content:space-between}.detach.darwin{padding-left:80px}.detach.darwin,.detach.win32{-webkit-app-region:drag}.detach img{width:36px;height:36px;margin-right:10px}.detach input{background-color:#fff;color:#333;width:360px;height:36px;line-height:36px;border-radius:4px;font-size:14px;border:none;padding:0 10px;outline:none;-webkit-app-region:no-drag}.detach input::-webkit-input-placeholder{color:#aaa;-webkit-user-select:none;user-select:none}.detach .info{display:flex;align-items:center}.handle{display:flex;-webkit-app-region:no-drag}.handle>div{width:36px;height:36px;border-radius:18px;cursor:pointer;margin-right:6px}.handle>div:hover{background-color:#dee2e6}.detach .devtool{background:50%/18px no-repeat url(../img/devtool.87e078f5.svg)}
|
|
1
public/detach/css/app.63fbfd69.css
Normal file
@ -0,0 +1 @@
|
|||||||
|
body,html{margin:0;padding:0;font-family:system-ui,PingFang SC,Helvetica Neue,Microsoft Yahei,sans-serif;-webkit-user-select:none;-moz-user-select:none;user-select:none;overflow:hidden}.detach{width:100%;height:60px;color:var(--color-text-primary);flex:1;display:flex;align-items:center;font-size:18px;padding-left:10px;font-weight:500;box-sizing:border-box;justify-content:space-between}.detach.darwin{padding-left:80px}.detach.darwin,.detach.win32{-webkit-app-region:drag}.detach img{width:36px;height:36px;margin-right:10px}.detach input{background-color:var(--color-body-bg);color:var(--color-text-primary);width:360px;height:36px;line-height:36px;border-radius:4px;font-size:14px;border:none;padding:0 10px;outline:none;-webkit-app-region:no-drag}.detach input::-webkit-input-placeholder{color:#aaa;-webkit-user-select:none;user-select:none}.detach .info{display:flex;align-items:center}.handle{display:flex;-webkit-app-region:no-drag}.handle>div{width:36px;height:36px;border-radius:18px;cursor:pointer;margin-right:6px}.handle>div:hover{background-color:#dee2e6}.handle .devtool{background:50% no-repeat url(../img/tool.4b0524aa.svg)}.handle-container,.window-handle{display:flex;align-items:center}.window-handle>div{width:48px;height:56px;cursor:pointer}.window-handle>div:hover{background-color:#dee2e6}.window-handle .minimize{background:50%/20px no-repeat url(../img/minimize.384634d1.svg)}.window-handle .maximize{background:50%/20px no-repeat url(../img/maximize.f11a5dfe.svg)}.window-handle .unmaximize{background:50%/20px no-repeat url(../img/unmaximize.36583168.svg)}.window-handle .close{background:50%/20px no-repeat url(../img/close.cc2cafaa.svg)}.window-handle .close:hover{background-color:#e53935!important;background-image:url(../img/close-hover.c92ca454.svg)!important}:root{--color-text-primary:rgba(0,0,0,0.85);--color-text-content:#141414;--color-text-desc:rgba(0,0,0,0.45);--color-body-bg:#fff;--color-menu-bg:#f3efef;--color-list-hover:#e2e2e2;--color-input-hover:#fff;--color-border-light:#f0f0f0}.dark{--color-text-primary:#e8e8f0;--color-text-content:#ccccd8;--color-text-desc:#8f8fa6;--color-body-bg:#1c1c28;--color-menu-bg:#1c1c28;--color-list-hover:#33333d;--color-input-hover:#33333d;--color-border-light:#33333d}
|
1
public/detach/img/close-hover.c92ca454.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1618205429990" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2034" width="64" height="64" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"></style></defs><path d="M529.066667 524.8l241.066666-241.066667c8.533333-8.533333 8.533333-21.333333 0-29.866666s-21.333333-8.533333-29.866666 0L499.2 494.933333 258.133333 253.866667c-8.533333-8.533333-21.333333-8.533333-29.866666 0s-8.533333 21.333333 0 29.866666L469.333333 524.8 228.266667 765.866667c-8.533333 8.533333-8.533333 21.333333 0 29.866666 4.266667 4.266667 10.666667 6.4 14.933333 6.4s10.666667-2.133333 14.933333-6.4L499.2 554.666667l241.066667 241.066666c4.266667 4.266667 10.666667 6.4 14.933333 6.4s10.666667-2.133333 14.933333-6.4c8.533333-8.533333 8.533333-21.333333 0-29.866666L529.066667 524.8z" fill="#ffffff" p-id="2035"></path></svg>
|
After Width: | Height: | Size: 1011 B |
1
public/detach/img/close.cc2cafaa.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1618205429990" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2034" width="64" height="64" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"></style></defs><path d="M529.066667 524.8l241.066666-241.066667c8.533333-8.533333 8.533333-21.333333 0-29.866666s-21.333333-8.533333-29.866666 0L499.2 494.933333 258.133333 253.866667c-8.533333-8.533333-21.333333-8.533333-29.866666 0s-8.533333 21.333333 0 29.866666L469.333333 524.8 228.266667 765.866667c-8.533333 8.533333-8.533333 21.333333 0 29.866666 4.266667 4.266667 10.666667 6.4 14.933333 6.4s10.666667-2.133333 14.933333-6.4L499.2 554.666667l241.066667 241.066666c4.266667 4.266667 10.666667 6.4 14.933333 6.4s10.666667-2.133333 14.933333-6.4c8.533333-8.533333 8.533333-21.333333 0-29.866666L529.066667 524.8z" fill="#888888" p-id="2035"></path></svg>
|
After Width: | Height: | Size: 1011 B |
@ -1 +0,0 @@
|
|||||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1576121932768" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2610" width="32" height="32" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"></style></defs><path d="M344.792 518.575L303.4 477.184a26.947 26.947 0 0 1 38.13-38.13l60.174 60.173a26.947 26.947 0 0 1 0.27 37.834L114.392 833.16a26.947 26.947 0 0 0 0.27 37.834l68.984 68.958a26.947 26.947 0 0 0 38.077 0l291.301-291.3a26.947 26.947 0 0 1 38.104 0l146.324 146.323a26.947 26.947 0 1 1-38.104 38.13L532.076 705.833 259.853 978.055a80.842 80.842 0 0 1-114.337 0L76.53 909.096a80.842 80.842 0 0 1-0.809-113.475l269.043-277.046z m473.546 155.54a26.947 26.947 0 1 1-38.104 38.104L597.288 529.273a26.947 26.947 0 0 1 0-38.103l148.13-148.103a26.947 26.947 0 0 1 15.36-7.653l88.603-12.18 89.627-170.927-56.697-60.39-167.37 97.254-16.546 85.53a26.947 26.947 0 0 1-7.384 13.96l-148.13 148.102a26.947 26.947 0 0 1-38.103 0l-77.474-77.474a26.947 26.947 0 1 1 38.104-38.103l58.422 58.422 123.23-123.23 17.273-89.466a26.947 26.947 0 0 1 12.935-18.19l196.5-114.175a26.947 26.947 0 0 1 33.173 4.85l84.48 90.004a26.947 26.947 0 0 1 4.203 30.963l-104.96 200.165a26.947 26.947 0 0 1-20.21 14.201l-93.346 12.854-122.637 122.637 163.867 163.894z" p-id="2611" fill="#888888"></path><path d="M610.816 784.573a26.947 26.947 0 0 1 38.104-38.104l52.089 52.09a26.947 26.947 0 0 1-38.104 38.103l-52.089-52.09zM368.371 543.42a26.947 26.947 0 1 1 37.995-38.185L705.671 803.22a26.947 26.947 0 0 1 7.814 21.45 111.373 111.373 0 0 0 31.475 87.471 107.79 107.79 0 1 0 68.662-183.727c-2.129 0.135-3.934 0.081-5.578-0.054a26.947 26.947 0 0 1-19.537-7.868L485.24 417.954a26.947 26.947 0 1 1 38.05-38.158l295.181 294.481A161.684 161.684 0 1 1 706.83 950.272a165.16 165.16 0 0 1-47.642-117.275L368.37 543.421z" p-id="2612" fill="#888888"></path><path d="M783.076 874.036a53.895 53.895 0 1 0 76.22-76.219 53.895 53.895 0 1 0-76.22 76.219zM421.807 588.989a26.947 26.947 0 0 1 38.104 38.13L221.723 865.28a26.947 26.947 0 1 1-38.104-38.104L421.807 588.99z m81.597-229.808a26.947 26.947 0 1 1-38.104 38.104l-37.996-37.996a26.947 26.947 0 0 1-5.847-29.345c0.808-1.914 1.05-2.426 3.368-7.06l0.189-0.432c0.754-1.509 1.24-2.506 1.159-2.263a188.632 188.632 0 0 0-43.601-198.818 187.877 187.877 0 0 0-129.698-55.215 189.736 189.736 0 0 0-73.135 13.15l-2.506 0.97-1.752 0.728a26.947 26.947 0 0 1-21.073-49.61c1.887-0.809 1.887-0.809 3.423-1.402l2.102-0.808a242.068 242.068 0 0 1 93.992-16.896 241.772 241.772 0 0 1 166.723 70.98 242.526 242.526 0 0 1 57.722 250.88l25.007 25.033zM25.869 160.013a26.947 26.947 0 0 1 49.61 21.02 187.284 187.284 0 0 0-14.74 65.374 188.039 188.039 0 0 0 55.054 141.743 188.632 188.632 0 0 0 44.463 33.037 26.947 26.947 0 1 1-25.411 47.536 242.526 242.526 0 0 1-57.129-42.47A241.907 241.907 0 0 1 6.9 244.035a243.443 243.443 0 0 1 18.97-84.022z m224.337 337.274a26.947 26.947 0 0 1-0.215-53.895 189.17 189.17 0 0 0 61.79-10.644c4.366-1.51 7.168-2.21 10.94-1.563a26.947 26.947 0 0 1 18.81 7.895l33.145 33.146a26.947 26.947 0 0 1-38.103 38.13l-21.99-22.016a243.308 243.308 0 0 1-64.377 8.947z" p-id="2613" fill="#888888"></path><path d="M148.48 77.824a26.947 26.947 0 1 1 38.104-38.104l161.792 161.82a26.947 26.947 0 0 1 7.087 25.6l-22.986 91.35a26.947 26.947 0 0 1-19.564 19.565L221.56 361.04a26.947 26.947 0 0 1-25.6-7.06L30.343 188.362a26.947 26.947 0 1 1 38.13-38.103L223.26 305.044l60.901-15.306 15.306-60.9L148.48 77.823z" p-id="2614" fill="#888888"></path></svg>
|
|
Before Width: | Height: | Size: 3.5 KiB |
1
public/detach/img/maximize.f11a5dfe.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1618205323520" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1376" width="64" height="64" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"></style></defs><path d="M832 832H192V192h640v640z m-597.333333-42.666667h554.666666V234.666667H234.666667v554.666666z" fill="#888888" p-id="1377"></path></svg>
|
After Width: | Height: | Size: 510 B |
1
public/detach/img/minimize.384634d1.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1618205449254" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2381" width="64" height="64" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"></style></defs><path d="M768 533.333333H256c-12.8 0-21.333333-8.533333-21.333333-21.333333s8.533333-21.333333 21.333333-21.333333h512c12.8 0 21.333333 8.533333 21.333333 21.333333s-8.533333 21.333333-21.333333 21.333333z" fill="#888888" p-id="2382"></path></svg>
|
After Width: | Height: | Size: 613 B |
1
public/detach/img/tool.4b0524aa.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?><svg width="20" height="20" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="48" height="48" fill="white" fill-opacity="0.01"/><path d="M44 16C44 22.6274 38.6274 28 32 28C29.9733 28 28.0639 27.4975 26.3896 26.6104L9 44L4 39L21.3896 21.6104C20.5025 19.9361 20 18.0267 20 16C20 9.37258 25.3726 4 32 4C34.0267 4 35.9361 4.50245 37.6104 5.38959L30 13L35 18L42.6104 10.3896C43.4975 12.0639 44 13.9733 44 16Z" fill="none" stroke="#888" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/></svg>
|
After Width: | Height: | Size: 570 B |
1
public/detach/img/unmaximize.36583168.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1618205464128" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2718" width="64" height="64" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"></style></defs><path d="M855.466667 168.533333h-554.666667V277.333333H192v554.666667h554.666667v-108.8h108.8v-554.666667zM704 789.333333H234.666667V320h469.333333v469.333333z m108.8-108.8H746.666667V277.333333H343.466667V211.2h469.333333v469.333333z" fill="#888888" p-id="2719"></path></svg>
|
After Width: | Height: | Size: 642 B |
@ -1 +1 @@
|
|||||||
<!DOCTYPE html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="favicon.ico"><title>detach</title><link href="css/app.2f947ac7.css" rel="preload" as="style"><link href="js/app.3ff37760.js" rel="preload" as="script"><link href="js/chunk-vendors.32f0b2e2.js" rel="preload" as="script"><link href="css/app.2f947ac7.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but detach doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div><script src="js/chunk-vendors.32f0b2e2.js"></script><script src="js/app.3ff37760.js"></script></body></html>
|
<!DOCTYPE html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="favicon.ico"><title>detach</title><link href="css/app.63fbfd69.css" rel="preload" as="style"><link href="js/app.9ca10dbc.js" rel="preload" as="script"><link href="js/chunk-vendors.f7d8e91b.js" rel="preload" as="script"><link href="css/app.63fbfd69.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but detach doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div><script src="js/chunk-vendors.f7d8e91b.js"></script><script src="js/app.9ca10dbc.js"></script></body></html>
|
@ -1,2 +0,0 @@
|
|||||||
(function(e){function t(t){for(var r,a,c=t[0],l=t[1],i=t[2],p=0,b=[];p<c.length;p++)a=c[p],Object.prototype.hasOwnProperty.call(u,a)&&u[a]&&b.push(u[a][0]),u[a]=0;for(r in l)Object.prototype.hasOwnProperty.call(l,r)&&(e[r]=l[r]);s&&s(t);while(b.length)b.shift()();return o.push.apply(o,i||[]),n()}function n(){for(var e,t=0;t<o.length;t++){for(var n=o[t],r=!0,c=1;c<n.length;c++){var l=n[c];0!==u[l]&&(r=!1)}r&&(o.splice(t--,1),e=a(a.s=n[0]))}return e}var r={},u={app:0},o=[];function a(t){if(r[t])return r[t].exports;var n=r[t]={i:t,l:!1,exports:{}};return e[t].call(n.exports,n,n.exports,a),n.l=!0,n.exports}a.m=e,a.c=r,a.d=function(e,t,n){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},a.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(a.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)a.d(n,r,function(t){return e[t]}.bind(null,r));return n},a.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="";var c=window["webpackJsonp"]=window["webpackJsonp"]||[],l=c.push.bind(c);c.push=t,c=c.slice();for(var i=0;i<c.length;i++)t(c[i]);var s=l;o.push([0,"chunk-vendors"]),n()})({0:function(e,t,n){e.exports=n("cd49")},cd49:function(e,t,n){"use strict";n.r(t);var r=n("7a23"),u=n("84a2"),o=n.n(u);const a={class:"info"},c=["src"],l=["value","placeholder"],i={key:1};var s={__name:"App",setup(e){const{ipcRenderer:t}=window.require("electron"),n=Object(r["f"])(window.process.platform),u=Object(r["f"])(!1),s=localStorage.getItem("rubick-system-detach")||"{}",p=Object(r["f"])({});window.initDetach=e=>{p.value=e,u.value=e.subInput&&(!!e.subInput.value||!!e.subInput.placeholder),localStorage.setItem("rubick-system-detach",JSON.stringify(e))};try{window.initDetach(JSON.parse(s))}catch(v){}const b=o()(e=>{t.send("msg-trigger",{type:"detachInputChange",data:{text:e.target.value}})},500),d=()=>{t.send("msg-trigger",{type:"openPluginDevTools"})};return Object.assign(window,{setSubInputValue:({value:e})=>{p.value.subInput.value=e},setSubInput:e=>{p.value.subInput.placeholder=e},removeSubInput:()=>{p.value.subInput=null}}),(e,t)=>{var o,s;return Object(r["e"])(),Object(r["b"])("div",{class:Object(r["d"])([n.value,"detach"])},[Object(r["c"])("div",a,[Object(r["c"])("img",{src:p.value.logo},null,8,c),u.value?(Object(r["e"])(),Object(r["b"])("input",{key:0,autofocus:"",onInput:t[0]||(t[0]=(...e)=>Object(r["h"])(b)&&Object(r["h"])(b)(...e)),value:null===(o=p.value.subInput)||void 0===o?void 0:o.value,placeholder:null===(s=p.value.subInput)||void 0===s?void 0:s.placeholder},null,40,l)):(Object(r["e"])(),Object(r["b"])("span",i,Object(r["g"])(p.value.pluginName),1))]),Object(r["c"])("div",{class:"handle"},[Object(r["c"])("div",{class:"devtool",onClick:d,title:"开发者工具"})])],2)}}};n("f7aa");const p=s;var b=p;Object(r["a"])(b).mount("#app")},df03:function(e,t,n){},f7aa:function(e,t,n){"use strict";n("df03")}});
|
|
||||||
//# sourceMappingURL=app.3ff37760.js.map
|
|
2
public/detach/js/app.9ca10dbc.js
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
(function(e){function t(t){for(var c,o,l=t[0],a=t[1],i=t[2],d=0,p=[];d<l.length;d++)o=l[d],Object.prototype.hasOwnProperty.call(r,o)&&r[o]&&p.push(r[o][0]),r[o]=0;for(c in a)Object.prototype.hasOwnProperty.call(a,c)&&(e[c]=a[c]);s&&s(t);while(p.length)p.shift()();return u.push.apply(u,i||[]),n()}function n(){for(var e,t=0;t<u.length;t++){for(var n=u[t],c=!0,l=1;l<n.length;l++){var a=n[l];0!==r[a]&&(c=!1)}c&&(u.splice(t--,1),e=o(o.s=n[0]))}return e}var c={},r={app:0},u=[];function o(t){if(c[t])return c[t].exports;var n=c[t]={i:t,l:!1,exports:{}};return e[t].call(n.exports,n,n.exports,o),n.l=!0,n.exports}o.m=e,o.c=c,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},o.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var c in e)o.d(n,c,function(t){return e[t]}.bind(null,c));return n},o.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="";var l=window["webpackJsonp"]=window["webpackJsonp"]||[],a=l.push.bind(l);l.push=t,l=l.slice();for(var i=0;i<l.length;i++)t(l[i]);var s=a;u.push([0,"chunk-vendors"]),n()})({0:function(e,t,n){e.exports=n("cd49")},"39c7":function(e,t,n){},4011:function(e,t,n){},cd49:function(e,t,n){"use strict";n.r(t);var c=n("79c4"),r=n("c965"),u=n.n(r);const o={class:"info"},l=["src"],a=["value","placeholder"],i={key:1},s={class:"handle-container"},d={key:0,class:"window-handle"};var p={__name:"App",setup(e){const{ipcRenderer:t}=window.require("electron"),n=Object(c["g"])(window.process.platform),r=Object(c["g"])(!1),p=localStorage.getItem("rubick-system-detach")||"{}",b=Object(c["g"])({});window.initDetach=e=>{b.value=e,r.value=e.subInput&&(!!e.subInput.value||!!e.subInput.placeholder),localStorage.setItem("rubick-system-detach",JSON.stringify(e))};try{window.initDetach(JSON.parse(p))}catch(g){}const v=u()(e=>{t.send("msg-trigger",{type:"detachInputChange",data:{text:e.target.value}})},500),f=()=>{t.send("msg-trigger",{type:"openPluginDevTools"})},O=()=>{t.send("detach:service",{type:"minimize"})},h=()=>{t.send("detach:service",{type:"maximize"})},j=()=>{t.send("detach:service",{type:"close"})};return Object.assign(window,{setSubInputValue:({value:e})=>{b.value.subInput.value=e},setSubInput:e=>{b.value.subInput.placeholder=e},removeSubInput:()=>{b.value.subInput=null}}),(e,t)=>{var u,p;return Object(c["f"])(),Object(c["c"])("div",{class:Object(c["e"])([n.value,"detach"])},[Object(c["d"])("div",o,[Object(c["d"])("img",{src:b.value.logo},null,8,l),r.value?(Object(c["f"])(),Object(c["c"])("input",{key:0,autofocus:"",onInput:t[0]||(t[0]=(...e)=>Object(c["i"])(v)&&Object(c["i"])(v)(...e)),value:null===(u=b.value.subInput)||void 0===u?void 0:u.value,placeholder:null===(p=b.value.subInput)||void 0===p?void 0:p.placeholder},null,40,a)):(Object(c["f"])(),Object(c["c"])("span",i,Object(c["h"])(b.value.pluginName),1))]),Object(c["d"])("div",s,[Object(c["d"])("div",{class:"handle"},[Object(c["d"])("div",{class:"devtool",onClick:f,title:"开发者工具"})]),"darwin"!==n.value?(Object(c["f"])(),Object(c["c"])("div",d,[Object(c["d"])("div",{class:"minimize",onClick:O}),Object(c["d"])("div",{class:"maximize",onClick:h}),Object(c["d"])("div",{class:"close",onClick:j})])):Object(c["b"])("",!0)])],2)}}};n("d305");const b=p;var v=b;n("4011");Object(c["a"])(v).mount("#app")},d305:function(e,t,n){"use strict";n("39c7")}});
|
||||||
|
//# sourceMappingURL=app.9ca10dbc.js.map
|
1
public/detach/js/app.9ca10dbc.js.map
Normal file
2
public/detach/js/chunk-vendors.f7d8e91b.js
Normal file
1
public/detach/js/chunk-vendors.f7d8e91b.js.map
Normal file
@ -2,11 +2,11 @@ export default {
|
|||||||
version: 11,
|
version: 11,
|
||||||
perf: {
|
perf: {
|
||||||
custom: {
|
custom: {
|
||||||
primaryColor: '#106898',
|
primaryColor: '#ff4ea4',
|
||||||
errorColor: '#ed6d46',
|
errorColor: '#ed6d46',
|
||||||
warningColor: '#e5a84b',
|
warningColor: '#e5a84b',
|
||||||
successColor: '#c0d695',
|
successColor: '#c0d695',
|
||||||
infoColor: '#007175',
|
infoColor: '#aa8eeB',
|
||||||
logo: `file://${__static}/logo.png`,
|
logo: `file://${__static}/logo.png`,
|
||||||
placeholder: '你好 rubick',
|
placeholder: '你好 rubick',
|
||||||
},
|
},
|
||||||
|
@ -1,9 +1,13 @@
|
|||||||
import { app, BrowserWindow, protocol } from 'electron';
|
import { BrowserWindow, ipcMain, nativeTheme } from 'electron';
|
||||||
import path from 'path';
|
import path from 'path';
|
||||||
export default () => {
|
export default () => {
|
||||||
let win: any;
|
let win: any;
|
||||||
|
|
||||||
const init = (pluginInfo, viewInfo, view) => {
|
const init = (pluginInfo, viewInfo, view) => {
|
||||||
|
ipcMain.on('detach:service', async (event, arg: { type: string }) => {
|
||||||
|
const data = await operation[arg.type]();
|
||||||
|
event.returnValue = data;
|
||||||
|
});
|
||||||
createWindow(pluginInfo, viewInfo, view);
|
createWindow(pluginInfo, viewInfo, view);
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -19,6 +23,7 @@ export default () => {
|
|||||||
frame: true,
|
frame: true,
|
||||||
show: false,
|
show: false,
|
||||||
enableLargerThanScreen: true,
|
enableLargerThanScreen: true,
|
||||||
|
backgroundColor: nativeTheme.shouldUseDarkColors ? '#1c1c28' : '#fff',
|
||||||
x: viewInfo.x,
|
x: viewInfo.x,
|
||||||
y: viewInfo.y,
|
y: viewInfo.y,
|
||||||
webPreferences: {
|
webPreferences: {
|
||||||
@ -27,6 +32,7 @@ export default () => {
|
|||||||
backgroundThrottling: false,
|
backgroundThrottling: false,
|
||||||
contextIsolation: false,
|
contextIsolation: false,
|
||||||
webviewTag: true,
|
webviewTag: true,
|
||||||
|
devTools: true,
|
||||||
nodeIntegration: true,
|
nodeIntegration: true,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
@ -44,6 +50,11 @@ export default () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
win.once('ready-to-show', () => {
|
win.once('ready-to-show', () => {
|
||||||
|
const darkMode = global.OP_CONFIG.get().perf.common.darkMode;
|
||||||
|
darkMode &&
|
||||||
|
win.webContents.executeJavaScript(
|
||||||
|
`document.body.classList.add("dark");window.rubick.theme="dark"`
|
||||||
|
);
|
||||||
win.setBrowserView(view);
|
win.setBrowserView(view);
|
||||||
win.webContents.executeJavaScript(
|
win.webContents.executeJavaScript(
|
||||||
`window.initDetach(${JSON.stringify(pluginInfo)})`
|
`window.initDetach(${JSON.stringify(pluginInfo)})`
|
||||||
@ -64,6 +75,19 @@ export default () => {
|
|||||||
|
|
||||||
const getWindow = () => win;
|
const getWindow = () => win;
|
||||||
|
|
||||||
|
const operation = {
|
||||||
|
minimize: () => {
|
||||||
|
win.focus();
|
||||||
|
win.minimize();
|
||||||
|
},
|
||||||
|
maximize: () => {
|
||||||
|
win.isMaximized() ? win.unmaximize() : win.maximize();
|
||||||
|
},
|
||||||
|
close: () => {
|
||||||
|
win.close();
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
return {
|
return {
|
||||||
init,
|
init,
|
||||||
getWindow,
|
getWindow,
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import main from "./main";
|
import main from './main';
|
||||||
import runner from "./runner";
|
import runner from './runner';
|
||||||
import detach from "./detach";
|
import detach from './detach';
|
||||||
export { main, runner, detach };
|
export { main, runner, detach };
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { app, BrowserWindow, protocol } from 'electron';
|
import { app, BrowserWindow, protocol, nativeTheme } from 'electron';
|
||||||
import path from 'path';
|
import path from 'path';
|
||||||
import { createProtocol } from 'vue-cli-plugin-electron-builder/lib';
|
import { createProtocol } from 'vue-cli-plugin-electron-builder/lib';
|
||||||
import versonHandler from '../common/versionHandler';
|
import versonHandler from '../common/versionHandler';
|
||||||
@ -19,6 +19,7 @@ export default () => {
|
|||||||
title: '拉比克',
|
title: '拉比克',
|
||||||
show: false,
|
show: false,
|
||||||
skipTaskbar: true,
|
skipTaskbar: true,
|
||||||
|
backgroundColor: nativeTheme.shouldUseDarkColors ? '#1c1c28' : '#fff',
|
||||||
webPreferences: {
|
webPreferences: {
|
||||||
webSecurity: false,
|
webSecurity: false,
|
||||||
enableRemoteModule: true,
|
enableRemoteModule: true,
|
||||||
|
@ -109,6 +109,7 @@ const sort = (options) => {
|
|||||||
background: var(--color-body-bg);
|
background: var(--color-body-bg);
|
||||||
color: var(--color-text-content);
|
color: var(--color-text-content);
|
||||||
border-color: var(--color-border-light);
|
border-color: var(--color-border-light);
|
||||||
|
border-bottom: 1px solid var(--color-border-light);
|
||||||
&.active {
|
&.active {
|
||||||
background: var(--color-list-hover);
|
background: var(--color-list-hover);
|
||||||
}
|
}
|
||||||
|