Merge pull request #2179 from the1812/preview

Update to v1.12.16
This commit is contained in:
Grant Howard 2021-08-21 23:43:34 +08:00 committed by GitHub
commit 3dec7d2ef2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
63 changed files with 510 additions and 129 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -19,6 +19,18 @@
| 时间 | 用户名 | 单号后4位 | 金额 |
| ------------------- | ------------- | --------- | ------ |
| 2021.08.17 09:37:58 | 匿名 | 0602 | ¥10.00 |
| 2021.08.16 20:42:21 | 匿名 | 6994 | ¥1.00 |
| 2021.08.16 20:40:53 | 匿名 | 8715 | ¥5.00 |
| 2021.08.14 15:22:19 | *应 | 4524 | ¥5.20 |
| 2021.08.12 20:12:20 | *泽 | 5691 | ¥1.00 |
| 2021.08.10 00:59:40 | f*o | 0618 | ¥20.00 |
| 2021.08.07 19:13:26 | *强 | 8329 | ¥5.00 |
| 2021.07.30 14:53:41 | *雨 | 8875 | ¥50.00 |
| 2021.07.30 00:07:35 | 孙*b | 7642 | ¥12.00 |
| 2021.07.29 14:35:50 | *杰 | 0701 | ¥5.00 |
| 2021.07.26 12:16:40 | *蒙 | 0517 | ¥1.00 |
| 2021.07.25 18:56:51 | 七番目の我 | 9187 | ¥50.00 |
| 2021.07.24 07:19:15 | *文 | 0242 | ¥2.00 |
| 2021.07.19 20:19:47 | fly man | 8606 | ¥5.00 |
| 2021.07.13 14:13:06 | *亮 | 9946 | ¥10.00 |
@ -253,6 +265,9 @@
# 对备注的回复
## [2021.07.30][8875]
dash 就是音画分离的.
## [2021.02.14][1654]
去讨论区发一下吧, 放这我肯定会忘的...

View File

@ -701,7 +701,7 @@
</details>
<details>
<summary><strong>界面翻译(实验性)</strong></summary>
<summary><strong>界面翻译(暂停更新)</strong></summary>
为界面中一些常用文本提供翻译, 完成度不高, 目前仅开放日语和英语.

View File

@ -33,7 +33,7 @@
"collapse-live-side-bar.min.js": "9B4296F88C32FD081E4FD0DD48B4353C243A423446CF1CA047EB3B574D597F80",
"column-image-exporter.min.js": "C8FA96C64E21D0195D95F1B7A5E67EFFC778DD46E2FCB4ACBE69C48E76B5E046",
"combo-like.min.js": "E32FE23747479132F90C3D66CA6EB78031B4F7388F77CC56668E41B3F05FE954",
"comment.min.css": "69D9AC27E294A36A0BA31C99E3B9A782659E70D58FAAF0D8D7203A5219103161",
"comment.min.css": "B713BFCF8A251A65B502C1B522E00DD1D7B085C8F475FD23235F34172B16A9C8",
"comment.min.js": "1634EEADF5BF2A29E6D39AFDA17804AB2442CDA3BCB0B4D9DBAA6F6E7E965F72",
"comment-apis.min.js": "D0E6EF724B5C068AD55EE9F740090A782447CE373080848FCA24879FC56E5E8B",
"comment-dark.min.css": "E980508E86203743C36FEE4F7149BFF53961ECBC4EC140E8C162D18D395B940A",
@ -56,7 +56,7 @@
"custom-navbar-history-list.min.js": "EBF794F5DFACBC8099703178AB7A65AF46FFABA0B0E86B83A069B60DB27265CE",
"custom-navbar-iframe.min.js": "521D95AFDD0F496BD2B9AFA229D5D0E5DD57C518BAE8337D9753887EC1926C87",
"custom-navbar-logo.min.js": "CE70A2E60EBDB145FC07D97A1DDABD1077DAA66CE83574B97788216D788BA4C5",
"custom-navbar-messages.min.js": "13E6BBFCE2C9A9B6FC2FCEF155CCF822273B93EF95525766C388D0E2A4515E6F",
"custom-navbar-messages.min.js": "17F42493B555476F3F1E4A6BF0E3AD0F0B4D8742F235B0FF60BD450AAA97588E",
"custom-navbar-rank.min.js": "3661DA6EB1485C71FCDC6BA50EF432252AB7019C9398031D4243C679183466E1",
"custom-navbar-search-box.min.js": "93FC05E77233A288D78200DE2824E9766D8D7DC9EFC2A5E724B095C3253E7288",
"custom-navbar-settings.min.js": "B41F2AF7AF10B968472DCF2539E9C530F4117D7D3811378D2DE163536CF31E51",
@ -68,12 +68,12 @@
"custom-navbar-watchlater-list.min.js": "CD6D45F0B6FE382BE57CEF6C2F77734496FE1296000EBB843B558DDB5D4C51DD",
"danmaku-converter.min.js": "C54666E9910A927B54051EAB7C3DB6F93C1F6010A47614A619AFD7487C3F7183",
"danmaku-segment.min.js": "43CC3236AFABA89BD0AE24D640809BE333772824E3994541AFC3CDDD9F881613",
"danmaku-send-bar.min.css": "03F5792CE42864610145BBA09E1B352BFCC2B2ABB531A0F8796F37E8F2A762FB",
"danmaku-send-bar.min.css": "F309FC17E7657BAA676D446458750D8069051617B44DD3D1457B4A9C519B2ED1",
"danmaku-send-bar.min.js": "3F635F4209092B6BA41865A945496861F4B1E0D9F2D31ABB5C021967B1B9FA19",
"dark.min.css": "D833CCA9A2D0F791138895A7DDBAF59DA96CFF8BD8226FC23D57719B6978AA34",
"dark.user.css": "FA6E3C0EC2D10AE61BA7D1C407F42E63836FD596A611D682171382D9E6AA5C45",
"dark.min.css": "0406EDF1A0549F6CD7B43D891CE373F395870950DB3E4719234138C3ACE2317C",
"dark.user.css": "209259CD8781584CF3B392C67F22DA273E7F15E15FF3113E075E552C98324FBC",
"dark-color-scheme.min.js": "7C89C14ACEE44CCE2E402A63768A3B53251B4B1D82675DD85532AABB8F2082FA",
"dark-important.min.css": "6103A1BC41B4E077CFACDC79430A614615BCB1DE3D397C86D325C0063B44F833",
"dark-important.min.css": "29FAC0857FB4BDF4EAD24582D4984471E80FC83EF9BD9A108B17D5AC5617DE75",
"dark-navbar.min.css": "7FAD547E326B768904B3739C978DF86FFDDD5E5064FB8F490710D197CCC3018B",
"dark-schedule.min.js": "555383CBACD01D02C7965261118D5F4CA93A2F69457776F454F7FF1897F40DBB",
"dark-styles.min.js": "C184E5E0815BCBFF473916569CB66111C94D289FB9AB575E3945006227C55C27",
@ -106,11 +106,11 @@
"extend-feeds-live.min.js": "CACEC3C5DE877639BBD2DC6BC5A4C4FFDD160B32C338DA1824F68E1985139F83",
"extend-video-speed.min.js": "5654150CB792C7413C3FBFAE22477DB2E85EEF55611A0F01B64128214DBDB390",
"favorites-redirect.min.js": "9DB5FF294C7A49AD9341201C1FA0C8D7EBE7BFC1424DD74C4B796D1F0E24CFD1",
"feeds-apis.min.js": "6C8D55DA68DF2C5B7D0DFA67245F4980260282ED71C468B29A77EEFF20643454",
"feeds-apis.min.js": "5265857A2834C53C9373EA45BCE71B240EA2ABF9CA23303E09DB600B4C38C8D4",
"feeds-filter.min.js": "CF558BFD3860AC3E11757FFFF6A8AABE70DF7DFA1D1077684A1BF08868C649DB",
"feeds-filter-card.vue.min.js": "C57D50BF9C6661827B898B238539A8AAC86314A040A15780FD77B33C18E4E83F",
"feeds-image-exporter.min.js": "97392AFED64DEB5115ACDAE01BF97D41C32A68E431154269E1ADF40F66FA9B4B",
"feeds-translate.min.css": "67A3A109C965509E2470B7403124E3F41F1EBB082DADDF06C37517AFB0A7C17C",
"feeds-translate.min.css": "40DEBECA26B25286F8D887810F3AB4DF6CF58D401ADDF545C0CFE32386479E0A",
"feeds-translate.min.js": "D94ECE12B5E72A08B36910A9C699E274ED7C60554136962F8B3BB7CAEDEA8EE8",
"feeds-translate-providers.min.js": "5F335096874B2A4A6893FB1D279757B2383D3B481FE7480C1CC28002A50F3CFF",
"ffmpeg-support.min.js": "16155341488FEA896B71CE5F221F12056F6A02C4583DFB52685FA5284E1ED1E4",
@ -120,7 +120,7 @@
"fix-fullscreen.min.js": "0C94A778CDAAECC0C97D36833C94B3AB87D562C5AAB23EFFE20241EB53FBA317",
"fold-comment.min.css": "DC2BD559553EA58FC438DB083783135897BF691D7CA59D436550C2F364F7D525",
"fold-comment.min.js": "C9826C7091AF5216FEA14DEF272F967685A0399EFBAEBEF01FFA93EC06514855",
"frame-playback.min.css": "737D4B510D73235CF68C904BF8C892DD775DFD605028D6E81358E3D9E59A7A92",
"frame-playback.min.css": "41833B3549FCE8C12707B4793F6D7F909C84FA48FB48CB538B10B63888E22489",
"frame-playback.min.html": "43435667A589D3F2A55AB363E0AAE31509A8E3BAC5E3B8875D7F3A62ABDB6D7D",
"frame-playback.min.js": "9ABF8E0AB7E5DE5D321F227310BA2DA79783C2D0E215BC461CAE2E9337C31123",
"full-activity-content.min.js": "996BD62D7633175DCA46E94F50C4ED48ED81D17C28B5C9DE1B3BA4C1D5F2B8F2",
@ -132,7 +132,7 @@
"full-tweets-title.min.js": "5A32D349D6DDD4F1DE73175D9A0AFE520B316F73A852B2BBE6A0436C8D8CBBB2",
"gbk.min.js": "0EDFCB94F519365A8CCA9BF3AECE57DC6DB273EF3F41545095B8F03625782F0D",
"get-number.min.js": "E644267B8A2DCEF2577BB9270F5C738BCE89C1C128071EBD3645903A930E08E0",
"gui-settings.min.css": "721126958A8B0E86BFCE485472587DD0CABA96C9FE9C263D6E7EA8FF164FA3A5",
"gui-settings.min.css": "1B1D6F4FFE7E3FEB26CB0FD5F19A3EF2F6C9AD7356F2D56660E75DE1061DE201",
"gui-settings.min.html": "ED34D4DF52333541FDF96C47091924E6016655E8DF82D75871E3B99D70F46AC5",
"gui-settings.min.js": "3AF95BAF62666E0C2FE990FB6F15A3A4B459F42F49E04FFF06848CFFEC350B12",
"haruna-scale.min.js": "2410662D47006D2AC49FE43DEB85F8D2C1B6F6D353DD767C2F11F7802A81F605",
@ -160,14 +160,14 @@
"icon.vue.min.js": "15324A41E910361F9A245D6B3EB16019075EE460287570CBEA0F12AC71E1F158",
"icons.min.css": "D8DB1DF404C10FB3038B390925A9E95D06E5BABBDC618162D7888CA59C964F42",
"idm-support.min.js": "FFC04DB396943736244572CF4B9C0C03EFBD1C3BC563AA95528B360E0852B774",
"image-resolution.min.js": "82CF5D5DA3629590B8EE3A6D7E505CDD3216B1369AD29D0D8DDE514289731F15",
"image-resolution.min.js": "EA2E359FE63974C03EE0EF0D9A03B8F7733B06E3837497F49E7C2B4971586D58",
"image-viewer.min.css": "AD6A0C1A3A7BE65DDA25AC8DB77E574776F0B2998C808D6ACC09452EEA0FA7F7",
"image-viewer.min.html": "5F1EEE9FBFD9D2EB2E2F73A57CB3DB2448A60E3D3480A297A7FC88038F60DF21",
"index.min.html": "94B83D9EBB9005C1286A7E0759A7683932F8DADA20D07E5E9D8FF867B04D4B95",
"key-binding-presets.min.js": "550BC7B2441DFE4744B54A161207EA4B5DB949AB7B3C377C66F549E710D8CE22",
"key-bindings.min.js": "88736417D177F7F6173D087441220979B76C63A510BE75E09DF4B27D4DEBFB57",
"keymap.min.css": "B66149AAE8D4267E413A26F0577C4FCE4C0D13ECBB9B573916FDA8E58099C939",
"keymap.min.js": "E5ADFB61573CC59FCE55EBACED4DB9DDBB28BE4CB2EB023CEACAF22679069FDC",
"keymap.min.js": "CE9AB2A4D39F14858C5A29942FB46CD4C65A522660C40D04E3EE45C6A5598B88",
"live-control-bar.min.js": "5AA182EB22062DEB54D727E7B42F6DA8535F982DA303963BA9AD4BE19889467A",
"live-pip.min.js": "2112A21139895537DCD4DDA6EC2719B31D312E8C34BBBA690D388FB24200C5D9",
"live-socket.min.js": "8AB690D1979FB64E7BA6126417700C0DD96C0E5C43712543590753B8344996C8",
@ -190,7 +190,7 @@
"notify-new-version.min.js": "D922DCE08CFD1729BB778885E5EFB905FBE23A2878437AE2E9CF2263C22E196B",
"online-info-row.vue.min.js": "48D42BADAD3F52BAFE20E2810567ED404A82DA78C8B7ECEB97C0D3E76CC61138",
"outer-watchlater.min.css": "BB56A80224F7B37869C17C976C301623C47BBCCDB18F7E009A4F97B6C685C0DC",
"outer-watchlater.min.js": "1661FC4157EEB842FF5266FB78036209C8C84662305EAE9DFD968AEC3F30892B",
"outer-watchlater.min.js": "5FC13134BBC69E8A1061A33D4BE6ED24508A8093D569B1CF33680AF2DE1BF86E",
"override-navbar.min.css": "E5AA612841281169CA367A238FB934F807900A385CE2298B7352FF3CA4623757",
"override-navbar.min.js": "0FF50371A02F47EE384515544EB87D34CEE2DB449B9B864B5627A9645F921DAB",
"pako-inflate.min.js": "1B89766B342D4A561B0CF7D5A68B2900B6D1772E507EEB1AF56FA7CABE40BCEC",
@ -215,8 +215,8 @@
"remove-watermark.min.js": "261CB4D9DE5A2B565F9FE540741775C5A85CC4622A4F31F48F3D7BBAF5B46EB3",
"reorder.min.js": "ECB93247175BCC5B9C689307680167B6C0C753F16265B6934A24020960866293",
"restore-floors.min.js": "8110AC44E378163F8966BDED29F31E683AD2E05F22B4C21EB4EBB3B854577F25",
"screenshot.min.css": "4957A144215ADB3AE5D4A9E80A42F41588FFA3A07D330142694B8A5B0AC3BE18",
"screenshot.min.js": "7F66578E08B0E17CFE60C4100F8555010F3DD7EF97E902009B81E18251B43971",
"screenshot.min.css": "F1F3766B19BF5384AF4146C7522C08C963DB2209389820ACB14B2C8224054AEE",
"screenshot.min.js": "E2CBCF22C30A356C0C54DBE2294E7FCE2939552251CBBBDC8033BA3F6DF8836F",
"scrollbar.min.css": "E17BDD4F223F7992A1AF279D7EBA58D9FBB51217F45964C79E30DC2ACBC15B46",
"scroll-out-player.min.js": "B68B23E79E164E1B33EEABD1D58AB478896409567E629C44A79E1AFF5D21AD7C",
"search.vue.min.js": "A3F4445026C3094C38EA4753BF7F22A8CD8D29D47CB2526BF3D88A29CC1EDD11",
@ -224,12 +224,12 @@
"seo-jump.min.js": "1FE9D71B9B213511AA693C1F59B3F2278FF12BFAD3827081890501B1FB084DC4",
"settings-search.min.js": "915A490D620437A7F23BA1AAE68DD771C9099B6998D28BE64D1FE0AE067619DA",
"settings-side-bar.min.js": "47DC1BB710EEB8266392B4346EDA60195784D3E177EA2B637C22DA5887463813",
"settings-tooltip.en-US.min.js": "11D5E1CA6768198EC4E90B8B4D8F48CAC6BD558718B4A2EAD76C3842BB021712",
"settings-tooltip.en-US.min.js": "E0E238BB76A0594C6B95B10F09AAA5C5D1BD0A46FB925DEEE4E8458C5ADB0F13",
"settings-tooltip.ja-JP.min.js": "246DFF859F1B5C968C2CE964E6DB94742EEF01CC7D009A7CAF6A03DD90261AC1",
"settings-tooltip.loader.min.js": "477DE4B69F477D67BCBC72CE33C91986EB2A5620D6F2D1D8367BBC388C5E3E5C",
"settings-tooltip.min.css": "031B4E11744977C54496A3DB0FAB794401DC1FED2E53D9F729DA4218CD98E8D5",
"settings-tooltip.min.js": "C7F9A79EB623BF58CB81DE4A9E74FC6C2EDB2613403EFE6D09B36FB460159A13",
"settings-tooltip.zh-CN.min.js": "ACE71F7ABC8B0D383CD5B34FDD3A54E3C53F5FA7DB5EB1446E1EFFF64A3717BA",
"settings-tooltip.zh-CN.min.js": "0B4B075F32E0ED6E5A73232D318FDFA8DD207B94EDF4ABC3EB636708583FC2DA",
"show-cover-before-play.min.css": "E4050D66F8014029270CB5A4DEFDE2F847B095BA9ED4274BFED3E131B737B06D",
"show-cover-before-play.min.js": "5614929DD8CEB3B11D184F037235D91B741AD167B08A4F5B7341C6A50A0838FF",
"show-dead-video-title.min.js": "5B968442E71F947F70C57C9FDA083935200CBA9B1038131F1587E70A2B723798",
@ -241,8 +241,8 @@
"simplify-home.min.css": "A4D6FDE358B047A88ADF6D7F16207C383439EB1A635F8AF5D8CA7E7A29A59306",
"simplify-home.min.js": "1E19F28B357C24B9B7F53ADC782DD6D4EEED6751EA879984D967C5FB4C925A9D",
"simplify-home.vue.min.js": "94BA1874DBB0D5448F3DD12EB822F1AF6AB6C053D5C17F85A54A8DEE07999BF7",
"simplify-liveroom.min.css": "B83FCD61DBBE763341010C956DE90DEA665BAECE22CD26E5B5F5055D42F22F4A",
"simplify-liveroom.min.js": "F92FEDC52C0C61978A09CE8F840E92A083BB050E8A8EFF31A997370098BC19A1",
"simplify-liveroom.min.css": "81C475E785347471D10AA6C16A5D74FDAB4BAAE25CEA93247A0B6BF258973D23",
"simplify-liveroom.min.js": "5D3D3D008C7E5D79E6E08F31D0CFB183A2F90E2749AE31BE1CA75B52D63A1A6B",
"skip-charge-list.min.css": "D3C988CE131CEBFAC8A60360529C83EC4AE1B9EA122F9A6924F19963E25A4FE9",
"skip-charge-list.min.js": "3F89374310F5F7BD66E782C629FEE09FA9E5E15076F17075E871F0E984656157",
"slideshow-cards.vue.min.js": "DCA8626ECE417FCC7792D6A1CEBE3BA3BF86D2CF0E88244239B2320D54A3DAD2",
@ -259,11 +259,11 @@
"touch-navbar.min.js": "A97A7E536A45DE1DF3F7CC174CF95D855FA6034FB9F7D98B818A7363BADDFE48",
"touch-player.min.css": "63AB17E935430EDB022DF196F6FFC22AE9F29976A764D56E781FAD4D936CF320",
"touch-player.min.js": "FDFCB93C336C5FA9C8EE133B8F7CC697DBAD5803BBBDC3D7651802ED4E0A4FC4",
"trending-videos.min.js": "F69B8025B8A78354425534096765E25ED533D5F3809639808EF196E56A4767CD",
"trending-videos.vue.min.js": "4BCA996946D6D042183DACD110917463B97DB16A28A61B05B4E6E9473766FCA8",
"trending-videos.min.js": "9676C06A5EB98CF9F399CEA04A17E59A31CD40DC710683EA564E82F690ABCB76",
"trending-videos.vue.min.js": "2BC48041D09F31A1CFB86EB1110CBD3894FD805882739F81C43929848E82B68B",
"tweets.min.css": "9015C1F165C91B9205ABBE4E8A3B5FA83DB1EB4B5CF2442846AF61E44FF178A8",
"unfold-feeds.min.js": "586FFB95BF24CA22E68ACE4CC4ABF25F5A2CE84C70D657D0CD62E666C4589B5B",
"url-params-clean.min.js": "85D281782FB3758BBEC6FE334EA8AC7DE1F93B8DC87AB0167D1D674E2C7B97AA",
"url-params-clean.min.js": "AAE0C3DEE0886E0E7B0D5CB117A4103D634358F92626498C03E22F756CE137F8",
"v-checkbox.vue.min.js": "D630823220562A011DDF7164A8D12E775548C6B81907EB6525B3211B822590B1",
"v-dropdown.vue.min.js": "3D1D4DC0D8DD06C58C88A530A04DC1D5BEE6690119709B809CD3FA24C8C51C83",
"video-card.vue.min.js": "E6BD1BA3DA663BF9A2D569570CDB320A24CA2C305F587D04B3CE60136BF7924F",
@ -272,7 +272,7 @@
"video-dash.min.js": "B731A15492D933AF1CDFBD9EAE09D9264D2B4BCAAE3F5FD2C522ADABD6F1F44B",
"video-downloader-fragment.min.js": "D0738ED56C685C3B02F39C0D1A0694ACE71A07397A59C6FE37CD9BC496592462",
"video-info.min.js": "A81B4F409A75D818DF23C41A3F2D95E77BD0520DB6C03712F0FE30EAECDF4FBE",
"video-list.vue.min.js": "B227A114DD6A0D300524DF9BDBD2E870869DE6841F07749415C5E63184674BA0",
"video-list.vue.min.js": "D4764DC983B24BB9F5089E0D4AB5CEB89275F181A5ED75364CAEB1DFC44B2726",
"video-speed-common.min.js": "1F8A81026E35390558C8D11EBCDC5455319D83B65EF16F54FD2AD4335E40CFD6",
"video-speed-controller.min.js": "6E96628C42F92F4C32766D5268EFECF455628000084D277AAEF70F5BE37F91AE",
"video-story.min.js": "DC3811422EE8696E12408E3CA6AD2E3D7068AAC1B0E3577A40C5613BAD5C6467",

