aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/kotlin/com/pitchedapps/frost/injectors/CssHider.kt
blob: e8a3128de699b8fd800b247f82e5c7b48d5107ba (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package com.pitchedapps.frost.injectors

import android.webkit.WebView

/**
 * Created by Allan Wang on 2017-05-31.
 *
 * List of elements to hide
 */
enum class CssHider(vararg val items: String) : InjectorContract {
    CORE("[data-sigil=m_login_upsell]"),
    HEADER("#header[data-sigil=MTopBlueBarHeader]", "#header-notices", "[data-sigil*=m-promo-jewel-header]"),
    ADS(
            "article[data-xt*=sponsor]",
            "article[data-store*=sponsor]"
    ),
    PEOPLE_YOU_MAY_KNOW("article._d2r"),
    MESSENGER("._s15", "[data-testid=info_panel]", "js_i"),
    NON_RECENT("article:not([data-store*=actor_name])")
    ;

    val injector: JsInjector by lazy { JsBuilder().css("${items.joinToString(separator = ",")}{display:none!important}").build() }

    override fun inject(webView: WebView, callback: ((String) -> Unit)?) {
        injector.inject(webView, callback)
    }

}