Greasy Fork is available in English.

Patreon responsive + customizations

Patreon website is more suitable for wide screens.

  1. /* ==UserStyle==
  2. @name Patreon responsive + customizations
  3. @version 1.1.7
  4. @description Patreon website is more suitable for wide screens.
  5. @author BreatFR (https://breat.fr)
  6. @namespace https://gitlab.com/breatfr
  7. @homepageURL https://gitlab.com/breatfr/patreon
  8. @supportURL https://discord.gg/Q8KSHzdBxs
  9. @license AGPL-3.0-or-later; https://www.gnu.org/licenses/agpl-3.0.txt
  10. @preprocessor stylus
  11.  
  12. @var checkbox bigimages "Big images" 1
  13. @var text fontsize "Custom font size" 1.2rem
  14. @var checkbox nojump "No Jump to level up" 1
  15. @var checkbox nocomments "No comments" 0
  16. @var checkbox widemode "Wide mode" 1
  17. ==/UserStyle== */
  18.  
  19. /* === Credits ===
  20. Website https://breat.fr
  21. facebook https://www.facebook.com/breatfroff
  22. mastodon https://mastodon.social/@breat_fr
  23. telegram https://t.me/breatfr
  24. vk https://vk.com/breatfroff
  25. X (twitter) https://x.com/breatfroff
  26. === Credits === */
  27. @-moz-document domain("patreon.com") {
  28. :root {
  29. --fontsize: fontsize;
  30. }
  31. /* Loved */
  32. [data-tag="like-button"][aria-checked="true"] > div > svg path {
  33. fill: #c6374d;
  34. }
  35. /* No double scrollbar */
  36. #__next > .sc-uiqay7-0.cnwZin {
  37. overflow: hidden;
  38. }
  39. /* Custom font size */
  40. :root,
  41. button,
  42. div,
  43. input,
  44. label,
  45. [data-tag*="settings"],
  46. li,
  47. p,
  48. p span,
  49. [data-tag="chats-send-message-form"] textarea,
  50. [data-tag="comment-field"],
  51. .cuiKYE,
  52. .cQjDCC,
  53. .fxePXf,
  54. .jYEggK {
  55. font-size: fontsize !important;
  56. }
  57. .vWGl {
  58. font-size: calc(var(--fontsize) - .2rem)!important;
  59. }
  60. span > .vWGl {
  61. font-size: inherit !important;
  62. }
  63. .gxOVkK {
  64. font-size: calc(var(--fontsize) - .4rem)!important;
  65. }
  66. if nocomments {
  67. [data-tag="content-card-comment-thread-container"],
  68. .bmnjsr {
  69. display: none !important;
  70. }
  71. }
  72. if nojump {
  73. .sc-jrQzAO.bAzCwM,
  74. .sc-o4u8m1-2 > div > div:nth-child(2),
  75. [data-tag="upgrade-incentive-description"],
  76. [data-tag="upgrade-free-membership-button"],
  77. [data-tag="free-membership-upgrade-cta"] {
  78. display: none !important;
  79. height: 0 !important;
  80. max-height: 0 !important;
  81. }
  82. }
  83. if widemode {
  84. [data-tag="account-menu"] {
  85. max-width: max-content;
  86. }
  87. }
  88. }
  89.  
  90. @-moz-document url("https://www.patreon.com/home") {
  91. if bigimages {
  92. * {
  93. aspect-ratio: auto !important;
  94. }
  95. .dofSdt img {
  96. min-width: 100% !important;
  97. object-fit: cover !important;
  98. }
  99. [data-tag="launcher-post-card"] > div > div > div > [elevation="subtle"] div:not([data-tag="post-details"] div,[data-tag="content-card-comment-thread-container"] div,div[width="fluid"] div,[data-tag="locked-badge-button"] div,[data-tag="chip-container"],.jhLQmG,.jhLQmG div,.dgQBHC) {
  100. display: flex !important;
  101. flex-basis: 100% !important;
  102. flex-direction: column !important;
  103. max-width: 100% !important;
  104. }
  105. img,
  106. div[elevation="subtle"] > div,
  107. .djipQD > .image-grid {
  108. display: block !important;
  109. height: auto !important;
  110. max-height: 100% !important;
  111. min-width: 100% !important;
  112. object-fit: contain !important;
  113. }
  114. img[loading="eager"] {
  115. width: auto !important;
  116. }
  117. .image-grid + .image-grid {
  118. margin-top: 2px;
  119. }
  120. .image-carousel {
  121. height: 112px;
  122. object-fit: contain;
  123. width: auto !important;
  124. }
  125. /* Little unblur */
  126. .dgyaSI {
  127. background: transparent !important;
  128. opacity: 0 !important;
  129. }
  130. .image-grid > img {
  131. background: transparent !important;
  132. object-fit: contain !important;
  133. min-width: 100% !important;
  134. }
  135. [data-tag="locked-badge-button"] p {
  136. padding-right: 3em;
  137. }
  138. [width="fluid"] a {
  139. max-width: 96% !important;
  140. overflow: hidden !important;
  141. }
  142. header {
  143. height: 0 !important;
  144. }
  145. a,
  146. img,
  147. .jQZWvF {
  148. overflow: hidden !important;
  149. }
  150. }
  151. if widemode {
  152. main > div > section > div {
  153. max-width: 100% !important;
  154. }
  155. }
  156. }
  157.  
  158. @-moz-document regexp("https://www\\.patreon\\.com/[^/]+/home"), regexp("https://www\\.patreon\\.com/[^/]+/home\\?[^/]*") {
  159. if widemode {
  160. [data-tag="about-patron-view"] {
  161. max-width: 100% !important;
  162. }
  163. }
  164. }
  165.  
  166. @-moz-document regexp("https://www\\.patreon\\.com/[^/]+/posts") {
  167. if bigimages {
  168. * {
  169. aspect-ratio: auto !important;
  170. }
  171. .dofSdt img {
  172. min-width: 100% !important;
  173. object-fit: cover !important;
  174. }
  175. [data-tag="post-card"] > div > div > [elevation="subtle"] div:not([data-tag="post-details"] div,[data-tag="content-card-comment-thread-container"] div,div[width="fluid"] div,[data-tag="locked-badge-button"] div,[data-tag="chip-container"],.jhLQmG,.jhLQmG div,.dgQBHC) {
  176. display: flex !important;
  177. flex-basis: 100% !important;
  178. flex-direction: column !important;
  179. max-width: 100% !important;
  180. }
  181. img,
  182. div[elevation="subtle"] > div,
  183. .djipQD > .image-grid {
  184. display: block !important;
  185. height: auto !important;
  186. max-height: 100% !important;
  187. max-width: 100% !important;
  188. min-width: 100% !important;
  189. object-fit: contain !important;
  190. }
  191. img[loading="eager"] {
  192. aspect-ratio: 1 / 1 !important;
  193. height: 100% !important;
  194. object-fit: cover !important;
  195. }
  196. .image-grid + .image-grid {
  197. margin-top: 2px;
  198. }
  199. .image-carousel {
  200. height: 112px;
  201. object-fit: contain;
  202. width: auto !important;
  203. }
  204. /* Little unblur */
  205. .dgyaSI {
  206. background: transparent !important;
  207. opacity: 0 !important;
  208. }
  209. .image-grid > img {
  210. background: transparent !important;
  211. object-fit: contain !important;
  212. min-width: 100% !important;
  213. }
  214. [data-tag="locked-badge-button"] p {
  215. padding-right: 3em;
  216. }
  217. [width="fluid"] a {
  218. max-width: 96% !important;
  219. overflow: hidden !important;
  220. }
  221. header {
  222. height: 417px !important;
  223. }
  224. a,
  225. img,
  226. .jQZWvF {
  227. overflow: hidden !important;
  228. }
  229. }
  230. if widemode {
  231. main > div > div > div > div > div:nth-of-type(4) > div:nth-of-type(2) {
  232. max-width: 100% !important;
  233. }
  234. main > div > div > div > div > div > div:nth-of-type(2) > div > div {
  235. grid-template-columns: 1fr auto auto !important;
  236. }
  237. }
  238. }
  239.  
  240. @-moz-document regexp("https://www\\.patreon\\.com/[^/]+/collections") {
  241. if widemode {
  242. main > div > div > div > div > div:nth-of-type(4) > div {
  243. max-width: 100% !important;
  244. }
  245. }
  246. }
  247.  
  248. @-moz-document regexp("https://www\\.patreon\\.com/[^/]+/membership") {
  249. if widemode {
  250. main > div > div > div > div > div:nth-of-type(4) > div {
  251. max-width: 100% !important;
  252. }
  253. }
  254. }
  255.  
  256. @-moz-document regexp("https://www\\.patreon\\.com/[^/]+/about") {
  257. div.sc-xac35p-1.jhLQmG {
  258. display: flex !important;
  259. flex-direction: row !important;
  260. justify-content: space-between !important;
  261. width: 100% !important;
  262. }
  263. header {
  264. height: 417px !important;
  265. }
  266. .sc-gIBqdA.hVkHgO > div > div.sc-jrQzAO.bmnjsr {
  267. padding-right: 2em;
  268. }
  269. if widemode {
  270. main > div > div > div > div > div:nth-of-type(4) > div {
  271. max-width: 100% !important;
  272. }
  273. }
  274. }
  275.  
  276. @-moz-document regexp("https://www\\.patreon\\.com/messages/[^?]+\\?mode=user&tab=direct-messages") {
  277. if widemode {
  278. [data-tag="chat-message"] > div {
  279. max-width: 100% !important;
  280. }
  281. [data-tag="chat-message"] > div > div {
  282. max-width: 100% !important;
  283. }
  284. }
  285. }
  286.  
  287. @-moz-document url-prefix("https://www.patreon.com/notifications") {
  288. if widemode {
  289. #__next > div:nth-child(5) > div {
  290. max-width: 100% !important;
  291. }
  292. }
  293. }
  294.  
  295. @-moz-document url-prefix("https://www.patreon.com/settings") {
  296. if widemode {
  297. #__next > div:nth-child(5) > div,
  298. main > div > div > div {
  299. max-width: 100% !important;
  300. }
  301. }
  302. }
  303.  
  304. @-moz-document url-prefix("https://www.patreon.com/posts") {
  305. if bigimages {
  306. * {
  307. aspect-ratio: auto !important;
  308. }
  309. .dofSdt img {
  310. min-width: 100% !important;
  311. object-fit: cover !important;
  312. }
  313. [data-tag="post-card"] > div > div > [elevation="subtle"] div:not([data-tag="post-details"] div,[data-tag="content-card-comment-thread-container"] div,div[width="fluid"] div,[data-tag="locked-badge-button"] div,[data-tag="chip-container"],.jhLQmG,.jhLQmG div,.dgQBHC) {
  314. display: flex !important;
  315. flex-basis: 100% !important;
  316. flex-direction: column !important;
  317. max-width: 100% !important;
  318. }
  319. img,
  320. div[elevation="subtle"] > div,
  321. .djipQD > .image-grid {
  322. height: auto !important;
  323. max-height: 100% !important;
  324. max-width: 100% !important;
  325. min-width: 100% !important;
  326. object-fit: contain !important;
  327. }
  328. img[loading="eager"] {
  329. aspect-ratio: 1 / 1 !important;
  330. height: 100% !important;
  331. object-fit: cover !important;
  332. }
  333. .image-grid + .image-grid {
  334. margin-top: 2px;
  335. }
  336. .image-carousel {
  337. height: 112px;
  338. object-fit: contain;
  339. width: auto !important;
  340. }
  341. /* Little unblur */
  342. .dgyaSI {
  343. background: transparent !important;
  344. opacity: 0 !important;
  345. }
  346. .image-grid > img {
  347. background: transparent !important;
  348. object-fit: contain !important;
  349. min-width: 100% !important;
  350. }
  351. [data-tag="locked-badge-button"] p {
  352. padding-right: 3em;
  353. }
  354. [width="fluid"] a {
  355. max-width: 96% !important;
  356. overflow: hidden !important;
  357. }
  358. header {
  359. height: 0 !important;
  360. }
  361. a,
  362. img,
  363. .jQZWvF {
  364. overflow: hidden !important;
  365. }
  366. if widemode {
  367. main > div > div > div > div > div {
  368. max-width: 100% !important;
  369. }
  370. main > div > div > div > div > div > div:nth-of-type(2) > div:nth-of-type(3) {
  371. grid-template-columns: 1fr auto auto !important;
  372. min-width: 100% !important;
  373. }
  374. [data-tag="post-card"] p {
  375. padding-right: 20px !important;
  376. white-space: break-spaces !important;
  377. }
  378. [data-tag="content-card-comment-thread-container"] {
  379. padding-right: 50px !important;
  380. }
  381. }
  382. }
  383. if nojump {
  384. main > div > div > div > div > div > div:nth-of-type(2) > div:nth-of-type(3) > div:nth-of-type(2) > div > div:first-child {
  385. display: none;
  386. height: 0;
  387. margin-top: 0;
  388. z-index: -9999;
  389. }
  390. }
  391. }