Hide native menu bar and remove legacy root artifacts (v4.0.8)

This commit is contained in:
xRangerDE 2026-02-16 13:37:53 +01:00
parent e4ab08cd88
commit 886500ad8e
8 changed files with 18 additions and 84 deletions

5
.gitignore vendored
View File

@ -26,4 +26,7 @@ docs/.astro/
# Executables # Executables
Twitch_VOD_Manager.exe Twitch_VOD_Manager.exe
server_files/*.exe
# Legacy artifacts (not used by TypeScript app)
server_files/
installer.iss

View File

@ -60,7 +60,6 @@ Output artifacts are generated in `typescript-version/release/`.
- `typescript-version/` - Electron app source and build config - `typescript-version/` - Electron app source and build config
- `docs/` - Astro + MDX documentation site - `docs/` - Astro + MDX documentation site
- `server_files/` - legacy release metadata files
## Auto-Update Notes ## Auto-Update Notes

View File

@ -1,70 +0,0 @@
; Inno Setup Script for Twitch VOD Manager
; Version 3.3.5
#define MyAppName "Twitch VOD Manager"
#define MyAppVersion "3.5.3"
#define MyAppPublisher "Twitch VOD Manager"
#define MyAppExeName "Twitch_VOD_Manager.exe"
[Setup]
AppId={{8A7B9C0D-1E2F-3A4B-5C6D-7E8F9A0B1C2D}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
AppPublisher={#MyAppPublisher}
DefaultDirName={autopf}\{#MyAppName}
DefaultGroupName={#MyAppName}
DisableProgramGroupPage=yes
OutputDir=installer_output
OutputBaseFilename=Twitch_VOD_Manager_Setup_{#MyAppVersion}
Compression=lzma2/ultra64
SolidCompression=yes
WizardStyle=modern
PrivilegesRequired=admin
[Languages]
Name: "german"; MessagesFile: "compiler:Languages\German.isl"
Name: "english"; MessagesFile: "compiler:Default.isl"
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
[Files]
Source: "dist\{#MyAppExeName}"; DestDir: "{app}"; Flags: ignoreversion
[Icons]
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
[Run]
; Bei normaler Installation: Checkbox "Programm starten"
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent runasoriginaluser
[Code]
procedure CurStepChanged(CurStep: TSetupStep);
var
DataDir: String;
TempDir: String;
ResultCode: Integer;
begin
if CurStep = ssPostInstall then
begin
// Erstelle ProgramData Ordner fuer Settings
DataDir := ExpandConstant('{commonappdata}\Twitch_VOD_Manager');
if not DirExists(DataDir) then
CreateDir(DataDir);
// Bei Silent Install: Alte _MEI Ordner loeschen und App starten
if WizardSilent then
begin
Sleep(5000); // 5 Sekunden warten bis alte Prozesse beendet
// Alte PyInstaller _MEI Ordner loeschen
TempDir := ExpandConstant('{tmp}\..');
Exec('cmd.exe', '/c "for /d %i in ("' + TempDir + '\_MEI*") do rd /s /q "%i"" 2>nul', '', SW_HIDE, ewWaitUntilTerminated, ResultCode);
Sleep(1000); // Kurz warten nach Cleanup
Exec(ExpandConstant('{app}\{#MyAppExeName}'), '', '', SW_SHOW, ewNoWait, ResultCode);
end;
end;
end;

View File

@ -1,5 +0,0 @@
{
"version": "3.5.3",
"download_url": "http://24-music.de/Twitch_VOD_Manager_Setup.exe",
"changelog": "Silent Update (kein CMD-Fenster)"
}

View File

@ -1,12 +1,12 @@
{ {
"name": "twitch-vod-manager", "name": "twitch-vod-manager",
"version": "4.0.7", "version": "4.0.8",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "twitch-vod-manager", "name": "twitch-vod-manager",
"version": "4.0.7", "version": "4.0.8",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"axios": "^1.6.0", "axios": "^1.6.0",

View File

@ -1,6 +1,6 @@
{ {
"name": "twitch-vod-manager", "name": "twitch-vod-manager",
"version": "4.0.7", "version": "4.0.8",
"description": "Twitch VOD Manager - Download Twitch VODs easily", "description": "Twitch VOD Manager - Download Twitch VODs easily",
"main": "dist/main.js", "main": "dist/main.js",
"author": "xRangerDE", "author": "xRangerDE",

View File

@ -428,7 +428,7 @@
<div class="settings-card"> <div class="settings-card">
<h3 id="updateTitle">Updates</h3> <h3 id="updateTitle">Updates</h3>
<p id="versionInfo" style="margin-bottom: 10px; color: var(--text-secondary);">Version: v4.0.7</p> <p id="versionInfo" style="margin-bottom: 10px; color: var(--text-secondary);">Version: v4.0.8</p>
<button class="btn-secondary" id="checkUpdateBtn" onclick="checkUpdate()">Nach Updates suchen</button> <button class="btn-secondary" id="checkUpdateBtn" onclick="checkUpdate()">Nach Updates suchen</button>
</div> </div>
@ -460,7 +460,7 @@
<div class="status-dot" id="statusDot"></div> <div class="status-dot" id="statusDot"></div>
<span id="statusText">Nicht verbunden</span> <span id="statusText">Nicht verbunden</span>
</div> </div>
<span id="versionText">v4.0.7</span> <span id="versionText">v4.0.8</span>
</div> </div>
</main> </main>
</div> </div>

View File

@ -1,4 +1,4 @@
import { app, BrowserWindow, ipcMain, dialog, shell } from 'electron'; import { app, BrowserWindow, ipcMain, dialog, shell, nativeTheme } from 'electron';
import * as path from 'path'; import * as path from 'path';
import * as fs from 'fs'; import * as fs from 'fs';
import { spawn, ChildProcess, execSync, exec, spawnSync } from 'child_process'; import { spawn, ChildProcess, execSync, exec, spawnSync } from 'child_process';
@ -8,7 +8,7 @@ import { autoUpdater } from 'electron-updater';
// ========================================== // ==========================================
// CONFIG & CONSTANTS // CONFIG & CONSTANTS
// ========================================== // ==========================================
const APP_VERSION = '4.0.7'; const APP_VERSION = '4.0.8';
const UPDATE_CHECK_URL = 'http://24-music.de/version.json'; const UPDATE_CHECK_URL = 'http://24-music.de/version.json';
// Paths // Paths
@ -1720,6 +1720,8 @@ async function processQueue(): Promise<void> {
// WINDOW CREATION // WINDOW CREATION
// ========================================== // ==========================================
function createWindow(): void { function createWindow(): void {
nativeTheme.themeSource = 'dark';
mainWindow = new BrowserWindow({ mainWindow = new BrowserWindow({
width: 1400, width: 1400,
height: 900, height: 900,
@ -1727,6 +1729,7 @@ function createWindow(): void {
minHeight: 700, minHeight: 700,
title: `Twitch VOD Manager [v${APP_VERSION}]`, title: `Twitch VOD Manager [v${APP_VERSION}]`,
backgroundColor: '#0e0e10', backgroundColor: '#0e0e10',
autoHideMenuBar: true,
webPreferences: { webPreferences: {
nodeIntegration: false, nodeIntegration: false,
contextIsolation: true, contextIsolation: true,
@ -1734,6 +1737,10 @@ function createWindow(): void {
} }
}); });
if (process.platform !== 'darwin') {
mainWindow.removeMenu();
}
mainWindow.loadFile(path.join(__dirname, '../src/index.html')); mainWindow.loadFile(path.join(__dirname, '../src/index.html'));
mainWindow.on('closed', () => { mainWindow.on('closed', () => {