├── .github └── FUNDING.yml ├── .gitignore ├── CNAME ├── app ├── hotfix-4.0.3.css ├── hotfix-4.1.0.css ├── hotfix-4.2.0.css ├── hotfix-4.2.1.css ├── hotfix-4.3.2.css ├── hotfix-4.3.3.1.css ├── hotfix-4.3.3.css ├── hotfix-4.4.0.css ├── hotfix-4.5.3.1.css ├── hotfix-4.5.3.css ├── hotfix-4.6.0.css ├── hotfix-4.6.1.css ├── hotfix-4.6.2.css ├── hotfix-4.6.4.css ├── hotfix-4.6.6.css ├── hotfix-4.6.7.css ├── hotfix-4.6.8.css ├── hotfix-4.6.9.css ├── hotfix-4.7.0.css ├── hotfix-5.0.2.css └── segmdl2.ttf ├── auto_updater.json ├── donate └── index.html ├── inc ├── css │ └── app.css ├── fonts │ ├── circular-book.woff │ └── circular-medium.woff ├── images │ ├── do-more.png │ ├── download.png │ ├── extension.png │ ├── fav │ │ ├── android-chrome-192x192.png │ │ ├── android-chrome-256x256.png │ │ ├── android-chrome-512x512.png │ │ ├── apple-touch-icon.png │ │ ├── favicon-16x16.png │ │ ├── favicon-32x32.png │ │ ├── favicon.png │ │ ├── mstile-150x150.png │ │ └── safari-pinned-tab.svg │ ├── gif.jpeg │ ├── interface.jpeg │ ├── logo.ico │ ├── logo.png │ ├── notifs.png │ ├── tweeten-dark.jpg │ └── windows-10-s.png └── js │ ├── app.js │ └── release.js ├── index.html ├── privacy.html ├── readme.md ├── releases └── index.html ├── sass.bat ├── src ├── app.scss ├── dlcount.html └── partials │ ├── _main.scss │ ├── _releases.scss │ ├── _variables.scss │ └── bootstrap │ ├── _alert.scss │ ├── _animation.scss │ ├── _breadcrumb.scss │ ├── _button-group.scss │ ├── _buttons.scss │ ├── _card.scss │ ├── _carousel.scss │ ├── _close.scss │ ├── _code.scss │ ├── _custom-forms.scss │ ├── _custom.scss │ ├── _dropdown.scss │ ├── _forms.scss │ ├── _grid.scss │ ├── _images.scss │ ├── _input-group.scss │ ├── _jumbotron.scss │ ├── _list-group.scss │ ├── _media.scss │ ├── _mixins.scss │ ├── _modal.scss │ ├── _nav.scss │ ├── _navbar.scss │ ├── _normalize.scss │ ├── _pagination.scss │ ├── _popover.scss │ ├── _print.scss │ ├── _progress.scss │ ├── _reboot.scss │ ├── _responsive-embed.scss │ ├── _tables.scss │ ├── _tags.scss │ ├── _tooltip.scss │ ├── _type.scss │ ├── _utilities.scss │ ├── _variables.scss │ ├── mixins │ ├── _alert.scss │ ├── _background-variant.scss │ ├── _border-radius.scss │ ├── _breakpoints.scss │ ├── _buttons.scss │ ├── _cards.scss │ ├── _clearfix.scss │ ├── _float.scss │ ├── _forms.scss │ ├── _gradients.scss │ ├── _grid-framework.scss │ ├── _grid.scss │ ├── _hover.scss │ ├── _image.scss │ ├── _list-group.scss │ ├── _lists.scss │ ├── _nav-divider.scss │ ├── _navbar-align.scss │ ├── _pagination.scss │ ├── _progress.scss │ ├── _reset-filter.scss │ ├── _reset-text.scss │ ├── _resize.scss │ ├── _screen-reader.scss │ ├── _size.scss │ ├── _tab-focus.scss │ ├── _table-row.scss │ ├── _tag.scss │ ├── _text-emphasis.scss │ ├── _text-hide.scss │ └── _text-truncate.scss │ └── utilities │ ├── _align.scss │ ├── _background.scss │ ├── _borders.scss │ ├── _clearfix.scss │ ├── _display.scss │ ├── _flex.scss │ ├── _float.scss │ ├── _screenreaders.scss │ ├── _spacing.scss │ ├── _text.scss │ └── _visibility.scss └── updates ├── tweeten_updates.json └── tweeten_updates_uwp.json /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: MehediH 4 | patreon: tweeten 5 | ko_fi: mehedi 6 | custom: https://www.paypal.me/MehediHa/15 7 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .sass-cache/ 2 | *.css.map 3 | *.DS_Store -------------------------------------------------------------------------------- /CNAME: -------------------------------------------------------------------------------- 1 | tweetenapp.com 2 | -------------------------------------------------------------------------------- /app/hotfix-4.0.3.css: -------------------------------------------------------------------------------- 1 | 2 | .js-modals-container .s-profile{ 3 | float: left; 4 | margin-top: 0px !important; 5 | } 6 | 7 | .js-modal-context .s-profile .modal-content.position-rel.is-inverted-dark{ 8 | margin: 0px !important; 9 | } 10 | 11 | .js-modal-inner.mdl.margin-v--20.s-fluid.prf.s-tall-fixed.s-profile.is-inverted-dark{ 12 | margin-top: 0px !important; 13 | } 14 | 15 | .js-modals-container .s-profile .prf-header .width-p--85.margin-a-auto.position-rel.padding-b--20{ 16 | z-index: 999; 17 | 18 | } 19 | 20 | .js-modals-container .prf .js-profile-columns ul li{ 21 | width: 49% !important; 22 | margin-bottom: 8px !important; 23 | } 24 | 25 | .js-modal-context .s-profile .js-item-launch[data-type^='tweets'] .icon-twitter-bird{ 26 | margin-top: 15px !important; 27 | } 28 | 29 | html.dark .prf .lst-profile a:hover span{ 30 | color: #fff !important; 31 | opacity: 0.75; 32 | } 33 | 34 | html.dark .is-inverted-dark .stream-item { 35 | background-color: rgb(23, 25, 27) !important; 36 | } 37 | 38 | html.dark .cmp-replyto{ 39 | border-top: 0px !important; 40 | background-color: rgb(23, 25, 27) !important; 41 | color: rgb(255, 255, 255) !important; 42 | } 43 | 44 | html.dark .cmp-replyto .tweet-text{ 45 | opacity: 0.75 !important; 46 | } 47 | -------------------------------------------------------------------------------- /app/hotfix-4.1.0.css: -------------------------------------------------------------------------------- 1 | .js-modals-container .s-profile{ 2 | float: left; 3 | margin-top: 0px !important; 4 | } 5 | 6 | .js-modal-context .s-profile .modal-content.position-rel.is-inverted-dark{ 7 | margin: 0px !important; 8 | } 9 | 10 | .js-modal-inner.mdl.margin-v--20.s-fluid.prf.s-tall-fixed.s-profile.is-inverted-dark{ 11 | margin-top: 0px !important; 12 | } 13 | 14 | .js-modals-container .s-profile .prf-header .width-p--85.margin-a-auto.position-rel.padding-b--20{ 15 | z-index: 999; 16 | 17 | } 18 | 19 | .js-modals-container .prf .js-profile-columns ul li{ 20 | width: 49% !important; 21 | margin-bottom: 8px !important; 22 | } 23 | 24 | .js-modal-context .s-profile .js-item-launch[data-type^='tweets'] .icon-twitter-bird{ 25 | margin-top: 15px !important; 26 | } 27 | 28 | html.dark .prf .lst-profile a:hover span{ 29 | color: #fff !important; 30 | opacity: 0.75; 31 | } 32 | 33 | html.dark .is-inverted-dark .stream-item { 34 | background-color: rgb(23, 25, 27) !important; 35 | } 36 | 37 | html.dark .cmp-replyto{ 38 | border-top: 0px !important; 39 | background-color: rgb(23, 25, 27) !important; 40 | color: rgb(255, 255, 255) !important; 41 | } 42 | 43 | html.dark .cmp-replyto .tweet-text{ 44 | opacity: 0.75 !important; 45 | } 46 | -------------------------------------------------------------------------------- /app/hotfix-4.2.0.css: -------------------------------------------------------------------------------- 1 | .js-modal-inner.mdl.margin-v--20.s-fluid.prf.s-tall-fixed.s-profile{ 2 | float: left !important; 3 | } 4 | -------------------------------------------------------------------------------- /app/hotfix-4.2.1.css: -------------------------------------------------------------------------------- 1 | .tweet-detail-action-item .heartsprite { 2 | margin-top: 10px !important; 3 | } 4 | 5 | .js-modal .js-column{ 6 | width: 100% !important; 7 | } 8 | -------------------------------------------------------------------------------- /app/hotfix-4.3.2.css: -------------------------------------------------------------------------------- 1 | .app-search-fake { 2 | border: 0px !important; 3 | } 4 | 5 | .dark .column-nav-link { 6 | color: #fff !important; 7 | } 8 | 9 | .dark #actions-modal .cmp .bg-twitter-lightest-gray{ 10 | background-color: #17191b !important; 11 | border: 0px !important; 12 | } 13 | 14 | .dark #actions-modal .mdl.cmp { 15 | background-color: #17191b !important; 16 | } 17 | 18 | .dark .column-type-message .rpl{ 19 | background-color: #17191b !important; 20 | } 21 | 22 | .dark .column-options .button-tray { 23 | background-color: #1b1d1f !important; 24 | } 25 | 26 | .dark .js-accounts-column-holder .js-account-manager-container{ 27 | background-color: #17191b !important; 28 | } 29 | 30 | .dark .column{ 31 | background-color: #17191b !important; 32 | } 33 | 34 | 35 | .js-app .js-column article[data-key^='favorite_'] .activity-header .nbfc, .js-app .js-column article[data-key^='retweet_'] .activity-header .nbfc { 36 | position: initial !important; 37 | top: 0 !important; 38 | left: 0 !important; 39 | } 40 | 41 | .js-app .js-column article[data-key^='favorite_'] .activity-header .js-timestamp, .js-app .js-column article[data-key^='retweet_'] .activity-header .js-timestamp { 42 | float: none !important; 43 | position: initial !important; 44 | right: 0 !important; 45 | } 46 | -------------------------------------------------------------------------------- /app/hotfix-4.3.3.1.css: -------------------------------------------------------------------------------- 1 | .dark .stream-item .detail-view-inline-text{ 2 | background-color: rgb(28, 30, 33) !important; 3 | } 4 | 5 | .dark .mdl .stream-item{ 6 | background-color: rgb(23, 25, 27) !important; 7 | border: 0px !important; 8 | } 9 | 10 | .js-app-header .app-navigator .app-nav-link[data-action="change-sidebar-width"]::after{ 11 | height: 49px !important; 12 | } 13 | 14 | .is-condensed .tweet-button{ 15 | width: 50px !important; 16 | top: 52px !important; 17 | } 18 | 19 | .js-modals-container .prf .prf-meta .prf-follow-state .js-action-follow .js-dropdown{ 20 | right: -132px !important; 21 | top: 30px !important; 22 | padding: 0px !important; 23 | } 24 | 25 | .js-modals-container .prf .prf-meta .prf-follow-state .js-action-follow .js-dropdown .caret{ 26 | display: none !important; 27 | } 28 | 29 | .js-modals-container .prf .prf-meta .prf-follow-state .follow-combo button, .js-modals-container .prf .prf-meta .prf-follow-state .js-follow-button{ 30 | background-color: transparent !important; 31 | float: right !important; 32 | width: auto !important; 33 | margin-right: 0px !important; 34 | } 35 | 36 | .js-modals-container .prf .prf-meta .prf-follow-state .follow-combo button, .js-modals-container .prf .prf-meta .prf-follow-state .js-follow-button i{ 37 | color: #fff !important; 38 | } 39 | 40 | .prf-follow-state .js-action-unfollow:hover{ 41 | opacity: 1 !important; 42 | background-color: #a01744 !important; 43 | } 44 | 45 | .ptf-follow-state .label{ 46 | color: #fff !important; 47 | } 48 | -------------------------------------------------------------------------------- /app/hotfix-4.3.3.css: -------------------------------------------------------------------------------- 1 | .dark .stream-item .detail-view-inline-text{ 2 | background-color: rgb(28, 30, 33) !important; 3 | } 4 | 5 | .dark .mdl .stream-item{ 6 | background-color: rgb(23, 25, 27) !important; 7 | border: 0px !important; 8 | } 9 | 10 | .js-app-header .app-navigator .app-nav-link[data-action="change-sidebar-width"]::after{ 11 | height: 49px !important; 12 | } 13 | 14 | .is-condensed .tweet-button{ 15 | width: 50px !important; 16 | top: 52px !important; 17 | } 18 | 19 | .js-modals-container .prf .prf-meta .prf-follow-state .js-action-follow .js-dropdown{ 20 | right: -132px !important; 21 | top: 30px !important; 22 | padding: 0px !important; 23 | } 24 | 25 | .js-modals-container .prf .prf-meta .prf-follow-state .js-action-follow .js-dropdown .caret{ 26 | display: none !important; 27 | } 28 | 29 | .js-modals-container .prf .prf-meta .prf-follow-state .follow-combo button, .js-modals-container .prf .prf-meta .prf-follow-state .js-follow-button{ 30 | background-color: transparent !important; 31 | float: right !important; 32 | width: auto !important; 33 | margin-right: 0px !important; 34 | } 35 | 36 | .js-modals-container .prf .prf-meta .prf-follow-state .follow-combo button, .js-modals-container .prf .prf-meta .prf-follow-state .js-follow-button i{ 37 | color: #fff !important; 38 | } 39 | 40 | .prf-follow-state .js-action-unfollow:hover{ 41 | opacity: 1 !important; 42 | background-color: #a01744 !important; 43 | } 44 | 45 | .ptf-follow-state .label{ 46 | color: #fff !important; 47 | } 48 | -------------------------------------------------------------------------------- /app/hotfix-4.4.0.css: -------------------------------------------------------------------------------- 1 | .tweeten-user-img, .tweeten-user-img-mini{ 2 | display: none !important; 3 | } 4 | 5 | .js-column-nav-list .includes-profile-img .icon-user { 6 | display: block !important; 7 | } 8 | 9 | .column-heading{ 10 | margin-left: 10px !important; 11 | } 12 | -------------------------------------------------------------------------------- /app/hotfix-4.5.3.1.css: -------------------------------------------------------------------------------- 1 | .js-tweet .js-tweet-stats{ 2 | display: block; 3 | overflow: hidden; 4 | } 5 | 6 | .icon-favorite:before, i.icon-favorite-toggle:before, .icon-favorite-color:before{ 7 | content: "\E00B" !important; 8 | } 9 | 10 | .icon-favorite-toggle:before{ 11 | content: "" !important; 12 | } 13 | 14 | .retweet-count, .reply-count, .like-count{ 15 | font-size: 14px !important; 16 | text-transform: uppercase; 17 | font-weight: 500; 18 | line-height: 15px; 19 | padding-left: 5px; 20 | font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; 21 | } 22 | 23 | .dark .js-drawer .compose .compose-text-container textarea.bg-color-twitter-white, .dark .js-app .js-column .stream-item .js-inline-reply textarea.bg-color-twitter-white { 24 | background-color: #1c1e21 !important; 25 | color: #fff; 26 | } 27 | -------------------------------------------------------------------------------- /app/hotfix-4.5.3.css: -------------------------------------------------------------------------------- 1 | .js-tweet .js-tweet-stats{ 2 | display: block; 3 | overflow: hidden; 4 | } 5 | 6 | .icon-favorite:before, i.icon-favorite-toggle:before, .icon-favorite-color:before{ 7 | content: "\E00B" !important; 8 | } 9 | 10 | .icon-favorite-toggle:before{ 11 | content: "" !important; 12 | } 13 | 14 | .retweet-count, .reply-count, .like-count{ 15 | font-size: 14px !important; 16 | text-transform: uppercase; 17 | font-weight: 500; 18 | line-height: 15px; 19 | padding-left: 5px; 20 | font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; 21 | } 22 | 23 | .dark .js-drawer .compose .compose-text-container textarea.bg-color-twitter-white, .dark .js-app .js-column .stream-item .js-inline-reply textarea.bg-color-twitter-white { 24 | background-color: #1c1e21 !important; 25 | color: #fff; 26 | } 27 | -------------------------------------------------------------------------------- /app/hotfix-4.6.0.css: -------------------------------------------------------------------------------- 1 | .js-tweet .js-tweet-stats{ 2 | display: block; 3 | overflow: hidden; 4 | } 5 | 6 | .icon-favorite:before, i.icon-favorite-toggle:before, .icon-favorite-color:before{ 7 | content: "\E00B" !important; 8 | } 9 | 10 | .icon-favorite-toggle:before{ 11 | content: "" !important; 12 | } 13 | 14 | .retweet-count, .reply-count, .like-count{ 15 | font-size: 14px !important; 16 | text-transform: uppercase; 17 | font-weight: 500; 18 | line-height: 15px; 19 | padding-left: 5px; 20 | font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; 21 | } 22 | -------------------------------------------------------------------------------- /app/hotfix-4.6.1.css: -------------------------------------------------------------------------------- 1 | .dark .js-drawer .compose .compose-text-container textarea.bg-color-twitter-white, .dark .js-app .js-column .stream-item .js-inline-reply textarea.bg-color-twitter-white { 2 | background-color: #1c1e21 !important; 3 | color: #fff; 4 | } 5 | -------------------------------------------------------------------------------- /app/hotfix-4.6.2.css: -------------------------------------------------------------------------------- 1 | .dark .js-drawer .compose .compose-text-container textarea.bg-color-twitter-white, .dark .js-app .js-column .stream-item .js-inline-reply textarea.bg-color-twitter-white { 2 | background-color: #1c1e21 !important; 3 | color: #fff; 4 | } 5 | -------------------------------------------------------------------------------- /app/hotfix-4.6.4.css: -------------------------------------------------------------------------------- 1 | .js-app-header .app-navigator .app-nav-link[data-action=change-sidebar-width]::after{ 2 | height: 49px !important; 3 | } 4 | 5 | html .app-header.is-condensed .app-header-inner, html .is-condensed .app-header{ 6 | width: 50px !important; 7 | } 8 | 9 | .drawer{ 10 | width: 270px !important; 11 | left: -270px !important; 12 | } 13 | 14 | .is-condensed .app-content{ 15 | left: 50px !important; 16 | } 17 | 18 | .is-condensed .js-app-header .js-search{ 19 | width: 50px !important; 20 | top: 45px !important; 21 | } 22 | 23 | .margin-t--8.tweet-button{ 24 | margin-top: 0px !important; 25 | } 26 | -------------------------------------------------------------------------------- /app/hotfix-4.6.6.css: -------------------------------------------------------------------------------- 1 | .js-app-header .app-navigator .app-nav-link[data-action=change-sidebar-width]::after{ 2 | height: 49px !important; 3 | } 4 | 5 | html .app-header.is-condensed .app-header-inner, html .is-condensed .app-header{ 6 | width: 50px !important; 7 | } 8 | 9 | .drawer{ 10 | width: 270px !important; 11 | left: -270px !important; 12 | } 13 | 14 | .is-condensed .app-content{ 15 | left: 50px !important; 16 | } 17 | 18 | .is-condensed .js-app-header .js-search{ 19 | width: 50px !important; 20 | } 21 | 22 | .margin-t--8.tweet-button{ 23 | margin-top: 0px !important; 24 | } 25 | -------------------------------------------------------------------------------- /app/hotfix-4.6.7.css: -------------------------------------------------------------------------------- 1 | .app-nav-link[data-action="change-sidebar-width"]{ 2 | height: 63px !important; 3 | } 4 | 5 | .is-condensed .column-navigator .js-column-nav-list li{ 6 | width: 50px !important; 7 | } 8 | -------------------------------------------------------------------------------- /app/hotfix-4.6.8.css: -------------------------------------------------------------------------------- 1 | .js-drawer.drawer.wide { 2 | width: 400px !important; 3 | left: -400px !important; 4 | } 5 | 6 | .js-hide-drawer { 7 | margin-right: 28px !important; 8 | margin-top: 10px !important; 9 | } 10 | 11 | .js-compose-controls{ 12 | margin-top: 50px; 13 | } 14 | 15 | .js-app-header .app-navigator .app-nav-link[data-action=change-sidebar-width]::after{ 16 | height: 48px !important; 17 | } 18 | 19 | .js-app-header .js-search{ 20 | top: 0px !important; 21 | } 22 | 23 | html.dark .old-composer-footer .new-composer-opt-in { 24 | background-color: #17191b; 25 | transition: 0.1s all ease-in-out; 26 | opacity: 0.5; 27 | } 28 | 29 | html.dark .old-composer-footer .new-composer-opt-in:hover{ 30 | background-color: #17191b !important; 31 | opacity: 1; 32 | } 33 | 34 | html.dark .old-composer-footer { 35 | background-color: #17191b; 36 | border: 0px !important; 37 | } 38 | 39 | .js-drawer .compose .js-add-image-button { 40 | width: 95% !important; 41 | } 42 | 43 | -------------------------------------------------------------------------------- /app/hotfix-4.6.9.css: -------------------------------------------------------------------------------- 1 | @media (min-width: 640px){ 2 | .tweeten-custom-titlebar .is-condensed .tweeten-compose-ccontrol .js-hide-drawer { 3 | margin: 0px !important; 4 | } 5 | 6 | .tweeten-custom-titlebar .attach-compose-buttons .Button.tweet-button, html.dark .attach-compose-buttons button.tweet-button, html.dark .attach-compose-buttons input.tweet-button[type=button]{ 7 | top: 0px !important; 8 | } 9 | 10 | } 11 | 12 | .attach-compose-buttons .Button.tweet-button, html.dark .attach-compose-buttons button.tweet-button, html.dark .attach-compose-buttons input.tweet-button[type=button]{ 13 | top: 5px !important; 14 | } 15 | 16 | .js-modal .js-mediatable .med-fullpanel video{ 17 | pointer-events: auto !important; 18 | } 19 | -------------------------------------------------------------------------------- /app/hotfix-4.7.0.css: -------------------------------------------------------------------------------- 1 | @media (min-width: 640px){ 2 | .tweeten-custom-titlebar .is-condensed .tweeten-compose-ccontrol .js-hide-drawer { 3 | margin: 0px !important; 4 | } 5 | 6 | .tweeten-custom-titlebar .attach-compose-buttons .Button.tweet-button, html.dark .attach-compose-buttons button.tweet-button, html.dark .attach-compose-buttons input.tweet-button[type=button]{ 7 | top: 0px !important; 8 | } 9 | 10 | } 11 | 12 | .attach-compose-buttons .Button.tweet-button, html.dark .attach-compose-buttons button.tweet-button, html.dark .attach-compose-buttons input.tweet-button[type=button]{ 13 | top: 5px !important; 14 | } 15 | 16 | .js-modal .js-mediatable .med-fullpanel video{ 17 | pointer-events: auto !important; 18 | } 19 | -------------------------------------------------------------------------------- /app/hotfix-5.0.2.css: -------------------------------------------------------------------------------- 1 | .js-modal .js-mediatable .med-fullpanel video{ 2 | pointer-events: auto !important; 3 | } 4 | -------------------------------------------------------------------------------- /app/segmdl2.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MehediH/Tweeten/69b4126fb2104aa187e32e9b52af5f345a966b6e/app/segmdl2.ttf -------------------------------------------------------------------------------- /auto_updater.json: -------------------------------------------------------------------------------- 1 | { 2 | "url": "https://github.com/MehediH/Tweeten/releases/download/v5.5.0/tweeten-darwin-x64.zip", 3 | "version": "5.5.0", 4 | "message": "Tweeten 5.5.0 introduces new Tweeten Notifications feature and more!", 5 | "new": [ 6 | "Tweeten Notifications" 7 | ], 8 | "warning": "Please update to the newest version of Tweeten :)", 9 | "hideWarningOn": [ 10 | "5.4.0-darwin", 11 | "5.4.0-win32", 12 | "5.5.0-darwin", 13 | "5.5.0-win32" 14 | ] 15 | } -------------------------------------------------------------------------------- /donate/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Support Tweeten 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 |
18 | 19 |
20 |

