pages_core 3.13.0 → 3.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (257) hide show
  1. checksums.yaml +4 -4
  2. data/VERSION +1 -1
  3. data/app/assets/builds/pages_core/admin-dist.js +19 -8
  4. data/app/assets/builds/pages_core/admin-dist.js.map +4 -4
  5. data/app/assets/builds/pages_core/admin.css +704 -388
  6. data/app/assets/fonts/Inter-Black.woff2 +0 -0
  7. data/app/assets/fonts/Inter-BlackItalic.woff2 +0 -0
  8. data/app/assets/fonts/Inter-Bold.woff2 +0 -0
  9. data/app/assets/fonts/Inter-BoldItalic.woff2 +0 -0
  10. data/app/assets/fonts/Inter-ExtraBold.woff2 +0 -0
  11. data/app/assets/fonts/Inter-ExtraBoldItalic.woff2 +0 -0
  12. data/app/assets/fonts/Inter-ExtraLight.woff2 +0 -0
  13. data/app/assets/fonts/Inter-ExtraLightItalic.woff2 +0 -0
  14. data/app/assets/fonts/Inter-Italic.woff2 +0 -0
  15. data/app/assets/fonts/Inter-Light.woff2 +0 -0
  16. data/app/assets/fonts/Inter-LightItalic.woff2 +0 -0
  17. data/app/assets/fonts/Inter-Medium.woff2 +0 -0
  18. data/app/assets/fonts/Inter-MediumItalic.woff2 +0 -0
  19. data/app/assets/fonts/Inter-Regular.woff2 +0 -0
  20. data/app/assets/fonts/Inter-SemiBold.woff2 +0 -0
  21. data/app/assets/fonts/Inter-SemiBoldItalic.woff2 +0 -0
  22. data/app/assets/fonts/Inter-Thin.woff2 +0 -0
  23. data/app/assets/fonts/Inter-ThinItalic.woff2 +0 -0
  24. data/app/assets/fonts/InterDisplay-Black.woff2 +0 -0
  25. data/app/assets/fonts/InterDisplay-BlackItalic.woff2 +0 -0
  26. data/app/assets/fonts/InterDisplay-Bold.woff2 +0 -0
  27. data/app/assets/fonts/InterDisplay-BoldItalic.woff2 +0 -0
  28. data/app/assets/fonts/InterDisplay-ExtraBold.woff2 +0 -0
  29. data/app/assets/fonts/InterDisplay-ExtraBoldItalic.woff2 +0 -0
  30. data/app/assets/fonts/InterDisplay-ExtraLight.woff2 +0 -0
  31. data/app/assets/fonts/InterDisplay-ExtraLightItalic.woff2 +0 -0
  32. data/app/assets/fonts/InterDisplay-Italic.woff2 +0 -0
  33. data/app/assets/fonts/InterDisplay-Light.woff2 +0 -0
  34. data/app/assets/fonts/InterDisplay-LightItalic.woff2 +0 -0
  35. data/app/assets/fonts/InterDisplay-Medium.woff2 +0 -0
  36. data/app/assets/fonts/InterDisplay-MediumItalic.woff2 +0 -0
  37. data/app/assets/fonts/InterDisplay-Regular.woff2 +0 -0
  38. data/app/assets/fonts/InterDisplay-SemiBold.woff2 +0 -0
  39. data/app/assets/fonts/InterDisplay-SemiBoldItalic.woff2 +0 -0
  40. data/app/assets/fonts/InterDisplay-Thin.woff2 +0 -0
  41. data/app/assets/fonts/InterDisplay-ThinItalic.woff2 +0 -0
  42. data/app/assets/fonts/InterVariable-Italic.woff2 +0 -0
  43. data/app/assets/fonts/InterVariable.woff2 +0 -0
  44. data/app/assets/stylesheets/pages_core/admin/components/archive.css +1 -1
  45. data/app/assets/stylesheets/pages_core/admin/components/attachments.css +22 -34
  46. data/app/assets/stylesheets/pages_core/admin/components/base.css +1 -68
  47. data/app/assets/stylesheets/pages_core/admin/components/forms.css +107 -48
  48. data/app/assets/stylesheets/pages_core/admin/components/header.css +56 -58
  49. data/app/assets/stylesheets/pages_core/admin/components/image_editor.css +35 -24
  50. data/app/assets/stylesheets/pages_core/admin/components/image_grid.css +28 -27
  51. data/app/assets/stylesheets/pages_core/admin/components/image_uploader.css +5 -5
  52. data/app/assets/stylesheets/pages_core/admin/components/layout.css +7 -1
  53. data/app/assets/stylesheets/pages_core/admin/components/list_table.css +24 -15
  54. data/app/assets/stylesheets/pages_core/admin/components/page_tree.css +63 -104
  55. data/app/assets/stylesheets/pages_core/admin/components/pagination.css +12 -13
  56. data/app/assets/stylesheets/pages_core/admin/components/search.css +1 -16
  57. data/app/assets/stylesheets/pages_core/admin/components/sidebar.css +5 -11
  58. data/app/assets/stylesheets/pages_core/admin/components/tag_editor.css +22 -36
  59. data/app/assets/stylesheets/pages_core/admin/components/toast.css +1 -2
  60. data/app/assets/stylesheets/pages_core/admin/components/toolbar.css +10 -10
  61. data/app/assets/stylesheets/pages_core/admin/components/totp.css +26 -0
  62. data/app/assets/stylesheets/pages_core/admin/controllers/pages.css +37 -51
  63. data/app/assets/stylesheets/pages_core/admin/global/fonts.css +271 -0
  64. data/app/assets/stylesheets/pages_core/admin/global/typography.css +109 -0
  65. data/app/assets/stylesheets/pages_core/admin/vars.css +1 -3
  66. data/app/assets/stylesheets/pages_core/admin.postcss.css +1 -0
  67. data/app/controllers/admin/account_recoveries_controller.rb +87 -0
  68. data/app/controllers/admin/invites_controller.rb +3 -2
  69. data/app/controllers/admin/otp_secrets_controller.rb +45 -0
  70. data/app/controllers/admin/pages_controller.rb +22 -42
  71. data/app/controllers/admin/recovery_codes_controller.rb +32 -0
  72. data/app/controllers/admin/sessions_controller.rb +65 -0
  73. data/app/controllers/admin/users_controller.rb +2 -8
  74. data/app/controllers/concerns/pages_core/authentication.rb +12 -10
  75. data/app/controllers/concerns/pages_core/error_reporting.rb +1 -1
  76. data/app/controllers/concerns/pages_core/page_parameters.rb +29 -0
  77. data/app/controllers/concerns/pages_core/policies_helper.rb +1 -1
  78. data/app/controllers/concerns/pages_core/preview_pages_controller.rb +20 -20
  79. data/app/controllers/pages_core/admin_controller.rb +1 -3
  80. data/app/controllers/pages_core/frontend/pages_controller.rb +2 -6
  81. data/app/formatters/pages_core/html_formatter.rb +2 -4
  82. data/app/helpers/admin/menu_helper.rb +5 -4
  83. data/app/helpers/admin/pages_helper.rb +1 -21
  84. data/app/helpers/pages_core/admin/admin_helper.rb +13 -3
  85. data/app/helpers/pages_core/admin/content_tabs_helper.rb +1 -2
  86. data/app/helpers/pages_core/admin/labelled_field_helper.rb +1 -1
  87. data/app/helpers/pages_core/frontend_helper.rb +1 -1
  88. data/app/helpers/pages_core/images_helper.rb +10 -8
  89. data/app/helpers/pages_core/labelled_form_builder.rb +2 -7
  90. data/app/helpers/pages_core/page_path_helper.rb +1 -1
  91. data/app/javascript/components/Attachments/Attachment.tsx +20 -18
  92. data/app/javascript/components/Attachments/AttachmentEditor.tsx +11 -9
  93. data/app/javascript/components/{Attachments.jsx → Attachments/List.tsx} +58 -63
  94. data/app/javascript/components/Attachments/useAttachments.ts +15 -0
  95. data/app/javascript/components/Attachments.tsx +14 -0
  96. data/app/javascript/components/DateRangeSelect.tsx +105 -0
  97. data/app/javascript/components/DateTimeSelect.tsx +136 -0
  98. data/app/javascript/components/EditableImage.tsx +11 -9
  99. data/app/javascript/components/FileUploadButton.tsx +7 -7
  100. data/app/javascript/components/ImageCropper/FocalPoint.tsx +9 -12
  101. data/app/javascript/components/ImageCropper/Image.tsx +10 -8
  102. data/app/javascript/components/ImageCropper/Toolbar.tsx +11 -12
  103. data/app/javascript/components/ImageCropper/useCrop.ts +24 -53
  104. data/app/javascript/components/ImageCropper.tsx +10 -15
  105. data/app/javascript/components/ImageEditor/Form.tsx +12 -8
  106. data/app/javascript/components/ImageEditor.tsx +12 -7
  107. data/app/javascript/components/ImageGrid/DragElement.tsx +9 -12
  108. data/app/javascript/components/{ImageGrid.jsx → ImageGrid/Grid.tsx} +62 -71
  109. data/app/javascript/components/ImageGrid/GridImage.tsx +22 -23
  110. data/app/javascript/components/ImageGrid/Placeholder.tsx +2 -2
  111. data/app/javascript/components/ImageGrid/useImageGrid.ts +26 -0
  112. data/app/javascript/components/ImageGrid.tsx +15 -0
  113. data/app/javascript/components/ImageUploader.tsx +35 -22
  114. data/app/javascript/components/LabelledField.tsx +34 -0
  115. data/app/javascript/components/Modal.tsx +2 -2
  116. data/app/javascript/components/PageForm/Block.tsx +81 -0
  117. data/app/javascript/components/PageForm/Content.tsx +54 -0
  118. data/app/javascript/components/PageForm/Dates.tsx +66 -0
  119. data/app/javascript/components/PageForm/Files.tsx +28 -0
  120. data/app/javascript/components/PageForm/Form.tsx +41 -0
  121. data/app/javascript/components/PageForm/Images.tsx +28 -0
  122. data/app/javascript/components/PageForm/LocaleLinks.tsx +36 -0
  123. data/app/javascript/components/PageForm/Metadata.tsx +67 -0
  124. data/app/javascript/components/PageForm/Options.tsx +180 -0
  125. data/app/javascript/components/PageForm/PageDescription.tsx +48 -0
  126. data/app/javascript/components/PageForm/PathSegment.tsx +65 -0
  127. data/app/javascript/components/PageForm/TabPanel.tsx +21 -0
  128. data/app/javascript/components/PageForm/Tabs.tsx +33 -0
  129. data/app/javascript/components/PageForm/UnconfiguredContent.tsx +42 -0
  130. data/app/javascript/components/PageForm/pageParams.ts +95 -0
  131. data/app/javascript/components/PageForm/preview.ts +23 -0
  132. data/app/javascript/components/PageForm/usePage.ts +169 -0
  133. data/app/javascript/components/PageForm/useTabs.ts +46 -0
  134. data/app/javascript/components/PageForm.tsx +163 -0
  135. data/app/javascript/components/PageImages.tsx +7 -9
  136. data/app/javascript/components/PageTree/Draggable.tsx +40 -39
  137. data/app/javascript/components/PageTree/Node.tsx +62 -56
  138. data/app/javascript/components/PageTree/PageName.tsx +28 -0
  139. data/app/javascript/components/PageTree.tsx +65 -53
  140. data/app/javascript/components/{RichTextArea.jsx → RichTextArea.tsx} +98 -79
  141. data/app/javascript/components/RichTextToolbarButton.tsx +4 -6
  142. data/app/javascript/components/TagEditor/AddTagForm.tsx +19 -12
  143. data/app/javascript/components/TagEditor/Editor.tsx +32 -0
  144. data/app/javascript/components/TagEditor/Tag.tsx +6 -4
  145. data/app/javascript/components/TagEditor/useTags.ts +58 -0
  146. data/app/javascript/components/TagEditor.tsx +8 -58
  147. data/app/javascript/components/Toast.tsx +3 -3
  148. data/app/javascript/components/drag/draggedOrder.ts +22 -14
  149. data/app/javascript/components/drag/useDragCollection.ts +35 -30
  150. data/app/javascript/components/drag/useDragUploader.ts +32 -21
  151. data/app/javascript/components/drag/useDraggable.ts +7 -6
  152. data/app/javascript/components/drag.ts +0 -1
  153. data/app/javascript/components.ts +1 -3
  154. data/app/javascript/features/RichText.tsx +2 -3
  155. data/app/javascript/features/contentTabs.ts +79 -0
  156. data/app/javascript/index.ts +5 -14
  157. data/app/javascript/lib/Tree.ts +31 -45
  158. data/app/javascript/lib/request.ts +11 -11
  159. data/app/javascript/stores/useToastStore.ts +1 -1
  160. data/app/javascript/types/Attachments.ts +29 -0
  161. data/app/javascript/types/Crop.ts +36 -0
  162. data/app/javascript/types/Drag.ts +34 -0
  163. data/app/javascript/types/Images.ts +47 -0
  164. data/app/javascript/types/PageEditor.ts +26 -0
  165. data/app/javascript/types/Pages.ts +75 -0
  166. data/app/javascript/types/Tags.ts +9 -0
  167. data/app/javascript/types/Template.ts +24 -0
  168. data/app/javascript/types/Trees.ts +19 -0
  169. data/app/javascript/types.ts +2 -25
  170. data/app/mailers/admin_mailer.rb +2 -2
  171. data/app/models/attachment.rb +1 -1
  172. data/app/models/concerns/pages_core/authenticable_user.rb +63 -0
  173. data/app/models/concerns/pages_core/emailable.rb +16 -0
  174. data/app/models/concerns/pages_core/page_model/templateable.rb +2 -16
  175. data/app/models/invite.rb +2 -6
  176. data/app/models/otp_secret.rb +101 -0
  177. data/app/models/page.rb +0 -3
  178. data/app/models/user.rb +2 -68
  179. data/app/policies/page_policy.rb +6 -2
  180. data/app/policies/user_policy.rb +4 -0
  181. data/app/resources/admin/page_resource.rb +95 -0
  182. data/app/resources/admin/page_tree_resource.rb +27 -0
  183. data/app/resources/admin/template_configuration_resource.rb +50 -0
  184. data/app/views/admin/account_recoveries/new.html.erb +22 -0
  185. data/app/views/admin/account_recoveries/show.html.erb +37 -0
  186. data/app/views/admin/invites/show.html.erb +1 -1
  187. data/app/views/admin/news/_sidebar.html.erb +2 -4
  188. data/app/views/admin/news/index.html.erb +0 -1
  189. data/app/views/admin/otp_secrets/create.html.erb +7 -0
  190. data/app/views/admin/otp_secrets/new.html.erb +60 -0
  191. data/app/views/admin/pages/_form.html.erb +10 -30
  192. data/app/views/admin/pages/_search_bar.html.erb +1 -1
  193. data/app/views/admin/pages/edit.html.erb +1 -57
  194. data/app/views/admin/pages/index.html.erb +1 -1
  195. data/app/views/admin/pages/new.html.erb +1 -44
  196. data/app/views/admin/recovery_codes/_codes.html.erb +14 -0
  197. data/app/views/admin/recovery_codes/create.html.erb +7 -0
  198. data/app/views/admin/recovery_codes/new.html.erb +11 -0
  199. data/app/views/admin/sessions/_otp_form.html.erb +13 -0
  200. data/app/views/admin/sessions/new.html.erb +31 -0
  201. data/app/views/admin/sessions/verify_otp.html.erb +19 -0
  202. data/app/views/admin/users/_access_control.html.erb +5 -1
  203. data/app/views/admin/users/_list.html.erb +12 -7
  204. data/app/views/admin/users/edit.html.erb +31 -1
  205. data/app/views/admin/users/new.html.erb +1 -1
  206. data/app/views/admin_mailer/account_recovery.text.erb +10 -0
  207. data/app/views/layouts/admin/_header.html.erb +3 -5
  208. data/app/views/layouts/admin/_page_header.html.erb +1 -2
  209. data/app/views/layouts/admin/_toast.html.erb +12 -0
  210. data/app/views/layouts/admin.html.erb +2 -2
  211. data/config/locales/en.yml +11 -7
  212. data/config/routes.rb +13 -12
  213. data/db/migrate/20240126160700_add_2fa_fields.rb +26 -0
  214. data/db/migrate/20240129201300_remove_password_reset_tokens.rb +13 -0
  215. data/db/migrate/20240131140700_change_email_to_citext.rb +18 -0
  216. data/db/migrate/20240201160700_remove_persistent_data.rb +7 -0
  217. data/db/migrate/20240508145300_remove_categories.rb +21 -0
  218. data/lib/pages_core/configuration/base.rb +2 -2
  219. data/lib/pages_core/templates/configuration.rb +1 -1
  220. data/lib/pages_core/templates/configuration_proxy.rb +2 -2
  221. data/lib/pages_core/templates/template_configuration.rb +11 -1
  222. data/lib/pages_core/templates.rb +6 -4
  223. data/lib/pages_core/version.rb +1 -1
  224. data/lib/pages_core.rb +6 -0
  225. data/lib/rails/generators/pages_core/frontend/templates/javascript/lib/gridOverlay.ts +6 -7
  226. data/lib/rails/generators/pages_core/frontend/templates/javascript/lib/responsiveEmbeds.ts +17 -12
  227. data/lib/rails/generators/pages_core/rspec/rspec_generator.rb +0 -2
  228. data/lib/rails/generators/pages_core/rspec/templates/rails_helper.rb +3 -4
  229. metadata +143 -35
  230. data/app/assets/stylesheets/pages_core/admin/components/login.css +0 -33
  231. data/app/controllers/admin/categories_controller.rb +0 -56
  232. data/app/controllers/admin/password_resets_controller.rb +0 -85
  233. data/app/controllers/concerns/pages_core/admin/persistent_params.rb +0 -75
  234. data/app/controllers/sessions_controller.rb +0 -27
  235. data/app/helpers/pages_core/admin/page_blocks_helper.rb +0 -66
  236. data/app/helpers/pages_core/admin/page_json_helper.rb +0 -23
  237. data/app/javascript/components/DateRangeSelect.jsx +0 -225
  238. data/app/javascript/components/PageDates.jsx +0 -73
  239. data/app/javascript/components/PageFiles.jsx +0 -25
  240. data/app/javascript/components/PageTree/types.ts +0 -15
  241. data/app/javascript/components/drag/types.ts +0 -28
  242. data/app/javascript/controllers/EditPageController.ts +0 -22
  243. data/app/javascript/controllers/LoginController.ts +0 -32
  244. data/app/javascript/controllers/MainController.ts +0 -74
  245. data/app/javascript/controllers/PageOptionsController.js +0 -67
  246. data/app/models/category.rb +0 -22
  247. data/app/models/page_category.rb +0 -6
  248. data/app/models/password_reset_token.rb +0 -34
  249. data/app/views/admin/pages/_edit_content.html.erb +0 -19
  250. data/app/views/admin/pages/_edit_files.html.erb +0 -4
  251. data/app/views/admin/pages/_edit_images.html.erb +0 -4
  252. data/app/views/admin/pages/_edit_metadata.html.erb +0 -35
  253. data/app/views/admin/pages/_edit_options.html.erb +0 -91
  254. data/app/views/admin/password_resets/show.html.erb +0 -21
  255. data/app/views/admin/users/login.html.erb +0 -65
  256. data/app/views/admin_mailer/password_reset.text.erb +0 -11
  257. data/lib/rails/generators/pages_core/rspec/templates/mailer_macros.rb +0 -11
