Skip to content

Commit 782340f

Browse files
committed
Update TRMNL plugin
1 parent 2046821 commit 782340f

File tree

5 files changed

+166
-657
lines changed

5 files changed

+166
-657
lines changed

trmnl/full.liquid

Lines changed: 1 addition & 165 deletions
Original file line numberDiff line numberDiff line change
@@ -1,166 +1,3 @@
1-
{% comment %}
2-
User base currency (EUR, USD, etc.)
3-
{% endcomment %}
4-
{% assign base = trmnl.plugin_settings.custom_fields_values.base_currency | upcase %}
5-
6-
{% comment %}
7-
User metal unit (troy_ounce, grams)
8-
{% endcomment %}
9-
{% assign metal_unit = trmnl.plugin_settings.custom_fields_values.metal_unit %}
10-
11-
{% comment %}
12-
Currency symbol mapping
13-
{% endcomment %}
14-
{% if base == "USD" %}
15-
{% assign currency_symbol = "$" %}
16-
{% elsif base == "EUR" %}
17-
{% assign currency_symbol = "€" %}
18-
{% elsif base == "GBP" %}
19-
{% assign currency_symbol = "£" %}
20-
{% elsif base == "JPY" or base == "CNY" %}
21-
{% assign currency_symbol = "¥" %}
22-
{% elsif base == "UAH" %}
23-
{% assign currency_symbol = "₴" %}
24-
{% elsif base == "INR" %}
25-
{% assign currency_symbol = "₹" %}
26-
{% elsif base == "ILS" %}
27-
{% assign currency_symbol = "₪" %}
28-
{% elsif base == "KRW" %}
29-
{% assign currency_symbol = "₩" %}
30-
{% elsif base == "VND" %}
31-
{% assign currency_symbol = "₫" %}
32-
{% elsif base == "PHP" %}
33-
{% assign currency_symbol = "₱" %}
34-
{% elsif base == "RUB" %}
35-
{% assign currency_symbol = "₽" %}
36-
{% else %}
37-
{% assign currency_symbol = "" %}
38-
{% endif %}
39-
40-
{% comment %}
41-
Fetch rates
42-
{% endcomment %}
43-
{% assign forex = IDX_0 %}
44-
{% assign metals = IDX_1 %}
45-
{% assign crypto = IDX_2 %}
46-
{% assign stocks = IDX_3 %}
47-
48-
{% comment %}
49-
Collect all symbols from different asset types
50-
{% endcomment %}
51-
{% assign all_symbols = "" | split: "" %}
52-
53-
{% comment %}
54-
Process fiat assets
55-
{% endcomment %}
56-
{% assign fiat_assets_string = trmnl.plugin_settings.custom_fields_values.fiat_assets %}
57-
{% assign fiat_assets = fiat_assets_string | split: ',' %}
58-
59-
{% for symbol in fiat_assets %}
60-
{% assign symbol = symbol | strip %}
61-
{% if symbol != "" %}
62-
{% assign symbol_with_type = symbol | append: ":forex" %}
63-
{% assign temp_array = symbol_with_type | split: "|" %}
64-
{% assign all_symbols = temp_array | concat: all_symbols %}
65-
{% endif %}
66-
{% endfor %}
67-
68-
{% comment %}
69-
Process metal assets
70-
{% endcomment %}
71-
{% assign metal_assets_string = trmnl.plugin_settings.custom_fields_values.metal_assets %}
72-
{% assign metal_assets = metal_assets_string | split: ',' %}
73-
74-
{% for symbol in metal_assets %}
75-
{% assign symbol = symbol | strip %}
76-
{% if symbol != "" %}
77-
{% assign symbol_with_type = symbol | append: ":metal" %}
78-
{% assign temp_array = symbol_with_type | split: "|" %}
79-
{% assign all_symbols = temp_array | concat: all_symbols %}
80-
{% endif %}
81-
{% endfor %}
82-
83-
{% comment %}
84-
Process crypto assets
85-
{% endcomment %}
86-
{% assign crypto_assets_string = trmnl.plugin_settings.custom_fields_values.crypto_assets %}
87-
{% assign crypto_assets = crypto_assets_string | split: ',' %}
88-
89-
{% for symbol in crypto_assets %}
90-
{% assign symbol = symbol | strip %}
91-
{% if symbol != "" %}
92-
{% assign symbol_with_type = symbol | append: ":crypto" %}
93-
{% assign temp_array = symbol_with_type | split: "|" %}
94-
{% assign all_symbols = temp_array | concat: all_symbols %}
95-
{% endif %}
96-
{% endfor %}
97-
98-
{% comment %}
99-
Process stock assets
100-
{% endcomment %}
101-
{% assign stock_assets_string = trmnl.plugin_settings.custom_fields_values.stock_assets %}
102-
{% assign stock_assets = stock_assets_string | split: ',' %}
103-
104-
{% for symbol in stock_assets %}
105-
{% assign symbol = symbol | strip %}
106-
{% if symbol != "" %}
107-
{% assign symbol_with_type = symbol | append: ":stock" %}
108-
{% assign temp_array = symbol_with_type | split: "|" %}
109-
{% assign all_symbols = temp_array | concat: all_symbols %}
110-
{% endif %}
111-
{% endfor %}
112-
113-
{%- comment -%} Build sortable_str with entries separated by a unique token {%- endcomment -%}
114-
{% assign sortable_str = "" %}
115-
116-
{% for symbol_with_type in all_symbols %}
117-
{% assign parts = symbol_with_type | split: ":" %}
118-
{% assign symbol = parts[0] %}
119-
{% assign type = parts[1] %}
120-
{% assign price = 0 %}
121-
122-
{% case type %}
123-
{% when "forex" %}
124-
{% if forex.rates[symbol] %}
125-
{% assign price = 1 | divided_by: forex.rates[symbol] %}
126-
{% endif %}
127-
{% when "metal" %}
128-
{% if metals.rates[symbol] %}
129-
{% assign price = 1 | divided_by: metals.rates[symbol] %}
130-
{% if metal_unit == "troy_ounce" %}
131-
{% assign price = price | times: 31.1034768 %}
132-
{% endif %}
133-
{% endif %}
134-
{% when "crypto" %}
135-
{% if crypto.rates[symbol] %}
136-
{% assign price = 1 | divided_by: crypto.rates[symbol] %}
137-
{% endif %}
138-
{% when "stock" %}
139-
{% if stocks.rates[symbol] %}
140-
{% assign price = 1 | divided_by: stocks.rates[symbol] %}
141-
{% endif %}
142-
{% endcase %}
143-
144-
{%- comment -%} zero-pad numeric value (multiply to preserve decimals) {%- endcomment -%}
145-
{% assign padded_num = price | times: 1000000 | round %}
146-
{% assign padded = padded_num | prepend: "000000000000" | slice: -12, 12 %}
147-
148-
{%- comment -%} entry format: padded|SYMBOL|TYPE|RAWPRICE {%- endcomment -%}
149-
{% assign entry = padded | append: "|" | append: symbol | append: "|" | append: type | append: "|" | append: price %}
150-
151-
{%- comment -%} append to sortable_str using a separator that won't appear in data {%- endcomment -%}
152-
{% if sortable_str == "" %}
153-
{% assign sortable_str = entry %}
154-
{% else %}
155-
{% assign sortable_str = sortable_str | append: "§§§" | append: entry %}
156-
{% endif %}
157-
{% endfor %}
158-
159-
{%- comment -%} turn into a real array and sort by padded prefix (lexicographic), then reverse for DESC {%- endcomment -%}
160-
{% assign sortable = sortable_str | split: "§§§" %}
161-
{% assign sortable = sortable | sort %}
162-
{% assign sortable = sortable | reverse %}
163-
1641
{% comment %}
1652
Determine grid layout based on number of symbols
1663
{% endcomment %}
@@ -179,7 +16,6 @@ Determine grid layout based on number of symbols
17916
{% assign grid_class = "grid grid--cols-2" %}
18017
{% assign symbol_count = 12 %}
18118
{% endif %}
182-
18319
<div class="layout layout--col gap--space-between">
18420

