Skip to content

Commit 5095fc5

Browse files
author
Xavier
committed
added force snowflake
1 parent 5253b22 commit 5095fc5

File tree

5 files changed

+38
-14
lines changed

5 files changed

+38
-14
lines changed

Block/Snowflake.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,11 @@ public function getSnowflakeMaxSize() : int
5858
return (int)$this->SnowflakeConfig->getSnowflakeMaxSize();
5959
}
6060

61+
public function getSnowflakeForce() : string
62+
{
63+
return $this->SnowflakeConfig->getSnowflakeForce();
64+
}
65+
6166
public function getAjaxUrl(): string
6267
{
6368
return $this->SnowflakeConfig->getAjaxUrl();

Model/Config/Snowflake.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ class Snowflake
2323
private const CONFIG_PATH_SNOWFLAKE_MIN_SIZE = 'snowflake/general/max_size';
2424
private const CONFIG_PATH_SNOWFLAKE_MAX_SIZE = 'snowflake/general/min_size';
2525
private const CONFIG_PATH_SNOWFLAKE_QTY = 'snowflake/general/qty';
26+
private const CONFIG_PATH_SNOWFLAKE_FORCE = 'snowflake/api/force';
2627

2728
private ScopeConfigInterface $scopeConfig;
2829

@@ -71,6 +72,11 @@ public function getSnowflakeMaxSize(?int $scopeId = null): string
7172
return $this->scopeConfig->getValue(self::CONFIG_PATH_SNOWFLAKE_MAX_SIZE, ScopeInterface::SCOPE_STORE, $scopeId) ?? '';
7273
}
7374

75+
public function getSnowflakeForce(?int $scopeId = null): string
76+
{
77+
return (string)$this->scopeConfig->getValue(self::CONFIG_PATH_SNOWFLAKE_FORCE, ScopeInterface::SCOPE_STORE, $scopeId);
78+
}
79+
7480
public function getApiKey(?int $scopeId = null): string
7581
{
7682
return $this->scopeConfig->getValue(

etc/adminhtml/system.xml

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,23 +29,23 @@
2929
<field id="enable">1</field>
3030
</depends>
3131
</field>
32-
<field id="qty" translate="label" type="text" sortOrder="1" showInDefault="1" showInWebsite="0" showInStore="0">
32+
<field id="qty" translate="label" type="text" sortOrder="2" showInDefault="1" showInWebsite="0" showInStore="0">
3333
<label>Quantity</label>
3434
<comment>Quantity of icons displayed</comment>
3535
<validate>validate-digits</validate>
3636
<depends>
3737
<field id="enable">1</field>
3838
</depends>
3939
</field>
40-
<field id="min_size" translate="label" type="text" sortOrder="1" showInDefault="1" showInWebsite="0" showInStore="0">
40+
<field id="min_size" translate="label" type="text" sortOrder="3" showInDefault="1" showInWebsite="0" showInStore="0">
4141
<label>Minimum size</label>
4242
<comment>Minimum size of icon in pixels</comment>
4343
<validate>validate-digits</validate>
4444
<depends>
4545
<field id="enable">1</field>
4646
</depends>
4747
</field>
48-
<field id="max_size" translate="label" type="text" sortOrder="1" showInDefault="1" showInWebsite="0" showInStore="0">
48+
<field id="max_size" translate="label" type="text" sortOrder="4" showInDefault="1" showInWebsite="0" showInStore="0">
4949
<label>Maximum size</label>
5050
<comment>Maximum size of icon in pixels</comment>
5151
<validate>validate-digits</validate>
@@ -93,6 +93,11 @@
9393
<comment>
9494
<![CDATA[⚠️ Configure an OpenWeatherMap account on <a href="https://home.openweathermap.org/users/sign_up" target="_blank">openweathermap.org</a> to get the API Key. You will not be able to use the integration without both the API Key.]]></comment>
9595
</field>
96+
<field id="force" translate="label" type="select" sortOrder="1" showInDefault="1" showInWebsite="0" showInStore="0">
97+
<label>Force Display</label>
98+
<source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
99+
<comment>Display snow whatever is the weather</comment>
100+
</field>
96101
</group>
97102

98103
</section>

etc/config.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,11 @@
1717
<vspeed>0.75</vspeed>
1818
<hspeed>0.75</hspeed>
1919
<rotspeed>6</rotspeed>
20+
<rotspeed>6</rotspeed>
2021
</general>
22+
<api>
23+
<force>0</force>
24+
</api>
2125
</snowflake>
2226
</default>
2327
</config>

view/frontend/templates/snowflake.phtml

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -23,18 +23,22 @@ declare(strict_types=1);
2323
};
2424

2525
let lat, lon;
26-
$.ajax(settings).done(function (response) {
27-
[lat, lon] = response.loc.split(',');
28-
$.ajax({
29-
url: '<?php echo $block->getUrl($block->getAjaxUrl()) ?>lat/' + lat + '/lon/' + lon,
30-
type: "POST",
31-
}).done(function (data) {
32-
if (data.is_snowing) {
33-
letSnow();
34-
}
26+
if (!<?= (string)$block->getSnowflakeForce() ?>) {
27+
$.ajax(settings).done(function (response) {
28+
[lat, lon] = response.loc.split(',');
29+
$.ajax({
30+
url: '<?php echo $block->getUrl($block->getAjaxUrl()) ?>lat/' + lat + '/lon/' + lon,
31+
type: "POST",
32+
}).done(function (data) {
33+
if (data.is_snowing) {
34+
letSnow();
35+
}
36+
});
3537
});
36-
});
37-
letSnow();
38+
} else {
39+
letSnow();
40+
}
41+
3842
function letSnow() {
3943
var snowMax = <?= $block->getSnowflakeQty(); ?>;
4044
var snowColor = ["#DDD", "#BBB", "#AAA", "#EEE", "#CCC"];

0 commit comments

Comments
 (0)