Tools for the Atmosphere tools.slices.network
quickslice atproto html

feat(lexicon-explorer): add Bluesky share button and fix mobile zoom

- Add share to Bluesky button next to copy link
- Fix iOS auto-zoom by setting input font-size to 16px

+22 -6
+22 -6
lexicon-explorer.html
··· 117 117 border: 1px solid var(--border); 118 118 border-radius: 0.5rem; 119 119 color: var(--text-primary); 120 - font-size: 0.9375rem; 120 + font-size: 1rem; 121 121 } 122 122 123 123 .search-input:focus { ··· 228 228 text-decoration: underline; 229 229 } 230 230 231 - .copy-btn { 231 + .action-btn { 232 232 background: none; 233 233 border: none; 234 234 padding: 0.25rem; ··· 238 238 transition: opacity 0.15s; 239 239 } 240 240 241 - .copy-btn:hover { 241 + .action-btn:hover { 242 242 opacity: 1; 243 243 } 244 244 245 - .copy-btn.copied { 245 + .action-btn.copied { 246 246 opacity: 1; 247 + } 248 + 249 + .action-buttons { 250 + display: flex; 251 + gap: 0.25rem; 247 252 } 248 253 249 254 .card-meta { ··· 789 794 </div> 790 795 ${descriptionHtml} 791 796 </div> 792 - <button class="copy-btn" onclick="copyLink()" title="Copy link">🔗</button> 797 + <div class="action-buttons"> 798 + <button class="action-btn" onclick="copyLink()" title="Copy link">🔗</button> 799 + <button class="action-btn" onclick="shareToBluesky()" title="Share on Bluesky">🦋</button> 800 + </div> 793 801 </div> 794 802 <div class="card-body"> 795 803 <pre class="card-json">${highlightJson(fullJson)}</pre> ··· 873 881 const url = window.location.href; 874 882 await navigator.clipboard.writeText(url); 875 883 876 - const btn = document.querySelector('.copy-btn'); 884 + const btn = event.target; 877 885 if (btn) { 878 886 btn.textContent = '✓'; 879 887 btn.classList.add('copied'); ··· 882 890 btn.classList.remove('copied'); 883 891 }, 1500); 884 892 } 893 + } 894 + 895 + function shareToBluesky() { 896 + const url = window.location.href; 897 + const nsid = state.currentLexicon?.id || ''; 898 + const text = `Check out the ${nsid} lexicon\n\n${url}`; 899 + const intentUrl = `https://bsky.app/intent/compose?text=${encodeURIComponent(text)}`; 900 + window.open(intentUrl, '_blank'); 885 901 } 886 902 887 903 // =============================================================================