udne's picture
create an animated hipper realistic video creator app, it should receive an idea and develop it and create a stand alone video for the output.
95c6b59 verified
Raw
History Blame Contribute Delete
2.2 kB
document.addEventListener('DOMContentLoaded', function() {
// Initialize tooltips
const tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'));
tooltipTriggerList.map(function (tooltipTriggerEl) {
return new bootstrap.Tooltip(tooltipTriggerEl);
});
// Smooth scrolling for anchor links
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
anchor.addEventListener('click', function (e) {
e.preventDefault();
document.querySelector(this.getAttribute('href')).scrollIntoView({
behavior: 'smooth'
});
});
});
// Add animation classes on scroll
const animateOnScroll = function() {
const elements = document.querySelectorAll('.animate-on-scroll');
elements.forEach(element => {
const elementPosition = element.getBoundingClientRect().top;
const screenPosition = window.innerHeight / 1.3;
if (elementPosition < screenPosition) {
element.classList.add('fade-in');
}
});
};
window.addEventListener('scroll', animateOnScroll);
animateOnScroll(); // Run once on load
});
// Video generation functions
function generateVideoFromPrompt(prompt) {
// In a real implementation, this would call an AI video generation API
console.log("Generating video for prompt:", prompt);
return new Promise((resolve) => {
setTimeout(() => {
resolve({
videoUrl: "https://example.com/generated-video.mp4",
thumbnail: "https://static.photos/futuristic/640x360/42",
duration: 30
});
}, 2000);
});
}
// Color manipulation functions
function hexToRgb(hex) {
const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
return result ? {
r: parseInt(result[1], 16),
g: parseInt(result[2], 16),
b: parseInt(result[3], 16)
} : null;
}
function getContrastYIQ(hexcolor) {
const rgb = hexToRgb(hexcolor);
if (!rgb) return '#000000';
const yiq = ((rgb.r * 299) + (rgb.g * 587) + (rgb.b * 114)) / 1000;
return (yiq >= 128) ? '#000000' : '#ffffff';
}