@@ -18,11 +18,11 @@ module PagesCore
18
18
  args.any? ? set(key, *args) : get(key)
19
19
  end
20
20
 
21
- define_method "#{key}=" do |value|
21
+ define_method :"#{key}=" do |value|
22
22
  set(key, value)
23
23
  end
24
24
 
25
- define_method "#{key}?" do
25
+ define_method :"#{key}?" do
26
26
  get(key) ? true : false
27
27
  end
28
28
  end
@@ -95,7 +95,7 @@ module PagesCore
95
95
 
96
96
  def valid_template_options
97
97
  %i[template image images files text_filter blocks
98
- enabled_blocks sub_template tags dates]
98
+ enabled_blocks sub_template tags dates name]
99
99
  end
100
100
 
101
101
  def configure_block(tpl_name, block_name, title = nil, options = {})
@@ -9,11 +9,11 @@ module PagesCore
9
9
  end
10
10
 
11
11
  def method_missing(method_name, *args, &block)
12
- if @parent && block_given?
12
+ if @parent && block
13
13
  @callback.call(@parent, method_name, block)
14
14
  elsif @parent
15
15
  @callback.call(@parent, method_name, *args)
16
- elsif block_given?
16
+ elsif block
17
17
  @callback.call(method_name, block)
18
18
  else
