Archived
First commit of local Closed Caption App
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
let currentTimeout;
|
||||
let displaySettings = {
|
||||
textColor: '#ffffff',
|
||||
bgColor: '#000000',
|
||||
fontFamily: 'Arial, sans-serif',
|
||||
fontSize: '32px',
|
||||
duration: 5
|
||||
};
|
||||
|
||||
const transcriptionText = document.getElementById('transcription-text');
|
||||
const displayContainer = document.getElementById('display-container');
|
||||
const googleFontLink = document.getElementById('google-font-link');
|
||||
|
||||
// Apply settings
|
||||
function applySettings(settings) {
|
||||
displaySettings = { ...displaySettings, ...settings };
|
||||
|
||||
transcriptionText.style.color = displaySettings.textColor;
|
||||
transcriptionText.style.fontSize = displaySettings.fontSize;
|
||||
transcriptionText.style.fontFamily = displaySettings.fontFamily;
|
||||
displayContainer.style.backgroundColor = displaySettings.bgColor;
|
||||
|
||||
// Handle Google Fonts
|
||||
if (settings.googleFont) {
|
||||
googleFontLink.href = `https://fonts.googleapis.com/css2?family=${settings.googleFont}&display=swap`;
|
||||
}
|
||||
}
|
||||
|
||||
// Display transcription
|
||||
function displayTranscription(text) {
|
||||
transcriptionText.textContent = text;
|
||||
transcriptionText.classList.remove('fade-out');
|
||||
|
||||
if (currentTimeout) {
|
||||
clearTimeout(currentTimeout);
|
||||
}
|
||||
|
||||
const duration = displaySettings.duration * 1000;
|
||||
currentTimeout = setTimeout(() => {
|
||||
transcriptionText.classList.add('fade-out');
|
||||
setTimeout(() => {
|
||||
transcriptionText.textContent = '';
|
||||
}, 300);
|
||||
}, duration);
|
||||
}
|
||||
|
||||
// Listen for IPC messages
|
||||
if (window.electronAPI) {
|
||||
window.electronAPI.onTranscription((data) => {
|
||||
displayTranscription(data.text);
|
||||
});
|
||||
|
||||
window.electronAPI.onUpdateSettings((settings) => {
|
||||
applySettings(settings);
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user