+89 -8 +/-6 browse
1 | diff --git a/core/migrations/003.sql b/core/migrations/003.sql |
2 | new file mode 100644 |
3 | index 0000000..039c720 |
4 | --- /dev/null |
5 | +++ b/core/migrations/003.sql |
6 | @@ -0,0 +1,20 @@ |
7 | + PRAGMA foreign_keys=ON; |
8 | + |
9 | + UPDATE list SET topics = arr FROM (SELECT json_group_array(ord.val) AS arr, ord.pk AS pk FROM (SELECT json_each.value AS val, list.pk AS pk FROM list, json_each(list.topics) ORDER BY val ASC) AS ord GROUP BY pk) AS ord WHERE ord.pk = list.pk; |
10 | + |
11 | + CREATE TRIGGER |
12 | + IF NOT EXISTS sort_topics_update_trigger |
13 | + AFTER UPDATE ON list |
14 | + FOR EACH ROW |
15 | + WHEN NEW.topics != OLD.topics |
16 | + BEGIN |
17 | + UPDATE list SET topics = ord.arr FROM (SELECT json_group_array(ord.val) AS arr, ord.pk AS pk FROM (SELECT json_each.value AS val, list.pk AS pk FROM list, json_each(list.topics) ORDER BY val ASC) AS ord GROUP BY pk) AS ord WHERE ord.pk = list.pk AND list.pk = NEW.pk; |
18 | + END; |
19 | + |
20 | + CREATE TRIGGER |
21 | + IF NOT EXISTS sort_topics_new_trigger |
22 | + AFTER INSERT ON list |
23 | + FOR EACH ROW |
24 | + BEGIN |
25 | + UPDATE list SET topics = arr FROM (SELECT json_group_array(ord.val) AS arr, ord.pk AS pk FROM (SELECT json_each.value AS val, list.pk AS pk FROM list, json_each(list.topics) ORDER BY val ASC) AS ord GROUP BY pk) AS ord WHERE ord.pk = list.pk AND list.pk = NEW.pk; |
26 | + END; |
27 | diff --git a/core/migrations/003.undo.sql b/core/migrations/003.undo.sql |
28 | new file mode 100644 |
29 | index 0000000..f6c7d9a |
30 | --- /dev/null |
31 | +++ b/core/migrations/003.undo.sql |
32 | @@ -0,0 +1,4 @@ |
33 | + PRAGMA foreign_keys=ON; |
34 | + |
35 | + DROP TRIGGER sort_topics_update_trigger; |
36 | + DROP TRIGGER sort_topics_new_trigger; |
37 | diff --git a/core/src/migrations.rs.inc b/core/src/migrations.rs.inc |
38 | index ffdaa44..cca184e 100644 |
39 | --- a/core/src/migrations.rs.inc |
40 | +++ b/core/src/migrations.rs.inc |
41 | @@ -8,4 +8,28 @@ ALTER TABLE template RENAME TO templates; |
42 | ALTER TABLE list ADD COLUMN topics JSON NOT NULL CHECK (json_type(topics) == 'array') DEFAULT '[]'; |
43 | ","PRAGMA foreign_keys=ON; |
44 | ALTER TABLE list DROP COLUMN topics; |
45 | + "),(3,"PRAGMA foreign_keys=ON; |
46 | + |
47 | + UPDATE list SET topics = arr FROM (SELECT json_group_array(ord.val) AS arr, ord.pk AS pk FROM (SELECT json_each.value AS val, list.pk AS pk FROM list, json_each(list.topics) ORDER BY val ASC) AS ord GROUP BY pk) AS ord WHERE ord.pk = list.pk; |
48 | + |
49 | + CREATE TRIGGER |
50 | + IF NOT EXISTS sort_topics_update_trigger |
51 | + AFTER UPDATE ON list |
52 | + FOR EACH ROW |
53 | + WHEN NEW.topics != OLD.topics |
54 | + BEGIN |
55 | + UPDATE list SET topics = ord.arr FROM (SELECT json_group_array(ord.val) AS arr, ord.pk AS pk FROM (SELECT json_each.value AS val, list.pk AS pk FROM list, json_each(list.topics) ORDER BY val ASC) AS ord GROUP BY pk) AS ord WHERE ord.pk = list.pk AND list.pk = NEW.pk; |
56 | + END; |
57 | + |
58 | + CREATE TRIGGER |
59 | + IF NOT EXISTS sort_topics_new_trigger |
60 | + AFTER INSERT ON list |
61 | + FOR EACH ROW |
62 | + BEGIN |
63 | + UPDATE list SET topics = arr FROM (SELECT json_group_array(ord.val) AS arr, ord.pk AS pk FROM (SELECT json_each.value AS val, list.pk AS pk FROM list, json_each(list.topics) ORDER BY val ASC) AS ord GROUP BY pk) AS ord WHERE ord.pk = list.pk AND list.pk = NEW.pk; |
64 | + END; |
65 | + ","PRAGMA foreign_keys=ON; |
66 | + |
67 | + DROP TRIGGER sort_topics_update_trigger; |
68 | + DROP TRIGGER sort_topics_new_trigger; |
69 | "),] |
70 | \ No newline at end of file |
71 | diff --git a/core/src/schema.sql b/core/src/schema.sql |
72 | index aba82bb..4db9f82 100644 |
73 | --- a/core/src/schema.sql |
74 | +++ b/core/src/schema.sql |
75 | @@ -468,3 +468,20 @@ BEGIN |
76 | UPDATE template SET last_modified = unixepoch() |
77 | WHERE pk = NEW.pk; |
78 | END; |
79 | + |
80 | + CREATE TRIGGER |
81 | + IF NOT EXISTS sort_topics_update_trigger |
82 | + AFTER UPDATE ON list |
83 | + FOR EACH ROW |
84 | + WHEN NEW.topics != OLD.topics |
85 | + BEGIN |
86 | + UPDATE list SET topics = ord.arr FROM (SELECT json_group_array(ord.val) AS arr, ord.pk AS pk FROM (SELECT json_each.value AS val, list.pk AS pk FROM list, json_each(list.topics) ORDER BY val ASC) AS ord GROUP BY pk) AS ord WHERE ord.pk = list.pk AND list.pk = NEW.pk; |
87 | + END; |
88 | + |
89 | + CREATE TRIGGER |
90 | + IF NOT EXISTS sort_topics_new_trigger |
91 | + AFTER INSERT ON list |
92 | + FOR EACH ROW |
93 | + BEGIN |
94 | + UPDATE list SET topics = arr FROM (SELECT json_group_array(ord.val) AS arr, ord.pk AS pk FROM (SELECT json_each.value AS val, list.pk AS pk FROM list, json_each(list.topics) ORDER BY val ASC) AS ord GROUP BY pk) AS ord WHERE ord.pk = list.pk AND list.pk = NEW.pk; |
95 | + END; |
96 | diff --git a/core/src/schema.sql.m4 b/core/src/schema.sql.m4 |
97 | index 93324d6..e09b8f7 100644 |
98 | --- a/core/src/schema.sql.m4 |
99 | +++ b/core/src/schema.sql.m4 |
100 | @@ -290,3 +290,20 @@ update_last_modified(`subscription') |
101 | update_last_modified(`account') |
102 | update_last_modified(`candidate_subscription') |
103 | update_last_modified(`template') |
104 | + |
105 | + CREATE TRIGGER |
106 | + IF NOT EXISTS sort_topics_update_trigger |
107 | + AFTER UPDATE ON list |
108 | + FOR EACH ROW |
109 | + WHEN NEW.topics != OLD.topics |
110 | + BEGIN |
111 | + UPDATE list SET topics = ord.arr FROM (SELECT json_group_array(ord.val) AS arr, ord.pk AS pk FROM (SELECT json_each.value AS val, list.pk AS pk FROM list, json_each(list.topics) ORDER BY val ASC) AS ord GROUP BY pk) AS ord WHERE ord.pk = list.pk AND list.pk = NEW.pk; |
112 | + END; |
113 | + |
114 | + CREATE TRIGGER |
115 | + IF NOT EXISTS sort_topics_new_trigger |
116 | + AFTER INSERT ON list |
117 | + FOR EACH ROW |
118 | + BEGIN |
119 | + UPDATE list SET topics = arr FROM (SELECT json_group_array(ord.val) AS arr, ord.pk AS pk FROM (SELECT json_each.value AS val, list.pk AS pk FROM list, json_each(list.topics) ORDER BY val ASC) AS ord GROUP BY pk) AS ord WHERE ord.pk = list.pk AND list.pk = NEW.pk; |
120 | + END; |
121 | diff --git a/web/src/templates/css.html b/web/src/templates/css.html |
122 | index 2029514..203cb5f 100644 |
123 | --- a/web/src/templates/css.html |
124 | +++ b/web/src/templates/css.html |
125 | @@ -1016,29 +1016,28 @@ |
126 | } |
127 | |
128 | .tag { |
129 | - --padding-top-bottom: 1px; |
130 | - --padding-left-right: 5.4px; |
131 | + --padding-top-bottom: 0.2rem; |
132 | + --padding-left-right: .5rem; |
133 | |
134 | display: inline-block; |
135 | border: 1px solid var(--tag-border-color); |
136 | border-radius:.2rem; |
137 | color: #555; |
138 | - font-size: .9rem; |
139 | - padding: 0px 0.4em 1px 0.4em; |
140 | - padding: var(--padding-top-bottom) var(--padding-left-right); |
141 | + font-size: 1.05rem; |
142 | + padding: calc(var(--padding-top-bottom) / 2) var(--padding-left-right) var(--padding-top-bottom) var(--padding-left-right); |
143 | text-decoration: none; |
144 | - |
145 | --aa-brightness: ((var(--red) * 299) + (var(--green) * 587) + (var(--blue) * 114)) / 1000; |
146 | --aa-color: calc((var(--aa-brightness) - 128) * -1000); |
147 | background: rgb(var(--red), var(--green), var(--blue)); |
148 | color: rgb(var(--aa-color), var(--aa-color), var(--aa-color)); |
149 | min-width: max-content; |
150 | + /* fallback */ |
151 | + max-height: 1rem; |
152 | + min-height: 1rem; |
153 | max-height: calc(1.5cap + var(--padding-top-bottom)); |
154 | min-height: calc(1.5cap + var(--padding-top-bottom)); |
155 | } |
156 | |
157 | - |
158 | - |
159 | span.tag-name a { |
160 | text-decoration: none; |
161 | color: inherit; |