Binary file not shown.

2
min/comment.min.css vendored

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
(()=>(t,e)=>{function a(t,e,a){if(e in t){Object.defineProperty(t,e,{value:a,enumerable:true,configurable:true,writable:true})}else{t[e]=a}return t}const{NavbarComponent:s}=e.import("custom-navbar-component");class i extends s{constructor(){super();a(this,"totalCount",void 0);a(this,"settings",void 0);this.href="https://message.bilibili.com/";this.html="消息";this.popupHtml=`\n<ul id="message-list">\n<li><a data-name="reply" target="_blank" href="https://message.bilibili.com/#/reply">回复我的</a></li>\n<li><a data-name="at" target="_blank" href="https://message.bilibili.com/#/at">@我的</a></li>\n<li><a data-name="like" target="_blank" href="https://message.bilibili.com/#/love">收到的赞</a></li>\n<li><a data-name="user_msg" target="_blank" href="https://message.bilibili.com/#/whisper">我的消息</a></li>\n<li><a data-name="sys_msg" target="_blank" href="https://message.bilibili.com/#/system">系统通知</a></li>\n</ul>\n`;this.requestedPopup=true;this.active=document.URL.startsWith("https://message.bilibili.com/");this.fetchSettings().then((t=>{if(t){this.updateCount();this.setupEvents();this.onPopup=()=>this.updateCount()}}))}get name(){return"messages"}async fetchSettings(){const t=await Ajax.getJsonWithCredentials(`https://api.vc.bilibili.com/link_setting/v1/link_setting/get?msg_notify=1&show_unfollowed_msg=1`);if(t.code!==0){return}await this.setNotifyStyle(t.data.msg_notify);this.settings={notify:t.data.msg_notify!==3,hideNotFollowedCount:t.data.show_unfollowed_msg===1,json:t.data};return t.data.msg_notify!==3}async setupEvents(){const t=await SpinQuery.select("#message-list");const e=[...t.querySelectorAll("a[data-name]")];e.forEach((t=>{t.addEventListener("click",(()=>{const e=t.getAttribute("data-count");if(!e){return}const a=parseInt(e);t.removeAttribute("data-count");this.totalCount-=a;if(this.totalCount<0){this.totalCount=0}this.setNotifyCount(this.totalCount)}))}))}async updateCount(){const t=await Ajax.getJsonWithCredentials(`https://api.bilibili.com/x/msgfeed/unread`);const e=await Ajax.getJsonWithCredentials(`https://api.vc.bilibili.com/session_svr/v1/session_svr/single_unread`);const a=await SpinQuery.select("#message-list");const s=[...a.querySelectorAll("a[data-name]")];const i=s.map((t=>t.getAttribute("data-name")));if(t.code!==0||e.code!==0){return}t.data["user_msg"]=e.data.follow_unread;if(!this.settings.hideNotFollowedCount){t.data["user_msg"]+=e.data.unfollow_unread}this.totalCount=i.reduce(((e,a)=>e+t.data[a]),0);if(!this.totalCount){return}await this.setNotifyCount(this.totalCount);i.forEach(((e,a)=>{const i=t.data[e];if(i>0){s[a].setAttribute("data-count",i.toString())}else{s[a].removeAttribute("data-count")}}))}}return{export:{Messages:i}}})();
(()=>(t,e)=>{function s(t,e,s){if(e in t){Object.defineProperty(t,e,{value:s,enumerable:true,configurable:true,writable:true})}else{t[e]=s}return t}const{NavbarComponent:i}=e.import("custom-navbar-component");class a extends i{constructor(){super();s(this,"totalCount",void 0);s(this,"settings",void 0);this.href="https://message.bilibili.com/";this.html="消息";this.popupHtml=`\n<ul id="message-list">\n<li><a data-name="reply" target="_blank" href="https://message.bilibili.com/#/reply">回复我的</a></li>\n<li><a data-name="at" target="_blank" href="https://message.bilibili.com/#/at">@我的</a></li>\n<li><a data-name="like" target="_blank" href="https://message.bilibili.com/#/love">收到的赞</a></li>\n<li><a data-name="user_msg" target="_blank" href="https://message.bilibili.com/#/whisper">我的消息</a></li>\n<li><a data-name="sys_msg" target="_blank" href="https://message.bilibili.com/#/system">系统通知</a></li>\n</ul>\n`;this.requestedPopup=true;this.active=document.URL.startsWith("https://message.bilibili.com/");this.fetchSettings().then((t=>{if(t){this.updateCount();this.setupEvents();this.onPopup=()=>this.updateCount()}}))}get name(){return"messages"}async fetchSettings(){const t=await Ajax.getJsonWithCredentials(`https://api.vc.bilibili.com/link_setting/v1/link_setting/get?msg_notify=1&show_unfollowed_msg=1`);if(t.code!==0){return}await this.setNotifyStyle(t.data.msg_notify);this.settings={notify:t.data.msg_notify!==3,hideNotFollowedCount:t.data.show_unfollowed_msg===1,json:t.data};console.log(this.settings);return t.data.msg_notify!==3}async setupEvents(){const t=await SpinQuery.select("#message-list");const e=[...t.querySelectorAll("a[data-name]")];e.forEach((t=>{t.addEventListener("click",(()=>{const e=t.getAttribute("data-count");if(!e){return}const s=parseInt(e);t.removeAttribute("data-count");this.totalCount-=s;if(this.totalCount<0){this.totalCount=0}this.setNotifyCount(this.totalCount)}))}))}async updateCount(){const t=await Ajax.getJsonWithCredentials(`https://api.bilibili.com/x/msgfeed/unread`);const e=await Ajax.getJsonWithCredentials(`https://api.vc.bilibili.com/session_svr/v1/session_svr/single_unread`);const s=await SpinQuery.select("#message-list");const i=[...s.querySelectorAll("a[data-name]")];const a=i.map((t=>t.getAttribute("data-name")));if(t.code!==0||e.code!==0){return}t.data["user_msg"]=e.data.follow_unread||0;if(!this.settings.hideNotFollowedCount){t.data["user_msg"]+=e.data.unfollow_unread||0}this.totalCount=a.reduce(((e,s)=>e+(t.data[s]||0)),0);if(!this.totalCount){return}await this.setNotifyCount(this.totalCount);a.forEach(((e,s)=>{const a=t.data[e];if(a>0){i[s].setAttribute("data-count",a.toString())}else{i[s].removeAttribute("data-count")}}))}}return{export:{Messages:a}}})();

