1- import { ipcMain } from 'electron' ;
21import { createRoute } from '@hono/zod-openapi' ;
32
43import { type NodeWebSocket } from '@hono/node-ws' ;
@@ -15,6 +14,8 @@ import type { WSContext } from 'hono/ws';
1514import type { Context , Next } from 'hono' ;
1615import type { RepeatMode , VolumeState } from '@/types/datahost-get-state' ;
1716import type { HonoApp } from '../types' ;
17+ import type { BackendContext } from '@/types/contexts' ;
18+ import type { APIServerConfig } from '@/plugins/api-server/config' ;
1819
1920enum DataTypes {
2021 PlayerInfo = 'PLAYER_INFO' ,
@@ -36,7 +37,11 @@ type PlayerState = {
3637 shuffle : boolean ;
3738} ;
3839
39- export const register = ( app : HonoApp , nodeWebSocket : NodeWebSocket ) => {
40+ export const register = (
41+ app : HonoApp ,
42+ { ipc } : BackendContext < APIServerConfig > ,
43+ { upgradeWebSocket } : NodeWebSocket ,
44+ ) => {
4045 let volumeState : VolumeState | undefined = undefined ;
4146 let repeat : RepeatMode = 'NONE' ;
4247 let shuffle = false ;
@@ -89,24 +94,24 @@ export const register = (app: HonoApp, nodeWebSocket: NodeWebSocket) => {
8994 lastSongInfo = { ...songInfo } ;
9095 } ) ;
9196
92- ipcMain . on ( 'ytmd:volume-changed' , ( _ , newVolumeState : VolumeState ) => {
97+ ipc . on ( 'ytmd:volume-changed' , ( newVolumeState : VolumeState ) => {
9398 volumeState = newVolumeState ;
9499 send ( DataTypes . VolumeChanged , {
95100 volume : volumeState . state ,
96101 muted : volumeState . isMuted ,
97102 } ) ;
98103 } ) ;
99104
100- ipcMain . on ( 'ytmd:repeat-changed' , ( _ , mode : RepeatMode ) => {
105+ ipc . on ( 'ytmd:repeat-changed' , ( mode : RepeatMode ) => {
101106 repeat = mode ;
102107 send ( DataTypes . RepeatChanged , { repeat } ) ;
103108 } ) ;
104109
105- ipcMain . on ( 'ytmd:seeked' , ( _ , t : number ) => {
110+ ipc . on ( 'ytmd:seeked' , ( t : number ) => {
106111 send ( DataTypes . PositionChanged , { position : t } ) ;
107112 } ) ;
108113
109- ipcMain . on ( 'ytmd:shuffle-changed' , ( _ , newShuffle : boolean ) => {
114+ ipc . on ( 'ytmd:shuffle-changed' , ( newShuffle : boolean ) => {
110115 shuffle = newShuffle ;
111116 send ( DataTypes . ShuffleChanged , { shuffle } ) ;
112117 } ) ;
@@ -123,7 +128,7 @@ export const register = (app: HonoApp, nodeWebSocket: NodeWebSocket) => {
123128 } ,
124129 } ,
125130 } ) ,
126- nodeWebSocket . upgradeWebSocket ( ( ) => ( {
131+ upgradeWebSocket ( ( ) => ( {
127132 onOpen ( _ , ws ) {
128133 // "Unsafe argument of type `WSContext<WebSocket>` assigned to a parameter of type `WSContext<WebSocket>`. (@typescript-eslint/no-unsafe-argument)" ????? what?
129134 sockets . add ( ws as WSContext < WebSocket > ) ;
0 commit comments