Code Monkey home page Code Monkey logo

dark-telegram's Introduction


Dark-Telegram

Dark mode implementation for Telegram Web based on the awesome Dark WhatsApp style by vednoc with many improvements and wide range of customization options.


Most features are ported from the original style, I will continue to work on it to add more cool stuff.
Feel free to contribute and make sure to check Dark-WhatsApp style by vednoc!

Features

  • Some animations including contact list hover and private mode
  • Border sizes for bubbles, icons and whole page
  • Hide contacts initials
  • Custom icons for contacts (to match original style) (group icons currently not supported by telegram)
  • Emoji popup positioning
  • Vignette effect fot photo thumbs (video thumbs currently not supported)
  • Compact mode
  • Messages tails
  • Fullscreen mode
  • Custom chat window width
  • Emojis and stickers transparency
  • Messages bubble position
  • Hide contacts icons from chat including own
  • and more ...

See the Changelog for more details.

Installation

To use this style you'll need to install Stylus first, and then click on the button below.


For more information, please follow the original style Dark-WhatsApp installation section.

Franz\Ferdi

If you're using Franz or Ferdi, please take a look at dcferreira's awesome Franz Themes Repository for more instructions on how to install the Dark-Telegram theme for Franz\Ferdi.

Community

While GitHub is generally great for communication, Telegram is best for IM.
Feel free to join, discuss and share you themes and ideas in our Super group on Telegram.

Credits

Full credit for design goes to original style creators at vednoc.

License:

Code released under the MIT license.

dark-telegram's People

Contributors

barina avatar biazzotto avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

dark-telegram's Issues

Textarea wrap won't shrink down after text field size reduced on FireFox

Either by deleting lines from the text area or by sending, the text area (the one that used to send messages) is shrink back to one line but its wrapper doesn't follow and stays large.

The same isn't applied when the text area has been maximized by adding new lines.

A workaround is to just mark a message in the chat and hit "cancel" button.

Currently only appearing on FireFox browser.

Some requests regarding emoji and window

The current emoji pack doesnt look exactly good. Can there be support to replace them with the MS Segoe UI emoji?

Also, can the emoji/stickers panel size be enlarged as they are currently small.

One more thing. Can the chat UI cover the whole web area instead of a previously defined one? One theme has successfully achieved this exact thing. ( Link -- https://github.com/d-Rickyy-b/webogram-x )

Versioning

I feel like the versioning of the theme is too much in the grey area.
And I want to keep it simple so from now on we'll use the simple general formula like this
[major].[minor].[patch]
Where major is for big changes including rewriting the theme from scratch.
The minor reserved for small to medium changes like new features.
And the patch if for fixing issues only.
Every part will be incremental and won't resets to 0 or go lower than what its already is.
If a release includes both a new feature and a fix, the minor will increment by 1 as well as the patch.

I think this is pretty easy to follow and enough to make everybody understand what the release contains without diving to the changelog. :)

This is an open conversation feel free to suggest better alternatives :D

Add support for custom Emoji packs

In continuation of issue #14
Add the ability to change the Emoji's to a custom pack.

Before delving into this, we need to acknowledge that Telegram is currently working on a new shiny Telegram web and everything we did will have to change.
This will also applied here and we also don't really know about their progress and don't have a release date.. I can't find any info on this anymore, but the only thing I know that it is in pretty good shape so it can be released very soon.
That's why I don't really wanna get into big changes here now and wait for the big changes in the new Telegram website.

This needs further investigation as well, as of now it seems that Telegram uses 5 sprite sheets for emojis (links below) and their CSS takes a portion of it for each emoji.

So we have several options here.. We can

  • Find similar sprite sheet with different icons that'll fit in the correct order. also the size of the sheet and the icons is important.
  • Generate new icons by either drawing them ourselves or using 3rd party free to use pack. like the twitter one. this is time consuming specially the "drawing ourselves" part πŸ˜…
  • Drop the sprite sheet approach and use individual icons like I did with most of the icons in this style.. I drew them myself (kinda copy them actually) to an SVG so they'll look nice in any scale. but this is way more work and not recommended at all as I'm not that talented unfortunately..

If we do make our own files we'll need to store them either on the Github project or embed them in the style file if possible.
The later is less recommended in my opinion as it will result in huge file unlike the first approach where we can keep them as simple links.

Sprite sheets:
https://web.telegram.org/img/emojisprite_0.png
https://web.telegram.org/img/emojisprite_1.png
https://web.telegram.org/img/emojisprite_2.png
https://web.telegram.org/img/emojisprite_3.png
https://web.telegram.org/img/emojisprite_4.png

Missing long word wrap functionality

When writing one big word and exceeding TextBox's width, the word won't get wrapped.
The same is true after sending\receiving a message with long words.
This issue can occur when using big words and\or a long link.
When receiving\sending such message:
image
When writing such message:
image
everything is pushed around in an unexpected behavior.

The fix should be easy just enable wrapping in text area and message bubbles. ;)

Trying to import style in Safari using Cascadea does not work.

I have imported several stylus themes (Dark-Whatsapp by vednoc, Github-Dark, etc.) and they all worked smoothly.

Apparently, doing same with this theme does not work.

For e.g
I click install with stylus link in github repo of Github-Dark theme (https://github.com/StylishThemes/GitHub-Dark) and it triggers app Cascadea and it is installed successfully by app.

Now I do same with Dark-Telegram theme. It triggers the app on clicking install with stylus, but the app does not import it.

It would be very helpful if you can see why this is happening and fix itπŸ˜„.

Bottom part won't maximize on full screen

When enabling "Full screen mode" all of the chat edges sticks to the window edges as expected except the bottom edge.

A workaround is just to manually resize the window.

Tested on Chrome and FireFox.

Non-uniform expanding of left panel when compact mode enabled

When "compact mode" is enabled and the break point is set to screen width resolution, the left side panel won't expand uniformly when mouse hover.
Instead it'll only expand contact list or the header depends on where the mouse is hovered.

This is a known issue right now and the way the DOM has been built by Telegram I don't know if there's a way of fixing that.

Tested on:

  • Chromium based browsers
    • Chrome
    • Edge
    • Brave
  • Firefox

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.