Hide Telegram Sidebar

Hide the sidebar in Telegram Web version,隐藏网页端telegram(电报)的侧边栏

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @license MIT
// @name         Hide Telegram Sidebar
// @name:zh-CN   隐藏telegram(电报)侧边栏
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  Hide the sidebar in Telegram Web version,隐藏网页端telegram(电报)的侧边栏
// @author        Mike
// @match        https://web.telegram.org/a/*
// @match        https://web.telegram.org/k/*
// @grant        none
// @run-at       document-end
// ==/UserScript==

(function() {
    'use strict';

    // 定义一个函数来创建并定位图标
    function createAndPositionIcon() {
        // 检查目标div是否存在
        var targetDiv = document.getElementById('LeftColumn');
        if (!targetDiv) {
            return; // 如果目标div不存在,则不执行任何操作
            console.error("获取",targetDiv,"失败")
        }

        // 创建图标元素,使用"X"作为图标
        var icon = document.createElement('div');
        icon.textContent = '<'; // 使用字母"<"作为图标
        icon.style.fontSize = '30px'; // 设置小于号的字体大小
        icon.style.position = 'absolute'; // 绝对定位
        icon.style.top = '50%'; // 垂直居中对齐
        icon.style.left = '0px';  // 将图标放置在目标div的右侧外面
        //icon.style.transform = 'translate(0, -50%)'; // 垂直居中对齐
        icon.style.width = '30px'; // 宽度
        icon.style.height = '60px'; // 高度
        icon.style.backgroundColor = 'grey'; // 背景颜色
        icon.style.color = 'white'; // 文本颜色
        icon.style.borderRadius = '0 50px 50px 0'; // 创建右半圆形状
        icon.style.boxShadow = '2px 2px 5px rgba(0, 0, 0, 0.3)'; // 阴影效果
        icon.style.zIndex = '999999'; // 确保图标在最上层
        icon.style.textAlign = 'center'; // 文本居中对齐
        icon.style.lineHeight = '60px'; // 行高与图标的高度相同,确保文本垂直居中

        // 添加点击事件
        icon.addEventListener('click', function() {
            // 在这里执行点击图标后的操作
          var divMain = document.getElementById('Main');
          var divLeftColumn = document.getElementById('LeftColumn');
          var divMiddleColumn = document.getElementById('MiddleColumn');
          divMain.style.display = divMain.style.display === '' ? 'flex' : '';
          divMain.style.width = divMain.style.display === 'flex' ? '100vw' : '';
          divMain.style.height = divMain.style.height === '100vh' ? '' : '100vh';
          divLeftColumn.style.display = divLeftColumn.style.display === 'none' ? '' : 'none';
          divMiddleColumn.style.flexGrow = divMiddleColumn.style.flexGrow === '1' ? '' : '1';
          icon.textContent = icon.textContent === '<' ? '>' : '<';



        });

        // 将图标添加到目标div的父元素
        var divMiddleColumn = document.getElementById('MiddleColumn');
    divMiddleColumn.style.position = 'relative';// 设置目标div的定位为相对定位,以便图标的绝对定位有参照
    divMiddleColumn.appendChild(icon);// 将图标添加到目标div



    }

    // 使用MutationObserver监听DOM变化
    var observer = new MutationObserver(function(mutations) {
        // 如果目标div出现,创建并定位图标
        if (document.getElementById('LeftColumn')) {
            createAndPositionIcon();
            observer.disconnect(); // 目标div出现后停止观察
        }
    });

    // 开始观察body元素的变化
    observer.observe(document.body, { childList: true, subtree: true });


    // 立即检查一次,以防目标div已经存在
    //createAndPositionIcon();
})();