19
19
  @callback.call(method_name, *args)
@@ -29,7 +29,7 @@ module PagesCore
29
29
 
30
30
  (config.get(:default, :blocks).to_a + template_blocks)
31
31
  .compact
32
- .select { |_, opts| opts[:localized] }.map(&:first)
32
+ .select { |_, opts| opts[:localized] }.map(&:first).uniq
33
33
  end
34
34
 
35
35
  private
@@ -53,6 +53,10 @@ module PagesCore
53
53
  self.class.config
54
54
  end
55
55
 
56
+ def name
57
+ value(:name) || default_name
58
+ end
59
+
56
60
  def value(*path)
57
61
  path = [path, :value].flatten
58
62
  value = config.get(*[:default, path].flatten)
@@ -103,6 +107,12 @@ module PagesCore
103
107
  size: :small
104
108
  }
105
109
  end
110
+
111
+ def default_name
112
+ return "[Default]" if template_name == :index
113
+
114
+ template_name.to_s.humanize
115
+ end
106
116
  end
107
117
 
108
118
  class << self
@@ -10,6 +10,10 @@ require "pages_core/templates/template_configuration"
10
10
  module PagesCore
11
11
  module Templates
12
12
  class << self
13
+ def all
14
+ names.map { |n| PagesCore::Templates::TemplateConfiguration.new(n) }
15
+ end
16
+
13
17
  def names
