1
|
|
|
<?php |
2
|
|
|
class Jetpack_PWA_Helpers { |
3
|
|
|
public static function get_default_manifest_icon_sizes() { |
4
|
|
|
// These icon sizes based on conversation here: |
5
|
|
|
// https://github.com/GoogleChrome/lighthouse/issues/291 |
6
|
|
|
return array( |
7
|
|
|
192, |
8
|
|
|
512, |
9
|
|
|
); |
10
|
|
|
} |
11
|
|
|
|
12
|
|
|
public static function site_icon_url( $size = 512 ) { |
13
|
|
|
$url = function_exists( 'get_site_icon_url' ) |
14
|
|
|
? get_site_icon_url( $size ) |
15
|
|
|
: false; |
16
|
|
|
|
17
|
|
|
// Fall back to built-in WordPress icon |
18
|
|
|
if ( ! $url && in_array( $size, self::get_default_manifest_icon_sizes() ) ) { |
19
|
|
|
$url = esc_url_raw( |
20
|
|
|
plugins_url( "modules/pwa/images/wp-$size.png", JETPACK__PLUGIN_FILE ) |
21
|
|
|
); |
22
|
|
|
} |
23
|
|
|
|
24
|
|
|
return $url; |
25
|
|
|
} |
26
|
|
|
|
27
|
|
|
public static function get_theme_color() { |
28
|
|
|
$theme_color = false; |
29
|
|
|
|
30
|
|
|
// if we have AMP enabled, use those colors? |
31
|
|
|
if ( class_exists( 'AMP_Customizer_Settings' ) ) { |
32
|
|
|
/* This filter is documented in wp-content/plugins/amp/includes/class-amp-post-template.php */ |
33
|
|
|
$amp_settings = apply_filters( |
34
|
|
|
'amp_post_template_customizer_settings', |
35
|
|
|
AMP_Customizer_Settings::get_settings(), |
36
|
|
|
null |
37
|
|
|
); |
38
|
|
|
|
39
|
|
|
if ( isset( $amp_settings['header_background_color'] ) ) { |
40
|
|
|
$theme_color = $amp_settings['header_background_color']; |
41
|
|
|
} |
42
|
|
|
} |
43
|
|
|
|
44
|
|
|
if ( ! $theme_color && current_theme_supports( 'custom-background' ) ) { |
45
|
|
|
$background_color = get_background_color(); // Returns hex key without hash or empty string |
46
|
|
|
if ( $background_color ) { |
47
|
|
|
$theme_color = "#$background_color"; |
48
|
|
|
} |
49
|
|
|
} |
50
|
|
|
|
51
|
|
|
if ( ! $theme_color ) { |
52
|
|
|
$theme_color = '#fff'; |
53
|
|
|
} |
54
|
|
|
|
55
|
|
|
/** |
56
|
|
|
* Allows overriding the PWA theme color which is used when loading the app. |
57
|
|
|
* |
58
|
|
|
* @since 5.6.0 |
59
|
|
|
* |
60
|
|
|
* @param string $theme_color |
61
|
|
|
*/ |
62
|
|
|
return apply_filters( 'jetpack_pwa_background_color', $theme_color ); |
63
|
|
|
} |
64
|
|
|
} |
65
|
|
|
|