X Bookmarks Quick Access

Show floating bookmark button on Twitter/X pages only

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램을 설치해야 합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

// ==UserScript==
// @name         X Bookmarks Quick Access
// @namespace    http://tampermonkey.net/
// @version      1.1
// @description  Show floating bookmark button on Twitter/X pages only
// @author       biganthonymo
// @match        *://x.com/*
// @match        *://www.x.com/*
// @grant        none
// @license MIT
// ==/UserScript==

(function () {
    'use strict';

    // Avoid duplicates
    if (document.getElementById('x-bookmark-btn')) return;

    const btn = document.createElement('div');
    btn.id = 'x-bookmark-btn';
    btn.innerHTML = `
        <svg xmlns="http://www.w3.org/2000/svg" fill="#fff" viewBox="0 0 24 24" width="24px" height="24px">
            <path d="M17 3H7a2 2 0 00-2 2v16l7-3.18L17 21V5a2 2 0 00-2-2z"/>
        </svg>
    `;

    Object.assign(btn.style, {
        position: 'fixed',
        top: '20px',
        left: '20px',
        width: '50px',
        height: '50px',
        backgroundColor: '#1DA1F2',
        borderRadius: '50%',
        boxShadow: '0 2px 6px rgba(0,0,0,0.3)',
        display: 'flex',
        alignItems: 'center',
        justifyContent: 'center',
        cursor: 'pointer',
        zIndex: '99999',
        transition: 'transform 0.2s ease',
    });

    btn.addEventListener('mouseenter', () => {
        btn.style.transform = 'scale(1.1)';
    });

    btn.addEventListener('mouseleave', () => {
        btn.style.transform = 'scale(1)';
    });

    btn.title = 'Go to Bookmarks';
    btn.onclick = () => {
        window.location.href = 'https://x.com/i/bookmarks';
    };

    document.body.appendChild(btn);
})();