Loading...

Loading CashMine.Net...

Unable to load CashMine.Net logo

Please refresh the page or try again later.

Skip to main content

CashMine.Net - Advanced Data Economy Solutions

Welcome to CashMine.Net, your premier destination for cutting-edge data economy solutions. Our platform combines advanced analytics, secure digital infrastructure, and innovative data processing technology to provide comprehensive data-driven services.

This interactive logo represents our core values: precision, innovation, and efficiency in data economy technology.

`; } getShapeStyle(shape) { const styles = { 'circle': 'border-radius: 50%;', 'square': 'border-radius: 0%;', 'triangle': 'clip-path: polygon(50% 0%, 0% 100%, 100% 100%); border-radius: 0%;', 'diamond': 'transform: rotate(45deg);', 'hexagon': 'clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);', 'pentagon': 'clip-path: polygon(50% 0%, 100% 38%, 82% 100%, 18% 100%, 0% 38%);', 'oval': 'border-radius: 50% / 30%;', 'rectangle': 'width: 250px; height: 150px;', 'star': 'clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);', 'heart': 'clip-path: path("M12,21.35l-1.45-1.32C5.4,15.36,2,12.28,2,8.5 C2,5.42,4.42,3,7.5,3c1.74,0,3.41,0.81,4.5,2.09C13.09,3.81,14.76,3,16.5,3 C19.58,3,22,5.42,22,8.5c0,3.78-3.4,6.86-8.55,11.54L12,21.35z");' }; return styles[shape] || styles['circle']; } getStyleProperties(style) { const properties = { 'minimalist': 'border: 2px solid white; background: transparent;', 'vintage': 'filter: sepia(1) hue-rotate(30deg) saturate(1.5);', 'modern': 'box-shadow: 0 10px 30px rgba(0,0,0,0.3);', 'classic': 'border: 3px solid #gold;', 'futuristic': 'box-shadow: 0 0 20px currentColor, inset 0 0 20px rgba(255,255,255,0.1);', 'gradient': 'background: linear-gradient(45deg, currentColor, transparent);', '3d': 'box-shadow: 0 15px 35px rgba(0,0,0,0.4), inset 0 5px 15px rgba(255,255,255,0.1);', 'flat': 'box-shadow: none; border: none;', 'neon': 'box-shadow: 0 0 20px currentColor, 0 0 40px currentColor;' }; return properties[style] || ''; } getEffectProperties(effect) { const effects = { 'glow': 'box-shadow: 0 0 20px currentColor;', 'shadow': 'box-shadow: 5px 5px 15px rgba(0,0,0,0.5);', 'blur': 'filter: blur(2px);', 'sharp': 'filter: contrast(150%) brightness(110%);', 'gradient': 'background: linear-gradient(45deg, currentColor, transparent);', 'animation': 'animation: pulse 2s infinite;', 'rotation': 'animation: rotate 4s linear infinite;', 'transparency': 'opacity: 0.8;' }; return effects[effect] || ''; } getTypographyProperties(typography) { const typographyStyles = { 'serif': 'font-family: Georgia, serif;', 'sans-serif': 'font-family: Arial, sans-serif;', 'monospace': 'font-family: Courier, monospace;', 'script': 'font-family: cursive;', 'bold': 'font-weight: bold;', 'italic': 'font-style: italic;', 'shadow': 'text-shadow: 2px 2px 4px rgba(0,0,0,0.5);', 'outline': 'text-stroke: 1px white; -webkit-text-stroke: 1px white;' }; return typographyStyles[typography] || ''; } getThemeStyles(theme) { const themeStyles = { 'technology': 'background: linear-gradient(135deg, #0f0f23, #1a1a2e, #16213e);', 'nature': 'background: linear-gradient(135deg, #134e5e, #71b280);', 'space': 'background: linear-gradient(135deg, #0c0c0c, #1a1a2e, #16213e);', 'ocean': 'background: linear-gradient(135deg, #0f4c75, #3282b8, #bbe1fa);', 'forest': 'background: linear-gradient(135deg, #2d5016, #4a7c59, #8fbc8f);', 'mountain': 'background: linear-gradient(135deg, #8b4513, #a0522d, #cd853f);', 'desert': 'background: linear-gradient(135deg, #f4a460, #daa520, #b8860b);', 'arctic': 'background: linear-gradient(135deg, #e6f3ff, #b3d9ff, #80c5ff);' }; return themeStyles[theme] || ''; } getContrastColor(hexColor) { const hex = hexColor.replace('#', ''); const r = parseInt(hex.substr(0, 2), 16); const g = parseInt(hex.substr(2, 2), 16); const b = parseInt(hex.substr(4, 2), 16); const brightness = ((r * 299) + (g * 587) + (b * 114)) / 1000; return brightness > 128 ? '#000000' : '#FFFFFF'; } } const logoDesigner = new LogoDesigner(); function openLogoDesigner() { document.getElementById('logoDesignerModal').style.display = 'block'; document.body.style.overflow = 'hidden'; } function closeLogoDesigner() { document.getElementById('logoDesignerModal').style.display = 'none'; document.body.style.overflow = 'auto'; document.getElementById('generatedCode').style.display = 'none'; } function generateRandomLogo() { // Handle both main button and modal button const generateBtn = document.getElementById('generateBtn') || document.getElementById('mainGenerateBtn'); const generatedCode = document.getElementById('generatedCode'); const codeDisplay = document.getElementById('codeDisplay'); const diceIcon = generateBtn.querySelector('.dice-icon'); const rollText = generateBtn.querySelector('.roll-text'); // Add enhanced animations and visual feedback generateBtn.classList.add('dice-animation'); generateBtn.disabled = true; // Update button content with animation diceIcon.style.animation = 'diceRoll 1s ease-in-out infinite'; rollText.textContent = 'Rolling the Dice...'; // Announce to screen readers const statusEl = document.getElementById('generation-status'); statusEl.textContent = 'Rolling dice for logo generation...'; // Add sound effect simulation (visual feedback) generateBtn.style.animation = 'gradientShift 0.5s ease-in-out infinite'; // Create visual dice rolling effect let rollCount = 0; const rollInterval = setInterval(() => { rollCount++; const diceFaces = ['🎲', '⚀', '⚁', '⚂', '⚃', '⚄', '⚅']; diceIcon.textContent = diceFaces[Math.floor(Math.random() * diceFaces.length)]; if (rollCount >= 8) { clearInterval(rollInterval); } }, 150); setTimeout(() => { // Generate parameters (hidden from user) const selections = logoDesigner.generateParameters(); // Generate logo code const logoCode = logoDesigner.generateLogoCode(selections); // Display the code with fade-in effect codeDisplay.textContent = logoCode; // If using main button, open the modal; otherwise show in existing modal if (generateBtn.id === 'mainGenerateBtn') { document.getElementById('logoDesignerModal').style.display = 'block'; document.body.style.overflow = 'hidden'; } generatedCode.style.display = 'block'; generatedCode.style.opacity = '0'; generatedCode.style.transform = 'translateY(20px)'; // Animate code appearance setTimeout(() => { generatedCode.style.transition = 'all 0.5s ease-out'; generatedCode.style.opacity = '1'; generatedCode.style.transform = 'translateY(0)'; }, 100); // Reset button with success animation clearInterval(rollInterval); diceIcon.style.animation = 'diceFloat 2s ease-in-out infinite'; diceIcon.textContent = '🎲'; rollText.textContent = 'Roll Again'; generateBtn.classList.remove('dice-animation'); generateBtn.style.animation = 'gradientShift 3s ease-in-out infinite'; generateBtn.disabled = false; // Announce success to screen readers statusEl.textContent = 'Logo generated successfully! You can now copy the code below.'; // Add success pulse effect generateBtn.style.boxShadow = '0 0 30px rgba(6, 255, 165, 0.6)'; setTimeout(() => { generateBtn.style.boxShadow = ''; }, 1000); // Scroll to generated code generatedCode.scrollIntoView({ behavior: 'smooth', block: 'center' }); // Track successful generation if (typeof trackEvent === 'function') { trackEvent('logo_generated', { combination_count: Math.pow(50, 6) }); } }, 2000); // Increased time for better visual effect } function copyCode() { const codeDisplay = document.getElementById('codeDisplay'); const text = codeDisplay.textContent; const btn = event.target; const originalText = btn.textContent; // Try modern clipboard API first if (navigator.clipboard && window.isSecureContext) { navigator.clipboard.writeText(text).then(() => { btn.textContent = '✅ Copied!'; btn.style.background = '#2E7D32'; setTimeout(() => { btn.textContent = originalText; btn.style.background = '#4CAF50'; }, 2000); }).catch(err => { console.error('Clipboard API failed: ', err); fallbackCopyTextToClipboard(text, btn, originalText); }); } else { // Fallback for older browsers or non-secure contexts fallbackCopyTextToClipboard(text, btn, originalText); } } function fallbackCopyTextToClipboard(text, btn, originalText) { // Create a temporary textarea element const textArea = document.createElement("textarea"); textArea.value = text; // Make it invisible and add to DOM textArea.style.position = "fixed"; textArea.style.left = "-999999px"; textArea.style.top = "-999999px"; document.body.appendChild(textArea); // Focus and select the text textArea.focus(); textArea.select(); try { // Try to copy using execCommand const successful = document.execCommand('copy'); if (successful) { btn.textContent = '✅ Copied!'; btn.style.background = '#2E7D32'; setTimeout(() => { btn.textContent = originalText; btn.style.background = '#4CAF50'; }, 2000); } else { throw new Error('execCommand failed'); } } catch (err) { console.error('Fallback copy failed: ', err); // Show manual copy option btn.textContent = '📋 Select & Copy'; btn.style.background = '#FF9800'; btn.onclick = function() { selectCodeForManualCopy(); }; // Also show an alert with instructions setTimeout(() => { alert('Please select the code above and press Ctrl+C (or Cmd+C on Mac) to copy it manually.'); }, 100); } // Clean up document.body.removeChild(textArea); } function selectCodeForManualCopy() { const codeDisplay = document.getElementById('codeDisplay'); const range = document.createRange(); range.selectNodeContents(codeDisplay); const selection = window.getSelection(); selection.removeAllRanges(); selection.addRange(range); const btn = event.target; btn.textContent = '✅ Selected!'; btn.style.background = '#2E7D32'; setTimeout(() => { btn.textContent = '📋 Copy Code'; btn.style.background = '#4CAF50'; btn.onclick = copyCode; }, 2000); } function selectAllCode() { const codeDisplay = document.getElementById('codeDisplay'); // Try to select the text content if (window.getSelection) { const selection = window.getSelection(); const range = document.createRange(); range.selectNodeContents(codeDisplay); selection.removeAllRanges(); selection.addRange(range); // Show feedback codeDisplay.style.background = '#333'; setTimeout(() => { codeDisplay.style.background = '#1a1a1a'; }, 1000); } // Also try to focus the element for keyboard selection codeDisplay.focus(); } // Enhanced keyboard navigation document.addEventListener('keydown', function(event) { // Enter or Space on generate button if ((event.key === 'Enter' || event.key === ' ') && (event.target.id === 'generateBtn' || event.target.id === 'mainGenerateBtn')) { event.preventDefault(); if (!event.target.disabled) { generateRandomLogo(); } } // Escape key to close modal if (event.key === 'Escape') { const modals = document.querySelectorAll('.modal[style*="block"]'); modals.forEach(modal => { if (modal.id === 'logoDesignerModal') { closeLogoDesigner(); } else { closeModal(modal.id); } }); } });