mirror of
https://github.com/elder-plinius/P4RS3LT0NGV3.git
synced 2026-06-06 15:03:57 +02:00
dc10a90851
- Implement tool registry system with individual tool modules - Reorganize transformers into categorized source modules - Remove emojiLibrary.js, consolidate into EmojiUtils and emojiData - Fix mobile close button and tooltip functionality - Add build system for transforms and emoji data - Migrate from Python backend to pure JavaScript - Add comprehensive documentation and testing - Improve code organization and maintainability - Ignore generated files (transforms-bundle.js, emojiData.js)
62 lines
3.7 KiB
HTML
62 lines
3.7 KiB
HTML
<div v-if="activeTab === 'steganography'" class="tab-content">
|
|
<div class="transform-layout">
|
|
<div class="input-section">
|
|
<textarea
|
|
id="steg-input"
|
|
v-model="emojiMessage"
|
|
placeholder="Enter text to hide..."
|
|
@input="autoEncode"
|
|
></textarea>
|
|
</div>
|
|
|
|
<!-- Emoji Library Section -->
|
|
<div class="emoji-library">
|
|
|
|
<!-- Emoji grid container - this MUST have id="emoji-grid-container" -->
|
|
<div id="emoji-grid-container" class="emoji-grid-container">
|
|
<!-- Dynamic content will be inserted here by JavaScript -->
|
|
<div class="emoji-grid">
|
|
<!-- Common emojis as fallback -->
|
|
<button class="emoji-button" onclick="app.selectEmoji('😀')">😀</button>
|
|
<button class="emoji-button" onclick="app.selectEmoji('😂')">😂</button>
|
|
<button class="emoji-button" onclick="app.selectEmoji('🥰')">🥰</button>
|
|
<button class="emoji-button" onclick="app.selectEmoji('😎')">😎</button>
|
|
<button class="emoji-button" onclick="app.selectEmoji('🤔')">🤔</button>
|
|
<button class="emoji-button" onclick="app.selectEmoji('👍')">👍</button>
|
|
<button class="emoji-button" onclick="app.selectEmoji('🎉')">🎉</button>
|
|
<button class="emoji-button" onclick="app.selectEmoji('🔥')">🔥</button>
|
|
<button class="emoji-button" onclick="app.selectEmoji('🚀')">🚀</button>
|
|
<button class="emoji-button" onclick="app.selectEmoji('🐍')">🐍</button>
|
|
</div>
|
|
</div>
|
|
<div class="emoji-library-footer" v-if="selectedEmoji">
|
|
<div class="selected-emoji-info">
|
|
<span class="selected-emoji">{{ selectedEmoji }}</span>
|
|
<span class="selected-emoji-label">Last selected</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
<div class="output-section" v-if="encodedMessage">
|
|
<div class="output-heading">
|
|
<h4>
|
|
<i class="fas fa-check-circle"></i>
|
|
Encoded Message
|
|
<small v-if="selectedCarrier">using {{ selectedCarrier.name }}</small>
|
|
<small v-else-if="activeSteg === 'invisible'">using Invisible Text</small>
|
|
</h4>
|
|
</div>
|
|
<div class="output-container">
|
|
<textarea readonly v-model="encodedMessage"></textarea>
|
|
<button class="copy-button" @click="copyToClipboard(encodedMessage)" title="Copy to clipboard">
|
|
<i class="fas fa-copy"></i>
|
|
</button>
|
|
</div>
|
|
<div class="output-instructions">
|
|
<small><i class="fas fa-info-circle"></i> Copy this text and share it. Only people who know how to decode it will be able to read your message.</small>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div> |