diff --git a/app/javascript/material-icons/400-24px/breaking_news-fill.svg b/app/javascript/material-icons/400-24px/breaking_news-fill.svg
new file mode 100644
index 000000000..633ca48d5
--- /dev/null
+++ b/app/javascript/material-icons/400-24px/breaking_news-fill.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/app/javascript/material-icons/400-24px/breaking_news.svg b/app/javascript/material-icons/400-24px/breaking_news.svg
index d7dd0c12f..c043f11a8 100644
--- a/app/javascript/material-icons/400-24px/breaking_news.svg
+++ b/app/javascript/material-icons/400-24px/breaking_news.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/javascript/material-icons/400-24px/captive_portal-fill.svg b/app/javascript/material-icons/400-24px/captive_portal-fill.svg
new file mode 100644
index 000000000..5c0b26fb6
--- /dev/null
+++ b/app/javascript/material-icons/400-24px/captive_portal-fill.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/app/javascript/material-icons/400-24px/captive_portal.svg b/app/javascript/material-icons/400-24px/captive_portal.svg
index 1f0f09c77..5c0b26fb6 100644
--- a/app/javascript/material-icons/400-24px/captive_portal.svg
+++ b/app/javascript/material-icons/400-24px/captive_portal.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/javascript/material-icons/400-24px/chat_bubble-fill.svg b/app/javascript/material-icons/400-24px/chat_bubble-fill.svg
new file mode 100644
index 000000000..b47338a6c
--- /dev/null
+++ b/app/javascript/material-icons/400-24px/chat_bubble-fill.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/app/javascript/material-icons/400-24px/chat_bubble.svg b/app/javascript/material-icons/400-24px/chat_bubble.svg
index 7d210b460..05d976d24 100644
--- a/app/javascript/material-icons/400-24px/chat_bubble.svg
+++ b/app/javascript/material-icons/400-24px/chat_bubble.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/javascript/material-icons/400-24px/cloud-fill.svg b/app/javascript/material-icons/400-24px/cloud-fill.svg
new file mode 100644
index 000000000..d049a74c0
--- /dev/null
+++ b/app/javascript/material-icons/400-24px/cloud-fill.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/app/javascript/material-icons/400-24px/cloud.svg b/app/javascript/material-icons/400-24px/cloud.svg
index 75b4e957f..a36bddda9 100644
--- a/app/javascript/material-icons/400-24px/cloud.svg
+++ b/app/javascript/material-icons/400-24px/cloud.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/javascript/material-icons/400-24px/cloud_download-fill.svg b/app/javascript/material-icons/400-24px/cloud_download-fill.svg
new file mode 100644
index 000000000..c55d49f7e
--- /dev/null
+++ b/app/javascript/material-icons/400-24px/cloud_download-fill.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/app/javascript/material-icons/400-24px/cloud_download.svg b/app/javascript/material-icons/400-24px/cloud_download.svg
index 2fc3717ff..8e9314800 100644
--- a/app/javascript/material-icons/400-24px/cloud_download.svg
+++ b/app/javascript/material-icons/400-24px/cloud_download.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/javascript/material-icons/400-24px/cloud_sync-fill.svg b/app/javascript/material-icons/400-24px/cloud_sync-fill.svg
new file mode 100644
index 000000000..0c648e19e
--- /dev/null
+++ b/app/javascript/material-icons/400-24px/cloud_sync-fill.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/app/javascript/material-icons/400-24px/cloud_sync.svg b/app/javascript/material-icons/400-24px/cloud_sync.svg
index dbf6adc00..461796e32 100644
--- a/app/javascript/material-icons/400-24px/cloud_sync.svg
+++ b/app/javascript/material-icons/400-24px/cloud_sync.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/javascript/material-icons/400-24px/cloud_upload-fill.svg b/app/javascript/material-icons/400-24px/cloud_upload-fill.svg
new file mode 100644
index 000000000..66a7bb22d
--- /dev/null
+++ b/app/javascript/material-icons/400-24px/cloud_upload-fill.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/app/javascript/material-icons/400-24px/cloud_upload.svg b/app/javascript/material-icons/400-24px/cloud_upload.svg
index 5e1a4b9ae..94968cb94 100644
--- a/app/javascript/material-icons/400-24px/cloud_upload.svg
+++ b/app/javascript/material-icons/400-24px/cloud_upload.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/javascript/material-icons/400-24px/code-fill.svg b/app/javascript/material-icons/400-24px/code-fill.svg
new file mode 100644
index 000000000..8ef5c55cd
--- /dev/null
+++ b/app/javascript/material-icons/400-24px/code-fill.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/app/javascript/material-icons/400-24px/code.svg b/app/javascript/material-icons/400-24px/code.svg
index 5bdc338f7..8ef5c55cd 100644
--- a/app/javascript/material-icons/400-24px/code.svg
+++ b/app/javascript/material-icons/400-24px/code.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/javascript/material-icons/400-24px/computer-fill.svg b/app/javascript/material-icons/400-24px/computer-fill.svg
new file mode 100644
index 000000000..91295d684
--- /dev/null
+++ b/app/javascript/material-icons/400-24px/computer-fill.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/app/javascript/material-icons/400-24px/computer.svg b/app/javascript/material-icons/400-24px/computer.svg
index 8c5bd9110..b8af5d464 100644
--- a/app/javascript/material-icons/400-24px/computer.svg
+++ b/app/javascript/material-icons/400-24px/computer.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/javascript/material-icons/400-24px/contact_mail-fill.svg b/app/javascript/material-icons/400-24px/contact_mail-fill.svg
new file mode 100644
index 000000000..c42c79995
--- /dev/null
+++ b/app/javascript/material-icons/400-24px/contact_mail-fill.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/app/javascript/material-icons/400-24px/contact_mail.svg b/app/javascript/material-icons/400-24px/contact_mail.svg
index 1ae26cc4d..4547c48ec 100644
--- a/app/javascript/material-icons/400-24px/contact_mail.svg
+++ b/app/javascript/material-icons/400-24px/contact_mail.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/javascript/material-icons/400-24px/database-fill.svg b/app/javascript/material-icons/400-24px/database-fill.svg
new file mode 100644
index 000000000..3520f6961
--- /dev/null
+++ b/app/javascript/material-icons/400-24px/database-fill.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/app/javascript/material-icons/400-24px/database.svg b/app/javascript/material-icons/400-24px/database.svg
index 54ca2f4e5..a3bc2bfbc 100644
--- a/app/javascript/material-icons/400-24px/database.svg
+++ b/app/javascript/material-icons/400-24px/database.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/javascript/material-icons/400-24px/diamond-fill.svg b/app/javascript/material-icons/400-24px/diamond-fill.svg
new file mode 100644
index 000000000..474968ad6
--- /dev/null
+++ b/app/javascript/material-icons/400-24px/diamond-fill.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/app/javascript/material-icons/400-24px/diamond.svg b/app/javascript/material-icons/400-24px/diamond.svg
index 26f4814b4..b604492fa 100644
--- a/app/javascript/material-icons/400-24px/diamond.svg
+++ b/app/javascript/material-icons/400-24px/diamond.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/javascript/material-icons/400-24px/filter_alt-fill.svg b/app/javascript/material-icons/400-24px/filter_alt-fill.svg
new file mode 100644
index 000000000..ec1d90bba
--- /dev/null
+++ b/app/javascript/material-icons/400-24px/filter_alt-fill.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/app/javascript/material-icons/400-24px/filter_alt.svg b/app/javascript/material-icons/400-24px/filter_alt.svg
index 0294cf1da..e4af9efd5 100644
--- a/app/javascript/material-icons/400-24px/filter_alt.svg
+++ b/app/javascript/material-icons/400-24px/filter_alt.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/javascript/material-icons/400-24px/groups-fill.svg b/app/javascript/material-icons/400-24px/groups-fill.svg
new file mode 100644
index 000000000..754eb0946
--- /dev/null
+++ b/app/javascript/material-icons/400-24px/groups-fill.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/app/javascript/material-icons/400-24px/groups.svg b/app/javascript/material-icons/400-24px/groups.svg
index 0e795eb30..998ff0372 100644
--- a/app/javascript/material-icons/400-24px/groups.svg
+++ b/app/javascript/material-icons/400-24px/groups.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/javascript/material-icons/400-24px/hide_source-fill.svg b/app/javascript/material-icons/400-24px/hide_source-fill.svg
new file mode 100644
index 000000000..959631bc1
--- /dev/null
+++ b/app/javascript/material-icons/400-24px/hide_source-fill.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/app/javascript/material-icons/400-24px/hide_source.svg b/app/javascript/material-icons/400-24px/hide_source.svg
index d103ed770..09633cef8 100644
--- a/app/javascript/material-icons/400-24px/hide_source.svg
+++ b/app/javascript/material-icons/400-24px/hide_source.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/javascript/material-icons/400-24px/inbox-fill.svg b/app/javascript/material-icons/400-24px/inbox-fill.svg
new file mode 100644
index 000000000..15ae2d8f3
--- /dev/null
+++ b/app/javascript/material-icons/400-24px/inbox-fill.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/app/javascript/material-icons/400-24px/inbox.svg b/app/javascript/material-icons/400-24px/inbox.svg
index 427817958..32c727e81 100644
--- a/app/javascript/material-icons/400-24px/inbox.svg
+++ b/app/javascript/material-icons/400-24px/inbox.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/javascript/material-icons/400-24px/list-fill.svg b/app/javascript/material-icons/400-24px/list-fill.svg
new file mode 100644
index 000000000..c9cbe35eb
--- /dev/null
+++ b/app/javascript/material-icons/400-24px/list-fill.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/app/javascript/material-icons/400-24px/list.svg b/app/javascript/material-icons/400-24px/list.svg
index 457a820ab..c9cbe35eb 100644
--- a/app/javascript/material-icons/400-24px/list.svg
+++ b/app/javascript/material-icons/400-24px/list.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/javascript/material-icons/400-24px/mail-fill.svg b/app/javascript/material-icons/400-24px/mail-fill.svg
new file mode 100644
index 000000000..5e7e4a2fb
--- /dev/null
+++ b/app/javascript/material-icons/400-24px/mail-fill.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/app/javascript/material-icons/400-24px/mail.svg b/app/javascript/material-icons/400-24px/mail.svg
index a92ea7b19..15e1d12d4 100644
--- a/app/javascript/material-icons/400-24px/mail.svg
+++ b/app/javascript/material-icons/400-24px/mail.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/javascript/material-icons/400-24px/mood-fill.svg b/app/javascript/material-icons/400-24px/mood-fill.svg
new file mode 100644
index 000000000..9480d0fb9
--- /dev/null
+++ b/app/javascript/material-icons/400-24px/mood-fill.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/app/javascript/material-icons/400-24px/mood.svg b/app/javascript/material-icons/400-24px/mood.svg
index 27b353424..46cafa768 100644
--- a/app/javascript/material-icons/400-24px/mood.svg
+++ b/app/javascript/material-icons/400-24px/mood.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/javascript/material-icons/400-24px/report-fill.svg b/app/javascript/material-icons/400-24px/report-fill.svg
new file mode 100644
index 000000000..50c638869
--- /dev/null
+++ b/app/javascript/material-icons/400-24px/report-fill.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/app/javascript/material-icons/400-24px/report.svg b/app/javascript/material-icons/400-24px/report.svg
index f281f0e1f..b08b5a1c9 100644
--- a/app/javascript/material-icons/400-24px/report.svg
+++ b/app/javascript/material-icons/400-24px/report.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/javascript/material-icons/400-24px/safety_check-fill.svg b/app/javascript/material-icons/400-24px/safety_check-fill.svg
new file mode 100644
index 000000000..b38091a8e
--- /dev/null
+++ b/app/javascript/material-icons/400-24px/safety_check-fill.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/app/javascript/material-icons/400-24px/safety_check.svg b/app/javascript/material-icons/400-24px/safety_check.svg
index f4eab46fb..87bdba21f 100644
--- a/app/javascript/material-icons/400-24px/safety_check.svg
+++ b/app/javascript/material-icons/400-24px/safety_check.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/javascript/material-icons/400-24px/speed-fill.svg b/app/javascript/material-icons/400-24px/speed-fill.svg
new file mode 100644
index 000000000..dca22ac52
--- /dev/null
+++ b/app/javascript/material-icons/400-24px/speed-fill.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/app/javascript/material-icons/400-24px/speed.svg b/app/javascript/material-icons/400-24px/speed.svg
index ceb855c68..0837877f4 100644
--- a/app/javascript/material-icons/400-24px/speed.svg
+++ b/app/javascript/material-icons/400-24px/speed.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/javascript/material-icons/400-24px/trending_up-fill.svg b/app/javascript/material-icons/400-24px/trending_up-fill.svg
new file mode 100644
index 000000000..cd0e36896
--- /dev/null
+++ b/app/javascript/material-icons/400-24px/trending_up-fill.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/app/javascript/material-icons/400-24px/trending_up.svg b/app/javascript/material-icons/400-24px/trending_up.svg
index 06f9ba206..cd0e36896 100644
--- a/app/javascript/material-icons/400-24px/trending_up.svg
+++ b/app/javascript/material-icons/400-24px/trending_up.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/lib/tasks/icons.rake b/lib/tasks/icons.rake
index 96e0a1431..9a05cf349 100644
--- a/lib/tasks/icons.rake
+++ b/lib/tasks/icons.rake
@@ -38,6 +38,20 @@ def find_used_icons
end
end
+ Rails.root.join('config', 'navigation.rb').open('r') do |file|
+ pattern = /material_symbol\('(?[^']*)'\)/
+ file.each_line do |line|
+ match = pattern.match(line)
+ next if match.blank?
+
+ # navigation.rb only uses 400x24 icons, per material_symbol() in
+ # app/helpers/application_helper.rb
+ icons_by_weight_and_size[400] ||= {}
+ icons_by_weight_and_size[400][24] ||= Set.new
+ icons_by_weight_and_size[400][24] << match['icon']
+ end
+ end
+
icons_by_weight_and_size
end