Customize the theme/colors of the TorrentBD website. Supports both light mode and dark mode.
這裡只顯示彼此間有代碼差異的版本。 顯示所有版本。
Upped version variable.
Improved khoj the search on phones.
Updated the Catpuccin Latte themes a bit. May remove the Latte-based dark theme in the future as Catpuccin has a different design philosophy. May also adjust their themes to TBD design philosophy, but that will take more time and testing.
Introduced a new appearance for the search box.
Fixed theme assignment for night mode Catppuccin.
Added Catppuccin Latte based Light and Dark themes.
Fixed automatic scrolling on Chromium browsers when selecting text in the shoutbox. Thanks to user Not Okay.
Fixed colors of the new forum emoji bb code button.
Undid the width changes to the mobile menu. That might need a complete rewrite to replace the default JS based animation.
Added new themes based on Tailwind CSS website.
Improved the profile card buttons at the bottom. They have more width in mobile view now.
Got rid of the half-baked new scrolling background on some imdb titles.Changed how hr is rendered.
Initial fix to adjust to new changes to the site. More changes will be needed to smooth out everything.
Added prefix.
Updated the modal header for new messages. Added a little animation for the modal appearing. This is visible when creating new message, new forum post, new request, etc. Simplified a few class names. Moved from innerHTML to innerText for two elements.
Additional changes to the previous fix. Apparently all subsequent posts were also out of place and should've been inside the div.row element. Placed a loop to fix those.
TBD "topics" (the first post in any forum thread) have a bug where it overflows if you tag anyone on it. This resolves that bug in a way that it should not cause any clashes if TBD staff actually fix it in the future.
Fixed a bug in the bookmarks delete buttons.
Improved support for pagination script.
Fixed pagination centering.
Added support for pagination reborn script.
Fixed alignment bugs in the profile card. This bug is inherent in torrentbd, and not native to the script.
Fixed the load time bug.
Fixed a bug in the torrent approval dialog when issues are found. Thanks to Dragon_Warrior@TBD.Streamlined some old code with simpler alternatives.Fixed some color values.Updated the counter on the message icon to resolve possible overflows.
Added support for a new script. Extended Seed History.
Updated some color values and other attributes.
Updated accent colors for brave search theme.
Improved favicon switch on torrent details page.
Updated a color value in the torrent details comment section.
Updates to the recent mark torrent as visited feature.
Added a new toggle to enable viewing torrents as visited. This will let you know which torrent links you have already seen/opened.
Fixed a bug where the theme switch toggle showed both icons together.
Updated some vars to lets, and made the mutation observer more responsive.
Excludes the terminal page.
When you click on your profile image in the settings page, it is supposed to become bigger in both height and width. But the default behavior in TBD is that only the height increases. This is because the img tag has a property of max-width: 100%, which doesn't let the width increase in this case. With this update, I have fixed that behavior. So, it grows big as it should now.
Added support for themed favicons that use the primary accent color. Needs to be turned on from Advanced Settings.
Updated a ton of color values inside the search engine.
Fixed a typo.
Fixed the status bar height on torrent description editing page.
Made the headers in "Request a New Torrent" and "Create a New Forum Topic" the same height and design as the KHOJ heading. Fixed the alignment issue with KHOJ heading.
Missed a focus effect by mistake. Fixed.
Added support for Shoutbox Spotlight, a new script I'm working on.
Added support for my new script, Ratio Guard.
I missed a little green color somehow. Patched that css.
Firefox seems to have introduced a link selection effect across all websites by default. This appears when navigating through links with the "Tab" button on the keyboard, and after clicking on a link and moving the mouse away. I could remove this entirely, but I think it has some merit. So I've modified it to a less distracting appearance.
The notification update box now follows active theme colors.
Updated alignment of the search button a bit. Thanks to siamhossainbd21@TorrentBD.
Added new themes based on Brave Search.
Updated css priority for .new-torrent-tag as it was not displaying right.
Updated the forum topic locked color. Updated hover effect on the tag button.
Updated the catfilter css of duckduckgo light theme.
Added more comments to better define what parts of the script is doing.
Optimized the styles for the hnr page. It looks more like the seedbonus page's button now.
Updated a hover background color issue in the hnr page. Added new conditional CSS that only gets inserted in certain pages.
Using jsdelivr for external resource on the engine station. It's a bit faster than the standard github link.
Updated some colors for the nat check page.
Fixed some hover effects for the nat page. Fixed button hover on the media page.
Fixed a bug that most people would never have seen.• What's the bug?•• The bug appears when tampermonkey itself is activated with a delay. This can happen if you load the website with tampermonkey disabled and then enable tampermonkey after the page is fully loaded. The script then executes with a fault and some JS elements don't appear, even though the colors change. On Firefox 68, extensions have a short delay before they start working upon first start. So, if you left a tab with torrentbd open, closed the browser, and opened the browser again, this tab will show the same bug, i.e., fault execution of the script. In both cases, a refresh of the page was required for the script to work properly again.• What went wrong?•• A major part of my script looked for the load status of the page before executing the script. This was done to ensure a quick replacement of the theme, the need for being immersive. So, I'd never considered what would happen if the script was executed on a fully loaded page. There was no instruction for such a situation, which caused this bug to exist.• How did I fix it?•• I placed new instructions for when the document is fully loaded or interactive at the time of execution. This ensures that the script executes as intended and removes this bug.
Added light theme based on DuckDuckGo.
Updated accent colors for github dark.
Updated some color issues with the torrent table page indicators.
Added Github inspired dark and light themes to the gallery.
Updated friend request accepted banner, and the error that appears when request was already accepted.
Updated some colors in the donation page.
Updated colors for short link counter and the torrent table sorting buttons.
Fixed a bug on the torrent filters in the home page. Thanks to shaon21@TorrentBD.
I need to work on the guideline pages separately. For now, they are excluded from the engine.
Added color options for the donation confirmed page.
Updated colors of the forum reputation thingy.
Fixed a bug in the [turl] bbcode where the link would not open in a new tab.
Added a light theme based on musixmatch.
Fixed account button hover issue.
Fixed a bug with the z-index of torrent details tabs. This bug exists without the script.
Removed solid colors for ranks. Changed height to max-height for preview of forum posts. Altered the background hover of account buttons to ensure alignment.
The title in donation form now follows accent color.
Updated DDG theme. Now the category images are changed as well.
Added DuckDuckGo Dark theme to the gallery.
First stable release. There's also an update checker now. Notification for new versions will appear in the gallery page of the engine station.
Added support thread link.
Forgot to add changelog, so no changes here, just a changelog.Added a new bbcode recognition system. [tlink][\tlink] will now be interpreted as cross-domain links.
Added the link for the landing page in the station.
That no-scrolling feature didn't work as intended on phone. Removing it.
Disabling scrolling of background elements when something is higher in z-index and taking up enough screen space.
Again.... Yeah, well. The kuddus page is using pseudo alignment and pretending there's 3 objects in the title bar when there are only 2. This could've been done better.
Reworked the kuddus close button because my phone is bugging out.
I think I'm dumb sometimes. Fixed a css mistake.
Updated the kuddus close again.
Hover effect on kuddus close button. Better alignment on torrent counts in the search result page.
Updated alignment and logo in khoj the search. Update alignment in website logo. Updated interaction hover/active on the search button.
Shows the loading time of the website instead of the serving time on the footer.
Updated a link of in a comment.
Declaring default colors only once across the script.
Made the QR image less detailed.
Updated colors for the three buttons on user profiles that were not touched already.
Updated the toggle colors for the gallery. Hover effect does not overlap with click effect anymore.
Placed a user-agent check in engine station. The QR option will not appear under mobile user-agent.
I seem to be doing this a lot. Nevertheless, optimized station CSS a bit. File is smaller now. QR arrangement updated again.
Updated the code regarding the qr again. Hopefully it works better this time.
Updated CSS to add an important tag as the qr button was not hiding on phone.
Added an option to show a qr code in the share page. This way, custom themes can be quickly moved to mobile devices. This button is not visible on phones.
Updated the js and html of station a bit. The category filter doesn't show suggestions anymore.
Attempt to fix a vh related bug on chrome android. Let's see.
Fixed a hover issue on station css.
Updated the preview SVG a little to perform better on chromium.
Updated scrollbar CSS to support edge and chrome.
Updated how the strings work in the engine station.
Changed button text stark to button text hover as that makes more sense.
More color update. Legend, Star Uploader, and changed Wizard a bit.
Updated the colors of MVP and Wizard to not use gradient anymore. Gradient was causing some issues.
Changed night and day icons for the engine station.
Updated the error color for when you've already upvoted something.
With this version, the theme engine is practically complete. But there are several more things to do before publishing this.
Massive update on the engine station deployment code. It's not done yet, but renders fine for now.
Updated default dark colors a bit.
Updated the colors for sub heading in profile.
More curved corners for images.
Updated the border-radius of poll options.
Updated a minor mistake with color choice.
Update how the localstorage info is called into the variables.
Reworked the config page a bit. The about info are a little smaller in font, less text as well.It's now possible to change the default font of TorrentBD from the config panel.
Massive changes to the theme engine station. Though that code isn't here right now. For the code that's here, it's now possible to modify the color of the category images. Also revoked the previous changes to how localstorage was used for engine station.
Updated several color values, hover values, and updated how the FAQ section interacts.Also updated the engine station code. It will now load from localstorage by default and update the code in the localstorage automatically after loading is completed. So, each subsequent refresh loads the latest code without causing any delay for the user.
Updated the color of the spoiler button in forums.
Fixed button colors in the support section.
Updated some color values.
Updated menu text colors for mobile navigation.
Minor css updates to some buttons and button colors.
Added an active state declaration to all hover state declarations. This is because the hover state does not work on phones how it does on the desktop because there is no cursor. The usual hover state is slow to appear and sometimes will not appear at all if the page is redirecting. The active state is quicker and reacts to taps well. The experience on the desktop site should remain the same.Added a return clause to the pendulum to hopefully speed up the brute forcing.Updated the default themes for light and dark a bit.
Some changes to the default colors. 12 instead of 10 now. I might be making some radical changes in the following versions.
Updated how the theme loading works. Simplified the JS conditions a bit. Theme set to dark at the start of the script if no theme already found in localStorage.
Updated the color values for nav buttons in mobile view. Updated transition delay for kuddus search.
Swapped sessionStorage with localStorage and added a version number to the engine station. Now the engine station will only refetch the source code when the version number updates. Otherwise, it will simply display from localStorage.
Increased the brute forcing pendulum interval from 1 to 10.
Added some scroll margin top.
Rearranged things a bit. Dark theme is default in the main instance.
Updated the hr color for light mode.
I don't really know what I changed. Must not be anything important. Check against the last version to confirm.
Updated button color for H&R.
Minor changes to the button border CSS.
So the last thing I tried to fix the delay on phone worked. It basically brute forced the CSS into the head regardless of whether the head existed or not, and once the head finished loading, it stopped the brute forcing, added the CSS properly at the end of head, and then deleted any CSS previously inserted with the brute forcing tactic. This isn't the nicest solution, but it's working.With this version, several color values are updated. I've introduced button color and button color stark to allow more possibilities for future. Appearance remains unchanged. Also, the theme engine station where users can customize colors is now fetched from my github repo. The script stores everything in sessionStorage so that the loading time is not great for every refresh. This is different from localStorage because it expires every time the browser is closed. So, the value in sessionStorage will be updated once every time the browser is newly opened and the engine station is visited.
Updated background color of comments in the news section.
Another attempt to fix the mobile delay since the last effort didn't work.
Transition for buttons now 0.3s instead of 0.45s. New color changes.
Updated the button colors in the torrent download page.
The last update fixed the clash between mutation observer and onreadystatechange, but there was still a slight delay when using the script on my phone. I'm using a temporary CSS declare as fast as possible and then declaring it again after head has finished loading. The first declaration is then automatically cleared from head. This should fix the delay. I'll confirm on the next update.
So the mutation observer and the onreadystatechange functions don't work well together. That was causing some issues with my code ever since I implemented the mutation observer. I have reworked the arrangement of nearly everything. It should be fixed now.
Switched from observing document body to document title.
I'm putting too much energy into this. Heh.Updated colors and stuff for the search thingy.
I've brought down the default color choices to just 10. This should make it easy for anyone to customize colors.
Login page completely reworked to fit the theme engine. TorrentBD did not have a light mode login page, until now. If it's your first time logging in, i.e., you have never logged in from that browser before, you will find the dark theme. However, if you are a light mode user and you logged out, you will be greeted by the beautiful light theme.
Settings panel done. Messages done. Notifications done.
Oooh. A lot of color and design changes in the settings panel. The new birthday picker looks much better than the original.
Lots of color value changes for the tv show page. I've updated how the tables look in that section.
Updated the spotlight color for new comments.
Updated the loader icon color in the shoutbox.
Lots of color changes. Can't really name them one by one. Compare with the previous update to see.I've reached a point where major structural changes are unlikely to happen any further.We'll be doing these color changes for a while.
Updated the colors of the flashing message container.
Another major update! Okay, maybe semi-major. Version bumped by 500. Hehe.So. The TBD logo is now an svg, and the user can change the color of the logo alongside the rest of the theme colors. Isn't that fun?Incorporated some color changes to the "movies" section.And I have finally removed that awful, awful "white shadow wave" that was everywhere in the site. That won't happen anymore.I'm thinking that the user should have less color choices. Next version will remove the user choices for account buttons.Or maybe I won't. Not quite sure yet.
A step in the right direction. I'm maintaining an excel file that will become simpler over time. This update allows changing all accepted colors through localStorage JSON values. I've switched to a DuckDuckGo inspired theme (not default) and will be enhancing the colors further.
I just realized that I could've just set run-at document-body to get everything to work right. That error wouldn't even be here. But here we are. I found a roundabout solution instead. Never mind. I wanna use my solution, since it doesn't depend on the add-on.With this update, the engine station is outside of the main script. So, it runs faster than the other stuff.
I don't understand how 0.3 is a downgrade from 0.2***. GreasyFork has a weird way of counting versions.
BIG NEWS!So. Remember that bug where the script executed before the head tag even appeared? I was previously using a reload escape to force the page to keep reloading until the head tag appeared properly. But on one of my slower computers, this led to an endless reload loop till I focused on the tab. Only then the loading finished properly.Now. I am using an observer function to execute the script exactly when the body tag first appears in the DOM, before body is finished loading. This works because none of the body is loaded at this time, but the head is fully loaded.If you're curious, here's the magic code that made the bug go away for me:Because I'm so happy, I just version bumped to 0.3. Cheers!
Switched a JS change with only CSS. Better transition.
Updated forum table list colors.
Card icons were being bolded on hover. Ugh. Stock TBD CSS has so many issues. Fixed.
Testing local storage JSON saving and retrieving. Works for now. I need to create an excel file to keep track of all these color values.I intend to create a default light and dark theme that's inspired by the original themes, but clearly different.
Updated the hover color value for the buttons in the forum and the thumbs up.
Updated stats color, torrent progress color.Updated forum title colors. Updated breadcrumb colors.
updated nav button color. updated search button color. updated color values. created new entries.updated color variable to allow changing nav button colors.ensured that it works for all surfaces.matched title background with cnav background.matched title color with cnav color.
Updated torrent approval notice box and colors.
Updated the default and hover colors for forum titles in the sidebar and titles of torrents in lists. Light and dark mode are now in sync.
Incomplete new torrent tags fixed for light mode. Seriously, TorrentBD...
Updated footer color bug in light mode.
Updated the colors for new torrents.
Updated license info.
Switched from @include to @match because tampermonkey said so.
Updated cnav height.
Small bug fix with the last update. Same changes, but actually works for a change.
Updated the tabs in torrent details page for better display on mobile.
Updated how the poll results look.
Made dark mode default when the body tag doesn't say which theme is active. This is the case for the login page.
Updated how the cutomize theme button is shown. Now it's in the personal links section instead. Much nicer. Anyway, I also changed the icon of the script, but I'll probably change it again in the future before I finalize. Nevermind.
Put the theme engine settings inside an auto-invoking function.
The rank below your name in the account card is now hyperlinked to the user classes info page.
I was ripping my hair off trying to figure out how to fix that bug. The fail-safe I used in my last update works, but you can still see the unmodified website for a little while. It seems that the bug is happening when the userscript is executed before the head tag even loads. Therefore, the CSS and JS injection function now reloads the page is head tag is not found. This reloads the page before any content can load, thereby making everything appear to be seamless. However, the bug is still in there, and it's not because of my code. I just don't have a better way to fix this issue.
So, I couldn't remove the bug even after all that. It seems like it's a tampermonkey issue, unless I'm missing something. Nevertheless, my fail-safe mechanism, as mentioned in the last update, is working as intended. I really can't do it any better, at least for now.For this update, added some table css for the top uploaders.
So. Last update didn't fix that issue after all. This one probably did. I haven't faced the issue in the past hour. Seems like I cannot have naked JS going around. I don't know why that's an issue. Probably a tampermonkey thing. Nevertheless, I've put nearly everything inside a function container and then called them when appropriate. Meanwhile, the checktheme function always showed error when that bug appeared, but wasn't causing the bug. So, I've used that as an anchor to force enable my implementations by catching its error and invoking some functions.
Introduced a function just for catching errors because I have yet to solve that issue bothering my code. Changed how online users are counted. It's now appearing on time without a random preset delay.
I was very wrong about everything I said in the last update log. So, catch is just another JS function, and it is possible to do a naked invocation without putting a variable in brackets. I realized this after I got the same bug again. The bug doesn't always come, so it's hard to reproduce for me. Nevertheless, I think my theme adjustment invocation needed a try catch container, and seems like it's solved for now. I hope.
I was making a very noob mistake with the try and catch thingy. UserScript loaded perfectly sometimes and not at all other times. Fixed that bit of code and now it's dandy. Weird that TamperMonkey won't call it a bug outright.How it should be-try {random code;} catch(error) {}I had mistakenly shortened the code to this-try {random code;} catch {}You gotta tell catch what variable to put the error inside. Here, the variable is 'error' as well.
Oh, I didn't wanna push a minor update. But I keep forgetting what I changed, so here it is. Removed some unnecessary variables, simplified code execution a bit. No visible changes to the website.
No more checking for refresh. As both the dark and light themes are now loaded into the head tag, there is no need to refresh to change which theme is active. That change happens instantly, and even faster than TorrentBD's own server-side theme change. You might feel that it is still refreshing, but it's not because of my script. That's just the server-side theme change.
Additional changes to colors, especially for seed, leech, and completed texts. Original theme switch toggle is now hidden through CSS, which is then replaced by JS. So, the original button is never visible.
Updated some CSS classes with JS to improve appearance. Because all JS changes now take place during the "interactive" session, everything looks as though they just finished loading.
Adjusted several color factors in both light and dark themes. It's mainly going to be color changes until I've got all the colors done. Since it's two themes together now, it'll take a while.
Added rounded edges to various img tags.
In v0.1 of the script, only the CSS for the active theme would be loaded. Hence, the CSS for light mode wouldn't be present if dark mode is active. With v0.2, both CSS are present all the time. Here, the non-active CSS is disabled by default, so the colors don't clash. But because the non-active CSS is still available and loaded, the script can toggle between them without the need for a refresh.Fixed some padding issues on mobile. Added a resident JS tag for easier usage of onclick JS. Added hide/show tags to the theme toggle, so it changes with CSS instead of JS. Also fixed the first load issue.First load issue: When the script is installed for the first time, it cannot know which theme is active (dark/light) before the website loads. Hence, neither themes will be applied on first load. Instead, the script will determine the active theme and refresh the page once. Unless cookies are erased, this will not happen again.