View File

@ -1 +1 @@
.live-web-player-controller .danmaku-send-bar{display:none}.live-web-player-controller{background-image:linear-gradient(to bottom,transparent 20%,rgba(0,0,0,.9))}@media screen and (min-width:1038px){.fullscreen-fix:not(.danmaku-send-bar-unloaded) .live-web-player-controller .control-area .danmaku-send-bar,.player-full-win:not(.danmaku-send-bar-unloaded) .live-web-player-controller .control-area .danmaku-send-bar{display:flex;margin:0 24px;flex:1 1 0;height:24px;justify-content:center;align-items:center}.fullscreen-fix:not(.danmaku-send-bar-unloaded) .live-web-player-controller .control-area .danmaku-send-bar input,.player-full-win:not(.danmaku-send-bar-unloaded) .live-web-player-controller .control-area .danmaku-send-bar input{outline:0!important;border:none;border-bottom:2px solid #fff8;background-color:transparent;color:#fff;padding:4px;line-height:normal;flex:1;width:0;max-width:400px;min-width:70px}.fullscreen-fix:not(.danmaku-send-bar-unloaded) .live-web-player-controller .control-area .danmaku-send-bar input:focus-within,.player-full-win:not(.danmaku-send-bar-unloaded) .live-web-player-controller .control-area .danmaku-send-bar input:focus-within{border-color:var(--theme-color)}.fullscreen-fix:not(.danmaku-send-bar-unloaded) .live-web-player-controller .control-area .danmaku-send-bar input::-webkit-input-placeholder,.player-full-win:not(.danmaku-send-bar-unloaded) .live-web-player-controller .control-area .danmaku-send-bar input::-webkit-input-placeholder{color:#fff8!important}.fullscreen-fix:not(.danmaku-send-bar-unloaded) .live-web-player-controller .control-area .right-area,.player-full-win:not(.danmaku-send-bar-unloaded) .live-web-player-controller .control-area .right-area{flex:0 0 auto!important}}
.live-web-player-controller .danmaku-send-bar{display:none}.live-web-player-controller{background-image:linear-gradient(to bottom,transparent 20%,rgba(0,0,0,.9))}@media screen and (min-width:1038px){.player-full-win:not(.danmaku-send-bar-unloaded) .live-web-player-controller .control-area .danmaku-send-bar{display:flex;margin:0 24px;flex:1 1 0;height:24px;justify-content:center;align-items:center}.player-full-win:not(.danmaku-send-bar-unloaded) .live-web-player-controller .control-area .danmaku-send-bar input{outline:0!important;border:none;border-bottom:2px solid #fff8;background-color:transparent;color:#fff;padding:4px;line-height:normal;flex:1;width:0;max-width:400px;min-width:70px}.player-full-win:not(.danmaku-send-bar-unloaded) .live-web-player-controller .control-area .danmaku-send-bar input:focus-within{border-color:var(--theme-color)}.player-full-win:not(.danmaku-send-bar-unloaded) .live-web-player-controller .control-area .danmaku-send-bar input::-webkit-input-placeholder{color:#fff8!important}.player-full-win:not(.danmaku-send-bar-unloaded) .live-web-player-controller .control-area .right-area{flex:0 0 auto!important}}

File diff suppressed because one or more lines are too long

2
min/dark.min.css vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
.bb-comment .translate-container,.card-content .translate-container{margin-top:10px;display:inline-block}.bb-comment .translate-container .translated,.card-content .translate-container .translated{font-size:12px;color:#aaa}.bb-comment .translate-container .translated a,.card-content .translate-container .translated a{color:var(--theme-color)}.bb-comment .translate-container .translate,.card-content .translate-container .translate{display:flex;align-items:center;font-size:12px;color:#aaa;cursor:pointer}.bb-comment .translate-container .translate:hover,.card-content .translate-container .translate:hover{color:var(--theme-color)}.bb-comment .translate-container .translate .mdi,.card-content .translate-container .translate .mdi{font-size:14px;margin-right:2px}.bb-comment .translate-container .translating,.card-content .translate-container .translating{font-size:18px}.bb-comment .translate-container .translate-result,.card-content .translate-container .translate-result{padding-top:10px;padding-right:10px;white-space:pre-wrap;line-height:22px;word-break:break-all;overflow-wrap:break-word}body.dark .bb-comment .translate-container .translate-result,body.dark .card-content .translate-container .translate-result{color:#eee}.bb-comment .translate-container{margin-top:6px;font-weight:400;font-size:14px}.bb-comment .reply-con .text-con{display:block}
.bb-comment .translate-container,.card-content .translate-container{margin-top:10px;display:inline-block}.bb-comment .translate-container .translated,.card-content .translate-container .translated{font-size:12px;color:#aaa}.bb-comment .translate-container .translated a,.card-content .translate-container .translated a{color:var(--theme-color)}.bb-comment .translate-container .translate,.card-content .translate-container .translate{display:flex;align-items:center;font-size:12px;color:#aaa;cursor:pointer}.bb-comment .translate-container .translate:hover,.card-content .translate-container .translate:hover{color:var(--theme-color)}.bb-comment .translate-container .translate .mdi,.card-content .translate-container .translate .mdi{font-size:14px;margin-right:2px}.bb-comment .translate-container .translating,.card-content .translate-container .translating{font-size:18px}.bb-comment .translate-container .translate-result,.card-content .translate-container .translate-result{padding-top:10px;padding-right:10px;white-space:pre-wrap;line-height:22px;word-break:break-all;overflow-wrap:break-word}body.dark .bb-comment .translate-container .translate-result,body.dark .card-content .translate-container .translate-result{color:#eee}.bb-comment .translate-container{margin-top:6px;font-weight:400;font-size:14px}.bb-comment .reply-con .text-con{display:block;margin:0!important}

View File

@ -1 +1 @@
.frame-playback{display:none!important;position:relative;height:100%;align-items:center;padding:0 2px;margin-left:2px;cursor:pointer}.frame-playback span{height:100%}.bilibili-player-video-control-bottom .frame-playback{display:flex!important}.frame-playback .player-tooltips.active{transition-duration:.15s;transition-delay:.15s;position:absolute;top:0;left:50%;transform:translateX(-50%) translateY(calc(-100% - 4px));opacity:0}.frame-playback:hover .player-tooltips{opacity:1;transform:translateX(-50%) translateY(calc(-100% - 19px))}.frame-playback.touch:hover .player-tooltips{transform:translateX(-50%) translateY(calc(-100% - 12px))}.frame-playback.touch{padding:0 4px;margin-left:4px}.frame-playback.touch span{display:flex;align-items:center}.frame-playback i{color:#fff;display:block;line-height:1;transition:.4s cubic-bezier(.18,.89,.32,1.28);opacity:.9}.frame-playback:not(.touch) i{margin-top:-2px}.bilibili-player.mode-fullscreen .frame-playback,.bilibili-player.mode-webfullscreen .frame-playback{margin-left:4px;padding:0 4px}.bilibili-player.mode-fullscreen .frame-playback span,.bilibili-player.mode-webfullscreen .frame-playback span{transform:scale(1.2)}.bilibili-player.mode-fullscreen .frame-playback:not(.touch) i,.bilibili-player.mode-webfullscreen .frame-playback:not(.touch) i{margin-top:1px;line-height:inherit}.bilibili-player.mode-fullscreen .frame-playback.touch,.bilibili-player.mode-webfullscreen .frame-playback.touch{margin-left:6px}.frame-playback.next-frame i,.frame-playback.prev-frame i{transform:scale(1.3)}.frame-playback.next-frame:hover i,.frame-playback.prev-frame:hover i{transform:scale(1.4);opacity:1}.frame-playback.next-frame:active i,.frame-playback.prev-frame:active i{transform:scale(1.25);opacity:1}
.frame-playback{display:none!important;position:relative;height:100%;align-items:center;padding:0 2px;margin-left:2px;cursor:pointer}.frame-playback span{height:100%}.bilibili-player-video-control-bottom .frame-playback,.squirtle-controller-wrap .frame-playback{display:flex!important}.frame-playback .player-tooltips.active{transition-duration:.15s;transition-delay:.15s;position:absolute;top:0;left:50%;transform:translateX(-50%) translateY(calc(-100% - 4px));opacity:0}.frame-playback:hover .player-tooltips{opacity:1;transform:translateX(-50%) translateY(calc(-100% - 19px))}.frame-playback.touch:hover .player-tooltips{transform:translateX(-50%) translateY(calc(-100% - 12px))}.frame-playback.touch{padding:0 4px;margin-left:4px}.frame-playback.touch span{display:flex;align-items:center}.frame-playback i{color:#fff;display:block;line-height:1;transition:.4s cubic-bezier(.18,.89,.32,1.28);opacity:.9}.frame-playback:not(.touch) i{margin-top:-2px}.bilibili-player.mode-fullscreen .frame-playback,.bilibili-player.mode-webfullscreen .frame-playback{margin-left:4px;padding:0 4px}.bilibili-player.mode-fullscreen .frame-playback span,.bilibili-player.mode-webfullscreen .frame-playback span{transform:scale(1.2)}.bilibili-player.mode-fullscreen .frame-playback:not(.touch) i,.bilibili-player.mode-webfullscreen .frame-playback:not(.touch) i{margin-top:1px;line-height:inherit}.bilibili-player.mode-fullscreen .frame-playback.touch,.bilibili-player.mode-webfullscreen .frame-playback.touch{margin-left:6px}.frame-playback.next-frame i,.frame-playback.prev-frame i{transform:scale(1.3)}.frame-playback.next-frame:hover i,.frame-playback.prev-frame:hover i{transform:scale(1.4);opacity:1}.frame-playback.next-frame:active i,.frame-playback.prev-frame:active i{transform:scale(1.25);opacity:1}

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
(()=>(t,e)=>{const i=/@(\d+)[Ww]_(\d+)[Hh]/;const n=t.imageResolutionScale==="auto"?window.devicePixelRatio:parseFloat(t.imageResolutionScale);const o=["#certify-img1","#certify-img2"];const r=(t,e)=>{const i=document.createNodeIterator(t,NodeFilter.SHOW_ELEMENT,null);let n=i.nextNode();while(n){if(n instanceof HTMLElement){e(n)}n=i.nextNode()}};async function s(t){const e=(e,r)=>{const s=e(t);if(s===null){return}if(o.some((e=>t.matches(e)))){return}const a=s.match(i);if(!a){return}let[,l,c]=a;let u=parseInt(t.getAttribute("data-resolution-width")||"0");if(parseInt(l)>=u&&u!==0){return}if(t.getAttribute("width")===null&&t.getAttribute("height")===null){if(t.classList.contains("bili-avatar-img")){t.setAttribute("height",c)}else{t.setAttribute("width",l)}}l=Math.round(n*parseInt(l)).toString();c=Math.round(n*parseInt(c)).toString();t.setAttribute("data-resolution-width",l);r(t,s.replace(i,`@${l}w_${c}h`))};Observer.attributes(t,(()=>{e((t=>t.getAttribute("src")),((t,e)=>t.setAttribute("src",e)));e((t=>t.style.backgroundImage),((t,e)=>t.style.backgroundImage=e))}))}const a=async()=>{r(document.body,(t=>s(t)));Observer.childListSubtree(document.body,(t=>{for(const e of t){for(const t of e.addedNodes){if(t instanceof HTMLElement){s(t);if(t.nodeName.toUpperCase()!=="IMG"){r(t,(t=>s(t)))}}}}}))};a();e.applyStyleFromText(`\n.favInfo-box .favInfo-cover img {\n width: 100% !important;\n object-position: left !important;\n}\n.bb-comment .sailing .sailing-img,\n.comment-bilibili-fold .sailing .sailing-img {\n width: 288px;\n}\n`,"image-resolution-fix");return{export:{imageResolution:s}}})();
(()=>(t,e)=>{const i=/@(\d+)[Ww]_(\d+)[Hh]/;const n=t.imageResolutionScale==="auto"?window.devicePixelRatio:parseFloat(t.imageResolutionScale);const o=["#certify-img1","#certify-img2"];const r=(t,e)=>{const i=document.createNodeIterator(t,NodeFilter.SHOW_ELEMENT,null);let n=i.nextNode();while(n){if(n instanceof HTMLElement){e(n)}n=i.nextNode()}};async function a(t){const e=(e,r)=>{const a=e(t);if(a===null){return}if(o.some((e=>t.matches(e)))){return}const s=a.match(i);if(!s){return}let[,l,c]=s;let u=parseInt(t.getAttribute("data-resolution-width")||"0");if(parseInt(l)>=u&&u!==0){return}if(t.getAttribute("width")===null&&t.getAttribute("height")===null){if(t.classList.contains("bili-avatar-img")){t.setAttribute("height",c)}else{t.setAttribute("width",l)}}l=Math.round(n*parseInt(l)).toString();c=Math.round(n*parseInt(c)).toString();t.setAttribute("data-resolution-width",l);r(t,a.replace(i,`@${l}w_${c}h`))};Observer.attributes(t,(()=>{e((t=>t.getAttribute("src")),((t,e)=>t.setAttribute("src",e)));e((t=>t.style.backgroundImage),((t,e)=>t.style.backgroundImage=e))}))}const s=async()=>{r(document.body,(t=>a(t)));Observer.childListSubtree(document.body,(t=>{for(const e of t){for(const t of e.addedNodes){if(t instanceof HTMLElement){a(t);if(t.nodeName.toUpperCase()!=="IMG"){r(t,(t=>a(t)))}}}}}))};s();e.applyStyleFromText(`\n.favInfo-box .collection-cover img,\n.favInfo-box .favInfo-cover img {\n width: 100% !important;\n object-position: left !important;\n}\n.bb-comment .sailing .sailing-img,\n.comment-bilibili-fold .sailing .sailing-img {\n width: 288px;\n}\n`,"image-resolution-fix");return{export:{imageResolution:a}}})();

2
min/keymap.min.js vendored

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
(()=>(t,a)=>{(async()=>{if(!document.URL.startsWith("https://www.bilibili.com/video/")||!getUID()){return}const{playerReady:t}=await a.importAsync("player-ready");await t();const e=dq(".video-toolbar .ops .collect");if(!e){return}a.applyStyle("outerWatchlaterStyle");e.insertAdjacentHTML("afterend",`\n<span title='稍后再看' class='watchlater' :class="{ on: isInWatchlater }" @click="toggle()">\n<i class='mdi mdi-timetable'></i>\n<span class="text">稍后再看</span>\n<div class='tip' :class="{ show: tipShowing }">{{ tipText }}</div>\n</span>\n`.trim());const i=dq(".ops .watchlater");if(!i){return}const s=new Vue({el:i,store:store,data:{aid:unsafeWindow.aid,tipText:"",tipShowing:false,tipHandle:0},computed:{...Vuex.mapState(["watchlaterList"]),isInWatchlater(){return this.watchlaterList.includes(parseInt(this.aid))}},methods:{...Vuex.mapActions(["toggleWatchlater"]),showTip(t){this.tipText=t;this.tipShowing=true;if(this.tipHandle){clearTimeout(this.tipHandle)}this.tipHandle=setTimeout((()=>{this.tipShowing=false}),2e3)},async toggle(){await this.toggleWatchlater(this.aid);this.showTip(this.isInWatchlater?"已添加至稍后再看":"已从稍后再看移除")}}});Observer.videoChange((()=>{s.aid=unsafeWindow.aid}))})();return{unload:()=>{dqa(".ops .watchlater").forEach((t=>t.style.display="none"))},reload:()=>{dqa(".ops .watchlater").forEach((t=>t.style.display="inline-block"))}}})();
(()=>(t,a)=>{(async()=>{if(!document.URL.startsWith("https://www.bilibili.com/video/")||!getUID()){return}const{playerReady:t}=await a.importAsync("player-ready");await t();const e=dq(".video-toolbar .ops .collect");if(!e){return}a.applyStyle("outerWatchlaterStyle");e.insertAdjacentHTML("afterend",`\n<span title='稍后再看' class='watchlater' :class="{ on: isInWatchlater }" @click="toggle()">\n<i class='mdi mdi-timetable'></i>\n<span class="text">稍后再看</span>\n<div class='tip' :class="{ show: tipShowing }">{{ tipText }}</div>\n</span>\n`.trim());const i=dq(".ops .watchlater");if(!i){return}const s=new Vue({el:i,store:store,data:{aid:unsafeWindow.aid,tipText:"",tipShowing:false,tipHandle:0},computed:{...Vuex.mapState(["watchlaterList"]),isInWatchlater(){return this.watchlaterList.includes(parseInt(this.aid))}},methods:{...Vuex.mapActions(["toggleWatchlater"]),showTip(t){this.tipText=t;this.tipShowing=true;if(this.tipHandle){clearTimeout(this.tipHandle)}this.tipHandle=setTimeout((()=>{this.tipShowing=false}),2e3)},async toggle(){try{await this.toggleWatchlater(this.aid);this.showTip(this.isInWatchlater?"已添加至稍后再看":"已从稍后再看移除")}catch(t){logError(t)}}}});Observer.videoChange((()=>{s.aid=unsafeWindow.aid}))})();return{unload:()=>{dqa(".ops .watchlater").forEach((t=>t.style.display="none"))},reload:()=>{dqa(".ops .watchlater").forEach((t=>t.style.display="inline-block"))}}})();

View File

@ -1 +1 @@
.video-take-screenshot{position:relative;padding:0 6px;margin-left:6px;height:100%;cursor:pointer;display:none!important}.bilibili-player-video-control-bottom .video-take-screenshot{display:flex!important}.video-take-screenshot.touch{padding:0 6px;margin-left:12px}.video-take-screenshot.touch span{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.video-take-screenshot i{font-size:20px;color:#fff;transform:scale(1);opacity:.9;transition:.4s cubic-bezier(.18,.89,.32,1.28);display:block}.bilibili-player.mode-fullscreen .video-take-screenshot i,.bilibili-player.mode-webfullscreen .video-take-screenshot i{font-size:24px}.video-take-screenshot .player-tooltips.active{transition-duration:.15s;transition-delay:.15s;position:absolute;top:0;left:50%;transform:translateX(-50%) translateY(calc(-100% - 4px));opacity:0}.video-take-screenshot:hover .player-tooltips{opacity:1;transform:translateX(-50%) translateY(calc(-100% - 19px))}.video-take-screenshot.touch:hover .player-tooltips{transform:translateX(-50%) translateY(calc(-100% - 12px))}.video-take-screenshot:hover i{transform:scale(1.05);opacity:1}.video-take-screenshot:active i{transform:scale(.95);opacity:1}.video-screenshot-container{position:relative;--screenshot-width:240px;--screenshot-width-negative:calc(0px - var(--screenshot-width));--screenshot-height:135px;--thumbnail-margin-vertical:12px;--thumbnail-margin-horizontal:12px;--screenshot-list-width:calc(2 * var(--thumbnail-margin-horizontal) + var(--screenshot-width))}.video-screenshot-container,.video-screenshot-container *{transition:.2s ease-out}.video-screenshot-batch{position:fixed;bottom:var(--thumbnail-margin-vertical);right:0;z-index:20000;display:flex;width:var(--screenshot-list-width);align-items:center;justify-content:space-evenly}.video-screenshot-batch button{background:#000c;color:#fff;border:none;border-radius:8px;font-size:11pt;cursor:pointer;outline:0!important;padding:8px 12px;display:flex;justify-content:center;align-items:center;flex-grow:1}.video-screenshot-batch button:not(:last-child){margin-right:16px}.video-screenshot-batch button i{font-size:14pt;margin-right:4px}.video-screenshot-list{position:fixed;top:0;right:0;z-index:20000;margin:var(--thumbnail-margin-vertical) 0;max-height:calc(100% - 2 * var(--thumbnail-margin-vertical) - 58px);width:var(--screenshot-list-width);background-color:#000c;border-radius:8px;overflow:auto;scrollbar-width:none!important}.video-screenshot-list::-webkit-scrollbar{height:0!important;width:0!important}.video-screenshot-list *{pointer-events:initial}.video-screenshot-list-enter{opacity:0;transform:translateX(var(--screenshot-width-negative))}.video-screenshot-list-leave-to{opacity:0;transform:translateX(var(--screenshot-width))}@keyframes spinner{to{transform:translate(-50%,-50%) rotate(360deg)}}.video-screenshot-thumbnail{margin:var(--thumbnail-margin-vertical) var(--thumbnail-margin-horizontal);position:relative;transition:.35s cubic-bezier(.18,.89,.32,1.28);width:var(--screenshot-width);height:var(--screenshot-height);background-color:#000;display:flex;justify-content:center;align-items:center}.video-screenshot-thumbnail img{max-width:var(--screenshot-width);max-height:var(--screenshot-height);display:block;background-color:#000}.video-screenshot-thumbnail .loading::before{content:"";box-sizing:border-box;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(0);width:24px;height:24px;border-radius:50%;border:3px solid #8888;border-top-color:var(--theme-color);animation:.6s linear infinite spinner}.video-screenshot-thumbnail.video-screenshot-list-leave-active{position:absolute;transition:.35s cubic-bezier(.6,-.28,.74,.05)}.video-screenshot-thumbnail .mask{position:absolute;opacity:0;top:0;left:0;width:100%;height:100%;background:#0008;display:flex;justify-content:space-around;align-items:center;transition:none;pointer-events:none}.video-screenshot-thumbnail .mask .time{color:#fff;position:absolute;bottom:4px;left:8px;font-size:10pt}.video-screenshot-thumbnail .mask button{background:#000a;color:#fff;border:none;border-radius:50%;font-size:24pt;cursor:pointer;width:48px;height:48px;pointer-events:initial;outline:0!important}.video-screenshot-thumbnail:hover .mask{opacity:1}
.video-take-screenshot{position:relative;padding:0 6px;margin-left:6px;height:100%;cursor:pointer;display:none!important}.bilibili-player-video-control-bottom .video-take-screenshot,.squirtle-controller-wrap .video-take-screenshot{display:flex!important}.video-take-screenshot.touch{padding:0 6px;margin-left:12px}.video-take-screenshot.touch span{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.video-take-screenshot i{font-size:20px;color:#fff;transform:scale(1);opacity:.9;transition:.4s cubic-bezier(.18,.89,.32,1.28);display:block}.bilibili-player.mode-fullscreen .video-take-screenshot i,.bilibili-player.mode-webfullscreen .video-take-screenshot i{font-size:24px}.video-take-screenshot .player-tooltips.active{transition-duration:.15s;transition-delay:.15s;position:absolute;top:0;left:50%;transform:translateX(-50%) translateY(calc(-100% - 4px));opacity:0}.video-take-screenshot:hover .player-tooltips{opacity:1;transform:translateX(-50%) translateY(calc(-100% - 19px))}.video-take-screenshot.touch:hover .player-tooltips{transform:translateX(-50%) translateY(calc(-100% - 12px))}.video-take-screenshot:hover i{transform:scale(1.05);opacity:1}.video-take-screenshot:active i{transform:scale(.95);opacity:1}.video-screenshot-container{position:relative;--screenshot-width:240px;--screenshot-width-negative:calc(0px - var(--screenshot-width));--screenshot-height:135px;--thumbnail-margin-vertical:12px;--thumbnail-margin-horizontal:12px;--screenshot-list-width:calc(2 * var(--thumbnail-margin-horizontal) + var(--screenshot-width))}.video-screenshot-container,.video-screenshot-container *{transition:.2s ease-out}.video-screenshot-batch{position:fixed;bottom:var(--thumbnail-margin-vertical);right:0;z-index:20000;display:flex;width:var(--screenshot-list-width);align-items:center;justify-content:space-evenly}.video-screenshot-batch button{background:#000c;color:#fff;border:none;border-radius:8px;font-size:11pt;cursor:pointer;outline:0!important;padding:8px 12px;display:flex;justify-content:center;align-items:center;flex-grow:1}.video-screenshot-batch button:not(:last-child){margin-right:16px}.video-screenshot-batch button i{font-size:14pt;margin-right:4px}.video-screenshot-list{position:fixed;top:0;right:0;z-index:20000;margin:var(--thumbnail-margin-vertical) 0;max-height:calc(100% - 2 * var(--thumbnail-margin-vertical) - 58px);width:var(--screenshot-list-width);background-color:#000c;border-radius:8px;overflow:auto;scrollbar-width:none!important}.video-screenshot-list::-webkit-scrollbar{height:0!important;width:0!important}.video-screenshot-list *{pointer-events:initial}.video-screenshot-list-enter{opacity:0;transform:translateX(var(--screenshot-width-negative))}.video-screenshot-list-leave-to{opacity:0;transform:translateX(var(--screenshot-width))}@keyframes spinner{to{transform:translate(-50%,-50%) rotate(360deg)}}.video-screenshot-thumbnail{margin:var(--thumbnail-margin-vertical) var(--thumbnail-margin-horizontal);position:relative;transition:.35s cubic-bezier(.18,.89,.32,1.28);width:var(--screenshot-width);height:var(--screenshot-height);background-color:#000;display:flex;justify-content:center;align-items:center}.video-screenshot-thumbnail img{max-width:var(--screenshot-width);max-height:var(--screenshot-height);display:block;background-color:#000}.video-screenshot-thumbnail .loading::before{content:"";box-sizing:border-box;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(0);width:24px;height:24px;border-radius:50%;border:3px solid #8888;border-top-color:var(--theme-color);animation:.6s linear infinite spinner}.video-screenshot-thumbnail.video-screenshot-list-leave-active{position:absolute;transition:.35s cubic-bezier(.6,-.28,.74,.05)}.video-screenshot-thumbnail .mask{position:absolute;opacity:0;top:0;left:0;width:100%;height:100%;background:#0008;display:flex;justify-content:space-around;align-items:center;transition:none;pointer-events:none}.video-screenshot-thumbnail .mask .time{color:#fff;position:absolute;bottom:4px;left:8px;font-size:10pt}.video-screenshot-thumbnail .mask button{background:#000a;color:#fff;border:none;border-radius:50%;font-size:24pt;cursor:pointer;width:48px;height:48px;pointer-events:initial;outline:0!important}.video-screenshot-thumbnail:hover .mask{opacity:1}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
(()=>(e,s)=>{function i(e,s,i){if(s in e){Object.defineProperty(e,s,{value:i,enumerable:true,configurable:true,writable:true})}else{e[s]=i}return e}const t={vip:"老爷图标",enterPrompt:"入场通知",fansMedal:"粉丝勋章",title:"活动头衔",guard:"弹幕特效",systemMessage:"全区广播",welcomeMessage:"欢迎信息",giftMessage:"礼物弹幕",guardPurchase:"上舰提示",giftPanel:"付费礼物",headerPanel:"标题栏活动",userEffect:"入场特效",kanban:"看板娘",eventsBanner:"活动横幅",rankList:"排行榜",popup:"抽奖提示",pk:"PK浮窗",topRank:"高能榜提示",skin:"房间皮肤"};class n{constructor(s,t){this.skinSelectors=s;this.skinClass=t;i(this,"skinDisabled",e.simplifyLiveroomSettings.skin)}start(){this.skinSelectors.forEach((async e=>{const s=await SpinQuery.select(e);if(!s){return}Observer.attributes(s,(e=>{e.forEach((e=>{if(e.attributeName==="class"){if(this.skinDisabled&&s.classList.contains(this.skinClass)){s.classList.remove(this.skinClass)}else if(!this.skinDisabled&&!s.classList.contains(this.skinClass)){s.classList.add(this.skinClass)}}}))}))}))}setSkin(e){this.skinDisabled=!e;this.skinSelectors.forEach((s=>{SpinQuery.select(s,(s=>s.classList[e?"add":"remove"](this.skinClass)))}))}}const a=[new n(["#head-info-vm","#gift-control-vm","#rank-list-vm","#rank-list-ctnr-box",".gift-panel.base-panel",".gift-panel.extend-panel",".seeds-wrap>div:first-child",".gift-section>div:last-child",".z-gift-package>div>div",".right-action",".control-panel-ctnr"],"live-skin-coloration-area"),new n([".rank-list-ctnr .tabs"],"isHundred"),new n([".rank-list-ctnr .tab-content > div"],"hundred")];const c=(e,s)=>{document.body.classList.toggle(`simplify-${s}`,e);if(s==="skin"){a.forEach((s=>s.setSkin(!e)))}};const l=()=>document.URL.startsWith(`https://live.bilibili.com/`);if(l()){Object.keys(t).forEach((s=>{const i=e.simplifyLiveroomSettings[s];c(i,s)}));SpinQuery.select((()=>document.head)).then((s=>{let i=null;const t=()=>{const s=e.simplifyLiveroomSettings.skin;if(s){var t;(t=i)===null||t===void 0?void 0:t.remove()}else{if(i&&!document.head.contains(i)){document.head.appendChild(i)}}};addSettingsListener("simplifyLiveroomSettings",t);Observer.childList(s,(e=>{e.forEach((e=>{e.addedNodes.forEach((e=>{if(!(e instanceof HTMLElement)){return}if(e.tagName.toLowerCase()==="style"&&e.id.startsWith("skin-css-")){i=e;t()}}))}))}))}))}return{widget:{condition:l,content:`\n<div class="gui-settings-flat-button" style="position: relative" id="simplify-liveroom">\n<i class="mdi mdi-24px mdi-settings"></i>\n<span>简化直播间</span>\n<div class="simplify-liveroom-settings popup">\n<ul>\n<li v-for="item in items" @click="itemClick(item)" :class="{checked: item.checked}">\n<i class="mdi mdi-18px" :class="{'mdi-eye': !item.checked, 'mdi-eye-off': item.checked}"></i>\n {{item.name}}\n</li>\n</ul>\n</div>\n</div>\n`,success:()=>{const s=document.querySelector("#simplify-liveroom");const i=document.querySelector(".gui-settings-mask");s.addEventListener("click",(e=>{const s=document.querySelector(".simplify-liveroom-settings");if(s.contains(e.target)||e.target===s){return}s.classList.toggle("opened")}));s.addEventListener("mouseenter",(()=>i.classList.add("transparent")));s.addEventListener("mouseleave",(()=>i.classList.remove("transparent")));new Vue({el:".simplify-liveroom-settings",data:{items:Object.entries(t).map((([s,i])=>{const t=e.simplifyLiveroomSettings[s];c(t,s);return{key:s,name:i,checked:t}}))},methods:{itemClick(s){s.checked=!s.checked;c(s.checked,s.key);e.simplifyLiveroomSettings=Object.assign(e.simplifyLiveroomSettings,{[s.key]:s.checked})}}})}}}})();
(()=>(e,s)=>{function i(e,s,i){if(s in e){Object.defineProperty(e,s,{value:i,enumerable:true,configurable:true,writable:true})}else{e[s]=i}return e}const t={vip:"老爷图标",enterPrompt:"入场通知",fansMedal:"粉丝勋章",title:"活动头衔",guard:"弹幕特效",emoticons:"表情特效",systemMessage:"全区广播",welcomeMessage:"欢迎信息",giftMessage:"礼物弹幕",guardPurchase:"上舰提示",giftPanel:"付费礼物",headerPanel:"标题栏活动",userEffect:"入场特效",kanban:"看板娘",eventsBanner:"活动横幅",rankList:"排行榜",popup:"抽奖提示",pk:"PK浮窗",topRank:"高能榜提示",skin:"房间皮肤"};class n{constructor(s,t){this.skinSelectors=s;this.skinClass=t;i(this,"skinDisabled",e.simplifyLiveroomSettings.skin)}start(){this.skinSelectors.forEach((async e=>{const s=await SpinQuery.select(e);if(!s){return}Observer.attributes(s,(e=>{e.forEach((e=>{if(e.attributeName==="class"){if(this.skinDisabled&&s.classList.contains(this.skinClass)){s.classList.remove(this.skinClass)}else if(!this.skinDisabled&&!s.classList.contains(this.skinClass)){s.classList.add(this.skinClass)}}}))}))}))}setSkin(e){this.skinDisabled=!e;this.skinSelectors.forEach((s=>{SpinQuery.select(s,(s=>s.classList[e?"add":"remove"](this.skinClass)))}))}}const a=[new n(["#head-info-vm","#gift-control-vm","#rank-list-vm","#rank-list-ctnr-box",".gift-panel.base-panel",".gift-panel.extend-panel",".seeds-wrap>div:first-child",".gift-section>div:last-child",".z-gift-package>div>div",".right-action",".control-panel-ctnr"],"live-skin-coloration-area"),new n([".rank-list-ctnr .tabs"],"isHundred"),new n([".rank-list-ctnr .tab-content > div"],"hundred")];const c=(e,s)=>{document.body.classList.toggle(`simplify-${s}`,e);if(s==="skin"){a.forEach((s=>s.setSkin(!e)))}};const o=()=>document.URL.startsWith(`https://live.bilibili.com/`);if(o()){Object.keys(t).forEach((s=>{const i=e.simplifyLiveroomSettings[s];c(i,s)}));SpinQuery.select((()=>document.head)).then((s=>{let i=null;const t=()=>{const s=e.simplifyLiveroomSettings.skin;if(s){var t;(t=i)===null||t===void 0?void 0:t.remove()}else{if(i&&!document.head.contains(i)){document.head.appendChild(i)}}};addSettingsListener("simplifyLiveroomSettings",t);Observer.childList(s,(e=>{e.forEach((e=>{e.addedNodes.forEach((e=>{if(!(e instanceof HTMLElement)){return}if(e.tagName.toLowerCase()==="style"&&e.id.startsWith("skin-css-")){i=e;t()}}))}))}))}))}return{widget:{condition:o,content:`\n<div class="gui-settings-flat-button" style="position: relative" id="simplify-liveroom">\n<i class="mdi mdi-24px mdi-settings"></i>\n<span>简化直播间</span>\n<div class="simplify-liveroom-settings popup">\n<ul>\n<li v-for="item in items" @click="itemClick(item)" :class="{checked: item.checked}">\n<i class="mdi mdi-18px" :class="{'mdi-eye': !item.checked, 'mdi-eye-off': item.checked}"></i>\n {{item.name}}\n</li>\n</ul>\n</div>\n</div>\n`,success:()=>{const s=document.querySelector("#simplify-liveroom");const i=document.querySelector(".gui-settings-mask");s.addEventListener("click",(e=>{const s=document.querySelector(".simplify-liveroom-settings");if(s.contains(e.target)||e.target===s){return}s.classList.toggle("opened")}));s.addEventListener("mouseenter",(()=>i.classList.add("transparent")));s.addEventListener("mouseleave",(()=>i.classList.remove("transparent")));new Vue({el:".simplify-liveroom-settings",data:{items:Object.entries(t).map((([s,i])=>{const t=e.simplifyLiveroomSettings[s];c(t,s);return{key:s,name:i,checked:t}}))},methods:{itemClick(s){s.checked=!s.checked;c(s.checked,s.key);e.simplifyLiveroomSettings=Object.assign(e.simplifyLiveroomSettings,{[s.key]:s.checked})}}})}}}})();

View File

@ -1 +1 @@
(()=>(t,e)=>{const a=()=>{if(!unsafeWindow.__INITIAL_STATE__){throw new Error("unsafeWindow.__INITIAL_STATE__ not available")}if(unsafeWindow.__INITIAL_STATE__.recommendData){return unsafeWindow.__INITIAL_STATE__.recommendData.item.map((t=>({id:t.id,aid:t.id,bvid:t.bvid,description:t.desc,duration:t.duration,durationText:formatDuration(t.duration),coverUrl:t.pic.replace("http:","https:"),title:t.title,playCount:formatCount(t.stat.view),upName:t.owner.name,upFaceUrl:t.owner.face.replace("http:","https:")})))}return unsafeWindow.__INITIAL_STATE__.recommendList.map((t=>({id:t.aid,aid:t.aid,bvid:t.bvid,timestamp:t.ctime*1e3,time:new Date(t.ctime*1e3),description:t.desc,duration:t.duration,durationText:formatDuration(t.duration),coverUrl:t.pic.replace("http:","https:"),title:t.title,coins:formatCount(t.stat.coin),danmakuCount:formatCount(t.stat.danmaku),like:formatCount(t.stat.like),playCount:formatCount(t.stat.view),upName:t.owner.name,upFaceUrl:t.owner.face.replace("http:","https:")})))};return{export:{getTrendingVideos:a}}})();
(()=>(t,e)=>{const a=async()=>{const{isVideoCardBlocked:t}=await e.importAsync("feeds-apis");if(!unsafeWindow.__INITIAL_STATE__){throw new Error("unsafeWindow.__INITIAL_STATE__ not available")}if(unsafeWindow.__INITIAL_STATE__.recommendData){return unsafeWindow.__INITIAL_STATE__.recommendData.item.map((t=>({id:t.id,aid:t.id,bvid:t.bvid,description:t.desc,duration:t.duration,durationText:formatDuration(t.duration),coverUrl:t.pic.replace("http:","https:"),title:t.title,playCount:formatCount(t.stat.view),upName:t.owner.name,upFaceUrl:t.owner.face.replace("http:","https:")}))).filter((e=>!t(e)))}return unsafeWindow.__INITIAL_STATE__.recommendList.map((t=>({id:t.aid,aid:t.aid,bvid:t.bvid,timestamp:t.ctime*1e3,time:new Date(t.ctime*1e3),description:t.desc,duration:t.duration,durationText:formatDuration(t.duration),coverUrl:t.pic.replace("http:","https:"),title:t.title,coins:formatCount(t.stat.coin),danmakuCount:formatCount(t.stat.danmaku),like:formatCount(t.stat.like),playCount:formatCount(t.stat.view),upName:t.owner.name,upFaceUrl:t.owner.face.replace("http:","https:")}))).filter((e=>!t(e)))};return{export:{getTrendingVideos:a}}})();

View File

@ -1 +1 @@
(()=>(e,n)=>{const t=`<div class=trendings><div class=header><div class=title>热门</div><div class=page><div class=prev-page @click=scroll(-1)><icon type=extended icon=left-arrow></icon></div><div class=next-page @click=scroll(1)><icon type=extended icon=right-arrow></icon></div></div></div><div class=contents ref=contents><div class=card-wrapper v-for="card in trendingCards":key=card.id><video-card :data=card orientation=vertical></video-card></div></div></div>`;n.applyStyleFromText(`.simple-home .trendings{display:flex;flex-direction:column}.simple-home .trendings .header{padding:0 8px}.simple-home .trendings .header .page{display:flex;align-items:center}.simple-home .trendings .header .page>*{display:flex;align-items:center;justify-content:center;padding:4px;background-color:#8882;border-radius:50%;margin-left:8px;cursor:pointer}.simple-home .trendings .header .page>:hover{background-color:#8884}.simple-home .trendings .header .page .prev-page .be-icon{transform:translateX(-1px)}.simple-home .trendings .header .page .next-page .be-icon{transform:translateX(1px)}.simple-home .trendings .contents{--card-width:200px;--card-height:250px;--card-count:3;margin-top:16px;display:flex;overflow:auto;height:calc(var(--card-height) + 16px);width:calc((var(--card-width) + 16px) * var(--card-count));scrollbar-width:none!important}@media screen and (max-width:1300px) and (min-width:900px){.simple-home .trendings .contents{--card-count:2}}@media screen and (max-width:1100px) and (min-width:900px){.simple-home .trendings .contents{--card-count:4}}@media screen and (min-width:1550px){.simple-home .trendings .contents{--card-count:4}}@media screen and (min-width:1850px){.simple-home .trendings .contents{--card-count:5}}.simple-home .trendings .contents::-webkit-scrollbar{width:0!important;height:0!important}.simple-home .trendings .contents .card-wrapper{padding:0 8px;scroll-snap-align:start;flex-shrink:0}`,"trending-videos-style");return{export:Object.assign({template:t},{components:{VideoCard:()=>n.importAsync("video-card.vue"),Icon:()=>n.importAsync("icon.vue")},data(){return{trendingCards:[]}},methods:{scroll(e){const n=this.$refs.contents;const t=getComputedStyle(n);const i=parseFloat(t.getPropertyValue("--card-count"));const r=parseFloat(t.getPropertyValue("--card-width"));const a=16;const s=i*(r+a);n.scrollBy(e*s,0)}},async created(){const{getTrendingVideos:e}=await n.importAsync("trending-videos");this.trendingCards=e()},async mounted(){let e;addSettingsListener("simpleHomeWheelScroll",(async t=>{if(t){const t=this.$refs.contents;const{enableHorizontalScroll:i}=await n.importAsync("horizontal-scroll");e=i(t)}else{e&&e()}}),true);const t=this.$refs.contents;await SpinQuery.condition((()=>t),(()=>t.childElementCount>0));n.applyImportantStyleFromText(`\n .simple-home.snap .trendings .contents {\n scroll-snap-type: x mandatory;\n }\n`,"trending-videos-snap-fix")}})}})();
(()=>(e,n)=>{const t=`<div class=trendings><div class=header><div class=title>热门</div><div class=page><div class=prev-page @click=scroll(-1)><icon type=extended icon=left-arrow></icon></div><div class=next-page @click=scroll(1)><icon type=extended icon=right-arrow></icon></div></div></div><div class=contents ref=contents><div class=card-wrapper v-for="card in trendingCards":key=card.id><video-card :data=card orientation=vertical></video-card></div></div></div>`;n.applyStyleFromText(`.simple-home .trendings{display:flex;flex-direction:column}.simple-home .trendings .header{padding:0 8px}.simple-home .trendings .header .page{display:flex;align-items:center}.simple-home .trendings .header .page>*{display:flex;align-items:center;justify-content:center;padding:4px;background-color:#8882;border-radius:50%;margin-left:8px;cursor:pointer}.simple-home .trendings .header .page>:hover{background-color:#8884}.simple-home .trendings .header .page .prev-page .be-icon{transform:translateX(-1px)}.simple-home .trendings .header .page .next-page .be-icon{transform:translateX(1px)}.simple-home .trendings .contents{--card-width:200px;--card-height:250px;--card-count:3;margin-top:16px;display:flex;overflow:auto;height:calc(var(--card-height) + 16px);width:calc((var(--card-width) + 16px) * var(--card-count));scrollbar-width:none!important}@media screen and (max-width:1300px) and (min-width:900px){.simple-home .trendings .contents{--card-count:2}}@media screen and (max-width:1100px) and (min-width:900px){.simple-home .trendings .contents{--card-count:4}}@media screen and (min-width:1550px){.simple-home .trendings .contents{--card-count:4}}@media screen and (min-width:1850px){.simple-home .trendings .contents{--card-count:5}}.simple-home .trendings .contents::-webkit-scrollbar{width:0!important;height:0!important}.simple-home .trendings .contents .card-wrapper{padding:0 8px;scroll-snap-align:start;flex-shrink:0}`,"trending-videos-style");return{export:Object.assign({template:t},{components:{VideoCard:()=>n.importAsync("video-card.vue"),Icon:()=>n.importAsync("icon.vue")},data(){return{trendingCards:[]}},methods:{scroll(e){const n=this.$refs.contents;const t=getComputedStyle(n);const i=parseFloat(t.getPropertyValue("--card-count"));const r=parseFloat(t.getPropertyValue("--card-width"));const a=16;const s=i*(r+a);n.scrollBy(e*s,0)}},async created(){const{getTrendingVideos:e}=await n.importAsync("trending-videos");this.trendingCards=await e()},async mounted(){let e;addSettingsListener("simpleHomeWheelScroll",(async t=>{if(t){const t=this.$refs.contents;const{enableHorizontalScroll:i}=await n.importAsync("horizontal-scroll");e=i(t)}else{e&&e()}}),true);const t=this.$refs.contents;await SpinQuery.condition((()=>t),(()=>t.childElementCount>0));n.applyImportantStyleFromText(`\n .simple-home.snap .trendings .contents {\n scroll-snap-type: x mandatory;\n }\n`,"trending-videos-snap-fix")}})}})();

View File

@ -1 +1 @@
(()=>(t,e)=>{const o=["spm_id_from","from_source","from_spmid","from","seid","share_source","share_medium","share_plat","share_tag","bbid","ts","timestamp","unique_k","rt","tdsourcetag","accept_quality","broadcast_type","current_qn","current_quality","playurl_h264","playurl_h265","quality_description","network","network_status","platform_network_status","p2p_type","referfrom","visit_id","bsource","spm","hotRank"];const s=[{match:/\/\/www\.bilibili\.com\/audio\/(au[\d]+|mycollection)/,param:"type"},{match:/\/\/live\.bilibili\.com\//,param:"session_id"},{match:/\/\/www\.bilibili\.com\/bangumi\//,param:"theme"}];const i=[/game\.bilibili\.com\/fgo/];const r=t=>t;const a=["videocard_series"];const c=()=>{const t=location.search.substring(1).split("&");if(t.some((t=>a.some((e=>t.includes(e)))))){return}const e=t.filter((t=>{if(o.some((e=>t.startsWith(`${e}=`)))){return false}if(s.some((({match:e,param:o})=>document.URL.match(e)&&t.startsWith(`${o}=`)))){return false}return true}));const i=e.join("&");const c=r(document.URL.replace(location.search,""));const n=i?"?"+i:"";const m=c+n;if(m!==document.URL){console.log("[URL params clean]",document.URL,m);history.replaceState({},document.title,m)}};fullyLoaded((()=>{if(document.contentType==="text/html"){c();Observer.videoChange((()=>c()))}}))})();
(()=>(t,e)=>{const s=["spm_id_from","from_source","from_spmid","from","seid","share_source","share_medium","share_plat","share_tag","share_session_id","bbid","ts","timestamp","unique_k","rt","tdsourcetag","accept_quality","broadcast_type","current_qn","current_quality","playurl_h264","playurl_h265","quality_description","network","network_status","platform_network_status","p2p_type","referfrom","visit_id","bsource","spm","hotRank"];const o=[{match:/\/\/www\.bilibili\.com\/audio\/(au[\d]+|mycollection)/,param:"type"},{match:/\/\/live\.bilibili\.com\//,param:"session_id"},{match:/\/\/www\.bilibili\.com\/bangumi\//,param:"theme"}];const i=[/game\.bilibili\.com\/fgo/];const r=t=>t;const a=["videocard_series"];const c=()=>{const t=location.search.substring(1).split("&");if(t.some((t=>a.some((e=>t.includes(e)))))){return}const e=t.filter((t=>{if(s.some((e=>t.startsWith(`${e}=`)))){return false}if(o.some((({match:e,param:s})=>document.URL.match(e)&&t.startsWith(`${s}=`)))){return false}return true}));const i=e.join("&");const c=r(document.URL.replace(location.search,""));const n=i?"?"+i:"";const m=c+n;if(m!==document.URL){console.log("[URL params clean]",document.URL,m);history.replaceState({},document.title,m)}};fullyLoaded((()=>{if(document.contentType==="text/html"){c();Observer.videoChange((()=>c()))}}))})();

View File

@ -1 +1 @@
(()=>(i,t)=>{const e=`<div class=video-list><div class=loading v-if=loading><i class="mdi mdi-18px mdi-loading mdi-spin"></i>加载中...</div><div class=cards :class="{'show-rank': showRank}"v-else-if=cards.length><video-card v-for="card of cards":orientation="useVerticalCards ? 'vertical' : 'horizontal'":key=card.id :data=card></video-card></div><div class=empty v-else>空空如也哦 = ̄ω ̄=</div><div v-show=showTrigger class=trigger ref=trigger>加载中...</div></div>`;t.applyStyleFromText(`.minimal-home .video-list .empty,.minimal-home .video-list .loading{height:48px;display:flex;align-items:center;justify-content:center;font-size:11pt;color:#707070}.minimal-home .video-list .empty .mdi,.minimal-home .video-list .loading .mdi{margin-right:8px}body.dark .minimal-home .video-list .empty,body.dark .minimal-home .video-list .loading{color:#eee}.minimal-home .video-list .trigger{text-align:center;font-size:16px}.minimal-home .video-list .cards{display:flex;flex-wrap:wrap;align-items:flex-end}`,"video-list-style");return{export:Object.assign({template:e},{components:{VideoCard:()=>t.importAsync("video-card.vue")},props:["showRank"],data(){return{cards:[],useVerticalCards:false,loading:true,hasMoreContent:false}},computed:{showTrigger(){return!this.loading&&this.cards.length>0&&this.hasMoreContent&&!this.showRank}},methods:{async getRankList(){const{getTrendingVideos:i}=await t.importAsync("trending-videos");this.cards=i();this.hasMoreContent=false},async getActivityVideos(){let i="";if(this.cards.length>0){i=this.cards.sort(descendingSort((i=>i.id)))[this.cards.length-1].id}const t=i?`https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/dynamic_history?uid=${getUID()}&offset_dynamic_id=${i}&type=8`:`https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/dynamic_new?uid=${getUID()}&type_list=8`;const e=await Ajax.getJsonWithCredentials(t);if(e.code!==0){throw new Error(e.message)}const s=_.uniqBy(this.cards.concat(e.data.cards.map((i=>{const t=JSON.parse(i.card);const e=_.get(i,"display.topic_info.topic_details",[]).map((i=>({id:i.topic_id,name:i.topic_name})));return{id:i.desc.dynamic_id_str,aid:t.aid,bvid:i.desc.bvid,title:t.title,upID:i.desc.user_profile.info.uid,upName:i.desc.user_profile.info.uname,upFaceUrl:i.desc.user_profile.info.face,coverUrl:t.pic,description:t.desc,timestamp:i.timestamp,time:new Date(i.timestamp*1e3),topics:e,dynamic:t.dynamic,like:formatCount(i.desc.like),duration:t.duration,durationText:formatDuration(t.duration,0),playCount:formatCount(t.stat.view),danmakuCount:formatCount(t.stat.danmaku),watchlater:true}}))),(i=>i.aid));this.hasMoreContent=e.data.cards.length>0;this.cards=s}},async mounted(){try{const i=matchMedia("(max-width: 680px)");this.useVerticalCards=i.matches;i.addListener((i=>{this.useVerticalCards=i.matches}));if(this.showRank){await this.getRankList()}else{await this.getActivityVideos()}console.log("infinite scroll");const t=this.$refs.trigger;const e=new IntersectionObserver((async i=>{console.log(i);if(i.some((i=>i.intersectionRatio>0))){await this.getActivityVideos();if(!this.hasMoreContent){console.log("disconnect");e.disconnect()}}}));e.observe(t)}catch(i){Toast.error(i.message,this.showRank?"热门视频":"视频动态",3e3)}finally{this.loading=false}}})}})();
(()=>(i,t)=>{const e=`<div class=video-list><div class=loading v-if=loading><i class="mdi mdi-18px mdi-loading mdi-spin"></i>加载中...</div><div class=cards :class="{'show-rank': showRank}"v-else-if=cards.length><video-card v-for="card of cards":orientation="useVerticalCards ? 'vertical' : 'horizontal'":key=card.id :data=card></video-card></div><div class=empty v-else>空空如也哦 = ̄ω ̄=</div><div v-show=showTrigger class=trigger ref=trigger>加载中...</div></div>`;t.applyStyleFromText(`.minimal-home .video-list .empty,.minimal-home .video-list .loading{height:48px;display:flex;align-items:center;justify-content:center;font-size:11pt;color:#707070}.minimal-home .video-list .empty .mdi,.minimal-home .video-list .loading .mdi{margin-right:8px}body.dark .minimal-home .video-list .empty,body.dark .minimal-home .video-list .loading{color:#eee}.minimal-home .video-list .trigger{text-align:center;font-size:16px}.minimal-home .video-list .cards{display:flex;flex-wrap:wrap;align-items:flex-end}`,"video-list-style");return{export:Object.assign({template:e},{components:{VideoCard:()=>t.importAsync("video-card.vue")},props:["showRank"],data(){return{cards:[],useVerticalCards:false,loading:true,hasMoreContent:false}},computed:{showTrigger(){return!this.loading&&this.cards.length>0&&this.hasMoreContent&&!this.showRank}},methods:{async getRankList(){const{getTrendingVideos:i}=await t.importAsync("trending-videos");this.cards=await i();this.hasMoreContent=false},async getActivityVideos(){let i="";if(this.cards.length>0){i=this.cards.sort(descendingSort((i=>i.id)))[this.cards.length-1].id}const t=i?`https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/dynamic_history?uid=${getUID()}&offset_dynamic_id=${i}&type=8`:`https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/dynamic_new?uid=${getUID()}&type_list=8`;const e=await Ajax.getJsonWithCredentials(t);if(e.code!==0){throw new Error(e.message)}const s=_.uniqBy(this.cards.concat(e.data.cards.map((i=>{const t=JSON.parse(i.card);const e=_.get(i,"display.topic_info.topic_details",[]).map((i=>({id:i.topic_id,name:i.topic_name})));return{id:i.desc.dynamic_id_str,aid:t.aid,bvid:i.desc.bvid,title:t.title,upID:i.desc.user_profile.info.uid,upName:i.desc.user_profile.info.uname,upFaceUrl:i.desc.user_profile.info.face,coverUrl:t.pic,description:t.desc,timestamp:i.timestamp,time:new Date(i.timestamp*1e3),topics:e,dynamic:t.dynamic,like:formatCount(i.desc.like),duration:t.duration,durationText:formatDuration(t.duration,0),playCount:formatCount(t.stat.view),danmakuCount:formatCount(t.stat.danmaku),watchlater:true}}))),(i=>i.aid));this.hasMoreContent=e.data.cards.length>0;this.cards=s}},async mounted(){try{const i=matchMedia("(max-width: 680px)");this.useVerticalCards=i.matches;i.addListener((i=>{this.useVerticalCards=i.matches}));if(this.showRank){await this.getRankList()}else{await this.getActivityVideos()}console.log("infinite scroll");const t=this.$refs.trigger;const e=new IntersectionObserver((async i=>{console.log(i);if(i.some((i=>i.intersectionRatio>0))){await this.getActivityVideos();if(!this.hasMoreContent){console.log("disconnect");e.disconnect()}}}));e.observe(t)}catch(i){Toast.error(i.message,this.showRank?"热门视频":"视频动态",3e3)}finally{this.loading=false}}})}})();

View File

@ -353,22 +353,48 @@ class FeedsCardsManager extends EventTarget {
if (!container) {
return false
}
let cardListObserver: Observer | null = null
Observer.childList(container, async () => {
if (dq('#page-dynamic')) {
const cardsList = await SpinQuery.select('.feed-card .content') as HTMLElement
console.log('enter feeds tab')
if (cardListObserver) {
cardListObserver.stop()
const vm: {
observer?: Promise<Observer>
listElement?: Promise<HTMLElement | null>
} = {}
const stop = () => {
if (!vm.listElement || !vm.observer) {
return []
}
console.log('space feeds stop')
vm.observer?.then(it => it.stop())
delete vm.observer
delete vm.listElement
return Promise.all(this.cards.map(c => c.element).map(e => this.removeCard(e)))
}
const start = () => {
if (vm.observer) {
return vm.observer
}
const newListPromise = SpinQuery.select('.feed-card .content')
vm.observer = (async () => {
// const newList = await vm.listElement as HTMLElement
const newList = await newListPromise as HTMLElement
if (newList !== await vm.listElement) {
if (vm.listElement) {
await stop()
}
vm.listElement = newListPromise
start()
}
cardListObserver = updateCards(cardsList)
const cardListObserver = (async () => {
console.log('space feeds start')
return updateCards(newList)
})()
return cardListObserver
})()
return vm.observer
}
Observer.childListSubtree(container, async () => {
if (dq('.feed-card .content')) {
start()
} else {
console.log('leave feeds tab')
if (cardListObserver) {
cardListObserver.stop()
cardListObserver = null
}
await Promise.all(this.cards.map(c => c.element).map(e => this.removeCard(e)))
stop()
}
})
this.watching = true

View File

@ -45,4 +45,5 @@
}
.bb-comment .reply-con .text-con {
display: block;
margin: 0 !important;
}

View File

@ -1,6 +1,6 @@
// ==UserScript==
// @name Bilibili Evolved (Preview)
// @version 1.12.13
// @version 1.12.16
// @description Bilibili Evolved 的预览版, 可以抢先体验新功能.
// @author Grant Howard, Coulomb-G
// @copyright 2021, Grant Howard (https://github.com/the1812) & Coulomb-G (https://github.com/Coulomb-G)
@ -17,6 +17,7 @@
// @exclude *://member.bilibili.com/studio/bs-editor/*
// @exclude *://www.bilibili.com/h5/*
// @exclude *://www.bilibili.com/*/h5/*
// @exclude *://bbq.bilibili.com/*
// @run-at document-start
// @updateURL https://cdn.jsdelivr.net/gh/the1812/Bilibili-Evolved@preview/bilibili-evolved.preview.user.js
// @downloadURL https://cdn.jsdelivr.net/gh/the1812/Bilibili-Evolved@preview/bilibili-evolved.preview.user.js

View File

@ -111,6 +111,7 @@ export const settings = {
title: true,
userLevel: true,
guard: true,
emoticons: true,
systemMessage: true,
welcomeMessage: true,
giftMessage: true,

View File

@ -17,10 +17,10 @@ export class SpinQuery {
if (condition(result)) {
action(result)
} else {
if (document.hasFocus()) {
setTimeout(() => waitForForeground(() => {
this.retry++
}
setTimeout(() => this.tryQuery(query, condition, action, failed), this.queryInterval)
this.tryQuery(query, condition, action, failed)
}), this.queryInterval)
}
} else {
typeof failed === 'function' && failed()
@ -38,21 +38,21 @@ export class SpinQuery {
static select (query, action, failed) {
if (typeof query === 'string') {
const selector = query
query = () => document.querySelector(bwpVideoFilter(selector))
query = () => document.querySelector(altVideoFilter(selector))
}
return SpinQuery.condition(query, it => it !== null && it !== undefined, action, failed)
}
static any (query, action, failed) {
if (typeof query === 'string') {
const selector = query
query = () => $(bwpVideoFilter(selector))
query = () => $(altVideoFilter(selector))
}
return SpinQuery.condition(query, it => it.length > 0, action, failed)
}
static count (query, count, action, failed) {
if (typeof query === 'string') {
const selector = query
query = () => document.querySelectorAll(bwpVideoFilter(selector))
query = () => document.querySelectorAll(altVideoFilter(selector))
}
return SpinQuery.condition(query, it => it.length === count, action, failed)
}

View File

@ -92,13 +92,19 @@ export const languageCodeToName = {
export function getI18nKey () {
return settings.i18n ? languageNameToCode[settings.i18nLanguage] : 'zh-CN'
}
/** 当查询 video 元素且被灰度了 WasmPlayer 时, 更换为对 bwp-video 的查询, 否则会找不到 video 元素 */
export const bwpVideoFilter = (selector) => {
/**
* 自动补充其他版本播放器的 video 查询
* - 灰度了 WasmPlayer: 添加对 bwp-video 的查询
* - ~~番剧区: 添加对 bpx-player 的查询~~
*/
export const altVideoFilter = (selector) => {
// if (!unsafeWindow.__ENABLE_WASM_PLAYER__) {
// return selector
// }
const map = {
video: ', bwp-video',
// 等功能全兼容了, 再增加番剧区支持
// '.bilibili-player-video video': ', .bilibili-player-video bwp-video, .bpx-player-video-wrap video',
'.bilibili-player-video video': ', .bilibili-player-video bwp-video',
}
const suffix = map[selector]
@ -109,13 +115,13 @@ export const bwpVideoFilter = (selector) => {
}
export const dq = (selector, scopedSelector) => {
if (!scopedSelector) {
return document.querySelector(bwpVideoFilter(selector))
return document.querySelector(altVideoFilter(selector))
}
return selector.querySelector(scopedSelector)
}
export const dqa = (selector, scopedSelector) => {
if (!scopedSelector) {
return [...document.querySelectorAll(bwpVideoFilter(selector))]
return [...document.querySelectorAll(altVideoFilter(selector))]
}
return [...selector.querySelectorAll(scopedSelector)]
}
@ -255,3 +261,18 @@ export const getAid = (aid = unsafeWindow.aid) => {
}
return aid
}
export const waitForForeground = (action) => {
const runAction = () => {
if (document.visibilityState === 'visible') {
action()
document.removeEventListener('visibilitychange', runAction)
return true
}
return false
}
const isNowForeground = runAction()
if (isNowForeground) {
return
}
document.addEventListener('visibilitychange', runAction)
}

1
src/global.d.ts vendored
View File

@ -586,5 +586,6 @@ declare global {
const retrieveImageUrl: (element: Element) => { url: string; extension: string } | null
const isTyping: () => boolean
const getAid: (aid?: string) => string
const waitForForeground: (action: () => void) => void
}
export { }

View File

@ -7,8 +7,7 @@
background-image: linear-gradient(to bottom, transparent 20%, rgba(0, 0, 0, 0.9));
}
@media screen and (min-width: 1038px) {
.player-full-win,
.fullscreen-fix {
.player-full-win {
&:not(.danmaku-send-bar-unloaded) {
.live-web-player-controller .control-area {
.danmaku-send-bar {

View File

@ -25,6 +25,10 @@
}
}
.simplify-headerPanel {
// 修复高度太低时下面的弹窗挡不住排行榜
.control-panel-ctnr .dialog-ctnr {
z-index: 800 !important;
}
.player-ctnr .room-info-ctnr {
display: inline-flex !important;
flex: 1 0 auto;
@ -42,12 +46,20 @@
.face-pendants {
display: none !important;
}
.avatar {
height: 32px;
width: 32px;
}
}
.room-cover {
width: 32px !important;
height: 32px !important;
border-radius: 50% !important;
}
.rows-ctnr {
display: flex !important;
}
.rows-ctnr .upper-row,
.room-info-upper-row {
display: flex !important;
align-items: center !important;
@ -55,18 +67,22 @@
flex-direction: row-reverse !important;
position: static !important;
.left-ctnr,
.normal-mode {
position: absolute !important;
left: 50% !important;
transform: translateX(-50%) !important;
}
.live-area,
.area-text {
display: inline-flex !important;
}
.right-ctnr,
.upper-right-ctnr {
position: static !important;
transform: none !important;
}
.live-title,
.room-title {
display: flex !important;
align-items: center !important;
@ -78,16 +94,19 @@
}
}
}
.rows-ctnr .lower-row,
.room-info-down-row {
margin: 0 !important;
order: -1;
> :nth-child(n + 3) {
.right-ctnr,
.left-ctnr > :nth-child(n + 3) {
display: none !important;
}
}
.room-owner-username {
max-width: 150px !important;
}
.live-status,
.live-status-label {
display: none !important;
}
@ -220,7 +239,8 @@
#head-info-vm,
#gift-control-vm,
.control-panel-ctnr,
#rank-list-ctnr-box {
#rank-list-ctnr-box,
#chat-control-panel-vm {
background-image: none !important;
}
}
@ -267,3 +287,19 @@
opacity: 0.5;
}
}
.simplify-emoticons {
.control-panel-icon-row .emoticons-panel {
display: none !important;
}
.chat-history-list .chat-item .emoticon {
img {
display: none !important;
}
span {
display: inline-flex !important;
}
}
.danmaku-item-container .bilibili-danmaku img {
display: none !important;
}
}

View File

@ -4,6 +4,7 @@ const displayNames = {
fansMedal: '粉丝勋章',
title: '活动头衔',
guard: '弹幕特效',
emoticons: '表情特效',
systemMessage: '全区广播',
welcomeMessage: '欢迎信息',
giftMessage: '礼物弹幕',

View File

@ -237,6 +237,7 @@
.list-item {
position: relative;
.info {
margin-top: 0 !important;
@include orders();
.like,
.hate {
@ -286,6 +287,9 @@
}
}
}
.btn-hover {
padding: 3px 5px !important;
}
.operation {
&:hover {
background: transparent !important;
@ -314,6 +318,7 @@
.text-con {
white-space: pre-wrap;
display: block;
margin: 0 !important;
}
}
.user-face .hot-follow,

View File

@ -43,6 +43,7 @@ export class Messages extends NavbarComponent {
hideNotFollowedCount: json.data.show_unfollowed_msg === 1,
json: json.data,
}
console.log(this.settings)
return json.data.msg_notify !== 3
}
async setupEvents() {
@ -74,11 +75,11 @@ export class Messages extends NavbarComponent {
if (mainJson.code !== 0 || messageJson.code !== 0) {
return
}
mainJson.data['user_msg'] = messageJson.data.follow_unread
mainJson.data['user_msg'] = messageJson.data.follow_unread || 0
if (!this.settings.hideNotFollowedCount) {
mainJson.data['user_msg'] += messageJson.data.unfollow_unread
mainJson.data['user_msg'] += messageJson.data.unfollow_unread || 0
}
this.totalCount = names.reduce((acc, it) => acc + mainJson.data[it], 0)
this.totalCount = names.reduce((acc, it) => acc + (mainJson.data[it] || 0), 0)
if (!this.totalCount) {
return
}

View File

@ -303,3 +303,9 @@ blockquote {
@include background-color("5");
}
}
.bilibili-player-video-popup-vote-an.bilibili-player-video-popup-select .bilibili-player-video-popup-vote-an-bg-buffer {
@include theme-background-color("40");
}
.s-space .search-page .feed-dynamic-content .card {
@include border-color("5");
}

View File

@ -200,6 +200,46 @@
}
}
}
.search-page {
@include background-color("4");
.search-nav {
@include color("e");
}
.search-nav-item {
.num {
@include color("a");
}
&:hover {
@include background-color("5");
.text {
@include theme-color();
}
}
&.search-nav-actived {
@include theme-background-color();
.text,
.num {
@include foreground-color();
}
}
}
.feed-dynamic {
@include border-color();
.feed-dynamic-header-search-kw,
.feed-dynamic-header-title {
@include color("e");
}
.feed-dynamic-header-search {
@include color("a");
}
.feed-dynamic-header-search-count {
@include theme-color();
}
.card .main-content .single-icon {
@include grayscale();
}
}
}
}
.switch-wrap {
.type {

View File

@ -567,7 +567,9 @@ body:not(.simplify-comment) .panel-area .bb-comment {
}
.article-detail {
.normal-article-holder {
@include color("e");
}
.card-image {
@include background-color("3");
}
@ -614,6 +616,25 @@ body:not(.simplify-comment) .panel-area .bb-comment {
}
.article-up-info {
@include background-color();
.nameplate-card {
@include background-color();
}
.nameplate-ctnr {
@include background-color("3");
@include border-color();
.info {
@include border-color("4");
.n-type {
@include color("a");
}
.info-bottom a {
&,
&:hover {
@include theme-color();
}
}
}
}
}
.banner-container {
> a > .info > .title {
@ -644,17 +665,20 @@ body:not(.simplify-comment) .panel-area .bb-comment {
@include color("9");
}
}
[class*='color-'][class*='-03'] {
[class*="color-"][class*="-03"] {
@include brightness(6 / 5);
> * {
@include brightness(5 / 6);
}
// > * {
// @include brightness(5 / 6);
// }
}
[class*='color-'][class*='-04'] {
[class*="color-"][class*="-04"] {
@include brightness(4 / 3);
> * {
@include brightness(3 / 4);
}
// > * {
// @include brightness(3 / 4);
// }
}
[class*="color-"] [class*="color-"] {
@include brightness(1);
}
caption {
@include color("a");
@ -972,7 +996,8 @@ body:not(.simplify-comment) .panel-area .bb-comment {
}
}
.bui-progress-bar {
&, &::before {
&,
&::before {
@include theme-background-color();
}
.bui-progress-dot {
@ -1032,7 +1057,7 @@ body:not(.simplify-comment) .panel-area .bb-comment {
@include color("e");
@include border-color("5");
}
&-nickname>a,
&-nickname > a,
&-summary {
@include color("e");
}
@ -1068,4 +1093,4 @@ body:not(.simplify-comment) .panel-area .bb-comment {
@include foreground-color();
}
}
}
}

View File

@ -251,3 +251,191 @@
}
}
}
.msg-push-new {
@include background-color("2");
.ar-recommend-item__info {
&--title {
@include color("e");
}
&--desc .time,
&--view {
@include color("a");
}
}
}
.send-box .core-style {
@include color("e");
}
.section.user-info {
.user-info-title {
@include border-color("5");
}
.tag-content,
.info-value,
.info-title {
@include color("e");
}
.iconfont,
.info-command {
@include color("a");
}
}
.h-notice {
@include background-color("3");
a {
@include color("e");
}
svg path {
@include fill("e");
}
}
.video-info .video-data .argue {
&,
& i {
color: #e1a411 !important;
}
background: #312d21 !important;
}
.short-review-content {
.review-edit-header {
.media-info {
h4 {
@include color("e");
}
.rate-tip {
@include color("a");
}
}
}
.review-body-wrap {
@include border-color("5");
@include background-color("2");
&:focus-within {
@include theme-border-color();
}
textarea,
textarea:focus-within {
@include background-color();
@include border-color();
}
.tip {
@include color("a");
}
.mr-btn {
&,
&:hover,
&:active {
@include foreground-color();
@include theme-background-color();
@include border-color();
}
}
}
}
.fans-medal-dialog {
@include background-color("2");
.van-dialog__title {
@include color("e");
}
.van-dialog__close {
@include color("a");
}
}
@mixin fans-medal-list {
.list {
.content {
@include border-color("4");
@include background-color("3");
.btn {
@include theme-background-color();
@include foreground-color();
}
&.border {
@include theme-border-color();
opacity: 1 !important;
}
.info {
@include no-image();
@include background-color();
.num,
.name {
@include color("e");
}
.img,
.image {
@include to-theme("pink");
}
.limit {
&,
& .before {
@include color("a");
}
}
.progress {
@include background-color("5");
.blue {
@include theme-background-color();
}
}
}
}
}
}
// 粉丝勋章墙的 iframe, 实在不理解为什么这也要弄个 iframe, 还起这么泛的名称, 感觉很容易和其他地方冲突
#app > #main > .container {
.header {
.name {
@include color("e");
}
.count {
@include color("a");
span {
@include theme-color();
}
}
}
@include fans-medal-list();
}
.container.medalList {
@include background-color();
.title {
.name {
@include color("e");
}
img {
@include to-theme("blue");
}
.mount {
@include color("a");
}
.button {
@include theme-color();
}
}
@include fans-medal-list();
}
.ztolayer-dialog {
@include background-color("2");
.dialog-title .title {
@include theme-color();
}
.dialog-body {
@include color("e");
.info {
@include color("a");
}
.configItem .switch {
@include to-theme("pink");
}
}
}
.bilibili-player-video-info-hover {
@include background-color("2");
&-num {
@include color("e");
}
&-tips {
@include color("a");
}
}

View File

@ -4,7 +4,6 @@
.ep-list-wrapper .ep-item.cursor,
.section-ep-wrapper .ep-item.cursor,
.main-container .ep-list-wrapper .list-wrapper.simple ul .ep-item,
.short-review-masker .short-review-content .review-body-wrap .mr-btn,
.main-container .ep-list-wrapper .list-wrapper.simple ul .ep-item.cursor,
.send-vip-content,
.bili-pay-payment-wrapper-gift,
@ -433,7 +432,6 @@ input[type="radio"]:checked + .custom-radio,
.main-container .media-info .media-right .media-tool-bar .btn-rating,
.review-edit-header .review-edit-media-info h4,
.review-edit-header .review-edit-media-info .rate-tip,
.short-review-masker .short-review-content .review-body-wrap .mr-btn.active,
.main-container .media-info .media-right .media-tool-bar .btn-follow.active,
.main-container .nav-tools .tool-item:hover,
.main-container .entry-old .feedback .btn,
@ -682,7 +680,6 @@ th.list-head-text,
.main-container .pay-bar .vip .btn-pay.active,
.main-container .ep-list-wrapper .list-wrapper.simple ul .ep-item,
.main-container .media-info .media-right .media-tool-bar .btn-rating,
.short-review-masker .short-review-content .review-body-wrap,
.main-container .nav-tools .tool-item,
.main-container .nav-tools .tool-item:hover,
.main-container .entry-old .btn-old,
@ -1023,8 +1020,6 @@ input[type="radio"]:checked + .custom-radio,
border: 1px solid var(--theme-color) !important;
} */
.main-container .media-info .media-right .media-tool-bar .btn-rating:hover,
.short-review-masker .short-review-content .review-body-wrap .mr-btn.active,
.short-review-masker .short-review-content .review-body-wrap .mr-btn.active:hover,
.main-container .media-info .media-right .media-tool-bar .btn-follow,
.main-container .media-info .media-right .media-tool-bar .btn-follow:hover,
.main-container .nav-tools .tool-item:hover,

View File

@ -51,7 +51,7 @@ export default {
// this.cards.push(...cards)
// }
// await Promise.all([1].map(getRankListByDays))
this.cards = getTrendingVideos()
this.cards = await getTrendingVideos()
this.hasMoreContent = false
},
async getActivityVideos() {

View File

@ -96,7 +96,7 @@ export default {
},
async created() {
const { getTrendingVideos } = await import('../trending-videos')
this.trendingCards = getTrendingVideos()
this.trendingCards = await getTrendingVideos()
},
async mounted() {
let cancelHorizontalScroll: () => void

View File

@ -1,5 +1,7 @@
import { VideoCardInfo } from './video-card-info'
export const getTrendingVideos = (): VideoCardInfo[] => {
export const getTrendingVideos = async () => {
const { isVideoCardBlocked } = await import('../../activity/feeds-apis')
// const json = await Ajax.getJsonWithCredentials(
// `https://api.bilibili.com/x/web-interface/ranking/index?day=${days}`
// )
@ -33,8 +35,8 @@ export const getTrendingVideos = (): VideoCardInfo[] => {
throw new Error('unsafeWindow.__INITIAL_STATE__ not available')
}
if (unsafeWindow.__INITIAL_STATE__.recommendData) {
return unsafeWindow.__INITIAL_STATE__.recommendData.item.map(
(it: any) => {
return (unsafeWindow.__INITIAL_STATE__.recommendData.item as any[]).map(
it => {
return {
id: it.id,
aid: it.id,
@ -55,10 +57,10 @@ export const getTrendingVideos = (): VideoCardInfo[] => {
upFaceUrl: it.owner.face.replace('http:', 'https:'),
} as VideoCardInfo
},
)
).filter(it => !isVideoCardBlocked(it))
}
return unsafeWindow.__INITIAL_STATE__.recommendList.map(
(it: any) => {
return (unsafeWindow.__INITIAL_STATE__.recommendList as any[]).map(
it => {
return {
id: it.aid,
aid: it.aid,
@ -79,7 +81,7 @@ export const getTrendingVideos = (): VideoCardInfo[] => {
upFaceUrl: it.owner.face.replace('http:', 'https:'),
} as VideoCardInfo
},
)
).filter(it => !isVideoCardBlocked(it))
}
export default {
export: {

View File

@ -1,3 +1,8 @@
body:not(.gui-settings-dock-right) {
.contact-help {
display: none !important;
}
}
.gui-settings-dock-right {
.gui-settings-icon-panel {
right: 0;

View File

@ -8,7 +8,7 @@
top: calc(50vh + var(--side-bar-offset));
left: 0;
width: 32px;
z-index: 99999;
z-index: 1000;
transform: translateY(-50%);
user-select: none;
i {
@ -449,7 +449,6 @@ input[type="text"][key] {
margin: 0 16px;
font-size: 16px;
}
.contact-help,
.hidden {
display: none !important;
}
@ -754,12 +753,12 @@ li.category.folded i.icon-arrow {
}
/* Fix bangumi and live player z-index */
.player-mode-webfullscreen .player-module,
.player-mode-webfullscreen .player-module .player-container,
.player-full-win .app-content,
.player-full-win .live-room-app .app-content {
z-index: 100000 !important;
}
// .player-mode-webfullscreen .player-module,
// .player-mode-webfullscreen .player-module .player-container,
// .player-full-win .app-content,
// .player-full-win .live-room-app .app-content {
// z-index: 100000 !important;
// }
body.round-corner {
--corner-radius: 4px;

View File

@ -60,7 +60,7 @@ Tip: Every item can be toggled individually in Add-ons.`],
["toastInternalError", `Show internal error messages, which may be helpful when reporting a bug.`],
["useCache", `Use cache to increase load speed of this userscript.`],
["outerWatchlater", `Move watchlater button from menu to outside.`],
["i18n", `[Experimental] Provides UI translation for some common words.`],
["i18n", `[Paused update] Provides UI translation for some common words.`],
["i18nLanguage", `Set the target language.`],
["customNavbar", `Enable custom navbar to replace the legacy one. New navbars in live/photos/shop are not affected.`],
["customNavbarFill", `Use theme color to fill the navbar.`],

View File

@ -89,7 +89,7 @@ export const toolTips = new Map<keyof BilibiliEvolvedSettings, string>([
["toastInternalError", /*html*/`开启后, 错误消息将显示详细的技术性错误信息及堆栈跟踪, 这通常用于准确地确定问题发生的原因, 所以报告问题时这些信息会非常有用.`],
["useCache", /*html*/`使用缓存以提高脚本的加载速度.`],
["outerWatchlater", /*html*/`将视频页面菜单里的<span>稍后再看</span>移到外面.`],
["i18n", /*html*/`为界面中一些常用文本提供翻译.`],
["i18n", /*html*/`[暂时停更] 为界面中一些常用文本提供翻译.`],
["i18nLanguage", /*html*/`翻译的目标语言.`],
["customNavbar", /*html*/`启用自定义顶栏, 替代原版的顶栏, 仅对主站生效, 不影响直播/相簿/会员购等.`],
["customNavbarSeasonLogo", /*html*/`是否使用季节Logo代替普通的Logo.`],

View File

@ -68,6 +68,7 @@ const startResolution = async () => {
}
startResolution()
resources.applyStyleFromText(`
.favInfo-box .collection-cover img,
.favInfo-box .favInfo-cover img {
width: 100% !important;
object-position: left !important;

View File

@ -8,6 +8,7 @@ const blockParams = [
'share_medium',
'share_plat',
'share_tag',
'share_session_id',
'bbid',
'ts',
'timestamp',

View File

@ -10,6 +10,7 @@
span {
height: 100%;
}
.squirtle-controller-wrap &,
.bilibili-player-video-control-bottom & {
display: flex !important;
}

View File

@ -36,6 +36,7 @@ if (supportedUrls.some(url => document.URL.startsWith(url))) {
// fallback
console.log('[keymap] fallback')
video.currentTime += delta
return
}
console.log('[keymap] player API seek')
unsafeWindow.player.seek(video.currentTime + delta, video.paused)

View File

@ -48,8 +48,12 @@
}, 2000)
},
async toggle() {
await this.toggleWatchlater(this.aid)
this.showTip(this.isInWatchlater ? '已添加至稍后再看' : '已从稍后再看移除')
try {
await this.toggleWatchlater(this.aid)
this.showTip(this.isInWatchlater ? '已添加至稍后再看' : '已从稍后再看移除')
} catch (error) {
logError(error)
}
}
}
})

View File

@ -7,6 +7,7 @@
height: 100%;
cursor: pointer;
display: none !important;
.squirtle-controller-wrap &,
.bilibili-player-video-control-bottom & {
display: flex !important;
}

View File

@ -172,7 +172,7 @@ Observer.videoChange(async () => {
if (video === null) {
return
}
const time = await SpinQuery.select('.bilibili-player-video-time')
const time = await SpinQuery.select('.bilibili-player-video-time, .squirtle-time-wrap')
if (time === null || document.querySelector('.video-take-screenshot')) {
return
}

View File

@ -1 +1 @@
1.12.13
1.12.16