18521
{% if symbol_count == 0 %}
@@ -194,7 +30,7 @@ Determine grid layout based on number of symbols
19430
</div>
19531

19632
{% else %}
197-
<div class="{{ grid_class }}">
33+
<div class="{{ grid_class }}" data-overflow="true">
19834
{% for entry in sortable %}
19935
{% assign parts = entry | split: "|" %}
20036
{% assign symbol = parts[1] %}

trmnl/half_horizontal.liquid

Lines changed: 1 addition & 164 deletions
Original file line numberDiff line numberDiff line change
@@ -1,166 +1,3 @@
1-
{% comment %}
2-
User base currency (EUR, USD, etc.)
3-
{% endcomment %}
4-
{% assign base = trmnl.plugin_settings.custom_fields_values.base_currency | upcase %}
5-
6-
{% comment %}
7-
User metal unit (troy_ounce, grams)
8-
{% endcomment %}
9-
{% assign metal_unit = trmnl.plugin_settings.custom_fields_values.metal_unit %}
10-
11-
{% comment %}
12-
Currency symbol mapping
13-
{% endcomment %}
14-
{% if base == "USD" %}
15-
{% assign currency_symbol = "$" %}
16-
{% elsif base == "EUR" %}
17-
{% assign currency_symbol = "€" %}
18-
{% elsif base == "GBP" %}
19-
{% assign currency_symbol = "£" %}
20-
{% elsif base == "JPY" or base == "CNY" %}
21-
{% assign currency_symbol = "¥" %}
22-
{% elsif base == "UAH" %}
23-
{% assign currency_symbol = "₴" %}
24-
{% elsif base == "INR" %}
25-
{% assign currency_symbol = "₹" %}
26-
{% elsif base == "ILS" %}
27-
{% assign currency_symbol = "₪" %}
28-
{% elsif base == "KRW" %}
29-
{% assign currency_symbol = "₩" %}
30-
{% elsif base == "VND" %}
31-
{% assign currency_symbol = "₫" %}
32-
{% elsif base == "PHP" %}
33-
{% assign currency_symbol = "₱" %}
34-
{% elsif base == "RUB" %}
35-
{% assign currency_symbol = "₽" %}
36-
{% else %}
37-
{% assign currency_symbol = "" %}
38-
{% endif %}
39-
40-
{% comment %}
41-
Fetch rates
42-
{% endcomment %}
43-
{% assign forex = IDX_0 %}
44-
{% assign metals = IDX_1 %}
45-
{% assign crypto = IDX_2 %}
46-
{% assign stocks = IDX_3 %}
47-
48-
{% comment %}
49-
Collect all symbols from different asset types
50-
{% endcomment %}
51-
{% assign all_symbols = "" | split: "" %}
52-
53-
{% comment %}
54-
Process fiat assets
55-
{% endcomment %}
56-
{% assign fiat_assets_string = trmnl.plugin_settings.custom_fields_values.fiat_assets %}
57-
{% assign fiat_assets = fiat_assets_string | split: ',' %}
58-
59-
{% for symbol in fiat_assets %}
60-
{% assign symbol = symbol | strip %}
61-
{% if symbol != "" %}
62-
{% assign symbol_with_type = symbol | append: ":forex" %}
63-
{% assign temp_array = symbol_with_type | split: "|" %}
64-
{% assign all_symbols = temp_array | concat: all_symbols %}
65-
{% endif %}
66-
{% endfor %}
67-
68-
{% comment %}
69-
Process metal assets
70-
{% endcomment %}
71-
{% assign metal_assets_string = trmnl.plugin_settings.custom_fields_values.metal_assets %}
72-
{% assign metal_assets = metal_assets_string | split: ',' %}
73-
74-
{% for symbol in metal_assets %}
75-
{% assign symbol = symbol | strip %}
76-
{% if symbol != "" %}
77-
{% assign symbol_with_type = symbol | append: ":metal" %}
78-
{% assign temp_array = symbol_with_type | split: "|" %}
79-
{% assign all_symbols = temp_array | concat: all_symbols %}
80-
{% endif %}
81-
{% endfor %}
82-
83-
{% comment %}
84-
Process crypto assets
85-
{% endcomment %}
86-
{% assign crypto_assets_string = trmnl.plugin_settings.custom_fields_values.crypto_assets %}
87-
{% assign crypto_assets = crypto_assets_string | split: ',' %}
88-
89-
{% for symbol in crypto_assets %}
90-
{% assign symbol = symbol | strip %}
91-
{% if symbol != "" %}
92-
{% assign symbol_with_type = symbol | append: ":crypto" %}
93-
{% assign temp_array = symbol_with_type | split: "|" %}
94-
{% assign all_symbols = temp_array | concat: all_symbols %}
95-
{% endif %}
96-
{% endfor %}
97-
98-
{% comment %}
99-
Process stock assets
100-
{% endcomment %}
101-
{% assign stock_assets_string = trmnl.plugin_settings.custom_fields_values.stock_assets %}
102-
{% assign stock_assets = stock_assets_string | split: ',' %}
103-
104-
{% for symbol in stock_assets %}
105-
{% assign symbol = symbol | strip %}
106-
{% if symbol != "" %}
107-
{% assign symbol_with_type = symbol | append: ":stock" %}
108-
{% assign temp_array = symbol_with_type | split: "|" %}
109-
{% assign all_symbols = temp_array | concat: all_symbols %}
110-
{% endif %}
111-
{% endfor %}
112-
113-
{%- comment -%} Build sortable_str with entries separated by a unique token {%- endcomment -%}
114-
{% assign sortable_str = "" %}
115-
116-
{% for symbol_with_type in all_symbols %}
117-
{% assign parts = symbol_with_type | split: ":" %}
118-
{% assign symbol = parts[0] %}
119-
{% assign type = parts[1] %}
120-
{% assign price = 0 %}
121-
122-
{% case type %}
123-
{% when "forex" %}
124-
{% if forex.rates[symbol] %}
125-
{% assign price = 1 | divided_by: forex.rates[symbol] %}
126-
{% endif %}
127-
{% when "metal" %}
128-
{% if metals.rates[symbol] %}
129-
{% assign price = 1 | divided_by: metals.rates[symbol] %}
130-
{% if metal_unit == "troy_ounce" %}
131-
{% assign price = price | times: 31.1034768 %}
132-
{% endif %}
133-
{% endif %}
134-
{% when "crypto" %}
135-
{% if crypto.rates[symbol] %}
136-
{% assign price = 1 | divided_by: crypto.rates[symbol] %}
137-
{% endif %}
138-
{% when "stock" %}
139-
{% if stocks.rates[symbol] %}
140-
{% assign price = 1 | divided_by: stocks.rates[symbol] %}
141-
{% endif %}
142-
{% endcase %}
143-
144-
{%- comment -%} zero-pad numeric value (multiply to preserve decimals) {%- endcomment -%}
145-
{% assign padded_num = price | times: 1000000 | round %}
146-
{% assign padded = padded_num | prepend: "000000000000" | slice: -12, 12 %}
147-
148-
{%- comment -%} entry format: padded|SYMBOL|TYPE|RAWPRICE {%- endcomment -%}
149-
{% assign entry = padded | append: "|" | append: symbol | append: "|" | append: type | append: "|" | append: price %}
150-
151-
{%- comment -%} append to sortable_str using a separator that won't appear in data {%- endcomment -%}
152-
{% if sortable_str == "" %}
153-
{% assign sortable_str = entry %}
154-
{% else %}
155-
{% assign sortable_str = sortable_str | append: "§§§" | append: entry %}
156-
{% endif %}
157-
{% endfor %}
158-
159-
{%- comment -%} turn into a real array and sort by padded prefix (lexicographic), then reverse for DESC {%- endcomment -%}
160-
{% assign sortable = sortable_str | split: "§§§" %}
161-
{% assign sortable = sortable | sort %}
162-
{% assign sortable = sortable | reverse %}
163-
1641
{% comment %}
1652
Determine grid layout based on number of symbols
1663
{% endcomment %}
@@ -194,7 +31,7 @@ Determine grid layout based on number of symbols
19431
</div>
19532

19633
{% else %}
197-
<div class="{{ grid_class }}">
34+
<div class="{{ grid_class }}" data-overflow="true">
19835
{% for entry in sortable %}
19936
{% assign parts = entry | split: "|" %}
20037
{% assign symbol = parts[1] %}

0 commit comments

Comments
 (0)