decidim-core 0.24.0 → 0.25.0.rc1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of decidim-core might be problematic. Click here for more details.

Files changed (773) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/activity_cell.rb +8 -0
  3. data/app/cells/decidim/announcement/show.erb +1 -1
  4. data/app/cells/decidim/author/comments.erb +2 -2
  5. data/app/cells/decidim/author/profile_inline.erb +3 -3
  6. data/app/cells/decidim/author_cell.rb +2 -1
  7. data/app/cells/decidim/coauthorships_cell.rb +2 -2
  8. data/app/cells/decidim/content_blocks/cta_cell.rb +1 -1
  9. data/app/cells/decidim/content_blocks/hero_cell.rb +1 -1
  10. data/app/cells/decidim/content_blocks/highlighted_content_banner/show.erb +1 -1
  11. data/app/cells/decidim/content_blocks/how_to_participate/show.erb +4 -4
  12. data/app/cells/decidim/content_blocks/stats/show.erb +8 -3
  13. data/app/cells/decidim/content_blocks/sub_hero/show.erb +1 -1
  14. data/app/cells/decidim/content_blocks/sub_hero_cell.rb +10 -0
  15. data/app/cells/decidim/{date → date_range}/show.erb +0 -0
  16. data/app/cells/decidim/{date_cell.rb → date_range_cell.rb} +1 -1
  17. data/app/cells/decidim/endorsement_buttons/select_identity_button.erb +0 -1
  18. data/app/cells/decidim/flag_modal/show.erb +11 -8
  19. data/app/cells/decidim/newsletter_templates/basic_only_text/show.erb +2 -2
  20. data/app/cells/decidim/newsletter_templates/image_text_cta/show.erb +2 -2
  21. data/app/cells/decidim/newsletter_templates/image_text_cta_cell.rb +2 -2
  22. data/app/cells/decidim/notifications/show.erb +0 -2
  23. data/app/cells/decidim/profile/invalid.erb +9 -0
  24. data/app/cells/decidim/profile_cell.rb +4 -5
  25. data/app/cells/decidim/public_participation/show.erb +4 -0
  26. data/app/cells/decidim/public_participation_cell.rb +12 -0
  27. data/app/cells/decidim/represent_user_group/show.erb +0 -1
  28. data/app/cells/decidim/statistic/homepage.erb +9 -0
  29. data/app/cells/decidim/statistic/show.erb +9 -0
  30. data/app/cells/decidim/statistic_cell.rb +22 -0
  31. data/app/cells/decidim/statistics/show.erb +19 -0
  32. data/app/cells/decidim/statistics_cell.rb +36 -0
  33. data/app/cells/decidim/user_activity/show.erb +0 -1
  34. data/app/cells/decidim/user_conversation/conversation_header.erb +2 -2
  35. data/app/cells/decidim/user_conversation/messages.erb +1 -1
  36. data/app/cells/decidim/user_conversation_cell.rb +11 -2
  37. data/app/cells/decidim/user_conversations/add_conversation_users.erb +0 -1
  38. data/app/cells/decidim/user_conversations/conversation_item.erb +1 -1
  39. data/app/cells/decidim/user_conversations/show.erb +0 -1
  40. data/app/cells/decidim/user_conversations_cell.rb +10 -2
  41. data/app/cells/decidim/user_profile/unlinked_user_data.erb +3 -3
  42. data/app/cells/decidim/user_profile/user_data.erb +3 -3
  43. data/app/cells/decidim/user_profile_cell.rb +2 -1
  44. data/app/cells/decidim/version_author/show.erb +4 -4
  45. data/app/cells/decidim/version_author_cell.rb +11 -0
  46. data/app/cells/decidim/versions_list_item/show.erb +1 -1
  47. data/app/commands/decidim/attachment_attributes_methods.rb +18 -0
  48. data/app/commands/decidim/attachment_methods.rb +2 -1
  49. data/app/commands/decidim/create_follow.rb +4 -1
  50. data/app/commands/decidim/create_omniauth_registration.rb +6 -1
  51. data/app/commands/decidim/destroy_account.rb +1 -1
  52. data/app/commands/decidim/gallery_methods.rb +2 -1
  53. data/app/commands/decidim/messaging/start_conversation.rb +2 -2
  54. data/app/commands/decidim/multiple_attachments_methods.rb +2 -1
  55. data/app/commands/decidim/update_account.rb +6 -2
  56. data/app/commands/decidim/update_user_group.rb +1 -2
  57. data/app/controllers/concerns/decidim/amendments_controller.rb +1 -0
  58. data/app/controllers/concerns/decidim/devise_controllers.rb +1 -0
  59. data/app/controllers/concerns/decidim/force_authentication.rb +0 -1
  60. data/app/controllers/concerns/decidim/has_stored_path.rb +40 -0
  61. data/app/controllers/concerns/decidim/impersonate_users.rb +12 -4
  62. data/app/controllers/concerns/decidim/needs_permission.rb +1 -0
  63. data/app/controllers/decidim/account_controller.rb +2 -2
  64. data/app/controllers/decidim/application_controller.rb +3 -30
  65. data/app/controllers/decidim/data_portability_controller.rb +2 -14
  66. data/app/controllers/decidim/doorkeeper/credentials_controller.rb +1 -1
  67. data/app/controllers/decidim/free_resource_authorization_modals_controller.rb +33 -0
  68. data/app/controllers/decidim/links_controller.rb +42 -0
  69. data/app/controllers/decidim/messaging/conversations_controller.rb +5 -2
  70. data/app/controllers/decidim/open_data_controller.rb +3 -9
  71. data/app/controllers/decidim/profiles_controller.rb +1 -7
  72. data/app/controllers/decidim/timeouts_controller.rb +10 -5
  73. data/app/controllers/decidim/user_activities_controller.rb +1 -0
  74. data/app/forms/decidim/account_form.rb +3 -2
  75. data/app/forms/decidim/messaging/conversation_form.rb +1 -1
  76. data/app/forms/decidim/notifications_settings_form.rb +3 -14
  77. data/app/forms/url_validator.rb +2 -0
  78. data/app/helpers/concerns/decidim/flash_helper_extensions.rb +5 -2
  79. data/app/helpers/decidim/action_authorization_helper.rb +7 -2
  80. data/app/helpers/decidim/amendments_helper.rb +0 -10
  81. data/app/helpers/decidim/application_helper.rb +1 -0
  82. data/app/helpers/decidim/attachments_helper.rb +1 -1
  83. data/app/helpers/decidim/cache_helper.rb +14 -0
  84. data/app/helpers/decidim/check_boxes_tree_helper.rb +28 -10
  85. data/app/helpers/decidim/decidim_form_helper.rb +0 -4
  86. data/app/helpers/decidim/external_domain_helper.rb +13 -0
  87. data/app/helpers/decidim/filters_helper.rb +0 -10
  88. data/app/helpers/decidim/layout_helper.rb +30 -8
  89. data/app/helpers/decidim/map_helper.rb +5 -4
  90. data/app/helpers/decidim/menu_helper.rb +4 -2
  91. data/app/helpers/decidim/user_group_helper.rb +22 -0
  92. data/app/jobs/decidim/application_job.rb +5 -0
  93. data/app/jobs/decidim/data_portability_export_job.rb +1 -2
  94. data/app/jobs/decidim/export_job.rb +1 -1
  95. data/app/jobs/decidim/export_participatory_space_job.rb +1 -1
  96. data/app/jobs/decidim/machine_translation_fields_job.rb +1 -1
  97. data/app/jobs/decidim/machine_translation_resource_job.rb +10 -6
  98. data/app/jobs/decidim/machine_translation_save_job.rb +1 -1
  99. data/app/jobs/decidim/open_data_job.rb +2 -2
  100. data/app/mailers/decidim/application_mailer.rb +1 -1
  101. data/app/mailers/decidim/reported_mailer.rb +1 -1
  102. data/app/models/decidim/attachment.rb +18 -11
  103. data/app/models/decidim/authorization.rb +3 -5
  104. data/app/models/decidim/content_block.rb +30 -44
  105. data/app/models/decidim/content_block_attachment.rb +35 -0
  106. data/app/models/decidim/impersonation_log.rb +8 -0
  107. data/app/models/decidim/messaging/conversation.rb +2 -0
  108. data/app/models/decidim/messaging/message.rb +2 -0
  109. data/app/models/decidim/messaging/participation.rb +2 -0
  110. data/app/models/decidim/messaging/receipt.rb +2 -0
  111. data/app/models/decidim/oauth_application.rb +2 -2
  112. data/app/models/decidim/organization.rb +16 -20
  113. data/app/models/decidim/user.rb +23 -13
  114. data/app/models/decidim/user_base_entity.rb +3 -3
  115. data/app/models/decidim/user_group.rb +20 -1
  116. data/app/packs/entrypoints/decidim_conference_diploma.js +2 -0
  117. data/app/packs/entrypoints/decidim_conference_diploma.scss +1 -0
  118. data/app/packs/entrypoints/decidim_core.js +69 -0
  119. data/app/packs/entrypoints/decidim_core.scss +1 -0
  120. data/app/packs/entrypoints/decidim_email.js +1 -0
  121. data/app/packs/entrypoints/decidim_email.scss +1 -0
  122. data/app/packs/entrypoints/decidim_geocoding_provider_here.js +1 -0
  123. data/app/packs/entrypoints/decidim_geocoding_provider_photon.js +1 -0
  124. data/app/packs/entrypoints/decidim_map.js +1 -0
  125. data/app/packs/entrypoints/decidim_map.scss +1 -0
  126. data/app/packs/entrypoints/decidim_map_provider_default.js +2 -0
  127. data/app/packs/entrypoints/decidim_map_provider_here.js +2 -0
  128. data/app/packs/entrypoints/decidim_widget.js +1 -0
  129. data/app/{assets → packs}/fonts/decidim/Roboto-Regular.eot +0 -0
  130. data/app/{assets → packs}/fonts/decidim/Roboto-Regular.svg +0 -0
  131. data/app/{assets → packs}/fonts/decidim/Roboto-Regular.ttf +0 -0
  132. data/app/{assets → packs}/fonts/decidim/Roboto-Regular.woff +0 -0
  133. data/app/{assets → packs}/fonts/decidim/Roboto-Regular.woff2 +0 -0
  134. data/app/{assets → packs}/fonts/decidim/Source_Sans_Pro_400.eot +0 -0
  135. data/app/{assets → packs}/fonts/decidim/Source_Sans_Pro_400.svg +0 -0
  136. data/app/{assets → packs}/fonts/decidim/Source_Sans_Pro_400.ttf +0 -0
  137. data/app/{assets → packs}/fonts/decidim/Source_Sans_Pro_400.woff +0 -0
  138. data/app/{assets → packs}/fonts/decidim/Source_Sans_Pro_400.woff2 +0 -0
  139. data/app/{assets → packs}/fonts/decidim/Source_Sans_Pro_600.eot +0 -0
  140. data/app/{assets → packs}/fonts/decidim/Source_Sans_Pro_600.svg +0 -0
  141. data/app/{assets → packs}/fonts/decidim/Source_Sans_Pro_600.ttf +0 -0
  142. data/app/{assets → packs}/fonts/decidim/Source_Sans_Pro_600.woff +0 -0
  143. data/app/{assets → packs}/fonts/decidim/Source_Sans_Pro_600.woff2 +0 -0
  144. data/app/{assets → packs}/fonts/decidim/Source_Sans_Pro_900.eot +0 -0
  145. data/app/{assets → packs}/fonts/decidim/Source_Sans_Pro_900.svg +0 -0
  146. data/app/{assets → packs}/fonts/decidim/Source_Sans_Pro_900.ttf +0 -0
  147. data/app/{assets → packs}/fonts/decidim/Source_Sans_Pro_900.woff +0 -0
  148. data/app/{assets → packs}/fonts/decidim/Source_Sans_Pro_900.woff2 +0 -0
  149. data/app/{assets → packs}/images/decidim/avatar-multiuser.png +0 -0
  150. data/app/{assets → packs}/images/decidim/brands/google.svg +0 -0
  151. data/app/{assets → packs}/images/decidim/cc-badge.png +0 -0
  152. data/app/{assets → packs}/images/decidim/decidim-logo.svg +0 -0
  153. data/app/{assets → packs}/images/decidim/default-avatar.svg +0 -0
  154. data/app/{assets/images/decidim/gamification/badges/followers.svg → packs/images/decidim/gamification/badges/decidim_gamification_badges_followers.svg} +0 -0
  155. data/app/{assets/images/decidim/gamification/badges/invitations.svg → packs/images/decidim/gamification/badges/decidim_gamification_badges_invitations.svg} +0 -0
  156. data/app/{assets → packs}/images/decidim/icons.svg +0 -0
  157. data/app/{assets → packs}/images/decidim/pattern.png +0 -0
  158. data/app/{assets → packs}/images/decidim/placeholder.jpg +0 -0
  159. data/app/packs/images/decidim/vendor/leaflet/layers-2x.png +0 -0
  160. data/app/packs/images/decidim/vendor/leaflet/layers.png +0 -0
  161. data/app/packs/images/decidim/vendor/leaflet/marker-icon-2x.png +0 -0
  162. data/app/packs/images/decidim/vendor/leaflet/marker-icon.png +0 -0
  163. data/app/packs/images/decidim/vendor/leaflet/marker-shadow.png +0 -0
  164. data/app/packs/images/decidim/vendor/social-share-button/delicious.svg +13 -0
  165. data/app/packs/images/decidim/vendor/social-share-button/douban.svg +8 -0
  166. data/app/packs/images/decidim/vendor/social-share-button/email.svg +8 -0
  167. data/app/packs/images/decidim/vendor/social-share-button/facebook.svg +8 -0
  168. data/app/packs/images/decidim/vendor/social-share-button/google_bookmark.svg +8 -0
  169. data/app/packs/images/decidim/vendor/social-share-button/google_plus.svg +10 -0
  170. data/app/packs/images/decidim/vendor/social-share-button/hacker_news.svg +69 -0
  171. data/app/packs/images/decidim/vendor/social-share-button/linkedin.svg +8 -0
  172. data/app/packs/images/decidim/vendor/social-share-button/odnoklassniki.svg +1 -0
  173. data/app/packs/images/decidim/vendor/social-share-button/pinterest.svg +8 -0
  174. data/app/packs/images/decidim/vendor/social-share-button/qq.svg +8 -0
  175. data/app/packs/images/decidim/vendor/social-share-button/reddit.svg +6 -0
  176. data/app/packs/images/decidim/vendor/social-share-button/telegram.svg +12 -0
  177. data/app/packs/images/decidim/vendor/social-share-button/tumblr.svg +8 -0
  178. data/app/packs/images/decidim/vendor/social-share-button/twitter.svg +8 -0
  179. data/app/packs/images/decidim/vendor/social-share-button/vkontakte.svg +23 -0
  180. data/app/packs/images/decidim/vendor/social-share-button/wechat.svg +8 -0
  181. data/app/packs/images/decidim/vendor/social-share-button/weibo.svg +10 -0
  182. data/app/packs/images/decidim/vendor/social-share-button/whatsapp.svg +10 -0
  183. data/app/packs/images/decidim/vendor/social-share-button/xing.svg +79 -0
  184. data/app/{assets/javascripts/decidim/account_form.js.es6 → packs/src/decidim/account_form.js} +0 -0
  185. data/app/{assets/javascripts/decidim/ajax_modals.js.es6 → packs/src/decidim/ajax_modals.js} +0 -0
  186. data/app/packs/src/decidim/append_elements.js +6 -0
  187. data/app/{assets/javascripts/decidim/append_redirect_url_to_modals.js.es6 → packs/src/decidim/append_redirect_url_to_modals.js} +0 -1
  188. data/app/packs/src/decidim/callout.js +16 -0
  189. data/app/packs/src/decidim/check_boxes_tree.js +185 -0
  190. data/app/packs/src/decidim/clipboard.js +119 -0
  191. data/app/packs/src/decidim/conferences.js +15 -0
  192. data/app/packs/src/decidim/configuration.js +17 -0
  193. data/app/packs/src/decidim/confirm.js +171 -0
  194. data/app/{assets/javascripts/decidim/conversations.js.es6 → packs/src/decidim/conversations.js} +2 -2
  195. data/app/packs/src/decidim/data_picker.js +272 -0
  196. data/app/packs/src/decidim/decidim_application.js +0 -0
  197. data/app/packs/src/decidim/delayed.js +23 -0
  198. data/app/{assets/javascripts/decidim/diff_mode_dropdown.js.es6 → packs/src/decidim/diff_mode_dropdown.js} +0 -0
  199. data/app/packs/src/decidim/dropdowns_menus.js +29 -0
  200. data/app/packs/src/decidim/editor.js +72 -0
  201. data/app/packs/src/decidim/editor/attribute_diff.js +28 -0
  202. data/app/packs/src/decidim/editor/history_override.js +110 -0
  203. data/app/packs/src/decidim/editor/linebreak_module.js +183 -0
  204. data/app/packs/src/decidim/editor/modified_backspace_offset1.js +96 -0
  205. data/app/packs/src/decidim/editor/modified_backspace_offset_any.js +46 -0
  206. data/app/packs/src/decidim/editor/modified_enter.js +116 -0
  207. data/app/packs/src/decidim/external_domain_warning.js +33 -0
  208. data/app/packs/src/decidim/external_link.js +56 -0
  209. data/app/{assets/javascripts/decidim/floating_help.js.es6 → packs/src/decidim/floating_help.js} +0 -0
  210. data/app/packs/src/decidim/form_datepicker.js +21 -0
  211. data/app/{assets/javascripts → packs/src}/decidim/form_filter.component.test.js +8 -9
  212. data/app/packs/src/decidim/form_filter.component_for_testing.js +7 -0
  213. data/app/packs/src/decidim/form_filter.js +319 -0
  214. data/app/packs/src/decidim/form_validator.js +56 -0
  215. data/app/packs/src/decidim/foundation_datepicker_locales.js +65 -0
  216. data/app/{assets/javascripts/decidim/gallery.js.es6 → packs/src/decidim/gallery.js} +0 -0
  217. data/app/packs/src/decidim/geocoding.js +54 -0
  218. data/app/packs/src/decidim/geocoding/attach_input.js +127 -0
  219. data/app/packs/src/decidim/geocoding/coordinate_input.js +21 -0
  220. data/app/packs/src/decidim/geocoding/format_address.js +27 -0
  221. data/app/packs/src/decidim/geocoding/provider/here.js +101 -0
  222. data/app/packs/src/decidim/geocoding/provider/photon.js +71 -0
  223. data/app/packs/src/decidim/history.js +44 -0
  224. data/app/packs/src/decidim/icon.js +51 -0
  225. data/app/{assets/javascripts/decidim/identity_selector_dialog.js.es6 → packs/src/decidim/identity_selector_dialog.js} +2 -3
  226. data/app/packs/src/decidim/impersonation.js +23 -0
  227. data/app/packs/src/decidim/index.js +69 -0
  228. data/app/packs/src/decidim/input_autojump.js +38 -0
  229. data/app/packs/src/decidim/input_character_counter.js +121 -0
  230. data/app/packs/src/decidim/input_emoji.js +33 -0
  231. data/app/{assets/javascripts/decidim/input_hashtags.js.es6 → packs/src/decidim/input_hashtags.js} +2 -1
  232. data/app/{assets/javascripts/decidim/input_mentions.js.es6 → packs/src/decidim/input_mentions.js} +10 -3
  233. data/app/{assets/javascripts/decidim/input_multiple_mentions.js.es6 → packs/src/decidim/input_multiple_mentions.js} +5 -3
  234. data/app/{assets/javascripts/decidim/input_tags.js.es6 → packs/src/decidim/input_tags.js} +1 -1
  235. data/app/packs/src/decidim/map.js +37 -0
  236. data/app/packs/src/decidim/map/controller.js +78 -0
  237. data/app/packs/src/decidim/map/controller/drag_marker.js +50 -0
  238. data/app/packs/src/decidim/map/controller/markers.js +75 -0
  239. data/app/packs/src/decidim/map/controller/static.js +44 -0
  240. data/app/packs/src/decidim/map/controller_registry.js +17 -0
  241. data/app/packs/src/decidim/map/factory.js +44 -0
  242. data/app/packs/src/decidim/map/icon.js +31 -0
  243. data/app/packs/src/decidim/map/integration/forms.js +29 -0
  244. data/app/packs/src/decidim/map/legacy.js +80 -0
  245. data/app/packs/src/decidim/map/provider/default.js +12 -0
  246. data/app/packs/src/decidim/map/provider/here.js +13 -0
  247. data/app/{assets/javascripts/decidim/notifications.js.es6 → packs/src/decidim/notifications.js} +0 -0
  248. data/app/{assets/javascripts/decidim/represent_user_group.js.es6 → packs/src/decidim/represent_user_group.js} +0 -0
  249. data/app/{assets/javascripts/decidim/responsive_horizontal_tabs.js.es6 → packs/src/decidim/responsive_horizontal_tabs.js} +0 -0
  250. data/app/packs/src/decidim/results_listing.js +41 -0
  251. data/app/packs/src/decidim/security/selfxss_warning.js +16 -0
  252. data/app/packs/src/decidim/session_timeouter.js +133 -0
  253. data/app/{assets/javascripts/decidim/slug_form.js.es6 → packs/src/decidim/slug_form.js} +0 -0
  254. data/app/{assets/javascripts → packs/src}/decidim/start_conversation_dialog.js +1 -1
  255. data/app/{assets/javascripts/decidim/tooltip_keep_on_hover.js.es6 → packs/src/decidim/tooltip_keep_on_hover.js} +0 -0
  256. data/app/{assets/javascripts/decidim/user_registrations.js.es6 → packs/src/decidim/user_registrations.js} +0 -0
  257. data/app/packs/src/decidim/vendor/foundation-datepicker.js +1431 -0
  258. data/app/packs/src/decidim/vendor/jquery-tmpl.js +488 -0
  259. data/{vendor/assets/javascripts → app/packs/src/decidim/vendor}/leaflet-tilelayer-here.js +1 -0
  260. data/{vendor/assets/javascripts → app/packs/src/decidim/vendor}/modernizr.js +3 -1
  261. data/{vendor/assets/javascripts → app/packs/src/decidim/vendor}/tribute.js +2 -0
  262. data/app/packs/src/decidim/vizzs.js +1 -0
  263. data/app/{assets/javascripts/decidim/vizzs/areachart.js.es6 → packs/src/decidim/vizzs/areachart.js} +4 -3
  264. data/app/{assets/javascripts/decidim/vizzs/linechart.js.es6 → packs/src/decidim/vizzs/linechart.js} +3 -3
  265. data/app/{assets/javascripts/decidim/vizzs/metrics.js.es6 → packs/src/decidim/vizzs/metrics.js} +3 -3
  266. data/app/packs/src/decidim/vizzs/renders.js +9 -0
  267. data/app/{assets/javascripts/decidim/vizzs/rowchart.js.es6 → packs/src/decidim/vizzs/rowchart.js} +3 -3
  268. data/app/{assets/javascripts/decidim/widget.js.es6 → packs/src/decidim/widget.js} +0 -0
  269. data/app/{assets → packs}/stylesheets/decidim/_decidim-settings.scss +2 -0
  270. data/app/packs/stylesheets/decidim/_decidim.scss +19 -0
  271. data/app/{assets/stylesheets/decidim/editor.scss → packs/stylesheets/decidim/_editor.scss} +3 -3
  272. data/app/{assets → packs}/stylesheets/decidim/_properties.scss +0 -0
  273. data/app/{assets → packs}/stylesheets/decidim/_variables.scss +2 -2
  274. data/app/packs/stylesheets/decidim/application.scss +9 -0
  275. data/app/{assets/stylesheets/decidim/conference-diploma.css.scss → packs/stylesheets/decidim/conference-diploma.scss} +8 -8
  276. data/app/packs/stylesheets/decidim/decidim_application.scss +7 -0
  277. data/app/{assets → packs}/stylesheets/decidim/email.scss +1 -1
  278. data/app/{assets → packs}/stylesheets/decidim/extras/_add_comments.scss +0 -0
  279. data/app/{assets → packs}/stylesheets/decidim/extras/_announcement.scss +0 -0
  280. data/app/{assets → packs}/stylesheets/decidim/extras/_collection-sort-controls.scss +0 -0
  281. data/app/{assets → packs}/stylesheets/decidim/extras/_embed.scss +0 -0
  282. data/app/{assets → packs}/stylesheets/decidim/extras/_external-links.scss +16 -0
  283. data/app/packs/stylesheets/decidim/extras/_extras.scss +16 -0
  284. data/app/{assets → packs}/stylesheets/decidim/extras/_impersonation-bar.scss +0 -0
  285. data/app/{assets → packs}/stylesheets/decidim/extras/_label-required.scss +0 -0
  286. data/app/{assets → packs}/stylesheets/decidim/extras/_leaflet.scss +0 -0
  287. data/app/{assets → packs}/stylesheets/decidim/extras/_meeting-registrations.scss +5 -0
  288. data/app/{assets → packs}/stylesheets/decidim/extras/_proposal_form.scss +0 -0
  289. data/app/{assets → packs}/stylesheets/decidim/extras/_quill.scss +0 -0
  290. data/app/{assets → packs}/stylesheets/decidim/extras/_reference.scss +0 -0
  291. data/app/{assets → packs}/stylesheets/decidim/extras/_results-per-page.scss +0 -0
  292. data/app/{assets → packs}/stylesheets/decidim/extras/_social_icons_mini.scss +0 -0
  293. data/app/{assets/stylesheets/decidim/extras/_social_share.css.scss → packs/stylesheets/decidim/extras/_social_share.scss} +6 -3
  294. data/app/{assets → packs}/stylesheets/decidim/extras/_status-labels.scss +0 -0
  295. data/app/{assets → packs}/stylesheets/decidim/layouts/_highlighted_banner.scss +0 -0
  296. data/app/{assets → packs}/stylesheets/decidim/layouts/_home.scss +35 -46
  297. data/app/packs/stylesheets/decidim/layouts/_layouts.scss +5 -0
  298. data/app/{assets → packs}/stylesheets/decidim/layouts/_logo.scss +0 -0
  299. data/app/{assets → packs}/stylesheets/decidim/layouts/_user.scss +0 -0
  300. data/app/{assets → packs}/stylesheets/decidim/layouts/_view.scss +0 -0
  301. data/app/packs/stylesheets/decidim/map.scss +3 -0
  302. data/app/{assets → packs}/stylesheets/decidim/modules/_address.scss +0 -0
  303. data/app/{assets → packs}/stylesheets/decidim/modules/_author-avatar.scss +1 -1
  304. data/app/{assets → packs}/stylesheets/decidim/modules/_badges.scss +0 -0
  305. data/app/{assets → packs}/stylesheets/decidim/modules/_block-banner.scss +0 -0
  306. data/app/{assets → packs}/stylesheets/decidim/modules/_buttons.scss +1 -1
  307. data/app/{assets → packs}/stylesheets/decidim/modules/_callout.scss +0 -0
  308. data/app/{assets → packs}/stylesheets/decidim/modules/_card-grid.scss +0 -0
  309. data/app/{assets → packs}/stylesheets/decidim/modules/_cards.scss +8 -8
  310. data/app/{assets → packs}/stylesheets/decidim/modules/_collapsible-list.scss +0 -0
  311. data/app/{assets → packs}/stylesheets/decidim/modules/_comments.scss +46 -12
  312. data/app/{assets → packs}/stylesheets/decidim/modules/_conference-diploma.scss +9 -9
  313. data/app/{assets → packs}/stylesheets/decidim/modules/_conference-media.scss +3 -1
  314. data/app/{assets → packs}/stylesheets/decidim/modules/_conference-nav.scss +0 -0
  315. data/app/{assets → packs}/stylesheets/decidim/modules/_conference-programme.scss +0 -0
  316. data/app/{assets → packs}/stylesheets/decidim/modules/_conference-registration.scss +0 -0
  317. data/app/{assets → packs}/stylesheets/decidim/modules/_conference-speaker.scss +0 -0
  318. data/app/{assets → packs}/stylesheets/decidim/modules/_confirm.scss +0 -0
  319. data/app/{assets → packs}/stylesheets/decidim/modules/_conversation.scss +6 -1
  320. data/app/{assets → packs}/stylesheets/decidim/modules/_cookie-bar.scss +0 -0
  321. data/app/{assets → packs}/stylesheets/decidim/modules/_data-picker.scss +0 -0
  322. data/app/{assets → packs}/stylesheets/decidim/modules/_datepicker.scss +0 -0
  323. data/app/{assets → packs}/stylesheets/decidim/modules/_definition-data.scss +0 -0
  324. data/app/{assets → packs}/stylesheets/decidim/modules/_docs-manager.scss +0 -0
  325. data/app/{assets → packs}/stylesheets/decidim/modules/_extra.scss +0 -0
  326. data/app/{assets → packs}/stylesheets/decidim/modules/_filter-tags.scss +0 -0
  327. data/app/{assets → packs}/stylesheets/decidim/modules/_filters.scss +1 -1
  328. data/app/{assets → packs}/stylesheets/decidim/modules/_fingerprint.scss +0 -0
  329. data/app/{assets → packs}/stylesheets/decidim/modules/_flag.scss +0 -0
  330. data/app/{assets → packs}/stylesheets/decidim/modules/_floating-helper.scss +2 -2
  331. data/app/{assets → packs}/stylesheets/decidim/modules/_footer.scss +0 -0
  332. data/app/{assets → packs}/stylesheets/decidim/modules/_forms.scss +18 -1
  333. data/app/{assets → packs}/stylesheets/decidim/modules/_help.scss +0 -0
  334. data/app/{assets → packs}/stylesheets/decidim/modules/_horizontal-tabs.scss +1 -1
  335. data/app/{assets → packs}/stylesheets/decidim/modules/_hover-section.scss +0 -0
  336. data/app/{assets → packs}/stylesheets/decidim/modules/_icons.scss +0 -0
  337. data/app/{assets → packs}/stylesheets/decidim/modules/_inline-filters.scss +1 -1
  338. data/app/{assets → packs}/stylesheets/decidim/modules/_input-gallery.scss +0 -0
  339. data/app/{assets → packs}/stylesheets/decidim/modules/_input-mentions.scss +1 -1
  340. data/app/{assets → packs}/stylesheets/decidim/modules/_input-multiple-mentions.scss +1 -1
  341. data/app/{assets → packs}/stylesheets/decidim/modules/_input-tags.scss +2 -2
  342. data/app/{assets → packs}/stylesheets/decidim/modules/_layout.scss +0 -0
  343. data/app/{assets → packs}/stylesheets/decidim/modules/_list-docs.scss +0 -0
  344. data/app/{assets → packs}/stylesheets/decidim/modules/_list-request.scss +1 -1
  345. data/app/{assets → packs}/stylesheets/decidim/modules/_loading-spinner.scss +0 -0
  346. data/app/{assets → packs}/stylesheets/decidim/modules/_main-container.scss +0 -0
  347. data/app/{assets → packs}/stylesheets/decidim/modules/_map.scss +1 -1
  348. data/app/{assets → packs}/stylesheets/decidim/modules/_margins.scss +0 -0
  349. data/app/{assets → packs}/stylesheets/decidim/modules/_messages.scss +0 -0
  350. data/app/packs/stylesheets/decidim/modules/_modules.scss +92 -0
  351. data/app/{assets → packs}/stylesheets/decidim/modules/_navbar.scss +3 -3
  352. data/app/{assets → packs}/stylesheets/decidim/modules/_notification.scss +0 -0
  353. data/app/{assets → packs}/stylesheets/decidim/modules/_omnipresent_banner.scss +0 -0
  354. data/app/{assets → packs}/stylesheets/decidim/modules/_opinion-toggle.scss +0 -0
  355. data/app/{assets → packs}/stylesheets/decidim/modules/_order-by.scss +0 -4
  356. data/app/{assets → packs}/stylesheets/decidim/modules/_pagination.scss +0 -0
  357. data/app/{assets → packs}/stylesheets/decidim/modules/_process-header.scss +0 -0
  358. data/app/{assets → packs}/stylesheets/decidim/modules/_process-info.scss +0 -0
  359. data/app/{assets → packs}/stylesheets/decidim/modules/_process-nav.scss +3 -3
  360. data/app/{assets → packs}/stylesheets/decidim/modules/_process-phase.scss +1 -1
  361. data/app/{assets → packs}/stylesheets/decidim/modules/_progress-bar.scss +0 -0
  362. data/app/{assets → packs}/stylesheets/decidim/modules/_reference.scss +0 -0
  363. data/app/{assets → packs}/stylesheets/decidim/modules/_reveal.scss +15 -0
  364. data/app/{assets → packs}/stylesheets/decidim/modules/_share.scss +0 -0
  365. data/app/{assets → packs}/stylesheets/decidim/modules/_signup.scss +0 -0
  366. data/app/{assets → packs}/stylesheets/decidim/modules/_space-stats.scss +0 -0
  367. data/app/{assets → packs}/stylesheets/decidim/modules/_static-pages.scss +0 -0
  368. data/app/packs/stylesheets/decidim/modules/_statistics.scss +53 -0
  369. data/app/{assets → packs}/stylesheets/decidim/modules/_status-labels.scss +0 -0
  370. data/app/{assets → packs}/stylesheets/decidim/modules/_sticky.scss +0 -0
  371. data/app/{assets → packs}/stylesheets/decidim/modules/_tags.scss +0 -0
  372. data/app/{assets → packs}/stylesheets/decidim/modules/_timeline.scss +2 -2
  373. data/app/{assets → packs}/stylesheets/decidim/modules/_title-action.scss +0 -0
  374. data/app/packs/stylesheets/decidim/modules/_toggle.scss +9 -0
  375. data/app/{assets → packs}/stylesheets/decidim/modules/_typography.scss +5 -4
  376. data/app/{assets → packs}/stylesheets/decidim/modules/_user-form.scss +0 -0
  377. data/app/{assets → packs}/stylesheets/decidim/modules/_versions.scss +0 -0
  378. data/app/{assets → packs}/stylesheets/decidim/modules/_video.scss +0 -0
  379. data/app/{assets → packs}/stylesheets/decidim/modules/_wizard-steps.scss +0 -0
  380. data/app/packs/stylesheets/decidim/plugins/MarkerCluster.Default.scss +67 -0
  381. data/app/packs/stylesheets/decidim/plugins/MarkerCluster.scss +15 -0
  382. data/app/packs/stylesheets/decidim/plugins/leaflet.scss +700 -0
  383. data/app/packs/stylesheets/decidim/utils/_fontface.scss +29 -0
  384. data/app/{assets → packs}/stylesheets/decidim/utils/_helpers.scss +13 -0
  385. data/app/{assets → packs}/stylesheets/decidim/utils/_keyframes.scss +0 -0
  386. data/app/{assets → packs}/stylesheets/decidim/utils/_mixins.scss +5 -5
  387. data/app/{assets → packs}/stylesheets/decidim/utils/_settings.scss +10 -4
  388. data/app/{assets → packs}/stylesheets/decidim/utils/_toggle-expand.scss +0 -0
  389. data/app/packs/stylesheets/decidim/vendor/_social_share_button.scss +129 -0
  390. data/app/packs/stylesheets/decidim/vizzs.scss +8 -0
  391. data/app/{assets → packs}/stylesheets/decidim/vizzs/_areachart.scss +0 -0
  392. data/app/{assets → packs}/stylesheets/decidim/vizzs/_chart-tooltip.scss +0 -0
  393. data/app/{assets → packs}/stylesheets/decidim/vizzs/_linechart.scss +1 -1
  394. data/app/{assets → packs}/stylesheets/decidim/vizzs/_orgchart.scss +0 -0
  395. data/app/{assets → packs}/stylesheets/decidim/vizzs/_rowchart.scss +1 -1
  396. data/app/packs/stylesheets/decidim/vizzs/_vizzs.scss +5 -0
  397. data/app/{assets → packs}/stylesheets/foundation-overrides/components/_button-group.scss +3 -1
  398. data/app/presenters/decidim/attachment_presenter.rb +1 -6
  399. data/app/presenters/decidim/home_stats_presenter.rb +6 -35
  400. data/app/presenters/decidim/menu_item_presenter.rb +12 -12
  401. data/app/presenters/decidim/menu_presenter.rb +2 -3
  402. data/app/presenters/decidim/nil_presenter.rb +1 -1
  403. data/app/presenters/decidim/official_author_presenter.rb +1 -1
  404. data/app/presenters/decidim/stats_presenter.rb +32 -0
  405. data/app/presenters/decidim/user_group_presenter.rb +0 -2
  406. data/app/presenters/decidim/user_presenter.rb +14 -2
  407. data/app/queries/decidim/metric_manage.rb +3 -3
  408. data/app/queries/decidim/similar_emendations.rb +1 -1
  409. data/app/queries/decidim/stats_users_count.rb +1 -2
  410. data/app/serializers/decidim/exporters/participatory_space_components_serializer.rb +2 -1
  411. data/app/serializers/decidim/exporters/serializer.rb +29 -0
  412. data/app/services/decidim/action_authorizer.rb +3 -2
  413. data/app/services/decidim/activity_search.rb +46 -1
  414. data/app/services/decidim/data_portability_exporter.rb +1 -1
  415. data/app/services/decidim/zip_stream/writer.rb +39 -0
  416. data/app/uploaders/decidim/application_uploader.rb +68 -27
  417. data/app/uploaders/decidim/attachment_uploader.rb +11 -57
  418. data/app/uploaders/decidim/avatar_uploader.rb +8 -14
  419. data/app/uploaders/decidim/cw/application_uploader.rb +77 -0
  420. data/app/uploaders/decidim/cw/attachment_uploader.rb +56 -0
  421. data/app/uploaders/decidim/cw/avatar_uploader.rb +24 -0
  422. data/app/uploaders/decidim/cw/banner_image_uploader.rb +7 -0
  423. data/app/uploaders/decidim/{data_portability_uploader.rb → cw/data_portability_uploader.rb} +1 -1
  424. data/app/uploaders/decidim/cw/downloader.rb +9 -0
  425. data/app/uploaders/decidim/cw/hero_image_uploader.rb +10 -0
  426. data/app/uploaders/decidim/cw/homepage_image_uploader.rb +14 -0
  427. data/app/uploaders/decidim/cw/image_uploader.rb +78 -0
  428. data/app/uploaders/decidim/cw/newsletter_template_image_uploader.rb +38 -0
  429. data/app/uploaders/decidim/cw/oauth_application_logo_uploader.rb +10 -0
  430. data/app/uploaders/decidim/cw/official_image_footer_uploader.rb +10 -0
  431. data/app/uploaders/decidim/cw/official_image_header_uploader.rb +10 -0
  432. data/app/uploaders/decidim/{open_data_uploader.rb → cw/open_data_uploader.rb} +1 -1
  433. data/app/uploaders/decidim/cw/organization_favicon_uploader.rb +18 -0
  434. data/app/uploaders/decidim/cw/organization_logo_uploader.rb +10 -0
  435. data/app/uploaders/decidim/cw/record_image_uploader.rb +15 -0
  436. data/app/uploaders/decidim/hero_image_uploader.rb +3 -1
  437. data/app/uploaders/decidim/homepage_image_uploader.rb +2 -2
  438. data/app/uploaders/decidim/image_uploader.rb +11 -47
  439. data/app/uploaders/decidim/newsletter_template_image_uploader.rb +3 -1
  440. data/app/uploaders/decidim/oauth_application_logo_uploader.rb +3 -1
  441. data/app/uploaders/decidim/official_image_footer_uploader.rb +3 -1
  442. data/app/uploaders/decidim/official_image_header_uploader.rb +3 -1
  443. data/app/uploaders/decidim/organization_favicon_uploader.rb +3 -3
  444. data/app/uploaders/decidim/organization_logo_uploader.rb +2 -2
  445. data/app/validators/organization_present_validator.rb +15 -0
  446. data/app/validators/uploader_content_type_validator.rb +2 -4
  447. data/app/validators/uploader_image_dimensions_validator.rb +49 -0
  448. data/app/views/decidim/account/show.html.erb +9 -1
  449. data/app/views/decidim/amendments/edit_draft.html.erb +1 -1
  450. data/app/views/decidim/amendments/new.html.erb +1 -1
  451. data/app/views/decidim/application/_attachments.html.erb +2 -2
  452. data/app/views/decidim/application/_collection.html.erb +8 -2
  453. data/app/views/decidim/application/_document.html.erb +3 -3
  454. data/app/views/decidim/application/_documents.html.erb +5 -3
  455. data/app/views/decidim/application/_photos.html.erb +1 -1
  456. data/app/views/decidim/block_user_mailer/notify.html.erb +4 -4
  457. data/app/views/decidim/doorkeeper/authorizations/new.html.erb +1 -1
  458. data/app/views/decidim/export_mailer/data_portability_export.html.erb +7 -2
  459. data/app/views/decidim/export_mailer/export.html.erb +3 -1
  460. data/app/views/decidim/homepage/show.html.erb +1 -0
  461. data/app/views/decidim/last_activities/index.html.erb +0 -2
  462. data/app/views/decidim/links/_modal.html.erb +22 -0
  463. data/app/views/decidim/links/_warning.html.erb +4 -0
  464. data/app/views/decidim/links/new.html.erb +22 -0
  465. data/app/views/decidim/links/new.js.erb +8 -0
  466. data/app/views/decidim/messaging/conversation_mailer/comanagers_new_conversation.html.erb +5 -5
  467. data/app/views/decidim/messaging/conversation_mailer/comanagers_new_message.html.erb +5 -5
  468. data/app/views/decidim/messaging/conversation_mailer/new_conversation.html.erb +4 -4
  469. data/app/views/decidim/messaging/conversation_mailer/new_group_conversation.html.erb +5 -5
  470. data/app/views/decidim/messaging/conversation_mailer/new_group_message.html.erb +5 -5
  471. data/app/views/decidim/messaging/conversation_mailer/new_message.html.erb +4 -4
  472. data/app/views/decidim/messaging/conversations/_add_conversation_users.html.erb +0 -1
  473. data/app/views/decidim/messaging/conversations/_conversation.html.erb +2 -2
  474. data/app/views/decidim/messaging/conversations/_messages.html.erb +1 -1
  475. data/app/views/decidim/messaging/conversations/_new_conversation_button.html.erb +0 -1
  476. data/app/views/decidim/messaging/conversations/_reply.html.erb +3 -2
  477. data/app/views/decidim/messaging/conversations/_show.html.erb +9 -7
  478. data/app/views/decidim/messaging/conversations/_start.html.erb +3 -2
  479. data/app/views/decidim/newsletters/show.html.erb +1 -1
  480. data/app/views/decidim/newsletters_opt_in_mailer/notify.html.erb +6 -6
  481. data/app/views/decidim/notification_mailer/event_received.html.erb +24 -7
  482. data/app/views/decidim/pages/_standalone.html.erb +8 -10
  483. data/app/views/decidim/reported_mailer/hide.html.erb +3 -3
  484. data/app/views/decidim/reported_mailer/report.html.erb +3 -3
  485. data/app/views/decidim/searches/index.html.erb +0 -2
  486. data/app/views/decidim/shared/_extended_navigation_bar.html.erb +3 -3
  487. data/app/views/decidim/shared/_orders.html.erb +6 -6
  488. data/app/views/decidim/shared/_results_per_page.html.erb +6 -6
  489. data/app/views/decidim/shared/_share_modal.html.erb +13 -4
  490. data/app/views/decidim/shared/participatory_space_filters/_filters.html.erb +7 -4
  491. data/app/views/decidim/shared/participatory_space_filters/_show.html.erb +8 -6
  492. data/app/views/decidim/user_report_mailer/notify.html.erb +4 -4
  493. data/app/views/devise/mailer/confirmation_instructions.html.erb +4 -3
  494. data/app/views/devise/mailer/invitation_instructions.html.erb +5 -5
  495. data/app/views/devise/mailer/invite_admin.html.erb +5 -5
  496. data/app/views/devise/mailer/invite_collaborator.html.erb +5 -5
  497. data/app/views/devise/mailer/invite_private_user.html.erb +5 -5
  498. data/app/views/devise/mailer/organization_admin_invitation_instructions.html.erb +6 -5
  499. data/app/views/devise/mailer/password_change.html.erb +2 -2
  500. data/app/views/devise/mailer/reset_password_instructions.html.erb +6 -5
  501. data/app/views/devise/mailer/unlock_instructions.html.erb +4 -4
  502. data/app/views/layouts/decidim/_application.html.erb +3 -2
  503. data/app/views/layouts/decidim/_cookie_warning.html.erb +1 -1
  504. data/app/views/layouts/decidim/_cors.html.erb +8 -0
  505. data/app/views/layouts/decidim/_head.html.erb +2 -4
  506. data/app/views/layouts/decidim/_impersonation_warning.html.erb +0 -1
  507. data/app/views/layouts/decidim/_js_configuration.html.erb +12 -2
  508. data/app/views/layouts/decidim/_language_chooser.html.erb +5 -5
  509. data/app/views/layouts/decidim/_logo.html.erb +2 -2
  510. data/app/views/layouts/decidim/_mailer_logo.html.erb +6 -2
  511. data/app/views/layouts/decidim/_main_footer.html.erb +2 -2
  512. data/app/views/layouts/decidim/_mini_footer.html.erb +2 -2
  513. data/app/views/layouts/decidim/_timeout_modal.html.erb +4 -3
  514. data/app/views/layouts/decidim/_user_menu.html.erb +6 -6
  515. data/app/views/layouts/decidim/_wrapper.html.erb +65 -60
  516. data/app/views/layouts/decidim/mailer.html.erb +3 -3
  517. data/app/views/layouts/decidim/newsletter_base.html.erb +1 -1
  518. data/app/views/layouts/decidim/widget.html.erb +4 -3
  519. data/config/assets.rb +16 -0
  520. data/config/initializers/devise.rb +1 -1
  521. data/config/locales/ar.yml +2 -18
  522. data/config/locales/bg.yml +2 -18
  523. data/config/locales/ca.yml +41 -21
  524. data/config/locales/cs.yml +73 -51
  525. data/config/locales/de.yml +25 -22
  526. data/config/locales/el.yml +2 -22
  527. data/config/locales/en.yml +43 -21
  528. data/config/locales/eo.yml +0 -2
  529. data/config/locales/es-MX.yml +27 -20
  530. data/config/locales/es-PY.yml +27 -20
  531. data/config/locales/es.yml +27 -20
  532. data/config/locales/eu.yml +2 -17
  533. data/config/locales/fi-plain.yml +42 -20
  534. data/config/locales/fi.yml +43 -21
  535. data/config/locales/fr-CA.yml +20 -22
  536. data/config/locales/fr-LU.yml +1676 -0
  537. data/config/locales/fr.yml +21 -23
  538. data/config/locales/gl.yml +40 -17
  539. data/config/locales/hu.yml +2 -18
  540. data/config/locales/id-ID.yml +2 -17
  541. data/config/locales/is-IS.yml +0 -7
  542. data/config/locales/it.yml +57 -21
  543. data/config/locales/ja.yml +129 -27
  544. data/config/locales/lb-LU.yml +1 -0
  545. data/config/locales/lv.yml +2 -17
  546. data/config/locales/nl.yml +34 -20
  547. data/config/locales/no.yml +2 -22
  548. data/config/locales/pl.yml +45 -42
  549. data/config/locales/pt-BR.yml +480 -20
  550. data/config/locales/pt.yml +2 -22
  551. data/config/locales/ro-RO.yml +64 -23
  552. data/config/locales/ru.yml +2 -15
  553. data/config/locales/sk.yml +2 -18
  554. data/config/locales/sl.yml +0 -3
  555. data/config/locales/sv.yml +102 -20
  556. data/config/locales/tr-TR.yml +2 -22
  557. data/config/locales/uk.yml +2 -14
  558. data/config/locales/zh-CN.yml +2 -21
  559. data/config/routes.rb +7 -0
  560. data/db/migrate/20170605162500_add_hierarchy_to_scopes.rb +1 -1
  561. data/db/migrate/20180810092428_move_organization_fields_to_hero_content_block.rb +5 -4
  562. data/db/migrate/20210210114657_add_external_domain_whitelist_to_organization.rb +15 -0
  563. data/db/migrate/20210309190009_create_active_storage_tables.active_storage.rb +29 -0
  564. data/db/migrate/20210407190753_allow_null_organization_logo_column_in_oauth_applications_table.rb +7 -0
  565. data/db/migrate/20210412120115_add_enable_participatory_space_filters_to_organization.rb +7 -0
  566. data/db/migrate/20210419165805_create_decidim_content_block_attachments.rb +10 -0
  567. data/db/migrate/20210629172525_fix_blocked_user_names_in_action_log.rb +45 -0
  568. data/db/seeds.rb +10 -3
  569. data/lib/decidim/action_authorization.rb +1 -1
  570. data/lib/decidim/api/functions/category_list.rb +31 -0
  571. data/lib/decidim/api/input_filters/category_input_filter.rb +18 -0
  572. data/lib/decidim/api/interfaces/categories_container_interface.rb +19 -0
  573. data/lib/decidim/carrier_wave_migrator_service.rb +295 -0
  574. data/lib/decidim/core.rb +27 -8
  575. data/lib/decidim/core/api.rb +3 -0
  576. data/lib/decidim/core/engine.rb +65 -56
  577. data/lib/decidim/core/test.rb +4 -0
  578. data/lib/decidim/core/test/factories.rb +2 -0
  579. data/lib/decidim/core/test/shared_examples/admin_log_presenter_examples.rb +3 -1
  580. data/lib/decidim/core/test/shared_examples/admin_resource_gallery_examples.rb +2 -2
  581. data/lib/decidim/core/test/shared_examples/assembly_announcements_examples.rb +34 -0
  582. data/lib/decidim/core/test/shared_examples/categories_container_examples.rb +22 -0
  583. data/lib/decidim/core/test/shared_examples/comments_examples.rb +189 -6
  584. data/lib/decidim/core/test/shared_examples/comments_reports_examples.rb +68 -0
  585. data/lib/decidim/core/test/shared_examples/controller_render_views.rb +8 -3
  586. data/lib/decidim/core/test/shared_examples/has_attachment_collections.rb +3 -3
  587. data/lib/decidim/core/test/shared_examples/has_attachments.rb +2 -2
  588. data/lib/decidim/core/test/shared_examples/logo_email.rb +3 -2
  589. data/lib/decidim/core/test/shared_examples/manage_component_share_tokens.rb +1 -1
  590. data/lib/decidim/core/test/shared_examples/map_examples.rb +28 -11
  591. data/lib/decidim/core/test/shared_examples/paginated_resource_examples.rb +1 -0
  592. data/lib/decidim/core/test/shared_examples/share_link_examples.rb +50 -0
  593. data/lib/decidim/core/version.rb +1 -1
  594. data/lib/decidim/data_portability_serializers/data_portability_conversation_serializer.rb +1 -0
  595. data/lib/decidim/diffy_extension.rb +1 -1
  596. data/lib/decidim/events/email_event.rb +12 -0
  597. data/lib/decidim/exporters/csv.rb +2 -2
  598. data/lib/decidim/exporters/excel.rb +24 -20
  599. data/lib/decidim/exporters/json.rb +1 -1
  600. data/lib/decidim/file_validator_humanizer.rb +3 -2
  601. data/lib/decidim/filter_form_builder.rb +2 -2
  602. data/lib/decidim/fingerprintable.rb +2 -2
  603. data/lib/decidim/form_builder.rb +26 -20
  604. data/lib/decidim/gamification/badge.rb +1 -1
  605. data/lib/decidim/geocodable.rb +4 -0
  606. data/lib/decidim/has_upload_validations.rb +37 -4
  607. data/lib/decidim/map/dynamic_map.rb +2 -2
  608. data/lib/decidim/map/provider/autocomplete/here.rb +1 -1
  609. data/lib/decidim/map/provider/autocomplete/osm.rb +1 -1
  610. data/lib/decidim/map/provider/dynamic_map/here.rb +1 -1
  611. data/lib/decidim/menu.rb +64 -1
  612. data/lib/decidim/menu_item.rb +5 -2
  613. data/lib/decidim/middleware/current_organization.rb +57 -0
  614. data/lib/decidim/middleware/strip_x_forwarded_host.rb +16 -0
  615. data/lib/decidim/participable.rb +41 -33
  616. data/lib/decidim/rails.rb +21 -0
  617. data/lib/decidim/reportable.rb +2 -2
  618. data/lib/decidim/resource_manifest.rb +13 -0
  619. data/lib/decidim/resourceable.rb +8 -0
  620. data/lib/decidim/searchable.rb +1 -1
  621. data/lib/decidim/traceable.rb +2 -3
  622. data/lib/decidim/translatable_resource.rb +1 -1
  623. data/lib/decidim/view_model.rb +1 -0
  624. data/lib/decidim/webpacker.rb +32 -0
  625. data/lib/decidim/webpacker/configuration.rb +89 -0
  626. data/lib/decidim/webpacker/postcss.config.js +16 -0
  627. data/lib/decidim/webpacker/runner.rb +24 -0
  628. data/lib/decidim/webpacker/webpack/base.js +6 -0
  629. data/lib/decidim/webpacker/webpack/custom.js +97 -0
  630. data/lib/decidim/webpacker/webpack/development.js +7 -0
  631. data/lib/decidim/webpacker/webpack/production.js +7 -0
  632. data/lib/decidim/webpacker/webpack/test.js +7 -0
  633. data/lib/decidim/webpacker/webpacker.yml +68 -0
  634. data/lib/gem_overrides/webpacker/runner.rb +9 -0
  635. data/lib/tasks/decidim_active_storage_migration_tasks.rake +43 -0
  636. data/lib/tasks/decidim_data_portability_tasks.rake +13 -67
  637. data/lib/tasks/decidim_tasks.rake +1 -1
  638. data/lib/tasks/decidim_webpacker_tasks.rake +166 -0
  639. metadata +421 -433
  640. data/app/assets/config/decidim_core_manifest.js +0 -25
  641. data/app/assets/javascripts/decidim.js.es6 +0 -82
  642. data/app/assets/javascripts/decidim/append_elements.js.es6 +0 -8
  643. data/app/assets/javascripts/decidim/assets.js.erb +0 -5
  644. data/app/assets/javascripts/decidim/callout.js.es6 +0 -18
  645. data/app/assets/javascripts/decidim/check_boxes_tree.js.es6 +0 -190
  646. data/app/assets/javascripts/decidim/conferences.js.es6 +0 -16
  647. data/app/assets/javascripts/decidim/configuration.js.es6 +0 -23
  648. data/app/assets/javascripts/decidim/confirm.js.es6 +0 -179
  649. data/app/assets/javascripts/decidim/core/bundle.js +0 -2
  650. data/app/assets/javascripts/decidim/core/bundle.js.map +0 -1
  651. data/app/assets/javascripts/decidim/core/extrapoly.js +0 -6
  652. data/app/assets/javascripts/decidim/data_picker.js.es6 +0 -273
  653. data/app/assets/javascripts/decidim/delayed.js.es6 +0 -26
  654. data/app/assets/javascripts/decidim/dropdowns_menus.js.es6 +0 -32
  655. data/app/assets/javascripts/decidim/editor.js.es6 +0 -83
  656. data/app/assets/javascripts/decidim/editor/history_override.js.es6 +0 -117
  657. data/app/assets/javascripts/decidim/editor/linebreak_module.js.es6 +0 -83
  658. data/app/assets/javascripts/decidim/editor/modified_backspace_offset1.js.es6 +0 -98
  659. data/app/assets/javascripts/decidim/editor/modified_backspace_offset_any.js.es6 +0 -48
  660. data/app/assets/javascripts/decidim/editor/modified_backspace_utils.js.es6 +0 -31
  661. data/app/assets/javascripts/decidim/editor/modified_enter.js.es6 +0 -118
  662. data/app/assets/javascripts/decidim/external_link.js.es6 +0 -69
  663. data/app/assets/javascripts/decidim/filters.js.es6 +0 -16
  664. data/app/assets/javascripts/decidim/form_filter.component.js.es6 +0 -315
  665. data/app/assets/javascripts/decidim/form_validator.es6 +0 -61
  666. data/app/assets/javascripts/decidim/foundation.js.es6 +0 -28
  667. data/app/assets/javascripts/decidim/geocoding.js.es6 +0 -60
  668. data/app/assets/javascripts/decidim/geocoding/attach_input.js.es6 +0 -143
  669. data/app/assets/javascripts/decidim/geocoding/format_address.js.es6 +0 -29
  670. data/app/assets/javascripts/decidim/geocoding/provider/here.js.es6 +0 -107
  671. data/app/assets/javascripts/decidim/geocoding/provider/photon.js.es6 +0 -77
  672. data/app/assets/javascripts/decidim/history.js.es6 +0 -53
  673. data/app/assets/javascripts/decidim/icon.js.es6 +0 -42
  674. data/app/assets/javascripts/decidim/impersonation.js.es6 +0 -16
  675. data/app/assets/javascripts/decidim/input_character_counter.js.es6 +0 -120
  676. data/app/assets/javascripts/decidim/map.js.es6 +0 -46
  677. data/app/assets/javascripts/decidim/map/controller.js.es6 +0 -92
  678. data/app/assets/javascripts/decidim/map/controller/markers.js.es6 +0 -95
  679. data/app/assets/javascripts/decidim/map/controller/static.es6 +0 -48
  680. data/app/assets/javascripts/decidim/map/factory.js.es6 +0 -51
  681. data/app/assets/javascripts/decidim/map/icon.js.es6 +0 -31
  682. data/app/assets/javascripts/decidim/map/legacy.js.es6 +0 -87
  683. data/app/assets/javascripts/decidim/map/provider/default.js.es6 +0 -22
  684. data/app/assets/javascripts/decidim/map/provider/here.js.es6 +0 -22
  685. data/app/assets/javascripts/decidim/orders.js.es6 +0 -9
  686. data/app/assets/javascripts/decidim/results_listing.js.es6 +0 -44
  687. data/app/assets/javascripts/decidim/security/selfxss_warning.js.es6 +0 -19
  688. data/app/assets/javascripts/decidim/session_timeouter.js.es6 +0 -78
  689. data/app/assets/javascripts/decidim/social_share.js +0 -2
  690. data/app/assets/javascripts/decidim/vizzs.js.es6 +0 -1
  691. data/app/assets/javascripts/decidim/vizzs/renders.js.es6 +0 -11
  692. data/app/assets/stylesheets/decidim/_decidim.scss +0 -19
  693. data/app/assets/stylesheets/decidim/application.scss.erb +0 -10
  694. data/app/assets/stylesheets/decidim/extras/_extras.scss +0 -17
  695. data/app/assets/stylesheets/decidim/extras/_process_stats.scss +0 -45
  696. data/app/assets/stylesheets/decidim/layouts/_layouts.scss +0 -5
  697. data/app/assets/stylesheets/decidim/map.css +0 -5
  698. data/app/assets/stylesheets/decidim/modules/_modules.scss +0 -92
  699. data/app/assets/stylesheets/decidim/modules/_toggle.scss +0 -9
  700. data/app/assets/stylesheets/decidim/utils/_fontface.scss +0 -39
  701. data/app/assets/stylesheets/decidim/vizzs.scss +0 -8
  702. data/app/assets/stylesheets/decidim/vizzs/_vizzs.scss +0 -5
  703. data/app/frontend/entry.ts +0 -1
  704. data/app/middleware/decidim/current_organization.rb +0 -55
  705. data/app/middleware/decidim/strip_x_forwarded_host.rb +0 -14
  706. data/app/services/decidim/zip_stream/zip_stream_writer.rb +0 -56
  707. data/config/locales/ja-JP.yml +0 -1587
  708. data/lib/decidim/messaging.rb +0 -9
  709. data/vendor/assets/javascripts/appendAround.js +0 -41
  710. data/vendor/assets/javascripts/d3.js +0 -17813
  711. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.ar.js +0 -16
  712. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.bg.js +0 -14
  713. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.ca.js +0 -16
  714. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.cs.js +0 -14
  715. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.da.js +0 -14
  716. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.de.js +0 -14
  717. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.el.js +0 -14
  718. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.eo.js +0 -17
  719. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.es-MX.js +0 -15
  720. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.es-PY.js +0 -15
  721. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.es.js +0 -15
  722. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.et.js +0 -18
  723. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.eu.js +0 -15
  724. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.fi-pl.js +0 -14
  725. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.fi.js +0 -14
  726. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.fr-CA.js +0 -16
  727. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.fr.js +0 -16
  728. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.ga.js +0 -15
  729. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.gl.js +0 -12
  730. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.hr.js +0 -13
  731. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.hu.js +0 -16
  732. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.id.js +0 -13
  733. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.is.js +0 -14
  734. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.it.js +0 -14
  735. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.ja.js +0 -16
  736. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.ko.js +0 -18
  737. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.lt.js +0 -16
  738. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.lv.js +0 -17
  739. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.mt.js +0 -15
  740. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.nl.js +0 -14
  741. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.no.js +0 -13
  742. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.pl.js +0 -15
  743. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.pt-BR.js +0 -14
  744. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.pt.js +0 -17
  745. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.ro.js +0 -15
  746. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.ru.js +0 -16
  747. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.sk.js +0 -14
  748. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.sl.js +0 -14
  749. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.sr.js +0 -16
  750. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.sv.js +0 -14
  751. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.tr.js +0 -14
  752. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.uk.js +0 -16
  753. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.vi.js +0 -14
  754. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.zh-CN.js +0 -14
  755. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.zh-TW.js +0 -14
  756. data/vendor/assets/javascripts/form_datepicker.js.es6 +0 -24
  757. data/vendor/assets/javascripts/foundation-datepicker.js +0 -1425
  758. data/vendor/assets/javascripts/leaflet-svg-icon.js +0 -179
  759. data/vendor/assets/javascripts/leaflet.js +0 -9
  760. data/vendor/assets/javascripts/leaflet.markercluster.js +0 -7
  761. data/vendor/assets/javascripts/morphdom.js +0 -688
  762. data/vendor/assets/javascripts/quill.min.js +0 -8
  763. data/vendor/assets/javascripts/quill.min.js.map +0 -1
  764. data/vendor/assets/javascripts/svg4everybody.min.js +0 -1
  765. data/vendor/assets/javascripts/tagsinput.js +0 -683
  766. data/vendor/assets/stylesheets/MarkerCluster.Default.css +0 -60
  767. data/vendor/assets/stylesheets/MarkerCluster.css +0 -14
  768. data/vendor/assets/stylesheets/leaflet.css +0 -624
  769. data/vendor/assets/stylesheets/quill.bubble.css +0 -952
  770. data/vendor/assets/stylesheets/quill.core.css +0 -397
  771. data/vendor/assets/stylesheets/quill.snow.css +0 -945
  772. data/vendor/assets/stylesheets/tagsinput.css +0 -55
  773. data/vendor/assets/stylesheets/tribute.css +0 -27
