Tools






ToolHub – Ultimate Online Tools Collection


500+ Free Online Tools

Your complete toolkit for everyday tasks – SEO, Development, Design, and more






© 2024 ToolHub – All Tools Are Free To Use


`,

textCase: () => `

Text Case Converter





`,

qrGenerator: () => `

QR Code Generator




`,

jsonFormatter: () => `

JSON Formatter




`,

passwordGen: () => `

Password Generator





`,

loremIpsum: () => `

Lorem Ipsum Generator



`,

colorPicker: () => `

Color Picker

HEX: #667eea


`
};

// Default component for tools without specific implementation
const defaultComponent = (tool) => `

${tool.name}

This tool is coming soon!

We're working hard to add this functionality.

`;

// Open Tool Modal
function openToolModal(tool) {
const modal = document.getElementById("toolModal");
const modalContent = document.getElementById("modalContent");

if(components[tool.component]) {
modalContent.innerHTML = components[tool.component]();
} else {
modalContent.innerHTML = defaultComponent(tool);
}

// Re-evaluate scripts
const scripts = modalContent.getElementsByTagName("script");
for(let script of scripts) {
eval(script.innerHTML);
}

modal.style.display = "block";
}

// Close Modal
document.querySelector(".close-modal").addEventListener("click", () => {
document.getElementById("toolModal").style.display = "none";
});

window.addEventListener("click", (e) => {
if(e.target === document.getElementById("toolModal")) {
document.getElementById("toolModal").style.display = "none";
}
});

// Category Filter
document.querySelectorAll(".category-btn").forEach(btn => {
btn.addEventListener("click", () => {
document.querySelectorAll(".category-btn").forEach(b => b.classList.remove("active"));
btn.classList.add("active");
currentCategory = btn.dataset.category;
renderTools();
});
});

// Search Function
document.getElementById("searchInput").addEventListener("input", (e) => {
searchTerm = e.target.value;
renderTools();
});

// Initialize
renderTools();