Support Tweeten

21 |

A lot of work goes into designing and developing Tweeten. I have been developing Tweeten for more than 3 years, spending hours and hours of my time into making a better TweetDeck experience for everyone without charging a single penny. But to keep developing Tweeten in the future, adding new features, and improving existing ones, a small donation from you would be very much appreciated!

22 |
23 | 24 | 30 |
31 |
32 | 33 |
34 |

35 | 39 |
40 | 41 | 53 | 54 | 63 | -------------------------------------------------------------------------------- /inc/fonts/circular-book.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MehediH/Tweeten/69b4126fb2104aa187e32e9b52af5f345a966b6e/inc/fonts/circular-book.woff -------------------------------------------------------------------------------- /inc/fonts/circular-medium.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MehediH/Tweeten/69b4126fb2104aa187e32e9b52af5f345a966b6e/inc/fonts/circular-medium.woff -------------------------------------------------------------------------------- /inc/images/do-more.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MehediH/Tweeten/69b4126fb2104aa187e32e9b52af5f345a966b6e/inc/images/do-more.png -------------------------------------------------------------------------------- /inc/images/download.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MehediH/Tweeten/69b4126fb2104aa187e32e9b52af5f345a966b6e/inc/images/download.png -------------------------------------------------------------------------------- /inc/images/extension.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MehediH/Tweeten/69b4126fb2104aa187e32e9b52af5f345a966b6e/inc/images/extension.png -------------------------------------------------------------------------------- /inc/images/fav/android-chrome-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MehediH/Tweeten/69b4126fb2104aa187e32e9b52af5f345a966b6e/inc/images/fav/android-chrome-192x192.png -------------------------------------------------------------------------------- /inc/images/fav/android-chrome-256x256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MehediH/Tweeten/69b4126fb2104aa187e32e9b52af5f345a966b6e/inc/images/fav/android-chrome-256x256.png -------------------------------------------------------------------------------- /inc/images/fav/android-chrome-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MehediH/Tweeten/69b4126fb2104aa187e32e9b52af5f345a966b6e/inc/images/fav/android-chrome-512x512.png -------------------------------------------------------------------------------- /inc/images/fav/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MehediH/Tweeten/69b4126fb2104aa187e32e9b52af5f345a966b6e/inc/images/fav/apple-touch-icon.png -------------------------------------------------------------------------------- /inc/images/fav/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MehediH/Tweeten/69b4126fb2104aa187e32e9b52af5f345a966b6e/inc/images/fav/favicon-16x16.png -------------------------------------------------------------------------------- /inc/images/fav/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MehediH/Tweeten/69b4126fb2104aa187e32e9b52af5f345a966b6e/inc/images/fav/favicon-32x32.png -------------------------------------------------------------------------------- /inc/images/fav/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MehediH/Tweeten/69b4126fb2104aa187e32e9b52af5f345a966b6e/inc/images/fav/favicon.png -------------------------------------------------------------------------------- /inc/images/fav/mstile-150x150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MehediH/Tweeten/69b4126fb2104aa187e32e9b52af5f345a966b6e/inc/images/fav/mstile-150x150.png -------------------------------------------------------------------------------- /inc/images/fav/safari-pinned-tab.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 8 | Created by potrace 1.14, written by Peter Selinger 2001-2017 9 | 10 | 12 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /inc/images/gif.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MehediH/Tweeten/69b4126fb2104aa187e32e9b52af5f345a966b6e/inc/images/gif.jpeg -------------------------------------------------------------------------------- /inc/images/interface.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MehediH/Tweeten/69b4126fb2104aa187e32e9b52af5f345a966b6e/inc/images/interface.jpeg -------------------------------------------------------------------------------- /inc/images/logo.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MehediH/Tweeten/69b4126fb2104aa187e32e9b52af5f345a966b6e/inc/images/logo.ico -------------------------------------------------------------------------------- /inc/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MehediH/Tweeten/69b4126fb2104aa187e32e9b52af5f345a966b6e/inc/images/logo.png -------------------------------------------------------------------------------- /inc/images/notifs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MehediH/Tweeten/69b4126fb2104aa187e32e9b52af5f345a966b6e/inc/images/notifs.png -------------------------------------------------------------------------------- /inc/images/tweeten-dark.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MehediH/Tweeten/69b4126fb2104aa187e32e9b52af5f345a966b6e/inc/images/tweeten-dark.jpg -------------------------------------------------------------------------------- /inc/images/windows-10-s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MehediH/Tweeten/69b4126fb2104aa187e32e9b52af5f345a966b6e/inc/images/windows-10-s.png -------------------------------------------------------------------------------- /inc/js/app.js: -------------------------------------------------------------------------------- 1 | $( document ).ready(function() { 2 | let ua = navigator.userAgent.toLowerCase(); 3 | 4 | if(ua.indexOf("edge") > -1){ 5 | $("html").addClass("edge") 6 | } 7 | 8 | 9 | // if (navigator.platform.indexOf('Mac') > -1){ 10 | // $("#download .mac").fadeIn(); 11 | // } 12 | 13 | !function(t,s,e){"use strict";var i=function(t,s){var i=this;this.el=t,this.options={},Object.keys(r).forEach(function(t){i.options[t]=r[t]}),Object.keys(s).forEach(function(t){i.options[t]=s[t]}),this.isInput="input"===this.el.tagName.toLowerCase(),this.attr=this.options.attr,this.showCursor=!this.isInput&&this.options.showCursor,this.elContent=this.attr?this.el.getAttribute(this.attr):this.el.textContent,this.contentType=this.options.contentType,this.typeSpeed=this.options.typeSpeed,this.startDelay=this.options.startDelay,this.backSpeed=this.options.backSpeed,this.backDelay=this.options.backDelay,this.fadeOut=this.options.fadeOut,this.fadeOutClass=this.options.fadeOutClass,this.fadeOutDelay=this.options.fadeOutDelay,e&&this.options.stringsElement instanceof e?this.stringsElement=this.options.stringsElement[0]:this.stringsElement=this.options.stringsElement,this.strings=this.options.strings,this.strPos=0,this.arrayPos=0,this.stopNum=0,this.loop=this.options.loop,this.loopCount=this.options.loopCount,this.curLoop=0,this.stop=!1,this.cursorChar=this.options.cursorChar,this.shuffle=this.options.shuffle,this.sequence=[],this.build()};i.prototype={constructor:i,init:function(){var t=this;t.timeout=setTimeout(function(){for(var s=0;s":";";t.substr(s+1).charAt(0)!==h&&(a+=t.substr(s).charAt(0),s++,!(s+1>t.length)););s++,a+=h}}i.timeout=setTimeout(function(){if(s===t.length){if(i.options.onStringTyped(i.arrayPos),i.arrayPos===i.strings.length-1&&(i.options.callback(),i.curLoop++,i.loop===!1||i.curLoop===i.loopCount))return;i.timeout=setTimeout(function(){i.backspace(t,s)},i.backDelay)}else{0===s&&i.options.preStringTyped(i.arrayPos);var e=t.substr(0,s+1);i.attr?i.el.setAttribute(i.attr,e):i.isInput?i.el.value=e:"html"===i.contentType?i.el.innerHTML=e:i.el.textContent=e,s++,i.typewrite(t,s)}},e)},e)}},backspace:function(t,s){var e=this;if(this.stop!==!0){if(this.fadeOut)return void this.initFadeOut();var i=Math.round(70*Math.random())+this.backSpeed;e.timeout=setTimeout(function(){if("html"===e.contentType&&">"===t.substr(s).charAt(0)){for(var i="";"<"!==t.substr(s-1).charAt(0)&&(i-=t.substr(s).charAt(0),s--,!(s<0)););s--,i+="<"}var r=t.substr(0,s);e.replaceText(r),s>e.stopNum?(s--,e.backspace(t,s)):s<=e.stopNum&&(e.arrayPos++,e.arrayPos===e.strings.length?(e.arrayPos=0,e.shuffle&&(e.sequence=e.shuffleArray(e.sequence)),e.init()):e.typewrite(e.strings[e.sequence[e.arrayPos]],s))},i)}},initFadeOut:function(){return self=this,this.el.className+=" "+this.fadeOutClass,this.cursor.className+=" "+this.fadeOutClass,setTimeout(function(){self.arrayPos++,self.replaceText(""),self.typewrite(self.strings[self.sequence[self.arrayPos]],0)},self.fadeOutDelay)},replaceText:function(t){this.attr?this.el.setAttribute(this.attr,t):this.isInput?this.el.value=t:"html"===this.contentType?this.el.innerHTML=t:this.el.textContent=t},shuffleArray:function(t){var s,e,i=t.length;if(i)for(;--i;)e=Math.floor(Math.random()*(i+1)),s=t[e],t[e]=t[i],t[i]=s;return t},reset:function(){var t=this;clearInterval(t.timeout);this.el.getAttribute("id");this.el.textContent="","undefined"!=typeof this.cursor&&"undefined"!=typeof this.cursor.parentNode&&this.cursor.parentNode.removeChild(this.cursor),this.strPos=0,this.arrayPos=0,this.curLoop=0,this.options.resetCallback()}},i["new"]=function(t,e){var r=Array.prototype.slice.apply(s.querySelectorAll(t));r.forEach(function(t){var s=t._typed,r="object"==typeof e&&e;s&&s.reset(),t._typed=s=new i(t,r),"string"==typeof e&&s[e]()})},e&&(e.fn.typed=function(t){return this.each(function(){var s=e(this),r=s.data("typed"),o="object"==typeof t&&t;r&&r.reset(),s.data("typed",r=new i(this,o)),"string"==typeof t&&r[t]()})}),t.Typed=i;var r={strings:["These are the default values...","You know what you should do?","Use your own!","Have a great day!"],stringsElement:null,typeSpeed:0,startDelay:0,backSpeed:0,shuffle:!1,backDelay:500,fadeOut:!1,fadeOutClass:"typed-fade-out",fadeOutDelay:500,loop:!1,loopCount:!1,showCursor:!0,cursorChar:"|",attr:null,contentType:"html",callback:function(){},preStringTyped:function(){},onStringTyped:function(){},resetCallback:function(){}}}(window,document,window.jQuery); 14 | 15 | $('img').on('dragstart', function(event) { event.preventDefault(); }); 16 | 17 | $(".slog").typed({ 18 | strings: ["those who are on Twitter 24/7.", "those who simply want more.", "those who live for the dank memes.", "those who want a better TweetDeck.", "those who get real work done."], 19 | typeSpeed: 2, 20 | callback: function() { 21 | $(".typed-cursor").fadeOut(); 22 | } 23 | }); 24 | 25 | $(document).ready(function(){ 26 | $('a[href^="#"]').on('click',function (e) { 27 | e.preventDefault(); 28 | 29 | var target = this.hash; 30 | var $target = $(target); 31 | 32 | $('html, body').stop().animate({ 33 | 'scrollTop': $target.offset().top 34 | }, 900, 'swing', function () { 35 | window.location.hash = target; 36 | }); 37 | }); 38 | }); 39 | 40 | $.ajax({ 41 | url: "https://api.github.com/repos/MehediH/Tweeten/releases/latest", 42 | dataType: "text", 43 | success: function(data) { 44 | var data = $.parseJSON(data); 45 | var downloads = data["assets"] 46 | var w64 = "" 47 | var mac = "" 48 | 49 | for(download in downloads){ 50 | if(downloads[download].name.includes("darwin")){ 51 | mac = downloads[download].browser_download_url; 52 | } 53 | 54 | if(downloads[download].name == "TweetenSetup.exe"){ 55 | w64 = downloads[download].browser_download_url; 56 | } 57 | 58 | } 59 | 60 | 61 | $("#download li a").each(function() { 62 | if($(this).attr("href") == ""){ 63 | 64 | if($(this)[0].textContent.includes("macOS")){ 65 | if (mac == ""){ 66 | fetch('https://raw.githubusercontent.com/MehediH/Tweeten/master/auto_updater.json').then((response) => { 67 | return response.json(); 68 | }).then((latestMac) => { 69 | $(this).attr("href", latestMac.url) 70 | }); 71 | } else{ 72 | $(this).attr("href", mac) 73 | } 74 | 75 | } 76 | 77 | if($(this)[0].textContent.includes("64-bit")){ 78 | $(this).attr("href", w64) 79 | } 80 | } 81 | }) 82 | } 83 | }); 84 | 85 | $("#download .mac em").on("click", (e) => { 86 | $("#download .tutorial").slideToggle(); 87 | $("#download img").toggle() 88 | 89 | setTimeout(() => { 90 | document.querySelector("#download blockquote iframe").scrollIntoView({ behavior: 'smooth' }) 91 | }, 300) 92 | }) 93 | }); -------------------------------------------------------------------------------- /inc/js/release.js: -------------------------------------------------------------------------------- 1 | $( document ).ready(function() { 2 | 3 | $(document).ready(function(){ 4 | $('a[href^="#"]').on('click',function (e) { 5 | e.preventDefault(); 6 | 7 | var target = this.hash; 8 | var $target = $(target); 9 | 10 | $('html, body').stop().animate({ 11 | 'scrollTop': $target.offset().top 12 | }, 900, 'swing', function () { 13 | window.location.hash = target; 14 | }); 15 | }); 16 | }); 17 | 18 | qs = document.location.search.split('+').join(' '); 19 | 20 | var params = {}, 21 | tokens, 22 | re = /[?&]?([^=]+)=([^&]*)/g; 23 | 24 | while (tokens = re.exec(qs)) { 25 | params[decodeURIComponent(tokens[1])] = decodeURIComponent(tokens[2]); 26 | } 27 | 28 | var version = params["v"] 29 | 30 | if(version != undefined){ 31 | $.ajax({ 32 | url: "https://api.github.com/repos/MehediH/Tweeten/releases/tags/" + version, 33 | dataType: "text", 34 | success: function(data) { 35 | var data = $.parseJSON(data); 36 | 37 | if(data.length != 0){ 38 | $("header .donthide").text(data.name) 39 | $("header p").text("Tweeten " + data.tag_name + " changelog, and download links.") 40 | var body = new showdown.Converter() 41 | var body = body.makeHtml(data.body) 42 | $(".timeline.container").append(body) 43 | $(".indicator").remove(); 44 | 45 | $(".timeline.container").append('
Download Now:Windows (64-bit)macOS
') 46 | var downloads = data["assets"] 47 | var w64 = "" 48 | var mac = "" 49 | 50 | for(download in downloads){ 51 | if(downloads[download].name.includes("darwin")){ 52 | mac = downloads[download].browser_download_url; 53 | } 54 | 55 | if(downloads[download].name == "TweetenSetup.exe"){ 56 | w64 = downloads[download].browser_download_url; 57 | } 58 | } 59 | 60 | 61 | $(".dl-link").each(function() { 62 | if($(this).attr("href") == ""){ 63 | if($(this)[0].textContent.includes("macOS")){ 64 | $(this).attr("href", mac) 65 | } 66 | 67 | if($(this)[0].textContent.includes("64-bit")){ 68 | $(this).attr("href", w64) 69 | } 70 | 71 | } 72 | }) 73 | } else{ 74 | allReleases() 75 | } 76 | }, 77 | error: function(err){ 78 | if(err.status == 404){ 79 | $(".indicator").text("We couldn't find the details for version " + version + ". Here are the latest releases:") 80 | allReleases() 81 | } 82 | } 83 | }); 84 | } else{ 85 | allReleases() 86 | $(".indicator").fadeOut(); 87 | } 88 | 89 | 90 | function allReleases(){ 91 | Date.prototype.formatMMDDYYYY = function(){ 92 | return (this.getMonth() + 1) + 93 | "/" + this.getDate() + 94 | "/" + this.getFullYear(); 95 | } 96 | 97 | $.ajax({ 98 | url: "https://api.github.com/repos/MehediH/Tweeten/releases", 99 | dataType: "text", 100 | success: function(data) { 101 | var data = $.parseJSON(data); 102 | 103 | if(data.length != 0){ 104 | for(release in data){ 105 | var release = data[release] 106 | var tag = release.tag_name 107 | var body = new showdown.Converter() 108 | var body = body.makeHtml(release.body) 109 | var name = release.name 110 | var releaseDate = new Date(release.published_at).formatMMDDYYYY(); 111 | 112 | $(".tweeten-release").append('
  • ' + name + '

    ' + body + '
  • '); 113 | 114 | 115 | var downloads = release["assets"] 116 | var w64 = "" 117 | var mac = "" 118 | 119 | for(download in downloads){ 120 | if(downloads[download].name.includes("darwin")){ 121 | mac = downloads[download].browser_download_url; 122 | } 123 | 124 | if(downloads[download].name == "TweetenSetup.exe"){ 125 | w64 = downloads[download].browser_download_url; 126 | } 127 | 128 | } 129 | 130 | $(".dl-link").each(function() { 131 | if($(this).attr("href") == ""){ 132 | if($(this)[0].textContent.includes("macOS")){ 133 | $(this).attr("href", mac) 134 | } 135 | 136 | if($(this)[0].textContent.includes("64-bit")){ 137 | $(this).attr("href", w64) 138 | } 139 | 140 | } 141 | }) 142 | } 143 | 144 | 145 | } else{ 146 | $(".indicator").text("No releases found, please check again later.") 147 | } 148 | } 149 | }); 150 | } 151 | }); -------------------------------------------------------------------------------- /privacy.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Privacy Policy - Tweeten 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |
    18 |
    19 | 20 |
    21 |

    Privacy Policy

    22 |
    23 | 24 |
    25 |
    26 | 27 |
    28 |

    Your privacy is important to us. It is Tweeten's policy to respect your privacy regarding any information we may 29 | collect from you when using our app, and other sites we 30 | own and operate.

    31 | 32 |

    We don’t collect or share any personally identifying information publicly or with third-parties. What data 33 | we store, we’ll protect within commercially acceptable means to prevent loss and theft, as well as unauthorised 34 | access, disclosure, copying, use or modification. We only collect analytics data from the use of our app, and we will never collect any personal data. 35 |

    36 | 37 |

    We collect analytics data by fair and 38 | lawful means, with your knowledge and consent. We also let you know why we’re collecting it and how it will be used. We use Ampltiude 39 | to track app analytics, and the analytics data collected is never shared with a third-party. The data is ONLY collected to track the app's usage metrics. Please refer to 40 | Ampltiude's privacy policy for more information. 41 |

    42 | 43 |

    Our app may link to external sites that are not operated by us. Please be aware that we have no control over the 44 | content and practices of these sites, and cannot accept responsibility or liability for their respective privacy 45 | policies. This includes the use of our app, which relies on Twitter's TweetDeck service. We have no control over the data collected 46 | by Twitter or TweetDeck. Please refer to the Twitter privacy policy for more information. 47 |

    48 | 49 |

    You are free to refuse our request for your app usage data. This can be done from Tweeten Settings on the desktop app. We do not collect any usage data from our browser extensions.

    50 | 51 |

    Your continued use of our website and app will be regarded as acceptance of our practices around privacy. If you have any questions about how we handle user data feel free to contact 52 | us at products@builtbymeh.com.

    53 |

    This policy is effective as of 21 June 2020.

    54 | 55 |
    56 | 57 | 69 | 70 | 79 | 80 | 81 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | # [A message about Tweeten's future](https://github.com/MehediH/Tweeten/discussions/327) 2 | 3 | --- 4 | ## Tweeten 5 | --- 6 | 7 | Tweeten is a TweetDeck client built for those who get real work done. For those who are on Twitter 24/7. For those who simply want more. For those who live for the dank memes. For those who want a better TweetDeck. Built on Electron. 8 | 9 | ![Tweeten](https://images.ctfassets.net/f1nnr97nijby/1W6443eh6sEaOQYcKiE8Ks/4f4d1f553b0da90d9e8c80e42ae1997c/tweeten2.jpg) 10 | 11 | [Get the most powerful TweetDeck experience without worrying about the limits. Ever.](https://tweetenapp.com) 12 | 13 | --- 14 | 15 | *Note: this repository is used for delivering Tweeten updates via GitHub Releases, for tracking bugs via GitHub Issues, and for hosting the Tweeten website for GitHub pages. Tweeten is NOT an open-source software.* 16 | -------------------------------------------------------------------------------- /releases/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Tweeten Updates 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
    16 |
    17 | 18 |
    19 |

    Tweeten Updates

    20 |

    All the latest Tweeten updates, changelogs, and download links.

    21 |
    22 | 23 | Download Latest 24 |
    25 |
    26 | 27 |
    28 |

    Loading...

    29 | 33 |
    34 | 35 | 47 | 48 | 57 | -------------------------------------------------------------------------------- /sass.bat: -------------------------------------------------------------------------------- 1 | sass --watch ./src:./inc/css -------------------------------------------------------------------------------- /src/app.scss: -------------------------------------------------------------------------------- 1 | @import "./partials/bootstrap/variables"; 2 | 3 | // @import "../partials/bootstrap/custom"; 4 | @import "./partials/bootstrap/mixins"; 5 | 6 | // Reset and dependencies 7 | @import "./partials/bootstrap/normalize"; 8 | @import "./partials/bootstrap/print"; 9 | 10 | // Core CSS 11 | @import "./partials/bootstrap/reboot"; 12 | // @import "../partials/bootstrap/type"; 13 | // @import "../partials/bootstrap/images"; 14 | // @import "../partials/bootstrap/code"; 15 | @import "./partials/bootstrap/grid"; 16 | // @import "../partials/bootstrap/tables"; 17 | // @import "../partials/bootstrap/forms"; 18 | @import "./partials/bootstrap/buttons"; 19 | 20 | // Components 21 | // @import "../partials/bootstrap/animation"; 22 | @import "./partials/bootstrap/dropdown"; 23 | // @import "../partials/bootstrap/button-group"; 24 | // @import "../partials/bootstrap/input-group"; 25 | // @import "../partials/bootstrap/custom-forms"; 26 | @import "./partials/bootstrap/nav"; 27 | @import "./partials/bootstrap/navbar"; 28 | @import "./partials/bootstrap/card"; 29 | // @import "../partials/bootstrap/breadcrumb"; 30 | // @import "../partials/bootstrap/pagination"; 31 | // @import "../partials/bootstrap/tags"; 32 | // @import "../partials/bootstrap/jumbotron"; 33 | // @import "../partials/bootstrap/alert"; 34 | // @import "../partials/bootstrap/progress"; 35 | // @import "../partials/bootstrap/media"; 36 | // @import "../partials/bootstrap/list-group"; 37 | // @import "../partials/bootstrap/responsive-embed"; 38 | // @import "../partials/bootstrap/close"; 39 | 40 | // Components w/ JavaScript 41 | // @import "../partials/bootstrap/modal"; 42 | // @import "../partials/bootstrap/tooltip"; 43 | // @import "../partials/bootstrap/popover"; 44 | // @import "../partials/bootstrap/carousel"; 45 | 46 | // Utility classes 47 | @import "./partials/bootstrap/utilities"; 48 | 49 | 50 | //main app 51 | @import "./partials/main"; 52 | 53 | //releases page 54 | @import "./partials/releases" -------------------------------------------------------------------------------- /src/dlcount.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /src/partials/_releases.scss: -------------------------------------------------------------------------------- 1 | .tweeten-release, .privacy { 2 | margin-top: 60px; 3 | padding: 0; 4 | list-style: none; 5 | position: relative; 6 | } 7 | 8 | .privacy{ 9 | padding: 15px; 10 | margin-top: 20px; 11 | } 12 | 13 | .indicator { 14 | margin-top: 60px; 15 | } 16 | 17 | /* The line */ 18 | 19 | .tweeten-release:before { 20 | content: ''; 21 | position: absolute; 22 | top: 0; 23 | bottom: 0; 24 | width: 10px; 25 | background: $accent; 26 | left: 20%; 27 | margin-left: -10px; 28 | } 29 | 30 | .tweeten-release>li { 31 | position: relative; 32 | } 33 | 34 | 35 | /* The date/time */ 36 | 37 | .tweeten-release>li .tweeten_tmtime { 38 | display: block; 39 | width: 25%; 40 | padding-right: 100px; 41 | position: absolute; 42 | } 43 | 44 | .tweeten-release>li .tweeten_tmtime span { 45 | display: block; 46 | text-align: right; 47 | } 48 | 49 | .tweeten-release>li .tweeten_tmtime span:first-child { 50 | font-size: 0.9em; 51 | color: $accent; 52 | } 53 | 54 | .tweeten-release>li .tweeten_tmtime span:last-child { 55 | font-size: 2.9em; 56 | color: $accent; 57 | } 58 | 59 | .tweeten-release>li:nth-child(odd) .tweeten_tmtime span:last-child { 60 | color: darken($accent, 5%); 61 | } 62 | 63 | 64 | /* Right content */ 65 | 66 | .tweeten-release>li .tweeten_tmlabel { 67 | margin: 0 0 15px 25%; 68 | background: $accent; 69 | color: #fff; 70 | padding: 2em; 71 | font-size: 1.2em; 72 | font-weight: 300; 73 | line-height: 1.4; 74 | position: relative; 75 | border-radius: 5px; 76 | 77 | 78 | } 79 | 80 | .tweeten_tmlabel{ 81 | a{ 82 | color: #fff; 83 | text-decoration: none; 84 | opacity: 0.75; 85 | transition: 0.1s all ease-in-out; 86 | 87 | &:hover{ 88 | opacity: 1; 89 | } 90 | } 91 | } 92 | 93 | .tweeten-release>li:nth-child(odd) .tweeten_tmlabel { 94 | background: darken($accent, 5%); 95 | } 96 | 97 | .tweeten-release>li .tweeten_tmlabel h2 { 98 | margin-top: 0px; 99 | padding: 0 0 10px 0; 100 | border-bottom: 1px solid rgba(255, 255, 255, 0.4); 101 | } 102 | 103 | 104 | /* The triangle */ 105 | 106 | .tweeten-release>li .tweeten_tmlabel:after { 107 | right: 100%; 108 | border: solid transparent; 109 | content: " "; 110 | height: 0; 111 | width: 0; 112 | position: absolute; 113 | pointer-events: none; 114 | border-right-color: $accent; 115 | border-width: 10px; 116 | top: 10px; 117 | } 118 | 119 | .tweeten-release>li:nth-child(odd) .tweeten_tmlabel:after { 120 | border-right-color: darken($accent, 5%); 121 | } 122 | 123 | 124 | /* The icons */ 125 | 126 | .tweeten-release>li .tweeten_tmicon { 127 | width: 40px; 128 | height: 40px; 129 | speak: none; 130 | font-style: normal; 131 | font-weight: normal; 132 | font-variant: normal; 133 | text-transform: none; 134 | font-size: 1.4em; 135 | line-height: 40px; 136 | -webkit-font-smoothing: antialiased; 137 | position: absolute; 138 | color: #fff; 139 | background: darken($accent, 5%); 140 | border-radius: 50%; 141 | text-align: center; 142 | left: 20%; 143 | top: 0; 144 | margin: 0 0 0 -25px; 145 | } 146 | 147 | 148 | /* Example Media Queries */ 149 | 150 | @media screen and (max-width: 65.375em) { 151 | .tweeten-release>li .tweeten_tmtime span:last-child { 152 | font-size: 1.5em; 153 | } 154 | } 155 | 156 | @media screen and (max-width: 47.2em) { 157 | .tweeten-release:before { 158 | display: none; 159 | } 160 | .tweeten-release>li .tweeten_tmtime { 161 | width: 100%; 162 | position: relative; 163 | padding: 0 0 20px 0; 164 | } 165 | .tweeten-release>li .tweeten_tmtime span { 166 | text-align: left; 167 | } 168 | .tweeten-release>li .tweeten_tmlabel { 169 | margin: 0 0 30px 0; 170 | padding: 1em; 171 | font-weight: 400; 172 | font-size: 95%; 173 | } 174 | .tweeten-release>li .tweeten_tmlabel:after { 175 | right: auto; 176 | left: 20px; 177 | border-right-color: transparent; 178 | border-bottom-color: $accent; 179 | top: -20px; 180 | } 181 | .tweeten-release>li:nth-child(odd) .tweeten_tmlabel:after { 182 | border-right-color: transparent; 183 | border-bottom-color: darken($accent, 5%); 184 | } 185 | .tweeten-release>li .tweeten_tmicon { 186 | position: relative; 187 | float: right; 188 | left: auto; 189 | margin: -55px 5px 0 0px; 190 | } 191 | } 192 | 193 | .download-release { 194 | border-top: 1px solid rgba(255, 255, 255, 0.4); 195 | padding-top: 10px; 196 | span { 197 | display: block; 198 | text-transform: uppercase; 199 | font-weight: 700; 200 | font-size: 16px; 201 | } 202 | .dl-link { 203 | color: $accent; 204 | text-decoration: none; 205 | font-weight: 400; 206 | box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2); 207 | transition: box-shadow .35s ease-out, transform .3s ease-out, opacity .2s ease-out; 208 | cursor: pointer; 209 | padding: 10px 20px; 210 | margin-right: 10px; 211 | background-color: #fff; 212 | display: inline-block; 213 | margin-top: 10px; 214 | font-size: 15px; 215 | display: inline-block; 216 | overflow: hidden; 217 | &:hover { 218 | color: $accent; 219 | text-decoration: none; 220 | transform: translate(0, -4px); 221 | } 222 | } 223 | } 224 | 225 | .download-release-alt{ 226 | margin-bottom: 15px; 227 | } 228 | -------------------------------------------------------------------------------- /src/partials/_variables.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MehediH/Tweeten/69b4126fb2104aa187e32e9b52af5f345a966b6e/src/partials/_variables.scss -------------------------------------------------------------------------------- /src/partials/bootstrap/_alert.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Base styles 3 | // 4 | 5 | .alert { 6 | padding: $alert-padding-y $alert-padding-x; 7 | margin-bottom: $spacer-y; 8 | border: $alert-border-width solid transparent; 9 | @include border-radius($alert-border-radius); 10 | } 11 | 12 | // Headings for larger alerts 13 | .alert-heading { 14 | // Specified to prevent conflicts of changing $headings-color 15 | color: inherit; 16 | } 17 | 18 | // Provide class for links that match alerts 19 | .alert-link { 20 | font-weight: $alert-link-font-weight; 21 | } 22 | 23 | 24 | // Dismissible alerts 25 | // 26 | // Expand the right padding and account for the close button's positioning. 27 | 28 | .alert-dismissible { 29 | padding-right: ($alert-padding-x * 2); 30 | 31 | // Adjust close link position 32 | .close { 33 | position: relative; 34 | top: -.125rem; 35 | right: -$alert-padding-x; 36 | color: inherit; 37 | } 38 | } 39 | 40 | 41 | // Alternate styles 42 | // 43 | // Generate contextual modifier classes for colorizing the alert. 44 | 45 | .alert-success { 46 | @include alert-variant($alert-success-bg, $alert-success-border, $alert-success-text); 47 | } 48 | .alert-info { 49 | @include alert-variant($alert-info-bg, $alert-info-border, $alert-info-text); 50 | } 51 | .alert-warning { 52 | @include alert-variant($alert-warning-bg, $alert-warning-border, $alert-warning-text); 53 | } 54 | .alert-danger { 55 | @include alert-variant($alert-danger-bg, $alert-danger-border, $alert-danger-text); 56 | } 57 | -------------------------------------------------------------------------------- /src/partials/bootstrap/_animation.scss: -------------------------------------------------------------------------------- 1 | .fade { 2 | opacity: 0; 3 | transition: opacity .15s linear; 4 | 5 | &.in { 6 | opacity: 1; 7 | } 8 | } 9 | 10 | .collapse { 11 | display: none; 12 | &.in { 13 | display: block; 14 | } 15 | } 16 | 17 | tr { 18 | &.collapse.in { 19 | display: table-row; 20 | } 21 | } 22 | 23 | tbody { 24 | &.collapse.in { 25 | display: table-row-group; 26 | } 27 | } 28 | 29 | .collapsing { 30 | position: relative; 31 | height: 0; 32 | overflow: hidden; 33 | transition-timing-function: ease; 34 | transition-duration: .35s; 35 | transition-property: height; 36 | } 37 | -------------------------------------------------------------------------------- /src/partials/bootstrap/_breadcrumb.scss: -------------------------------------------------------------------------------- 1 | .breadcrumb { 2 | padding: $breadcrumb-padding-y $breadcrumb-padding-x; 3 | margin-bottom: $spacer-y; 4 | list-style: none; 5 | background-color: $breadcrumb-bg; 6 | @include border-radius($border-radius); 7 | @include clearfix; 8 | } 9 | 10 | .breadcrumb-item { 11 | float: left; 12 | 13 | // The separator between breadcrumbs (by default, a forward-slash: "/") 14 | + .breadcrumb-item::before { 15 | display: inline-block; // Suppress underlining of the separator in modern browsers 16 | padding-right: $breadcrumb-item-padding; 17 | padding-left: $breadcrumb-item-padding; 18 | color: $breadcrumb-divider-color; 19 | content: "#{$breadcrumb-divider}"; 20 | } 21 | 22 | // IE9-11 hack to properly handle hyperlink underlines for breadcrumbs built 23 | // without `