@@ -20,10 +20,10 @@ module Decidim
20
20
  # Regex for name & nickname format validations
21
21
  REGEXP_NAME = /\A(?!.*[<>?%&\^*#@()\[\]=+:;"{}\\|])/.freeze
22
22
 
23
- validates_avatar
24
- mount_uploader :avatar, Decidim::AvatarUploader
23
+ has_one_attached :avatar
24
+ validates_avatar :avatar, uploader: Decidim::AvatarUploader
25
25
 
26
- validates :name, :nickname, format: { with: REGEXP_NAME }
26
+ validates :name, format: { with: REGEXP_NAME }
27
27
 
28
28
  # Public: Returns a collection with all the entities this user is following.
29
29
  #
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_dependency "devise/models/decidim_validatable"
3
+ require "devise/models/decidim_validatable"
4
4
  require "valid_email2"
5
5
 
6
6
  module Decidim
@@ -10,6 +10,7 @@ module Decidim
10
10
  include Decidim::DataPortability
11
11
  include Decidim::ActsAsAuthor
12
12
  include Decidim::UserReportable
13
+ include Decidim::Searchable
13
14
 
14
15
  has_many :memberships, class_name: "Decidim::UserGroupMembership", foreign_key: :decidim_user_group_id, dependent: :destroy
15
16
  has_many :users, through: :memberships, class_name: "Decidim::User", foreign_key: :decidim_user_id
@@ -25,6 +26,9 @@ module Decidim
25
26
  validate :correct_state
26
27
  validate :unique_document_number, if: :has_document_number?
27
28
 
29
+ has_one_attached :avatar
30
+ validates_upload :avatar, uploader: Decidim::AvatarUploader
31
+
28
32
  devise :confirmable, :decidim_validatable, confirmation_keys: [:decidim_organization_id, :email]
29
33
 
30
34
  scope :verified, -> { where.not("extended_data->>'verified_at' IS ?", nil) }
@@ -32,6 +36,16 @@ module Decidim
32
36
  scope :rejected, -> { where.not("extended_data->>'rejected_at' IS ?", nil) }
33
37
  scope :pending, -> { where("extended_data->>'rejected_at' IS ? AND extended_data->>'verified_at' IS ?", nil, nil) }
34
38
 
39
+ searchable_fields(
40
+ {
41
+ organization_id: :decidim_organization_id,
42
+ A: :name,
43
+ datetime: :created_at
44
+ },
45
+ index_on_create: ->(user_group) { !user_group.deleted? },
46
+ index_on_update: ->(user_group) { !user_group.deleted? }
47
+ )
48
+
35
49
  def self.with_document_number(organization, number)
36
50
  where(decidim_organization_id: organization.id)
37
51
  .where("extended_data->>'document_number' = ?", number)
@@ -66,6 +80,11 @@ module Decidim
66
80
  verified_at.blank? && rejected_at.blank?
67
81
  end
68
82
 
83
+ # Check if the group has been deleted or not
84
+ def deleted?
85
+ deleted_at.present?
86
+ end
87
+
69
88
  def self.user_collection(user)
70
89
  user.user_groups
71
90
  end
@@ -0,0 +1,2 @@
1
+ // CSS
2
+ import "entrypoints/decidim_conference_diploma.scss"
@@ -0,0 +1 @@
1
+ @import "stylesheets/decidim/conference-diploma.scss";
@@ -0,0 +1,69 @@
1
+ /* eslint no-unused-vars: 0 */
2
+ /* eslint id-length: ["error", { "exceptions": ["$"] }] */
3
+
4
+ import $ from "jquery"
5
+ import Quill from "quill"
6
+ import Rails from "@rails/ujs"
7
+
8
+ import "core-js/stable";
9
+ import "regenerator-runtime/runtime";
10
+ import morphdom from "morphdom"
11
+ // Export variable to make it available in .js.erb templates
12
+ window.morphdom = morphdom
13
+ import "src/decidim/vendor/foundation-datepicker"
14
+ import "src/decidim/foundation_datepicker_locales"
15
+ import "src/decidim/vendor/modernizr"
16
+ import "social-share-button"
17
+
18
+ import "src/decidim/input_tags"
19
+ import "src/decidim/input_hashtags"
20
+ import "src/decidim/input_mentions"
21
+ import "src/decidim/input_multiple_mentions"
22
+ import "src/decidim/input_character_counter"
23
+ import "src/decidim/input_autojump"
24
+ import "src/decidim/index"
25
+ import "src/decidim/history"
26
+ import "src/decidim/callout"
27
+ import "src/decidim/clipboard"
28
+ import "src/decidim/append_elements"
29
+ import "src/decidim/user_registrations"
30
+ import "src/decidim/account_form"
31
+ import "src/decidim/data_picker"
32
+ import "src/decidim/dropdowns_menus"
33
+ import "src/decidim/append_redirect_url_to_modals"
34
+ import "src/decidim/form_validator"
35
+ import "src/decidim/ajax_modals"
36
+ import "src/decidim/conferences"
37
+ import "src/decidim/tooltip_keep_on_hover"
38
+ import "src/decidim/diff_mode_dropdown"
39
+ import "src/decidim/conversations"
40
+ import "src/decidim/delayed"
41
+ import "src/decidim/icon"
42
+ import "src/decidim/vizzs"
43
+ import "src/decidim/responsive_horizontal_tabs"
44
+ import "src/decidim/security/selfxss_warning"
45
+ import "src/decidim/session_timeouter"
46
+ import "src/decidim/configuration"
47
+ import "src/decidim/floating_help"
48
+ import "src/decidim/confirm"
49
+ import "src/decidim/comments/comments"
50
+ import "src/decidim/results_listing"
51
+ import "src/decidim/represent_user_group"
52
+ import "src/decidim/impersonation"
53
+ import "src/decidim/start_conversation_dialog"
54
+ import "src/decidim/notifications"
55
+ import "src/decidim/identity_selector_dialog"
56
+ import "src/decidim/gallery"
57
+
58
+ // CSS
59
+ import "entrypoints/decidim_core.scss"
60
+
61
+ // Import from the Rails instance application
62
+ import "src/decidim/decidim_application"
63
+
64
+ // Images
65
+ require.context("../images", true)
66
+
67
+ // This needs to be loaded after confirm dialog to bind properly
68
+ Rails.start()
69
+
@@ -0,0 +1 @@
1
+ @import "stylesheets/decidim/application.scss";
@@ -0,0 +1 @@
1
+ import "entrypoints/decidim_email.scss";
@@ -0,0 +1 @@
1
+ @import "stylesheets/decidim/email.scss";
@@ -0,0 +1 @@
1
+ import "src/decidim/geocoding/provider/here"
@@ -0,0 +1 @@
1
+ import "src/decidim/geocoding/provider/photon"
@@ -0,0 +1 @@
1
+ import "entrypoints/decidim_map.scss";
@@ -0,0 +1 @@
1
+ @import "stylesheets/decidim/map.scss";
@@ -0,0 +1,2 @@
1
+ import "src/decidim/map/provider/default"
2
+ import "src/decidim/map"
@@ -0,0 +1,2 @@
1
+ import "src/decidim/map/provider/here"
2
+ import "src/decidim/map"
@@ -0,0 +1 @@
1
+ import "src/decidim/widget"
File without changes
File without changes
File without changes
@@ -0,0 +1,13 @@
1
+ <svg width="256px" height="256px" viewBox="1899 111 256 256" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
2
+ <desc>Delicious</desc>
3
+ <defs></defs>
4
+ <g id="delicious" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" transform="translate(1899.000000, 111.000000)">
5
+ <rect id="bg" fill="#0076E8" x="0" y="0" width="256" height="256" rx="40"></rect>
6
+ <g id="Group" transform="translate(128.000000, 129.000000) rotate(90.000000) translate(-128.000000, -129.000000) translate(38.000000, 39.000000)">
7
+ <polygon id="Shape" fill="#FFFFFF" points="0.239990234 90.0551489 90.0155647 90.0551489 90.0155647 179.830723 0.239990234 179.830723 0.239990234 90.0551489"></polygon>
8
+ <polygon id="Shape-Copy" fill-opacity="0.0656136775" fill="#000000" points="0.239990234 0.169276596 90.0079051 0.169276596 90.0079051 89.9528936 0.240373213 89.9528936 0.240373213 0.169276596"></polygon>
9
+ <polygon id="Shape-Copy-2" fill-opacity="0.0656136775" fill="#000000" points="90 90 179.767915 90 179.767915 179.783617 90.000383 179.783617 90.000383 90"></polygon>
10
+ <polygon id="Shape" fill="#FFFFFF" points="89.9961702 0.169276596 179.764085 0.169276596 179.764085 89.9528936 89.9965532 89.9528936 89.9965532 0.169276596"></polygon>
11
+ </g>
12
+ </g>
13
+ </svg>
@@ -0,0 +1,8 @@
1
+ <svg width="256px" height="256px" viewBox="1271 111 256 256" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
2
+ <desc>Douban</desc>
3
+ <defs></defs>
4
+ <g id="douban" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" transform="translate(1271.000000, 111.000000)">
5
+ <rect id="bg" fill="#20982D" x="0" y="0" width="256" height="256" rx="40"></rect>
6
+ <path d="M209.287755,62.5836735 L47.8571429,62.5836735 L47.8571429,46 L209.270408,46 L209.270408,62.5836735 L209.287755,62.5836735 Z M213,209.095918 L43,209.095918 L43,192.304082 L93.8438776,192.304082 C87.6163265,178.6 81.0244898,166.769388 74.1030612,156.812245 L87.1653061,148.329592 L64.2673469,148.329592 L64.2673469,82.0642857 L193.432653,82.0642857 L193.432653,148.329592 L169.407143,148.329592 L182.469388,157.003061 C176.293878,170.707143 169.87551,182.468367 163.196939,192.304082 L213,192.304082 L213,209.095918 L213,209.095918 Z M175.322449,131.641837 L175.322449,99.1336735 L82.3081633,99.1336735 L82.3081633,131.641837 L175.322449,131.641837 L175.322449,131.641837 Z M166.25,148.329592 L90.5132653,148.329592 C98.6489796,162.033673 106.056122,176.691837 112.734694,192.321429 L143.646939,192.321429 C153.118367,177.472449 160.664286,162.796939 166.25,148.329592 L166.25,148.329592 Z" id="Shape" fill="#FFFFFF"></path>
7
+ </g>
8
+ </svg>
@@ -0,0 +1,8 @@
1
+ <svg width="256px" height="256px" viewBox="3781 111 256 256" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
2
+ <desc>Email</desc>
3
+ <defs></defs>
4
+ <g id="email" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" transform="translate(3781.000000, 111.000000)">
5
+ <rect id="bg" fill="#A56EE3" x="0" y="0" width="256" height="256" rx="40"></rect>
6
+ <path d="M218,102.602679 L218,182.357143 C218,186.776786 216.426339,190.560268 213.279018,193.707589 C210.131696,196.854911 206.348214,198.428571 201.928571,198.428571 L54.0714286,198.428571 C49.6517857,198.428571 45.8683036,196.854911 42.7209821,193.707589 C39.5736607,190.560268 38,186.776786 38,182.357143 L38,102.602679 C40.9464286,105.883929 44.328125,108.796875 48.1450893,111.341518 C72.3861607,127.814732 89.0267857,139.366071 98.0669643,145.995536 C101.883929,148.808036 104.981027,151.001116 107.358259,152.574777 C109.735491,154.148438 112.899554,155.75558 116.850446,157.396205 C120.801339,159.03683 124.484375,159.857143 127.899554,159.857143 L128.100446,159.857143 C131.515625,159.857143 135.198661,159.03683 139.149554,157.396205 C143.100446,155.75558 146.264509,154.148438 148.641741,152.574777 C151.018973,151.001116 154.116071,148.808036 157.933036,145.995536 C169.316964,137.758929 185.991071,126.207589 207.955357,111.341518 C211.772321,108.729911 215.120536,105.816964 218,102.602679 L218,102.602679 Z M218,73.0714286 C218,78.3616071 216.359375,83.4174107 213.078125,88.2388393 C209.796875,93.0602679 205.712054,97.1785714 200.823661,100.59375 C175.645089,118.071429 159.975446,128.953125 153.814732,133.238839 C153.145089,133.707589 151.722098,134.728795 149.545759,136.302455 C147.36942,137.876116 145.561384,139.148438 144.121652,140.11942 C142.68192,141.090402 140.940848,142.178571 138.898438,143.383929 C136.856027,144.589286 134.930804,145.493304 133.122768,146.095982 C131.314732,146.698661 129.640625,147 128.100446,147 L127.899554,147 C126.359375,147 124.685268,146.698661 122.877232,146.095982 C121.069196,145.493304 119.143973,144.589286 117.101562,143.383929 C115.059152,142.178571 113.31808,141.090402 111.878348,140.11942 C110.438616,139.148438 108.63058,137.876116 106.454241,136.302455 C104.277902,134.728795 102.854911,133.707589 102.185268,133.238839 C96.0915179,128.953125 87.3191964,122.842634 75.8683036,114.907366 C64.4174107,106.972098 57.5535714,102.200893 55.2767857,100.59375 C51.125,97.78125 47.2075893,93.9140625 43.5245536,88.9921875 C39.8415179,84.0703125 38,79.5 38,75.28125 C38,70.0580357 39.3895089,65.7053571 42.1685268,62.2232143 C44.9475446,58.7410714 48.9151786,57 54.0714286,57 L201.928571,57 C206.28125,57 210.047991,58.5736607 213.228795,61.7209821 C216.409598,64.8683036 218,68.6517857 218,73.0714286 L218,73.0714286 Z" id="Shape" fill="#FFFFFF"></path>
7
+ </g>
8
+ </svg>
@@ -0,0 +1,8 @@
1
+ <svg width="256px" height="256px" viewBox="312 111 256 256" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
2
+ <desc>Facebook</desc>
3
+ <defs></defs>
4
+ <g id="facebook" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" transform="translate(312.000000, 111.000000)">
5
+ <rect id="bg" fill="#2760D8" x="0" y="0" width="256" height="256" rx="40"></rect>
6
+ <path d="M185.230769,37.5865385 L185.230769,72.4903846 L164.473558,72.4903846 C156.893429,72.4903846 151.78125,74.0769231 149.137019,77.25 C146.492788,80.4230769 145.170673,85.1826923 145.170673,91.5288462 L145.170673,116.516827 L183.908654,116.516827 L178.752404,155.651442 L145.170673,155.651442 L145.170673,256 L104.713942,256 L104.713942,155.651442 L71,155.651442 L71,116.516827 L104.713942,116.516827 L104.713942,87.6947115 C104.713942,71.3004808 109.297276,58.5861378 118.463942,49.5516827 C127.630609,40.5172276 139.838141,36 155.086538,36 C168.043269,36 178.091346,36.5288462 185.230769,37.5865385 L185.230769,37.5865385 Z" id="Shape" fill="#FFFFFF"></path>
7
+ </g>
8
+ </svg>
@@ -0,0 +1,8 @@
1
+ <svg width="256px" height="256px" viewBox="1585 111 256 256" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
2
+ <desc>Google</desc>
3
+ <defs></defs>
4
+ <g id="google" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" transform="translate(1585.000000, 111.000000)">
5
+ <rect id="bg" fill="#3E82F7" x="0" y="0" width="256" height="256" rx="40"></rect>
6
+ <path d="M129.853821,114.697674 L216.564784,114.697674 C217.521595,120.039867 218,125.142857 218,130.006645 C218,147.30897 214.372093,162.757475 207.116279,176.352159 C199.860465,189.946844 189.51495,200.571429 176.079734,208.225914 C162.644518,215.880399 147.23588,219.707641 129.853821,219.707641 C117.335548,219.707641 105.415282,217.295681 94.0930233,212.471761 C82.7707641,207.647841 73.0033223,201.129568 64.7906977,192.916944 C56.5780731,184.704319 50.0598007,174.936877 45.2358804,163.614618 C40.4119601,152.292359 38,140.372093 38,127.853821 C38,115.335548 40.4119601,103.415282 45.2358804,92.0930233 C50.0598007,80.7707641 56.5780731,71.0033223 64.7906977,62.7906977 C73.0033223,54.5780731 82.7707641,48.0598007 94.0930233,43.2358804 C105.415282,38.4119601 117.335548,36 129.853821,36 C153.774086,36 174.305648,44.013289 191.448505,60.0398671 L166.451827,84.0797342 C156.644518,74.5913621 144.445183,69.8471761 129.853821,69.8471761 C119.568106,69.8471761 110.059801,72.4385382 101.328904,77.6212625 C92.5980066,82.8039867 85.6810631,89.8405316 80.5780731,98.730897 C75.4750831,107.621262 72.923588,117.328904 72.923588,127.853821 C72.923588,138.378738 75.4750831,148.086379 80.5780731,156.976744 C85.6810631,165.86711 92.5980066,172.903654 101.328904,178.086379 C110.059801,183.269103 119.568106,185.860465 129.853821,185.860465 C136.790698,185.860465 143.169435,184.903654 148.990033,182.990033 C154.810631,181.076412 159.594684,178.684385 163.342193,175.813953 C167.089701,172.943522 170.358804,169.674419 173.149502,166.006645 C175.940199,162.33887 177.993355,158.870432 179.30897,155.601329 C180.624585,152.332226 181.521595,149.222591 182,146.272425 L129.853821,146.272425 L129.853821,114.697674 L129.853821,114.697674 Z" id="Shape" fill="#FFFFFF"></path>
7
+ </g>
8
+ </svg>
@@ -0,0 +1,10 @@
1
+ <svg width="256px" height="256px" viewBox="631 111 256 256" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
2
+ <desc>Google+</desc>
3
+ <defs></defs>
4
+ <g id="google-plus" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" transform="translate(631.000000, 111.000000)">
5
+ <rect id="bg" fill="#F04500" x="0" y="0" width="256" height="256" rx="40"></rect>
6
+ <g transform="translate(28.000000, 64.000000)" id="Shape" fill="#FFFFFF">
7
+ <path d="M124.739583,65.1041667 C124.739583,77.1412037 122.222222,87.8616898 117.1875,97.265625 C112.152778,106.66956 104.976852,114.019097 95.6597222,119.314236 C86.3425926,124.609375 75.6655093,127.256944 63.6284722,127.256944 C55.005787,127.256944 46.7592593,125.578704 38.8888889,122.222222 C31.0185185,118.865741 24.2476852,114.351852 18.5763889,108.680556 C12.9050926,103.009259 8.3912037,96.2384259 5.03472222,88.3680556 C1.67824074,80.4976852 0,72.2511574 0,63.6284722 C0,55.005787 1.67824074,46.7592593 5.03472222,38.8888889 C8.3912037,31.0185185 12.9050926,24.2476852 18.5763889,18.5763889 C24.2476852,12.9050926 31.0185185,8.3912037 38.8888889,5.03472222 C46.7592593,1.67824074 55.005787,0 63.6284722,0 C80.1793981,0 94.3865741,5.55555556 106.25,16.6666667 L88.9756944,33.2465278 C82.2048611,26.7071759 73.755787,23.4375 63.6284722,23.4375 C56.5104167,23.4375 49.927662,25.2314815 43.8802083,28.8194444 C37.8327546,32.4074074 33.0439815,37.2829861 29.5138889,43.4461806 C25.9837963,49.609375 24.21875,56.3368056 24.21875,63.6284722 C24.21875,70.9201389 25.9837963,77.6475694 29.5138889,83.8107639 C33.0439815,89.9739583 37.8327546,94.849537 43.8802083,98.4375 C49.927662,102.025463 56.5104167,103.819444 63.6284722,103.819444 C68.431713,103.819444 72.8443287,103.153935 76.8663194,101.822917 C80.8883102,100.491898 84.2013889,98.828125 86.8055556,96.8315972 C89.4097222,94.8350694 91.6811343,92.5636574 93.6197917,90.0173611 C95.5584491,87.4710648 96.9762731,85.0694444 97.8732639,82.8125 C98.7702546,80.5555556 99.3923611,78.4143519 99.7395833,76.3888889 L63.6284722,76.3888889 L63.6284722,54.5138889 L123.697917,54.5138889 C124.392361,58.1597222 124.739583,61.6898148 124.739583,65.1041667 L124.739583,65.1041667 Z M200,54.5138889 L200,72.7430556 L181.857639,72.7430556 L181.857639,90.8854167 L163.628472,90.8854167 L163.628472,72.7430556 L145.486111,72.7430556 L145.486111,54.5138889 L163.628472,54.5138889 L163.628472,36.3715278 L181.857639,36.3715278 L181.857639,54.5138889 L200,54.5138889 L200,54.5138889 Z"></path>
8
+ </g>
9
+ </g>
10
+ </svg>
@@ -0,0 +1,69 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <svg
3
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
4
+ xmlns:cc="http://creativecommons.org/ns#"
5
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
6
+ xmlns:svg="http://www.w3.org/2000/svg"
7
+ xmlns="http://www.w3.org/2000/svg"
8
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
9
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
10
+ width="256px"
11
+ height="256px"
12
+ viewBox="-2 111 256 256"
13
+ version="1.1"
14
+ id="svg3192"
15
+ inkscape:version="0.48.5 r10040"
16
+ sodipodi:docname="hacker_news.svg">
17
+ <metadata
18
+ id="metadata3203">
19
+ <rdf:RDF>
20
+ <cc:Work
21
+ rdf:about="">
22
+ <dc:format>image/svg+xml</dc:format>
23
+ <dc:type
24
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
25
+ <dc:title />
26
+ </cc:Work>
27
+ </rdf:RDF>
28
+ </metadata>
29
+ <sodipodi:namedview
30
+ pagecolor="#ffffff"
31
+ bordercolor="#666666"
32
+ borderopacity="1"
33
+ objecttolerance="10"
34
+ gridtolerance="10"
35
+ guidetolerance="10"
36
+ inkscape:pageopacity="0"
37
+ inkscape:pageshadow="2"
38
+ inkscape:window-width="1920"
39
+ inkscape:window-height="1149"
40
+ id="namedview3201"
41
+ showgrid="false"
42
+ inkscape:zoom="2.9981327"
43
+ inkscape:cx="183.89957"
44
+ inkscape:cy="150.68414"
45
+ inkscape:window-x="0"
46
+ inkscape:window-y="0"
47
+ inkscape:window-maximized="1"
48
+ inkscape:current-layer="svg3192" />
49
+ <defs
50
+ id="defs3196" />
51
+ <g
52
+ id="hacker_news"
53
+ transform="translate(-2,111)"
54
+ style="fill:none;stroke:none">
55
+ <rect
56
+ id="bg"
57
+ x="0"
58
+ y="0"
59
+ width="256"
60
+ height="256"
61
+ rx="40"
62
+ style="fill:#ff6500" />
63
+ <path
64
+ style="fill:#ffffff;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
65
+ d="m 73.349057,62.544811 44.044813,82.016509 0,54.00943 16.98113,0.059 0,-53.06607 44.10377,-83.018869 -18.98585,0.05896 -33.07783,66.096699 -32.959901,-66.155659 z"
66
+ id="path3087"
67
+ inkscape:connector-curvature="0" />
68
+ </g>
69
+ </svg>
@@ -0,0 +1,8 @@
1
+ <svg width="256px" height="256px" viewBox="2841 111 256 256" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
2
+ <desc>LinkedIn</desc>
3
+ <defs></defs>
4
+ <g id="linkedin" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" transform="translate(2841.000000, 111.000000)">
5
+ <rect id="bg" fill="#007CCB" x="0" y="0" width="256" height="256" rx="40"></rect>
6
+ <path d="M78.8984375,96.8984375 L78.8984375,213.03125 L40.2265625,213.03125 L40.2265625,96.8984375 L78.8984375,96.8984375 L78.8984375,96.8984375 Z M81.359375,61.0390625 C81.4375,66.7421875 79.4648438,71.5078125 75.4414062,75.3359375 C71.4179688,79.1640625 66.125,81.078125 59.5625,81.078125 L59.328125,81.078125 C52.921875,81.078125 47.765625,79.1640625 43.859375,75.3359375 C39.953125,71.5078125 38,66.7421875 38,61.0390625 C38,55.2578125 40.0117188,50.4726562 44.0351562,46.6835938 C48.0585938,42.8945312 53.3125,41 59.796875,41 C66.28125,41 71.4765625,42.8945312 75.3828125,46.6835938 C79.2890625,50.4726562 81.28125,55.2578125 81.359375,61.0390625 L81.359375,61.0390625 Z M218,146.46875 L218,213.03125 L179.445312,213.03125 L179.445312,150.921875 C179.445312,142.71875 177.863281,136.292969 174.699219,131.644531 C171.535156,126.996094 166.59375,124.671875 159.875,124.671875 C154.953125,124.671875 150.832031,126.019531 147.511719,128.714844 C144.191406,131.410156 141.710938,134.75 140.070312,138.734375 C139.210938,141.078125 138.78125,144.242188 138.78125,148.226563 L138.78125,213.03125 L100.226562,213.03125 C100.382812,181.859375 100.460938,156.585938 100.460938,137.210938 C100.460938,117.835938 100.421875,106.273438 100.34375,102.523438 L100.226562,96.8984375 L138.78125,96.8984375 L138.78125,113.773438 L138.546875,113.773438 C140.109375,111.273438 141.710938,109.085938 143.351562,107.210938 C144.992188,105.335938 147.199219,103.304688 149.972656,101.117188 C152.746094,98.9296875 156.144531,97.2304688 160.167969,96.0195313 C164.191406,94.8085938 168.664062,94.203125 173.585938,94.203125 C186.945312,94.203125 197.6875,98.6367188 205.8125,107.503906 C213.9375,116.371094 218,129.359375 218,146.46875 L218,146.46875 Z" id="Shape" fill="#FFFFFF"></path>
7
+ </g>
8
+ </svg>
@@ -0,0 +1 @@
1
+ <?xml version="1.0" ?><svg height="256" id="Layer_1" version="1.1" viewBox="0 0 512 512" width="256" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"><defs id="defs12"/><g id="g5499"><rect height="512" id="rect2987" rx="64" ry="64" style="fill:#f48420;fill-opacity:1;fill-rule:nonzero;stroke:none" width="512" x="0" y="5.6843419e-014"/><g id="g7980" transform="matrix(1.3569974,0,0,1.3569974,-1327.8679,-536.34264)"><path d="m 1167.189,585.71779 c 41.2019,0 74.5979,-33.40112 74.5979,-74.60401 0,-41.20186 -33.396,-74.604 -74.5979,-74.604 -41.208,0 -74.604,33.40214 -74.604,74.604 0,41.20187 33.396,74.60401 74.604,74.60401 z m 0,-111.30587 c 20.2659,0 36.7019,16.42977 36.7019,36.70186 0,20.27209 -16.436,36.70187 -36.7019,36.70187 -20.2721,0 -36.708,-16.42978 -36.708,-36.70187 0,-20.27209 16.4359,-36.70186 36.708,-36.70186 z" id="path9" style="fill:#ffffff"/><path d="m 1221.8035,591.53418 c -20.9585,16.51507 -54.6145,16.51507 -54.6145,16.51507 0,0 -33.6631,0 -54.6186,-16.51507 -15.5049,-12.21443 -27.1696,-5.17926 -31.3808,3.2874 -7.3424,14.74857 0.9516,21.8793 19.6771,33.89643 15.994,10.26912 37.9658,14.10527 52.1544,15.53779 l -11.8476,11.84551 c -16.6846,16.67846 -32.7876,32.78556 -43.959,43.959 -6.6817,6.67755 -6.6817,17.51598 0,24.19251 l 2.0152,2.01416 c 6.6837,6.68166 17.5139,6.68166 24.1914,0 l 43.9652,-43.95798 c 16.6846,16.6836 32.7876,32.78659 43.959,43.95798 6.6817,6.68166 17.5119,6.68166 24.1956,0 l 2.0152,-2.01416 c 6.6775,-6.6868 6.6775,-17.51496 0,-24.19251 l -43.9683,-43.96517 -11.8804,-11.88045 c 14.2019,-1.45923 35.9414,-5.31285 51.7967,-15.49771 18.7225,-12.01712 27.0216,-19.14786 19.6771,-33.89643 -4.2091,-8.4646 -15.881,-15.5008 -31.3777,-3.28637 z" id="path11-0" style="fill:#ffffff"/></g></g></svg>
@@ -0,0 +1,8 @@
1
+ <svg width="256px" height="256px" viewBox="2527 111 256 256" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
2
+ <desc>Pinterest</desc>
3
+ <defs></defs>
4
+ <g id="pinterest" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" transform="translate(2527.000000, 111.000000)">
5
+ <rect id="bg" fill="#D60018" x="0" y="0" width="256" height="256" rx="40"></rect>
6
+ <path d="M48,107.625 C48,98.625 49.5625,90.1458333 52.6875,82.1875 C55.8125,74.2291667 60.125,67.2916667 65.625,61.375 C71.125,55.4583333 77.4583333,50.3333333 84.625,46 C91.7916667,41.6666667 99.5,38.4166667 107.75,36.25 C116,34.0833333 124.416667,33 133,33 C146.166667,33 158.416667,35.7708333 169.75,41.3125 C181.083333,46.8541667 190.291667,54.9166667 197.375,65.5 C204.458333,76.0833333 208,88.0416667 208,101.375 C208,109.375 207.208333,117.208333 205.625,124.875 C204.041667,132.541667 201.541667,139.916667 198.125,147 C194.708333,154.083333 190.541667,160.3125 185.625,165.6875 C180.708333,171.0625 174.666667,175.354167 167.5,178.5625 C160.333333,181.770833 152.458333,183.375 143.875,183.375 C138.208333,183.375 132.583333,182.041667 127,179.375 C121.416667,176.708333 117.416667,173.041667 115,168.375 C114.166667,171.625 113,176.3125 111.5,182.4375 C110,188.5625 109.020833,192.520833 108.5625,194.3125 C108.104167,196.104167 107.25,199.0625 106,203.1875 C104.75,207.3125 103.666667,210.270833 102.75,212.0625 C101.833333,213.854167 100.5,216.458333 98.75,219.875 C97,223.291667 95.0833333,226.520833 93,229.5625 C90.9166667,232.604167 88.3333333,236.208333 85.25,240.375 L83.5,241 L82.375,239.75 C81.125,226.666667 80.5,218.833333 80.5,216.25 C80.5,208.583333 81.3958333,199.979167 83.1875,190.4375 C84.9791667,180.895833 87.75,168.916667 91.5,154.5 C95.25,140.083333 97.4166667,131.625 98,129.125 C95.3333333,123.708333 94,116.666667 94,108 C94,101.083333 96.1666667,94.5833333 100.5,88.5 C104.833333,82.4166667 110.333333,79.375 117,79.375 C122.083333,79.375 126.041667,81.0625 128.875,84.4375 C131.708333,87.8125 133.125,92.0833333 133.125,97.25 C133.125,102.75 131.291667,110.708333 127.625,121.125 C123.958333,131.541667 122.125,139.333333 122.125,144.5 C122.125,149.75 124,154.104167 127.75,157.5625 C131.5,161.020833 136.041667,162.75 141.375,162.75 C145.958333,162.75 150.208333,161.708333 154.125,159.625 C158.041667,157.541667 161.3125,154.708333 163.9375,151.125 C166.5625,147.541667 168.895833,143.583333 170.9375,139.25 C172.979167,134.916667 174.5625,130.3125 175.6875,125.4375 C176.8125,120.5625 177.645833,115.9375 178.1875,111.5625 C178.729167,107.1875 179,103.041667 179,99.125 C179,84.7083333 174.4375,73.4791667 165.3125,65.4375 C156.1875,57.3958333 144.291667,53.375 129.625,53.375 C112.958333,53.375 99.0416667,58.7708333 87.875,69.5625 C76.7083333,80.3541667 71.125,94.0416667 71.125,110.625 C71.125,114.291667 71.6458333,117.833333 72.6875,121.25 C73.7291667,124.666667 74.8541667,127.375 76.0625,129.375 C77.2708333,131.375 78.3958333,133.270833 79.4375,135.0625 C80.4791667,136.854167 81,138.125 81,138.875 C81,141.208333 80.375,144.25 79.125,148 C77.875,151.75 76.3333333,153.625 74.5,153.625 C74.3333333,153.625 73.625,153.5 72.375,153.25 C68.125,152 64.3541667,149.666667 61.0625,146.25 C57.7708333,142.833333 55.2291667,138.895833 53.4375,134.4375 C51.6458333,129.979167 50.2916667,125.479167 49.375,120.9375 C48.4583333,116.395833 48,111.958333 48,107.625 L48,107.625 Z" id="Shape" fill="#FFFFFF"></path>
7
+ </g>
8
+ </svg>
@@ -0,0 +1,8 @@
1
+ <svg width="256px" height="256px" viewBox="4093 111 256 256" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
2
+ <desc>QQ</desc>
3
+ <defs></defs>
4
+ <g id="qq" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" transform="translate(4093.000000, 111.000000)">
5
+ <rect id="bg" fill="#3086F8" x="0" y="0" width="256" height="256" rx="40"></rect>
6
+ <path d="M70.9612756,119.439636 C70.4753227,118.285497 70.2323462,116.70615 70.2323462,114.701595 C70.2323462,113.486712 70.5664389,111.998481 71.2346241,110.236902 C71.9028094,108.475323 72.6317388,107.10858 73.4214123,106.136674 C73.3606682,104.800304 73.5884586,103.190585 74.1047836,101.307517 C74.6211086,99.4244495 75.3044799,98.118451 76.1548975,97.3895216 C76.1548975,88.9460896 78.9643128,80.1837509 84.5831435,71.1025057 C90.2019742,62.0212604 96.8078967,55.6583144 104.400911,52.0136674 C112.844343,48.0045558 122.68489,46 133.922551,46 C142.001519,46 150.080486,47.6704632 158.159453,51.0113895 C161.135915,52.2870159 163.8694,53.7448747 166.359909,55.3849658 C168.850418,57.0250569 171.006834,58.7258922 172.829157,60.4874715 C174.651481,62.2490509 176.321944,64.3143508 177.840547,66.6833713 C179.35915,69.0523918 180.634776,71.2999241 181.667426,73.4259681 C182.700076,75.5520121 183.687168,78.118451 184.628702,81.1252847 C185.570235,84.1321185 186.344723,86.8504176 186.952164,89.2801822 C187.559605,91.7099468 188.22779,94.6864085 188.95672,98.2095672 L189.047836,98.6651481 C192.388762,103.70691 194.059226,108.262718 194.059226,112.332574 C194.059226,113.182992 193.785877,114.397874 193.23918,115.977221 C192.692483,117.556568 192.419134,118.710706 192.419134,119.439636 C192.419134,119.50038 192.464692,119.606682 192.555809,119.758542 C192.646925,119.910402 192.753227,120.062263 192.874715,120.214123 C192.996203,120.365983 193.056948,120.472285 193.056948,120.53303 C197.734244,127.457859 201.394077,133.972665 204.036446,140.077449 C206.678815,146.182232 208,152.514806 208,159.075171 C208,161.687168 207.407745,164.724374 206.223235,168.186788 C205.038724,171.649203 203.353075,173.38041 201.166287,173.38041 C200.61959,173.38041 200.027335,173.15262 199.389522,172.697039 C198.751708,172.241458 198.174639,171.709947 197.658314,171.102506 C197.141989,170.495065 196.56492,169.705391 195.927107,168.733485 C195.289294,167.761579 194.803341,166.95672 194.469248,166.318907 C194.135156,165.681093 193.725133,164.89142 193.23918,163.949886 C192.753227,163.008352 192.479879,162.476841 192.419134,162.355353 C192.35839,162.294609 192.267274,162.264237 192.145786,162.264237 L191.690205,162.628702 C188.106302,171.983295 184.097191,178.756264 179.66287,182.947608 C180.877752,184.162491 182.745634,185.331815 185.266515,186.455581 C187.787396,187.579347 189.883068,188.839787 191.553531,190.236902 C193.223994,191.634017 194.302202,193.6082 194.788155,196.159453 C194.666667,196.40243 194.545178,196.888383 194.42369,197.617312 C194.302202,198.346241 194.089598,198.892938 193.785877,199.257403 C189.898254,205.149582 180.725892,208.095672 166.268793,208.095672 C163.049355,208.095672 159.693242,207.822323 156.200456,207.275626 C152.707669,206.728929 149.731207,206.121488 147.271071,205.453303 C144.810934,204.785118 141.637054,203.873956 137.749431,202.719818 C136.838269,202.416097 136.139711,202.203493 135.653759,202.082005 C134.803341,201.839028 133.406226,201.702354 131.462415,201.671982 C129.518603,201.64161 128.303721,201.596052 127.817768,201.535308 C125.327259,204.268793 121.454822,206.242976 116.200456,207.457859 C110.94609,208.672741 105.828398,209.280182 100.84738,209.280182 C98.7213364,209.280182 96.6256644,209.234624 94.5603645,209.143508 C92.4950645,209.052392 89.6704632,208.779043 86.0865604,208.323462 C82.5026576,207.867882 79.4350797,207.245254 76.8838269,206.455581 C74.332574,205.665907 72.0698557,204.451025 70.095672,202.810934 C68.1214882,201.170843 67.1343964,199.227031 67.1343964,196.979499 C67.1343964,194.549734 67.4381169,192.742597 68.0455581,191.558087 C68.6529992,190.373576 69.8982536,188.900532 71.7813212,187.138952 C72.4495065,187.017464 73.6795748,186.622627 75.4715262,185.954442 C77.2634776,185.286257 78.7668945,184.921792 79.9817768,184.861048 C80.2247532,184.861048 80.649962,184.800304 81.2574032,184.678815 C81.3788914,184.557327 81.4396355,184.435839 81.4396355,184.314351 L81.2574032,184.041002 C78.3416856,183.372817 75.0615034,180.168565 71.4168565,174.428246 C67.7722096,168.687927 65.5550494,163.9347 64.7653759,160.168565 L64.309795,159.895216 C64.0668185,159.895216 63.7023538,160.502658 63.2164009,161.71754 C62.1230068,164.208049 60.4677297,166.470767 58.2505695,168.505695 C56.0334093,170.540623 53.6795748,171.679575 51.1890661,171.922551 L51.0979499,171.922551 C50.8549734,171.922551 50.6727411,171.785877 50.5512528,171.512528 C50.4297646,171.23918 50.2779043,171.072134 50.095672,171.01139 C48.6985573,167.731207 48,164.694002 48,161.899772 C48,145.19514 55.6537585,131.041762 70.9612756,119.439636 L70.9612756,119.439636 Z" id="Shape" fill="#FFFFFF"></path>
7
+ </g>
8
+ </svg>
@@ -0,0 +1,6 @@
1
+ <svg width="256px" height="256px" viewBox="-2 111 256 256" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
2
+ <g id="reddit" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" transform="translate(-2.000000, 111.000000)">
3
+ <rect id="bg" fill="#FF4200" x="0" y="0" width="256" height="256" rx="40"></rect>
4
+ <path d="M213.2 128.6Q213.2 134.4 210.25 139.15T202.3 146.4Q203.5 151 203.5 156 203.5 171.5 192.85 184.7T163.8 205.55 123.8 213.2 83.85 205.55 54.85 184.7 44.2 156Q44.2 151.3 45.3 146.6 40.2 144.1 37.1 139.25T34 128.6Q34 120.4 39.8 114.55T53.9 108.7Q62.4 108.7 68.4 115 90.2 99.8 119.9 98.8L131.5 46.7Q131.8 45.4 133 44.6T135.6 44.1L172.5 52.2Q174.3 48.5 177.9 46.25T185.8 44Q192 44 196.4 48.35T200.8 58.9 196.4 69.5 185.8 73.9 175.25 69.55 170.9 59L137.5 51.6 127.1 98.8Q157.1 99.7 179 114.8 184.8 108.7 193.3 108.7 201.6 108.7 207.4 114.55T213.2 128.6zM75.8 148.5Q75.8 154.7 80.15 159.1T90.7 163.5 101.3 159.1 105.7 148.5 101.3 137.95 90.7 133.6Q84.6 133.6 80.2 138T75.8 148.5zM156.8 184Q157.9 182.9 157.9 181.4T156.8 178.8Q155.8 177.8 154.3 177.8T151.7 178.8Q147.6 183 139.6 185T123.6 187 107.6 185 95.5 178.8Q94.4 177.8 92.9 177.8T90.4 178.8Q89.3 179.8 89.3 181.35T90.4 184Q94.7 188.3 102.25 190.8T114.5 193.75 123.6 194.2 132.7 193.75 144.95 190.8 156.8 184zM156.5 163.5Q162.7 163.5 167.05 159.1T171.4 148.5Q171.4 142.4 167 138T156.5 133.6Q150.3 133.6 145.9 137.95T141.5 148.5 145.9 159.1 156.5 163.5z" id="Shape" fill="#FFFFFF"/>
5
+ </g>
6
+ </svg>