14
18
  @names ||= find_all_templates
15
19
  end
@@ -17,10 +21,8 @@ module PagesCore
17
21
  private
18
22
 
19
23
  def template_paths
20
- [
21
- PagesCore.plugin_root.join("app/views/pages/templates"),
22
- Rails.root.join("app/views/pages/templates")
23
- ]
24
+ [PagesCore.plugin_root.join("app/views/pages/templates"),
25
+ Rails.root.join("app/views/pages/templates")]
24
26
  end
25
27
 
26
28
  def template_files
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PagesCore
4
- unless PagesCore.const_defined?("VERSION")
4
+ unless PagesCore.const_defined?(:VERSION)
5
5
  VERSION = File.read(File.expand_path("../../VERSION", __dir__)).strip
6
6
  end
7
7
  end
data/lib/pages_core.rb CHANGED
@@ -32,6 +32,8 @@ require "pg_search"
32
32
  require "progress_bar"
33
33
  require "rails_i18n"
34
34
  require "RedCloth"
35
+ require "rotp"
36
+ require "rqrcode"
35
37
  require "sass-rails"
36
38
  require "typhoeus"
37
39
  require "will_paginate"
@@ -83,5 +85,9 @@ module PagesCore
83
85
  end
84
86
  end
85
87
  alias config configuration
88
+
89
+ def reset_configuration!
90
+ @configuration = PagesCore::Configuration::Pages.new
91
+ end
86
92
  end
87
93
  end
@@ -1,13 +1,12 @@
1
1
  function ready(callback: () => void) {
2
- if (document.readyState === "complete" ||
3
- (document.readyState !== "loading" && !document.documentElement.doScroll)) {
4
- callback();
5
- } else {
6
- document.addEventListener("DOMContentLoaded", callback);
7
- }
2
+ if (document.readyState !== "loading") {
3
+ callback();
4
+ } else {
5
+ document.addEventListener("DOMContentLoaded", callback);
6
+ }
8
7
  }
9
8
 
