1
0
Fork 0
mirror of https://gitlab.com/futo-org/fcast.git synced 2025-08-25 16:52:51 +00:00

Receivers: Added support for viewing browser supported generic file content

This commit is contained in:
Michael Hollister 2025-05-12 23:49:10 -05:00
parent e3c437a280
commit 45b8e915e3
8 changed files with 346 additions and 9 deletions

View file

@ -1,5 +1,6 @@
import { BrowserWindow, ipcMain, IpcMainEvent, nativeImage, Tray, Menu, dialog, shell } from 'electron';
import { Opcode, PlaybackErrorMessage, PlaybackUpdateMessage, VolumeUpdateMessage } from 'common/Packets';
import { supportedPlayerTypes } from 'common/MimeTypes';
import { DiscoveryService } from 'common/DiscoveryService';
import { TcpListenerService } from 'common/TcpListenerService';
import { WebSocketListenerService } from 'common/WebSocketListenerService';
@ -168,7 +169,8 @@ export class Main {
Main.playerWindow.setAlwaysOnTop(false, 'pop-up-menu');
Main.playerWindow.show();
Main.playerWindow.loadFile(path.join(__dirname, 'player/index.html'));
const rendererPath = supportedPlayerTypes.find(v => v === message.container.toLocaleLowerCase()) ? 'player' : 'viewer';
Main.playerWindow.loadFile(path.join(__dirname, `${rendererPath}/index.html`));
Main.playerWindow.on('ready-to-show', async () => {
Main.playerWindow?.webContents?.send("play", await NetworkService.proxyPlayIfRequired(message));
});

View file

@ -0,0 +1,3 @@
import 'common/viewer/Renderer';
// const logger = window.targetAPI.logger;

View file

@ -0,0 +1,24 @@
<!DOCTYPE html>
<html>
<head>
<title>FCast Receiver</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="../assets/fonts/inter.css" />
<link rel="stylesheet" href="./common.css" />
</head>
<body>
<div id="viewer" class="viewer">
<img id="viewer-image" class="viewer" />
<iframe id="viewer-generic" class="viewer"></iframe>
</div>>
<div id="toast-notification">
<div id="toast-icon"></div>
<div id="toast-text"></div>
</div>
<script src="./renderer.js"></script>
</body>
</html>