AI Quiz Generator: Apna Topic Likhen Aur Foran Quiz Banayen!
0
<!-- Blogger Text Tools Wrapper -->
<div class="blogger-text-tools-wrapper" id="text-tool-app">
<style>
/* Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');
/* General Reset for elements inside the Blogger wrapper */
.blogger-text-tools-wrapper * {
margin: 0;
padding: 0;
box-sizing: border-box;
}
/* Main wrapper for the tool, full-width in Blogger post */
.blogger-text-tools-wrapper {
font-family: 'Inter', sans-serif;
background-color: #f4f7f9;
color: #1a202c;
line-height: 1.6;
padding: 30px 0;
margin: 20px auto;
width: 100%;
max-width: 100%;
overflow-x: hidden;
min-height: 600px;
}
/* CSS Variables for Theming */
.blogger-text-tools-wrapper {
--container-width: 1200px;
--border-radius: 8px;
--transition-speed: 0.3s;
--bg-color-light: #f4f7f9;
--surface-color-light: #ffffff;
--text-color-light: #1a202c;
--subtle-text-light: #718096;
--border-color-light: #e2e8f0;
--primary-color-light: #3182ce;
--primary-hover-light: #2b6cb0;
--bg-color-dark: #121212;
--surface-color-dark: #1e1e1e;
--text-color-dark: #e2e8f0;
--subtle-text-dark: #a0aec0;
--border-color-dark: #4a5568;
--primary-color-dark: #4299e1;
--primary-hover-dark: #63b3ed;
}
/* Dark Theme Class Definition */
.blogger-text-tools-wrapper.dark-theme {
background-color: var(--bg-color-dark);
color: var(--text-color-dark);
}
/* Main Layout Structure (Flexbox) */
.blogger-text-tools-wrapper .container {
display: flex;
flex-direction: column; /* Default to column for easier mobile-first design */
max-width: var(--container-width);
margin: 0 auto;
padding: 1.5rem;
gap: 1.5rem;
}
/* Controls Sidebar Styling */
.blogger-text-tools-wrapper .controls {
flex: 1;
background: var(--surface-color-light);
border-radius: var(--border-radius);
padding: 1.5rem;
border: 1px solid var(--border-color-light);
box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}
.blogger-text-tools-wrapper.dark-theme .controls {
background: var(--surface-color-dark);
border-color: var(--border-color-dark);
}
.blogger-text-tools-wrapper .controls h2 {
font-size: 1.25rem;
margin-bottom: 1.5rem;
border-bottom: 1px solid var(--border-color-light);
padding-bottom: 1rem;
display: flex;
justify-content: space-between;
align-items: center;
}
.blogger-text-tools-wrapper.dark-theme .controls h2 {
border-bottom-color: var(--border-color-dark);
}
.blogger-text-tools-wrapper #theme-switcher {
background: none; border: none; font-size: 1.5rem; cursor: pointer;
color: var(--subtle-text-light); transition: transform var(--transition-speed);
}
.blogger-text-tools-wrapper.dark-theme #theme-switcher { color: var(--subtle-text-dark); }
.blogger-text-tools-wrapper #theme-switcher:hover { transform: scale(1.1) rotate(10deg); }
.blogger-text-tools-wrapper .control-group {
margin-bottom: 2rem;
}
.blogger-text-tools-wrapper .control-group:last-child {
margin-bottom: 0;
}
.blogger-text-tools-wrapper .control-group h3 {
font-size: 0.9rem; text-transform: uppercase; color: var(--subtle-text-light);
margin-bottom: 0.75rem; font-weight: 600;
}
.blogger-text-tools-wrapper.dark-theme .control-group h3 { color: var(--subtle-text-dark); }
.blogger-text-tools-wrapper .control-group button {
display: block; width: 100%; padding: 0.75rem 1rem; margin-bottom: 0.5rem;
border: 1px solid var(--border-color-light); background-color: var(--surface-color-light);
color: var(--text-color-light); border-radius: var(--border-radius);
text-align: left; font-size: 1rem; font-family: var(--font-main); cursor: pointer;
transition: all var(--transition-speed);
}
.blogger-text-tools-wrapper.dark-theme .control-group button {
background-color: var(--surface-color-dark); border-color: var(--border-color-dark); color: var(--text-color-dark);
}
.blogger-text-tools-wrapper .control-group button:hover {
background-color: var(--primary-color-light); color: white; border-color: var(--primary-color-light);
}
.blogger-text-tools-wrapper.dark-theme .control-group button:hover {
background-color: var(--primary-color-dark); border-color: var(--primary-color-dark);
}
/* Main Editor & Content Area */
.blogger-text-tools-wrapper .main-content {
flex: 1; /* Grow to fill available space */
display: grid;
grid-template-columns: 1fr;
gap: 1.5rem;
}
.blogger-text-tools-wrapper .textarea-container {
display: flex; flex-direction: column; background: var(--surface-color-light);
border-radius: var(--border-radius); border: 1px solid var(--border-color-light);
box-shadow: 0 4px 12px rgba(0,0,0,0.05); padding: 1rem;
height: 45vh; min-height: 300px; /* Ensure a minimum height */
}
.blogger-text-tools-wrapper.dark-theme .textarea-container {
background: var(--surface-color-dark); border-color: var(--border-color-dark);
}
.blogger-text-tools-wrapper .textarea-header {
display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.75rem; padding: 0 0.5rem;
}
.blogger-text-tools-wrapper .textarea-header label {
font-weight: 600; color: var(--subtle-text-light);
}
.blogger-text-tools-wrapper.dark-theme .textarea-header label { color: var(--subtle-text-dark); }
.blogger-text-tools-wrapper .stats, .blogger-text-tools-wrapper .actions {
font-size: 0.9rem; color: var(--subtle-text-light);
}
.blogger-text-tools-wrapper.dark-theme .stats, .blogger-text-tools-wrapper.dark-theme .actions { color: var(--subtle-text-dark); }
.blogger-text-tools-wrapper .stats span { font-weight: 600; }
.blogger-text-tools-wrapper .actions button {
background: none; border: none; color: var(--primary-color-light);
cursor: pointer; font-weight: 600; font-size: 0.9rem; margin-left: 1rem;
}
.blogger-text-tools-wrapper.dark-theme .actions button { color: var(--primary-color-dark); }
.blogger-text-tools-wrapper textarea {
flex: 1; width: 100%; padding: 1rem; border: 1px solid var(--border-color-light);
border-radius: var(--border-radius); font-family: var(--font-main); font-size: 1rem;
line-height: 1.6; resize: none; background: var(--bg-color-light);
color: var(--text-color-light); transition: all var(--transition-speed);
}
.blogger-text-tools-wrapper textarea:focus {
outline: none; border-color: var(--primary-color-light);
box-shadow: 0 0 0 3px rgba(49, 130, 206, 0.3);
}
.blogger-text-tools-wrapper.dark-theme textarea {
background: var(--surface-color-dark); border-color: var(--border-color-dark); color: var(--text-color-dark);
}
.blogger-text-tools-wrapper.dark-theme textarea:focus {
border-color: var(--primary-color-dark); box-shadow: 0 0 0 3px rgba(66, 153, 225, 0.3);
}
/* Responsive Design for Blogger */
@media (min-width: 993px) {
.blogger-text-tools-wrapper .container {
flex-direction: row; /* Side-by-side on larger screens */
}
.blogger-text-tools-wrapper .controls {
flex: 0 0 280px; /* Fixed width sidebar on desktop */
height: fit-content;
position: sticky;
top: 1.5rem;
}
}
</style>
<div class="container">
<!-- ========== Controls Sidebar ========== -->
<aside class="controls">
<h2>
Text Tools
<button id="theme-switcher" title="Dark/Light Mode Badlen">🌙</button>
</h2>
<div class="control-group">
<h3>Spacing & Safai</h3>
<button id="remove-spaces">Fuzool Spaces Hatayen</button>
<button id="remove-blank-lines">Khali Lines Hatayen</button>
</div>
<div class="control-group">
<h3>Case Tabdeeli</h3>
<button id="to-uppercase">BADE HUROOF (UPPERCASE)</button>
<button id="to-lowercase">chote huroof (lowercase)</button>
<button id="to-titlecase">Title Case</button>
<button id="to-sentencecase">Jumlay ka case (Sentence case)</button>
</div>
<div class="control-group">
<h3>Line Operations</h3>
<button id="sort-lines">Lines Ko Tarteeb Den (A-Z)</button>
<button id="reverse-lines">Lines Ko Ulat Den</button>
</div>
</aside>
<!-- ========== Main Editor & Content Area ========== -->
<main class="main-content">
<!-- Tool Section -->
<div class="editor">
<div class="textarea-container">
<div class="textarea-header">
<label for="input-text">Input (Yahan Text Dalen)</label>
<div class="stats">Alfaaz: <span id="word-count">0</span> | Huroof: <span id="char-count">0</span></div>
</div>
<textarea id="input-text" placeholder="Yahan apna text paste karen..."></textarea>
</div>
<div class="textarea-container">
<div class="textarea-header">
<label for="output-text">Output (Nateeja Yahan Nazar Aayega)</label>
<div class="actions">
<button id="copy-btn">Clipboard Par Copy Karen</button>
<button id="clear-btn">Sab Saaf Karen</button>
</div>
</div>
<textarea id="output-text" readonly="true" placeholder="Nateeja yahan zahir hoga..."></textarea>
</div>
</div>
</main>
</div>
<script>
//<![CDATA[
document.addEventListener('DOMContentLoaded', () => {
const appWrapper = document.getElementById('text-tool-app');
if (!appWrapper) return;
const inputText = appWrapper.querySelector('#input-text');
const outputText = appWrapper.querySelector('#output-text');
const wordCountEl = appWrapper.querySelector('#word-count');
const charCountEl = appWrapper.querySelector('#char-count');
const copyBtn = appWrapper.querySelector('#copy-btn');
const clearBtn = appWrapper.querySelector('#clear-btn');
const themeSwitcher = appWrapper.querySelector('#theme-switcher');
const updateStats = () => {
const text = inputText.value;
charCountEl.textContent = text.length;
const words = text.trim().split(/\s+/).filter(word => word.length > 0);
wordCountEl.textContent = words.length === 1 && words[0] === '' ? 0 : words.length;
};
const processText = (transformation) => {
const text = inputText.value;
outputText.value = transformation(text);
};
const transformations = {
removeSpaces: text => text.replace(/\s+/g, ' ').trim(),
removeBlankLines: text => text.split('\n').filter(line => line.trim() !== '').join('\n'),
toUppercase: text => text.toUpperCase(),
toLowercase: text => text.toLowerCase(),
toTitlecase: text => text.toLowerCase().split(' ').map(word => word.charAt(0).toUpperCase() + word.slice(1)).join(' '),
toSentencecase: text => text.toLowerCase().replace(/(^\s*\w|[.!?]\s*\w)/g, c => c.toUpperCase()),
sortLines: text => text.split('\n').sort((a, b) => a.localeCompare(b, undefined, { numeric: true, sensitivity: 'base' })).join('\n'),
reverseLines: text => text.split('\n').reverse().join('\n')
};
inputText.addEventListener('input', updateStats);
appWrapper.querySelector('#remove-spaces').addEventListener('click', () => processText(transformations.removeSpaces));
appWrapper.querySelector('#remove-blank-lines').addEventListener('click', () => processText(transformations.removeBlankLines));
appWrapper.querySelector('#to-uppercase').addEventListener('click', () => processText(transformations.toUppercase));
appWrapper.querySelector('#to-lowercase').addEventListener('click', () => processText(transformations.toLowercase));
appWrapper.querySelector('#to-titlecase').addEventListener('click', () => processText(transformations.toTitlecase));
appWrapper.querySelector('#to-sentencecase').addEventListener('click', () => processText(transformations.toSentencecase));
appWrapper.querySelector('#sort-lines').addEventListener('click', () => processText(transformations.sortLines));
appWrapper.querySelector('#reverse-lines').addEventListener('click', () => processText(transformations.reverseLines));
clearBtn.addEventListener('click', () => {
inputText.value = '';
outputText.value = '';
updateStats();
});
copyBtn.addEventListener('click', () => {
if (outputText.value) {
navigator.clipboard.writeText(outputText.value).then(() => {
const originalText = copyBtn.textContent;
copyBtn.textContent = 'Copied!';
setTimeout(() => {
copyBtn.textContent = originalText;
}, 1500);
});
}
});
const applyTheme = (theme) => {
if (theme === 'dark') {
appWrapper.classList.add('dark-theme');
themeSwitcher.textContent = '☀️';
} else {
appWrapper.classList.remove('dark-theme');
themeSwitcher.textContent = '🌙';
}
};
themeSwitcher.addEventListener('click', () => {
const isDark = appWrapper.classList.toggle('dark-theme');
const newTheme = isDark ? 'dark' : 'light';
localStorage.setItem('textToolTheme', newTheme);
applyTheme(newTheme);
});
const savedTheme = localStorage.getItem('textToolTheme') || 'light';
applyTheme(savedTheme);
updateStats();
});
//]]>
</script>
</div>
<!-- End of Blogger Text Tools Wrapper -->

🌟 آن لائن کمائی اب آسان 🌟
❌ کوئی ڈپازٹ نہیں
📲 ویڈیو دیکھیں، گیم کھیلیں، سروے کریں
👍 لائک، کمنٹ، سبسکرائب ٹاسک
💰 روزانہ کمائی کا موقع
🚀 ابھی مفت رجسٹر کریں
👇
https://www.yoursmed.xyz/?ref=EWDL9QDB