mirror of
https://gitlab.rlp.net/proj-wise2526-video2document/video2document.git
synced 2026-06-15 18:01:52 +02:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 5bd5ae52c6 |
@@ -0,0 +1,159 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Custom Document</title>
|
||||
<style>
|
||||
body {
|
||||
font-family: Arial, sans-serif;
|
||||
background: #f0f2f5;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: flex-start;
|
||||
min-height: 100vh;
|
||||
}
|
||||
|
||||
.container {
|
||||
background: white;
|
||||
padding: 30px;
|
||||
margin-top: 50px;
|
||||
border-radius: 12px;
|
||||
box-shadow: 0 4px 20px rgba(0,0,0,0.1);
|
||||
width: 90%;
|
||||
max-width: 600px;
|
||||
}
|
||||
|
||||
h1 {
|
||||
text-align: center;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
label {
|
||||
font-weight: bold;
|
||||
margin-top: 15px;
|
||||
display: block;
|
||||
color: #555;
|
||||
}
|
||||
|
||||
input[type="text"], textarea, select {
|
||||
width: 100%;
|
||||
padding: 10px;
|
||||
margin-top: 5px;
|
||||
border-radius: 6px;
|
||||
border: 1px solid #ccc;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
textarea {
|
||||
height: 120px;
|
||||
resize: vertical;
|
||||
}
|
||||
|
||||
.buttons {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin-top: 25px;
|
||||
}
|
||||
|
||||
button {
|
||||
padding: 10px 20px;
|
||||
font-size: 14px;
|
||||
border: none;
|
||||
border-radius: 6px;
|
||||
cursor: pointer;
|
||||
transition: 0.2s;
|
||||
background-color: #007BFF;
|
||||
color: white;
|
||||
}
|
||||
|
||||
button:hover {
|
||||
background-color: #0056b3;
|
||||
}
|
||||
|
||||
@media (max-width: 500px) {
|
||||
.buttons {
|
||||
flex-direction: column;
|
||||
}
|
||||
.buttons button {
|
||||
width: 100%;
|
||||
margin-top: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
#result {
|
||||
margin-top: 20px;
|
||||
color: #333;
|
||||
word-break: break-word;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<h1>Custom Document Generator</h1>
|
||||
|
||||
<label for="docName">Dokumentname:</label>
|
||||
<input type="text" id="docName" placeholder="Gib hier den Dokumentnamen ein">
|
||||
|
||||
<label for="existingDocs">Vorhandene Dokumente auswählen (optional):</label>
|
||||
<select id="existingDocs">
|
||||
<option value="">-- Neues Dokument erstellen --</option>
|
||||
<option value="meeting_report_001">Meeting Report 001</option>
|
||||
<option value="summary_01">Summary 01</option>
|
||||
<option value="project_plan_A">Project Plan A</option>
|
||||
</select>
|
||||
|
||||
<label for="prompt">Dein Prompt:</label>
|
||||
<textarea id="prompt" placeholder="Schreibe hier den Prompt für dein Dokument..."></textarea>
|
||||
|
||||
<div class="buttons">
|
||||
<button id="goBackBtn">Abbrechen</button>
|
||||
<button id="generateBtn">Dokument speichern</button>
|
||||
</div>
|
||||
|
||||
<div id="result"></div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const goBackBtn = document.getElementById("goBackBtn");
|
||||
const generateBtn = document.getElementById("generateBtn");
|
||||
const existingDocs = document.getElementById("existingDocs");
|
||||
const docNameInput = document.getElementById("docName");
|
||||
const promptInput = document.getElementById("prompt");
|
||||
const resultDiv = document.getElementById("result");
|
||||
|
||||
// Zurück zur Haupt-GUI
|
||||
goBackBtn.addEventListener("click", () => {
|
||||
window.electronAPI.goBackToMain();
|
||||
});
|
||||
|
||||
// Generiere Dokument
|
||||
generateBtn.addEventListener("click", () => {
|
||||
const prompt = promptInput.value.trim();
|
||||
let docName = docNameInput.value.trim();
|
||||
const selectedExisting = existingDocs.value;
|
||||
|
||||
if (!prompt) {
|
||||
alert("Bitte gib einen Prompt ein!");
|
||||
return;
|
||||
}
|
||||
|
||||
// Wenn ein vorhandenes Dokument ausgewählt wurde, hängt der Prompt daran
|
||||
if (selectedExisting) {
|
||||
docName = selectedExisting; // prompt wird an vorhandenes Dokument angehängt
|
||||
} else if (!docName) {
|
||||
alert("Bitte gib einen Dokumentnamen ein, wenn du ein neues Dokument erstellen möchtest!");
|
||||
return;
|
||||
}
|
||||
|
||||
// Demo-Ausgabe im Result-Div
|
||||
resultDiv.innerHTML = `<strong>Dokumentname:</strong> ${docName}<br><strong>Prompt:</strong> ${prompt}`;
|
||||
|
||||
// Hier kannst du den Prompt an dein LLM oder Module-Handler senden
|
||||
// z.B. window.submit.submit({documentName: docName, prompt: prompt})
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -141,7 +141,7 @@ electron.ipcMain.on("file_submit", async (event, args) => {
|
||||
|
||||
console.log("\n\n Running the Video to Audio Extractor");
|
||||
// This code handles the Video to Audio extraction module call
|
||||
await mapFunctions.get("module-handler").function(args.video.module, {inputVideoPath: args.video.inputVideoPath, outputType: mapFunctions.get(args.transcription.module).audioformat}).then(resp => {
|
||||
await mapFunctions.get("module-handler").function(args.video.module, {inputVideoPath: args.video.inputVideoPath, outputType: args.video.outputType}).then(resp => {
|
||||
console.log(resp);
|
||||
audiopath = resp
|
||||
curstep++
|
||||
@@ -194,24 +194,6 @@ electron.ipcMain.on("file_submit", async (event, args) => {
|
||||
})
|
||||
}
|
||||
|
||||
// TODO actually implement this functionality
|
||||
// Module to get the first few lines for each speaker to send to the frontend
|
||||
// await mapFunctions.get("speaker-getter-idfk").function(transcriptpath).then(resp => {
|
||||
// console.log(resp);
|
||||
// transcriptpath = resp
|
||||
// curstep++
|
||||
// mainWindow.webContents.send("progress", {curstep:curstep, totalsteps:totalsteps})
|
||||
|
||||
// // {
|
||||
// // speakerA: {source: "Pfad zur Audio File"},
|
||||
// // speakerB:.....
|
||||
// // }
|
||||
mainWindow.webContents.send("speakers", {speakerA:"pfad1", speakerB:"pfad2"})
|
||||
// }).catch(err => {
|
||||
// mainWindow.webContents.send("error", err)
|
||||
// return
|
||||
// })
|
||||
|
||||
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
|
||||
Generated
+2
@@ -299,6 +299,7 @@
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-24.9.2.tgz",
|
||||
"integrity": "sha512-uWN8YqxXxqFMX2RqGOrumsKeti4LlmIMIyV0lgut4jx7KQBcBiW6vkDtIBvHnHIquwNfJhk8v2OtmO8zXWHfPA==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"undici-types": "~7.16.0"
|
||||
}
|
||||
@@ -2534,6 +2535,7 @@
|
||||
"integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"peer": true,
|
||||
"bin": {
|
||||
"tsc": "bin/tsc",
|
||||
"tsserver": "bin/tsserver"
|
||||
|
||||
@@ -89,7 +89,6 @@ module.exports = {
|
||||
name: 'assembly',
|
||||
type: 'transcription',
|
||||
displayname: 'AssemblyAI',
|
||||
audioformat: "mp3",
|
||||
|
||||
async function(audioFileName) {
|
||||
return new Promise(async (resolve, reject) => {
|
||||
|
||||
Reference in New Issue
Block a user