10
- function applyGrid () {
9
+ function applyGrid() {
11
10
  let showGrid = false;
12
11
  const gridOverlay = document.querySelector(".grid-overlay");
13
12
 
@@ -1,14 +1,17 @@
1
1
  const selectors = [
2
- "iframe[src*=\"bandcamp.com\"]",
3
- "iframe[src*=\"player.vimeo.com\"]",
4
- "iframe[src*=\"youtube.com\"]",
5
- "iframe[src*=\"youtube-nocookie.com\"]",
6
- "iframe[src*=\"spotify.com\"]",
7
- "iframe[src*=\"kickstarter.com\"][src*=\"video.html\"]"
2
+ 'iframe[src*="bandcamp.com"]',
3
+ 'iframe[src*="player.vimeo.com"]',
4
+ 'iframe[src*="youtube.com"]',
5
+ 'iframe[src*="youtube-nocookie.com"]',
6
+ 'iframe[src*="spotify.com"]',
7
+ 'iframe[src*="kickstarter.com"][src*="video.html"]'
8
8
  ];
9
9
 
10
10
  function readyHandler(fn: () => void) {
11
- if (document.readyState === "complete" || document.readyState === "interactive") {
11
+ if (
12
+ document.readyState === "complete" ||
13
+ document.readyState === "interactive"
14
+ ) {
12
15
  setTimeout(fn, 1);
13
16
  } else {
14
17
  document.addEventListener("DOMContentLoaded", fn);
@@ -19,12 +22,14 @@ function wrapEmbed(embed: HTMLElement): HTMLElement {
19
22
  const parent = embed.parentNode as HTMLElement;
20
23
 
21
24
  // Recycle the existing container if the embed is already responsive.
22
- if (parent &&
25
+ if (
26
+ parent &&
23
27
  parent.tagName === "DIV" &&
24
28
  parent.childNodes.length === 1 &&
25
- parent.style.position === "relative") {
26
- return parent;
27
- }
29
+ parent.style.position === "relative"
30
+ ) {
31
+ return parent;
32
+ }
28
33
 
29
34
  const wrapper = document.createElement("div");
30
35
  if (parent.tagName === "P") {
@@ -51,7 +56,7 @@ function applyEmbed(embed: HTMLElement) {
51
56
  wrapper.classList.add("responsive-embed");
52
57
  wrapper.style.position = "relative";
53
58
  wrapper.style.width = "100%";
54
- wrapper.style.paddingTop = 0;
59
+ wrapper.style.paddingTop = "0";
55
60
  wrapper.style.paddingBottom = `${ratio * 100}%`;
56
61
 
57
62
  embed.style.position = "absolute";
@@ -23,14 +23,12 @@ module PagesCore
23
23
  def setup_rspec
24
24
  create_file File.join(".rspec"), "--format Fuubar\n--colour\n" \
25
25
  "--require spec_helper"
26
- create_file File.join("spec/controllers/.keep")
27
26
  create_file File.join("spec/mailers/preview/.keep")
28
27
  create_file File.join("spec/models/.keep")
29
28
  create_file File.join("spec/system/.keep")
30
29
  template "spec_helper.rb", File.join("spec/spec_helper.rb")
31
30
  template "rails_helper.rb", File.join("spec/rails_helper.rb")
32
31
  template "factories.rb", File.join("spec/factories.rb")
33
- template "mailer_macros.rb", File.join("spec/support/mailer_macros.rb")
34
32
  template("page_templates_spec.rb",
35
33
  File.join("spec/system/page_templates_spec.rb"))
36
34
  end
@@ -6,16 +6,16 @@ ENV["RAILS_ENV"] ||= "test"
6
6
  require "simplecov"
7
7
  SimpleCov.start "rails" if ARGV.grep(/spec\.rb/).empty?
8
8
 
9
+ require "spec_helper"
9
10
  require File.expand_path("../config/environment", __dir__)
10
11
 
11
12
  # Prevent database truncation if the environment is production
12
13
  if Rails.env.production?
13
14
  abort("The Rails environment is running in production mode!")
14
15
  end
15
- require "spec_helper"
16
16
  require "rspec/rails"
17
- # Add additional requires below this line. Rails is not loaded until this point!
18
17
 
18
+ # Add additional requires below this line. Rails is not loaded until this point!
19
19
  require "shoulda-matchers"
20
20
 
21
21
  # Requires supporting ruby files with custom matchers and macros, etc, in
@@ -41,7 +41,7 @@ ActiveRecord::Migration.maintain_test_schema!
41
41
 
42
42
  RSpec.configure do |config|
43
43
  # Remove this line if you're not using ActiveRecord or ActiveRecord fixtures
44
- config.fixture_path = Rails.root.join("spec/fixtures")
44
+ # config.fixture_paths = [Rails.root.join("spec/fixtures")]
45
45
 
46
46
  # If you're not using ActiveRecord, or you'd prefer not to run each of your
47
47
  # examples within a transaction, remove the following line or assign false
@@ -69,7 +69,6 @@ RSpec.configure do |config|
69
69
  # config.filter_gems_from_backtrace("gem name")
70
70
 
71
71
  config.include ActiveJob::TestHelper
72
- config.include MailerMacros
73
72
 
74
73
  # Use FactoryBot shorthand
75
74
  config.include FactoryBot::Syntax::Methods
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pages_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.13.0
4
+ version: 3.15.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Inge Jørgensen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-01-17 00:00:00.000000000 Z
11
+ date: 2024-05-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -72,14 +72,14 @@ dependencies:
72
72
  requirements:
73
73
  - - ">="
74
74
  - !ruby/object:Gem::Version
75
- version: '0'
75
+ version: 9.0.0
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
- version: '0'
82
+ version: 9.0.0
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: dis
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -206,6 +206,34 @@ dependencies:
206
206
  - - "~>"
207
207
  - !ruby/object:Gem::Version
208
208
  version: 4.3.2
209
+ - !ruby/object:Gem::Dependency
210
+ name: rotp
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - "~>"
214
+ - !ruby/object:Gem::Version
215
+ version: 6.3.0
216
+ type: :runtime
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - "~>"
221
+ - !ruby/object:Gem::Version
222
+ version: 6.3.0
223
+ - !ruby/object:Gem::Dependency
224
+ name: rqrcode
225
+ requirement: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - ">="
228
+ - !ruby/object:Gem::Version
229
+ version: '0'
230
+ type: :runtime
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - ">="
235
+ - !ruby/object:Gem::Version
236
+ version: '0'
209
237
  - !ruby/object:Gem::Dependency
210
238
  name: tty-table
211
239
  requirement: !ruby/object:Gem::Requirement
@@ -349,6 +377,44 @@ files:
349
377
  - app/assets/builds/pages_core/admin-dist.js
350
378
  - app/assets/builds/pages_core/admin-dist.js.map
351
379
  - app/assets/builds/pages_core/admin.css
380
+ - app/assets/fonts/Inter-Black.woff2
381
+ - app/assets/fonts/Inter-BlackItalic.woff2
382
+ - app/assets/fonts/Inter-Bold.woff2
383
+ - app/assets/fonts/Inter-BoldItalic.woff2
384
+ - app/assets/fonts/Inter-ExtraBold.woff2
385
+ - app/assets/fonts/Inter-ExtraBoldItalic.woff2
386
+ - app/assets/fonts/Inter-ExtraLight.woff2
387
+ - app/assets/fonts/Inter-ExtraLightItalic.woff2
388
+ - app/assets/fonts/Inter-Italic.woff2
389
+ - app/assets/fonts/Inter-Light.woff2
390
+ - app/assets/fonts/Inter-LightItalic.woff2
391
+ - app/assets/fonts/Inter-Medium.woff2
392
+ - app/assets/fonts/Inter-MediumItalic.woff2
393
+ - app/assets/fonts/Inter-Regular.woff2
394
+ - app/assets/fonts/Inter-SemiBold.woff2
395
+ - app/assets/fonts/Inter-SemiBoldItalic.woff2
396
+ - app/assets/fonts/Inter-Thin.woff2
397
+ - app/assets/fonts/Inter-ThinItalic.woff2
398
+ - app/assets/fonts/InterDisplay-Black.woff2
399
+ - app/assets/fonts/InterDisplay-BlackItalic.woff2
400
+ - app/assets/fonts/InterDisplay-Bold.woff2
401
+ - app/assets/fonts/InterDisplay-BoldItalic.woff2
402
+ - app/assets/fonts/InterDisplay-ExtraBold.woff2
403
+ - app/assets/fonts/InterDisplay-ExtraBoldItalic.woff2
404
+ - app/assets/fonts/InterDisplay-ExtraLight.woff2
405
+ - app/assets/fonts/InterDisplay-ExtraLightItalic.woff2
406
+ - app/assets/fonts/InterDisplay-Italic.woff2
407
+ - app/assets/fonts/InterDisplay-Light.woff2
408
+ - app/assets/fonts/InterDisplay-LightItalic.woff2
409
+ - app/assets/fonts/InterDisplay-Medium.woff2
410
+ - app/assets/fonts/InterDisplay-MediumItalic.woff2
411
+ - app/assets/fonts/InterDisplay-Regular.woff2
412
+ - app/assets/fonts/InterDisplay-SemiBold.woff2
413
+ - app/assets/fonts/InterDisplay-SemiBoldItalic.woff2
414
+ - app/assets/fonts/InterDisplay-Thin.woff2
415
+ - app/assets/fonts/InterDisplay-ThinItalic.woff2
416
+ - app/assets/fonts/InterVariable-Italic.woff2
417
+ - app/assets/fonts/InterVariable.woff2
352
418
  - app/assets/images/pages/admin/angle-down-solid.svg
353
419
  - app/assets/images/pages/admin/drag-icon.png
354
420
  - app/assets/images/pages/admin/icon.svg
@@ -366,7 +432,6 @@ files:
366
432
  - app/assets/stylesheets/pages_core/admin/components/layout.css
367
433
  - app/assets/stylesheets/pages_core/admin/components/links.css
368
434
  - app/assets/stylesheets/pages_core/admin/components/list_table.css
369
- - app/assets/stylesheets/pages_core/admin/components/login.css
370
435
  - app/assets/stylesheets/pages_core/admin/components/modal.css
371
436
  - app/assets/stylesheets/pages_core/admin/components/page_tree.css
372
437
  - app/assets/stylesheets/pages_core/admin/components/pagination.css
@@ -377,8 +442,11 @@ files:
377
442
  - app/assets/stylesheets/pages_core/admin/components/textarea.css
378
443
  - app/assets/stylesheets/pages_core/admin/components/toast.css
379
444
  - app/assets/stylesheets/pages_core/admin/components/toolbar.css
445
+ - app/assets/stylesheets/pages_core/admin/components/totp.css
380
446
  - app/assets/stylesheets/pages_core/admin/controllers/pages.css
381
447
  - app/assets/stylesheets/pages_core/admin/controllers/users.css
448
+ - app/assets/stylesheets/pages_core/admin/global/fonts.css
449
+ - app/assets/stylesheets/pages_core/admin/global/typography.css
382
450
  - app/assets/stylesheets/pages_core/admin/vars.css
383
451
  - app/controller_dummies/admin/admin_controller.rb
384
452
  - app/controller_dummies/application_controller.rb
@@ -388,19 +456,21 @@ files:
388
456
  - app/controller_dummies/page_files_controller.rb
389
457
  - app/controller_dummies/pages_controller.rb
390
458
  - app/controller_dummies/sitemaps_controller.rb
459
+ - app/controllers/admin/account_recoveries_controller.rb
391
460
  - app/controllers/admin/attachments_controller.rb
392
461
  - app/controllers/admin/calendars_controller.rb
393
- - app/controllers/admin/categories_controller.rb
394
462
  - app/controllers/admin/images_controller.rb
395
463
  - app/controllers/admin/invites_controller.rb
396
464
  - app/controllers/admin/news_controller.rb
465
+ - app/controllers/admin/otp_secrets_controller.rb
397
466
  - app/controllers/admin/pages_controller.rb
398
- - app/controllers/admin/password_resets_controller.rb
467
+ - app/controllers/admin/recovery_codes_controller.rb
468
+ - app/controllers/admin/sessions_controller.rb
399
469
  - app/controllers/admin/users_controller.rb
400
- - app/controllers/concerns/pages_core/admin/persistent_params.rb
401
470
  - app/controllers/concerns/pages_core/authentication.rb
402
471
  - app/controllers/concerns/pages_core/error_renderer.rb
403
472
  - app/controllers/concerns/pages_core/error_reporting.rb
473
+ - app/controllers/concerns/pages_core/page_parameters.rb
404
474
  - app/controllers/concerns/pages_core/policies_helper.rb
405
475
  - app/controllers/concerns/pages_core/preview_pages_controller.rb
406
476
  - app/controllers/concerns/pages_core/process_titler.rb
@@ -416,7 +486,6 @@ files:
416
486
  - app/controllers/pages_core/frontend_controller.rb
417
487
  - app/controllers/pages_core/images_controller.rb
418
488
  - app/controllers/pages_core/sitemaps_controller.rb
419
- - app/controllers/sessions_controller.rb
420
489
  - app/formatters/pages_core/html_formatter.rb
421
490
  - app/formatters/pages_core/image_embedder.rb
422
491
  - app/formatters/pages_core/link_renderer.rb
@@ -435,8 +504,6 @@ files:
435
504
  - app/helpers/pages_core/admin/labelled_field_helper.rb
436
505
  - app/helpers/pages_core/admin/locales_helper.rb
437
506
  - app/helpers/pages_core/admin/localized_form_builder.rb
438
- - app/helpers/pages_core/admin/page_blocks_helper.rb
439
- - app/helpers/pages_core/admin/page_json_helper.rb
440
507
  - app/helpers/pages_core/admin/tag_editor_helper.rb
441
508
  - app/helpers/pages_core/application_helper.rb
442
509
  - app/helpers/pages_core/attachments_helper.rb
@@ -451,11 +518,14 @@ files:
451
518
  - app/helpers/pages_core/page_path_helper.rb
452
519
  - app/javascript/admin-dist.ts
453
520
  - app/javascript/components.ts
454
- - app/javascript/components/Attachments.jsx
521
+ - app/javascript/components/Attachments.tsx
455
522
  - app/javascript/components/Attachments/Attachment.tsx
456
523
  - app/javascript/components/Attachments/AttachmentEditor.tsx
524
+ - app/javascript/components/Attachments/List.tsx
457
525
  - app/javascript/components/Attachments/Placeholder.tsx
458
- - app/javascript/components/DateRangeSelect.jsx
526
+ - app/javascript/components/Attachments/useAttachments.ts
527
+ - app/javascript/components/DateRangeSelect.tsx
528
+ - app/javascript/components/DateTimeSelect.tsx
459
529
  - app/javascript/components/EditableImage.tsx
460
530
  - app/javascript/components/FileUploadButton.tsx
461
531
  - app/javascript/components/ImageCropper.tsx
@@ -465,37 +535,55 @@ files:
465
535
  - app/javascript/components/ImageCropper/useCrop.ts
466
536
  - app/javascript/components/ImageEditor.tsx
467
537
  - app/javascript/components/ImageEditor/Form.tsx
468
- - app/javascript/components/ImageGrid.jsx
538
+ - app/javascript/components/ImageGrid.tsx
469
539
  - app/javascript/components/ImageGrid/DragElement.tsx
470
540
  - app/javascript/components/ImageGrid/FilePlaceholder.tsx
541
+ - app/javascript/components/ImageGrid/Grid.tsx
471
542
  - app/javascript/components/ImageGrid/GridImage.tsx
472
543
  - app/javascript/components/ImageGrid/Placeholder.tsx
544
+ - app/javascript/components/ImageGrid/useImageGrid.ts
473
545
  - app/javascript/components/ImageUploader.tsx
546
+ - app/javascript/components/LabelledField.tsx
474
547
  - app/javascript/components/Modal.tsx
475
- - app/javascript/components/PageDates.jsx
476
- - app/javascript/components/PageFiles.jsx
548
+ - app/javascript/components/PageForm.tsx
549
+ - app/javascript/components/PageForm/Block.tsx
550
+ - app/javascript/components/PageForm/Content.tsx
551
+ - app/javascript/components/PageForm/Dates.tsx
552
+ - app/javascript/components/PageForm/Files.tsx
553
+ - app/javascript/components/PageForm/Form.tsx
554
+ - app/javascript/components/PageForm/Images.tsx
555
+ - app/javascript/components/PageForm/LocaleLinks.tsx
556
+ - app/javascript/components/PageForm/Metadata.tsx
557
+ - app/javascript/components/PageForm/Options.tsx
558
+ - app/javascript/components/PageForm/PageDescription.tsx
559
+ - app/javascript/components/PageForm/PathSegment.tsx
560
+ - app/javascript/components/PageForm/TabPanel.tsx
561
+ - app/javascript/components/PageForm/Tabs.tsx
562
+ - app/javascript/components/PageForm/UnconfiguredContent.tsx
563
+ - app/javascript/components/PageForm/pageParams.ts
564
+ - app/javascript/components/PageForm/preview.ts
565
+ - app/javascript/components/PageForm/usePage.ts
566
+ - app/javascript/components/PageForm/useTabs.ts
477
567
  - app/javascript/components/PageImages.tsx
478
568
  - app/javascript/components/PageTree.tsx
479
569
  - app/javascript/components/PageTree/Draggable.tsx
480
570
  - app/javascript/components/PageTree/Node.tsx
481
- - app/javascript/components/PageTree/types.ts
482
- - app/javascript/components/RichTextArea.jsx
571
+ - app/javascript/components/PageTree/PageName.tsx
572
+ - app/javascript/components/RichTextArea.tsx
483
573
  - app/javascript/components/RichTextToolbarButton.tsx
484
574
  - app/javascript/components/TagEditor.tsx
485
575
  - app/javascript/components/TagEditor/AddTagForm.tsx
576
+ - app/javascript/components/TagEditor/Editor.tsx
486
577
  - app/javascript/components/TagEditor/Tag.tsx
578
+ - app/javascript/components/TagEditor/useTags.ts
487
579
  - app/javascript/components/Toast.tsx
488
580
  - app/javascript/components/drag.ts
489
581
  - app/javascript/components/drag/draggedOrder.ts
490
- - app/javascript/components/drag/types.ts
491
582
  - app/javascript/components/drag/useDragCollection.ts
492
583
  - app/javascript/components/drag/useDragUploader.ts
493
584
  - app/javascript/components/drag/useDraggable.ts
494
- - app/javascript/controllers/EditPageController.ts
495
- - app/javascript/controllers/LoginController.ts
496
- - app/javascript/controllers/MainController.ts
497
- - app/javascript/controllers/PageOptionsController.js
498
585
  - app/javascript/features/RichText.tsx
586
+ - app/javascript/features/contentTabs.ts
499
587
  - app/javascript/hooks.ts
500
588
  - app/javascript/index.ts
501
589
  - app/javascript/lib/Tree.ts
@@ -506,12 +594,22 @@ files:
506
594
  - app/javascript/stores/useModalStore.ts
507
595
  - app/javascript/stores/useToastStore.ts
508
596
  - app/javascript/types.ts
597
+ - app/javascript/types/Attachments.ts
598
+ - app/javascript/types/Crop.ts
599
+ - app/javascript/types/Drag.ts
600
+ - app/javascript/types/Images.ts
601
+ - app/javascript/types/PageEditor.ts
602
+ - app/javascript/types/Pages.ts
603
+ - app/javascript/types/Tags.ts
604
+ - app/javascript/types/Template.ts
605
+ - app/javascript/types/Trees.ts
509
606
  - app/jobs/pages_core/autopublish_job.rb
510
607
  - app/jobs/pages_core/sweep_cache_job.rb
511
608
  - app/mailers/admin_mailer.rb
512
609
  - app/models/attachment.rb
513
610
  - app/models/autopublisher.rb
514
- - app/models/category.rb
611
+ - app/models/concerns/pages_core/authenticable_user.rb
612
+ - app/models/concerns/pages_core/emailable.rb
515
613
  - app/models/concerns/pages_core/has_roles.rb
516
614
  - app/models/concerns/pages_core/humanizable_param.rb
517
615
  - app/models/concerns/pages_core/page_model/attachments.rb
@@ -532,14 +630,13 @@ files:
532
630
  - app/models/image.rb
533
631
  - app/models/invite.rb
534
632
  - app/models/invite_role.rb
633
+ - app/models/otp_secret.rb
535
634
  - app/models/page.rb
536
635
  - app/models/page_builder.rb
537
- - app/models/page_category.rb
538
636
  - app/models/page_exporter.rb
539
637
  - app/models/page_file.rb
540
638
  - app/models/page_image.rb
541
639
  - app/models/page_path.rb
542
- - app/models/password_reset_token.rb
543
640
  - app/models/role.rb
544
641
  - app/models/search_document.rb
545
642
  - app/models/tag.rb
@@ -555,6 +652,9 @@ files:
555
652
  - app/resources/admin/image_resource.rb
556
653
  - app/resources/admin/page_file_resource.rb
557
654
  - app/resources/admin/page_image_resource.rb
655
+ - app/resources/admin/page_resource.rb
656
+ - app/resources/admin/page_tree_resource.rb
657
+ - app/resources/admin/template_configuration_resource.rb
558
658
  - app/resources/export/attachment_resource.rb
559
659
  - app/resources/export/page_image_resource.rb
560
660
  - app/resources/export/page_resource.rb
@@ -563,6 +663,8 @@ files:
563
663
  - app/services/pages_core/create_user_service.rb
564
664
  - app/services/pages_core/destroy_invite_service.rb
565
665
  - app/services/pages_core/invite_service.rb
666
+ - app/views/admin/account_recoveries/new.html.erb
667
+ - app/views/admin/account_recoveries/show.html.erb
566
668
  - app/views/admin/calendars/_sidebar.html.erb
567
669
  - app/views/admin/calendars/show.html.erb
568
670
  - app/views/admin/images/show.json.jbuilder
@@ -570,11 +672,8 @@ files:
570
672
  - app/views/admin/invites/show.html.erb
571
673
  - app/views/admin/news/_sidebar.html.erb
572
674
  - app/views/admin/news/index.html.erb
573
- - app/views/admin/pages/_edit_content.html.erb
574
- - app/views/admin/pages/_edit_files.html.erb
575
- - app/views/admin/pages/_edit_images.html.erb
576
- - app/views/admin/pages/_edit_metadata.html.erb
577
- - app/views/admin/pages/_edit_options.html.erb
675
+ - app/views/admin/otp_secrets/create.html.erb
676
+ - app/views/admin/otp_secrets/new.html.erb
578
677
  - app/views/admin/pages/_form.html.erb
579
678
  - app/views/admin/pages/_list_item.html.erb
580
679
  - app/views/admin/pages/_search_bar.html.erb
@@ -583,18 +682,22 @@ files:
583
682
  - app/views/admin/pages/index.html.erb
584
683
  - app/views/admin/pages/new.html.erb
585
684
  - app/views/admin/pages/search.html.erb
586
- - app/views/admin/password_resets/show.html.erb
685
+ - app/views/admin/recovery_codes/_codes.html.erb
686
+ - app/views/admin/recovery_codes/create.html.erb
687
+ - app/views/admin/recovery_codes/new.html.erb
688
+ - app/views/admin/sessions/_otp_form.html.erb
689
+ - app/views/admin/sessions/new.html.erb
690
+ - app/views/admin/sessions/verify_otp.html.erb
587
691
  - app/views/admin/users/_access_control.html.erb
588
692
  - app/views/admin/users/_list.html.erb
589
693
  - app/views/admin/users/deactivated.html.erb
590
694
  - app/views/admin/users/edit.html.erb
591
695
  - app/views/admin/users/index.html.erb
592
- - app/views/admin/users/login.html.erb
593
696
  - app/views/admin/users/new.html.erb
594
697
  - app/views/admin/users/new_password.html.erb
595
698
  - app/views/admin/users/show.html.erb
699
+ - app/views/admin_mailer/account_recovery.text.erb
596
700
  - app/views/admin_mailer/invite.text.erb
597
- - app/views/admin_mailer/password_reset.text.erb
598
701
  - app/views/errors/401.html.erb
599
702
  - app/views/errors/403.html.erb
600
703
  - app/views/errors/404.html.erb
@@ -606,6 +709,7 @@ files:
606
709
  - app/views/layouts/admin.html.erb
607
710
  - app/views/layouts/admin/_header.html.erb
608
711
  - app/views/layouts/admin/_page_header.html.erb
712
+ - app/views/layouts/admin/_toast.html.erb
609
713
  - app/views/layouts/errors.html.erb
610
714
  - app/views/sitemaps/show.xml.builder
611
715
  - config/locales/en.yml
@@ -615,6 +719,11 @@ files:
615
719
  - db/migrate/20210209151400_create_search_configurations.rb
616
720
  - db/migrate/20210210235200_create_search_documents.rb
617
721
  - db/migrate/20220615160300_remove_username.rb
722
+ - db/migrate/20240126160700_add_2fa_fields.rb
723
+ - db/migrate/20240129201300_remove_password_reset_tokens.rb
724
+ - db/migrate/20240131140700_change_email_to_citext.rb
725
+ - db/migrate/20240201160700_remove_persistent_data.rb
726
+ - db/migrate/20240508145300_remove_categories.rb
618
727
  - lib/pages_core.rb
619
728
  - lib/pages_core/admin_menu_item.rb
620
729
  - lib/pages_core/archive_finder.rb
@@ -669,7 +778,6 @@ files:
669
778
  - lib/rails/generators/pages_core/install/templates/pages_initializer.rb
670
779
  - lib/rails/generators/pages_core/rspec/rspec_generator.rb
671
780
  - lib/rails/generators/pages_core/rspec/templates/factories.rb
672
- - lib/rails/generators/pages_core/rspec/templates/mailer_macros.rb
673
781
  - lib/rails/generators/pages_core/rspec/templates/page_templates_spec.rb
674
782
  - lib/rails/generators/pages_core/rspec/templates/rails_helper.rb
675
783
  - lib/rails/generators/pages_core/rspec/templates/spec_helper.rb
@@ -1,33 +0,0 @@
1
- main .login-form {
2
- padding-top: 10px;
3
-
4
- & label {
5
- display: block;
6
- font-weight: bold;
7
- margin-bottom: 8px;
8
- font-size: 1.2em;
9
- color: var(--text-color);
10
- }
11
-
12
- & ul {
13
- margin: 0px;
14
- padding: 0px;
15
- margin-top: 30px;
16
- list-style-position: inside;
17
- list-style-type: disc;
18
- color: var(--border-color);
19
- line-height: 1.5;
20
-
21
- & li {
22
- margin: 0px;
23
- padding: 0px;
24
- font-size: 1.2em;
25
- }
26
- }
27
- }
28
-
29
- .login-tab {
30
- &.hidden {
31
- display: none;
32
- }
33
- }