From 6abd72a4a4d8300404ec93e7e5924341dae25d8f Mon Sep 17 00:00:00 2001 From: 2sky <2skydev@gmail.com> Date: Tue, 14 Mar 2023 04:33:06 +0900 Subject: [PATCH] =?UTF-8?q?=EC=9E=90=EB=8F=99=20=EC=88=98=EB=9D=BD=20-=20?= =?UTF-8?q?=EB=8C=80=EA=B8=B0=EC=8B=9C=EA=B0=84=20=EA=B8=B0=EB=8A=A5=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80=20=EB=B0=8F=20=EC=95=88=EB=82=B4=20=EC=98=A4?= =?UTF-8?q?=EB=B2=84=EB=A0=88=EC=9D=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/app.ts | 5 +- app/modules/league/index.ts | 34 ++++++++++++- app/stores/config.ts | 2 + app/types/index.ts | 5 ++ package.json | 1 + public/fonts.css | 14 ++++++ .../BeaufortforLOL/BeaufortforLOL-Bold.woff2 | Bin 0 -> 29188 bytes .../BeaufortforLOL-Regular.woff2 | Bin 0 -> 28656 bytes .../ReadyTimerOverlay/ReadyTimerOverlay.tsx | 39 +++++++++++++++ .../overlay/ReadyTimerOverlay/index.ts | 3 ++ .../overlay/ReadyTimerOverlay/styled.ts | 11 ++++ src/pages/_app.tsx | 21 +++++--- src/pages/overlays/client.tsx | 12 +++++ src/pages/settings/game.tsx | 47 +++++++++++++----- src/styles/init.ts | 11 +++- .../pageStyled/overlaysClientPageStyled.ts | 7 +++ src/styles/pageStyled/settingsPageStyled.ts | 24 ++++++++- src/styles/themes.ts | 1 + yarn.lock | 15 +++++- 19 files changed, 227 insertions(+), 25 deletions(-) create mode 100644 app/types/index.ts create mode 100644 public/fonts/BeaufortforLOL/BeaufortforLOL-Bold.woff2 create mode 100644 public/fonts/BeaufortforLOL/BeaufortforLOL-Regular.woff2 create mode 100644 src/features/overlay/ReadyTimerOverlay/ReadyTimerOverlay.tsx create mode 100644 src/features/overlay/ReadyTimerOverlay/index.ts create mode 100644 src/features/overlay/ReadyTimerOverlay/styled.ts create mode 100644 src/pages/overlays/client.tsx create mode 100644 src/styles/pageStyled/overlaysClientPageStyled.ts diff --git a/app/app.ts b/app/app.ts index 4e9e82c..0af875d 100644 --- a/app/app.ts +++ b/app/app.ts @@ -37,6 +37,9 @@ class AppContext { `${this.RESOURCES_PATH}/icons/${this.IS_MAC ? 'logo@512.png' : 'logo@256.ico'}`, ); + // preload script path + readonly PRELOAD_PATH = join(__dirname, 'preload/index.js'); + // electron window window: BrowserWindow | null = null; @@ -86,7 +89,7 @@ class AppContext { frame: false, icon: this.ICON, webPreferences: { - preload: join(__dirname, 'preload/index.js'), + preload: this.PRELOAD_PATH, }, }); diff --git a/app/modules/league/index.ts b/app/modules/league/index.ts index a794a3f..5d709ad 100644 --- a/app/modules/league/index.ts +++ b/app/modules/league/index.ts @@ -1,3 +1,6 @@ +import { BrowserWindow } from 'electron'; +import { OverlayController, OVERLAY_WINDOW_OPTS } from 'electron-overlay-window'; + import { ModuleFunction } from '@app/app'; import { configStore } from '@app/stores/config'; import IPCServer from '@app/utils/IPCServer'; @@ -39,6 +42,18 @@ const LeagueModule: ModuleFunction = async context => { }); client.on('ready', () => { + const clientOverlay = new BrowserWindow({ + ...OVERLAY_WINDOW_OPTS, + webPreferences: { + preload: context.PRELOAD_PATH, + }, + }); + + clientOverlay.loadURL('http://localhost:3000/#/overlays/client'); + + OverlayController.attachByTitle(clientOverlay, 'League of Legends'); + OverlayController.activateOverlay(); + context.window?.webContents.send('league/connect-change', 'connect'); client.subscribe('/lol-champ-select/v1/session', data => { @@ -54,11 +69,28 @@ const LeagueModule: ModuleFunction = async context => { }); client.subscribe('/lol-matchmaking/v1/ready-check', async data => { - if (data?.playerResponse === 'None' && configStore.get('game').autoAccept) { + console.log(data); + + if (data?.playerResponse === 'None') { + const { autoAccept = false, autoAcceptDelaySeconds = 0 } = configStore.get('game'); + + if (!autoAccept) return; + if (data?.timer < autoAcceptDelaySeconds) return; + + context.window?.webContents.send('league/auto-accept', { + timer: data.timer, + playerResponse: data.playerResponse, + autoAcceptDelaySeconds, + }); + await client.request({ method: 'POST', url: '/lol-matchmaking/v1/ready-check/accept', }); + } else { + context.window?.webContents.send('league/auto-accept', { + playerResponse: data.playerResponse, + }); } }); }); diff --git a/app/stores/config.ts b/app/stores/config.ts index b6f17c6..19b5385 100644 --- a/app/stores/config.ts +++ b/app/stores/config.ts @@ -10,6 +10,7 @@ export interface ConfigStoreValues { }; game: { autoAccept: boolean; + autoAcceptDelaySeconds: number; }; } @@ -23,6 +24,7 @@ export const configStore = new Store({ }, game: { autoAccept: false, + autoAcceptDelaySeconds: 0, }, }, }); diff --git a/app/types/index.ts b/app/types/index.ts new file mode 100644 index 0000000..bc6fc44 --- /dev/null +++ b/app/types/index.ts @@ -0,0 +1,5 @@ +export interface AutoAcceptData { + timer?: number; + playerResponse: string; + autoAcceptDelaySeconds?: number; +} diff --git a/package.json b/package.json index 5bfb3f1..a1f8d26 100644 --- a/package.json +++ b/package.json @@ -23,6 +23,7 @@ "clsx": "^1.2.1", "dayjs": "^1.11.7", "electron-log": "^4.4.8", + "electron-overlay-window": "^3.2.0", "electron-store": "^8.1.0", "electron-updater": "^5.3.0", "fast-deep-equal": "^3.1.3", diff --git a/public/fonts.css b/public/fonts.css index 0fc5473..60a6a47 100644 --- a/public/fonts.css +++ b/public/fonts.css @@ -33,6 +33,20 @@ font-display: swap; } +@font-face { + src: url('./fonts/BeaufortforLOL/BeaufortforLOL-Regular.woff2'); + font-family: 'BeaufortforLOL'; + font-weight: normal; + font-display: swap; +} + +@font-face { + src: url('./fonts/BeaufortforLOL/BeaufortforLOL-Bold.woff2'); + font-family: 'BeaufortforLOL'; + font-weight: bold; + font-display: swap; +} + * { margin: 0; padding: 0; diff --git a/public/fonts/BeaufortforLOL/BeaufortforLOL-Bold.woff2 b/public/fonts/BeaufortforLOL/BeaufortforLOL-Bold.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..8f22e739a49302bbc18f41c8ca07b305ea3a4b39 GIT binary patch literal 29188 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∨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 { + const [data, setData] = useState(null); + + useEffect(() => { + window.electron.subscribeLeague('league/auto-accept', (data: AutoAcceptData) => { + if (data.playerResponse === 'None') { + setData(data); + } else { + setData(null); + } + }); + + return () => { + window.electron.unsubscribeLeague('league/auto-accept'); + }; + }, []); + + if (!data) return null; + + return ( + + 자동 수락까지 {data.autoAcceptDelaySeconds! - data.timer!}초 남았습니다 + + ); +}; + +export default ReadyTimerOverlay; diff --git a/src/features/overlay/ReadyTimerOverlay/index.ts b/src/features/overlay/ReadyTimerOverlay/index.ts new file mode 100644 index 0000000..b2c1ce4 --- /dev/null +++ b/src/features/overlay/ReadyTimerOverlay/index.ts @@ -0,0 +1,3 @@ +// === Automatically generated file. Don't edit it. === +export * from './ReadyTimerOverlay'; +export { default } from './ReadyTimerOverlay'; diff --git a/src/features/overlay/ReadyTimerOverlay/styled.ts b/src/features/overlay/ReadyTimerOverlay/styled.ts new file mode 100644 index 0000000..9440f1a --- /dev/null +++ b/src/features/overlay/ReadyTimerOverlay/styled.ts @@ -0,0 +1,11 @@ +import styled from 'styled-components'; + +export const ReadyTimerOverlayStyled = styled.div` + position: absolute; + top: calc(50% + 100px); + left: calc(50%); + transform: translate(-50%, -50%); + color: ${props => props.theme.colors.gold}; + text-align: center; + font-family: 'BeaufortforLOL'; +`; diff --git a/src/pages/_app.tsx b/src/pages/_app.tsx index 902b7be..2a7d434 100644 --- a/src/pages/_app.tsx +++ b/src/pages/_app.tsx @@ -1,5 +1,5 @@ import { useEffect, useMemo } from 'react'; -import { Outlet } from 'react-router-dom'; +import { Outlet, useLocation } from 'react-router-dom'; import { ConfigProvider, GlobalToken, theme } from 'antd'; import antdLocaleKR from 'antd/locale/ko_KR'; @@ -33,6 +33,7 @@ const App = () => { }; const AppInner = () => { + const { pathname } = useLocation(); const antdToken = theme.useToken(); const [update, setUpdate] = useRecoilState(updateStore); @@ -81,6 +82,8 @@ const AppInner = () => { [], ); + const isOverlay = pathname.includes('/overlays'); + useEffect(() => { bootstrap(); }, []); @@ -89,13 +92,17 @@ const AppInner = () => { -
- + {isOverlay && } + + {!isOverlay && ( +
+ - - - -
+ + + +
+ )}
); }; diff --git a/src/pages/overlays/client.tsx b/src/pages/overlays/client.tsx new file mode 100644 index 0000000..4f7272f --- /dev/null +++ b/src/pages/overlays/client.tsx @@ -0,0 +1,12 @@ +import ReadyTimerOverlay from '~/features/overlay/ReadyTimerOverlay'; +import { OverlaysClientPageStyled } from '~/styles/pageStyled/overlaysClientPageStyled'; + +const OverlaysClient = () => { + return ( + + + + ); +}; + +export default OverlaysClient; diff --git a/src/pages/settings/game.tsx b/src/pages/settings/game.tsx index 96462f6..06e9f82 100644 --- a/src/pages/settings/game.tsx +++ b/src/pages/settings/game.tsx @@ -1,6 +1,7 @@ import { Controller } from 'react-hook-form'; -import { Switch } from 'antd'; +import { InputNumber, Switch } from 'antd'; +import clsx from 'clsx'; import { useRecoilState } from 'recoil'; import LayoutConfig from '~/components/LayoutConfig'; @@ -23,6 +24,8 @@ const GameSettings = () => { }, }); + const isAutoAccept = form.watch('autoAccept'); + return ( @@ -36,18 +39,38 @@ const GameSettings = () => { } > - ( - field.onChange(checked)} - checkedChildren={} - unCheckedChildren={} +
+ ( + field.onChange(checked)} + checkedChildren={} + unCheckedChildren={} + /> + )} + /> + +
+
자동 수락까지 대기시간
+ ( + field.onChange(value)} + /> + )} /> - )} - /> + +
+
+
diff --git a/src/styles/init.ts b/src/styles/init.ts index e4f228b..7ed3cdd 100644 --- a/src/styles/init.ts +++ b/src/styles/init.ts @@ -79,8 +79,10 @@ export const InitGlobalStyled = memo(createGlobalStyle` } #app { + width: 100vw; height: 100vh; color: ${props => props.theme.colors.textColor1}; + background-color: ${props => props.theme.colors.sidebarBG}; } html { @@ -89,8 +91,6 @@ export const InitGlobalStyled = memo(createGlobalStyle` body { font-size: 14px; - background-color: ${props => props.theme.colors.sidebarBG}; - color: ${props => props.theme.colors.textColor1}; .ant-switch { height: 28px; @@ -207,6 +207,13 @@ export const InitGlobalStyled = memo(createGlobalStyle` .ant-input-number-handler { border-color: ${props => props.theme.colors.borderColor}; + background-color: ${props => props.theme.colors.sidebarBG}; + color: white; + + .ant-input-number-handler-up-inner, + .ant-input-number-handler-down-inner { + color: ${props => props.theme.colors.textColor2}; + } &:active { background-color: ${props => props.theme.colors.sidebarBG}; diff --git a/src/styles/pageStyled/overlaysClientPageStyled.ts b/src/styles/pageStyled/overlaysClientPageStyled.ts new file mode 100644 index 0000000..438f855 --- /dev/null +++ b/src/styles/pageStyled/overlaysClientPageStyled.ts @@ -0,0 +1,7 @@ +import styled from 'styled-components'; + +export const OverlaysClientPageStyled = styled.div` + width: 100vw; + height: 100vh; + position: relative; +`; diff --git a/src/styles/pageStyled/settingsPageStyled.ts b/src/styles/pageStyled/settingsPageStyled.ts index a533b57..ee338f5 100644 --- a/src/styles/pageStyled/settingsPageStyled.ts +++ b/src/styles/pageStyled/settingsPageStyled.ts @@ -1,5 +1,27 @@ import styled from 'styled-components'; export const SettingsPageStyled = styled.div` - + .autoAcceptField { + display: inline-flex; + align-items: center; + + .delay { + display: flex; + align-items: center; + background: ${props => props.theme.colors.formFieldBG}; + padding: 0.6rem 1rem; + border-radius: 8px; + margin-left: 1rem; + transition: 250ms opacity; + + &.disabled { + opacity: 0.5; + } + + .ant-input-number { + width: 3.5rem; + margin: 0 0.5rem; + } + } + } `; diff --git a/src/styles/themes.ts b/src/styles/themes.ts index d6820a5..86be9a2 100644 --- a/src/styles/themes.ts +++ b/src/styles/themes.ts @@ -19,6 +19,7 @@ const _colors = { error: '#FE6968', relic: '#ff6000', ancient: '#c9a472', + gold: '#e0b667', }; _colors.selectedBG = rgba(_colors.primary, 0.1); diff --git a/yarn.lock b/yarn.lock index e77400f..7feb07f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1970,6 +1970,14 @@ electron-osx-sign@^0.6.0: minimist "^1.2.0" plist "^3.0.1" +electron-overlay-window@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/electron-overlay-window/-/electron-overlay-window-3.2.0.tgz#caedec2b9418e8260c9b9debdda4ab00e242f76d" + integrity sha512-EqUucgLJw3QnnMn0S2yEDC3MVcAEE7Aa87VSdhnepeCvKKKc7nwgo/Trfl6ritLXrbH3lSIdOGdMcS9g3M4jGA== + dependencies: + node-gyp-build "4.x.x" + throttle-debounce "5.x.x" + electron-publish@23.6.0: version "23.6.0" resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-23.6.0.tgz#ac9b469e0b07752eb89357dd660e5fb10b3d1ce9" @@ -3449,6 +3457,11 @@ node-fetch@^2.6.7: dependencies: whatwg-url "^5.0.0" +node-gyp-build@4.x.x: + version "4.6.0" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.6.0.tgz#0c52e4cbf54bbd28b709820ef7b6a3c2d6209055" + integrity sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ== + node-releases@^2.0.8: version "2.0.10" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.10.tgz#c311ebae3b6a148c89b1813fd7c4d3c024ef537f" @@ -4718,7 +4731,7 @@ text-table@^0.2.0: resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== -throttle-debounce@^5.0.0: +throttle-debounce@5.x.x, throttle-debounce@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/throttle-debounce/-/throttle-debounce-5.0.0.tgz#a17a4039e82a2ed38a5e7268e4132d6960d41933" integrity sha512-2iQTSgkkc1Zyk0MeVrt/3BvuOXYPl/R8Z0U2xxo9rjwNciaHDG3R+Lm6dh4EeUci49DanvBnuqI6jshoQQRGEg==