pageflow 15.7.1 → 15.8.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +103 -216
- data/README.md +1 -9
- data/Rakefile +4 -1
- data/admins/pageflow/entry.rb +32 -6
- data/admins/pageflow/user.rb +7 -0
- data/app/assets/javascripts/pageflow/admin/entries.js +40 -0
- data/app/assets/stylesheets/pageflow/admin/permalink_input.scss +65 -0
- data/app/assets/stylesheets/pageflow/admin.scss +1 -0
- data/app/assets/stylesheets/pageflow/editor/base.scss +2 -6
- data/app/assets/stylesheets/pageflow/editor/dialogs.scss +2 -0
- data/app/assets/stylesheets/pageflow/editor/drop_down_button.scss +9 -0
- data/app/assets/stylesheets/pageflow/editor/info_box.scss +13 -3
- data/app/assets/stylesheets/pageflow/mixins/buttons.scss +1 -0
- data/app/assets/stylesheets/pageflow/page.scss +0 -2
- data/app/assets/stylesheets/pageflow/themes/default/page.scss +1 -1
- data/app/assets/stylesheets/pageflow/ui/forms.scss +4 -1
- data/app/controllers/pageflow/editor/file_import_controller.rb +32 -42
- data/app/controllers/pageflow/entries_controller.rb +25 -1
- data/app/helpers/pageflow/admin/permalinks_helper.rb +15 -0
- data/app/helpers/pageflow/entries_helper.rb +9 -1
- data/app/helpers/pageflow/themings_helper.rb +1 -1
- data/app/inputs/pageflow_permalink_input.rb +47 -0
- data/app/models/concerns/pageflow/permalinkable.rb +12 -0
- data/app/models/concerns/pageflow/reusable_file.rb +5 -0
- data/app/models/concerns/pageflow/uploadable_file.rb +4 -0
- data/app/models/pageflow/customized_theme.rb +4 -2
- data/app/models/pageflow/entry.rb +5 -0
- data/app/models/pageflow/entry_at_revision.rb +2 -1
- data/app/models/pageflow/entry_duplicate.rb +7 -0
- data/app/models/pageflow/image_file_url_templates.rb +2 -2
- data/app/models/pageflow/permalink.rb +39 -0
- data/app/models/pageflow/permalink_directory.rb +10 -0
- data/app/models/pageflow/published_entry.rb +17 -0
- data/app/models/pageflow/revision.rb +1 -1
- data/app/models/pageflow/theme_customization_file.rb +6 -1
- data/app/models/pageflow/theming.rb +1 -0
- data/app/views/admin/entries/_form.html.erb +9 -1
- data/app/views/admin/entries/_permalink_inputs.html.erb +6 -0
- data/app/views/admin/entries/permalink_inputs.html.erb +7 -0
- data/app/views/pageflow/editor/file_import/start_import_job.json.jbuilder +10 -0
- data/app/views/pageflow/files/_file.json.jbuilder +1 -0
- data/config/initializers/mime_types.rb +1 -0
- data/config/routes.rb +8 -5
- data/db/migrate/20221024100724_create_pageflow_permalink_directories.rb +10 -0
- data/db/migrate/20221025074049_add_permalink_attributes_to_entries.rb +5 -0
- data/db/migrate/20221027065022_create_pageflow_permalinks.rb +12 -0
- data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/editor.js +166 -169
- data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/frontend.js +44 -2
- data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/react-client.js +5 -5
- data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/react-server.js +1 -1
- data/entry_types/paged/config/initializers/features.rb +2 -0
- data/entry_types/paged/config/locales/{new/help.de.yml → de.yml} +74 -65
- data/entry_types/paged/config/locales/{new/help.en.yml → en.yml} +66 -56
- data/entry_types/scrolled/app/helpers/pageflow_scrolled/favicon_helper.rb +39 -13
- data/entry_types/scrolled/app/helpers/pageflow_scrolled/generated_media_queries_helper.rb +55 -0
- data/entry_types/scrolled/app/helpers/pageflow_scrolled/themes_helper.rb +6 -2
- data/entry_types/scrolled/app/views/pageflow_scrolled/editor/entries/_head.html.erb +2 -0
- data/entry_types/scrolled/app/views/pageflow_scrolled/entries/_manifest.json.jbuilder +16 -0
- data/entry_types/scrolled/app/views/pageflow_scrolled/entries/show.html.erb +9 -3
- data/entry_types/scrolled/app/views/pageflow_scrolled/favicons/_entry.html.erb +16 -10
- data/entry_types/scrolled/config/locales/de.yml +265 -76
- data/entry_types/scrolled/config/locales/en.yml +266 -77
- data/entry_types/scrolled/lib/pageflow_scrolled/configuration.rb +3 -3
- data/entry_types/scrolled/lib/pageflow_scrolled/plugin.rb +14 -0
- data/entry_types/scrolled/lib/pageflow_scrolled/react_widget_type.rb +1 -1
- data/entry_types/scrolled/lib/pageflow_scrolled/web_app_manifest.rb +11 -0
- data/entry_types/scrolled/lib/pageflow_scrolled.rb +39 -1
- data/entry_types/scrolled/lib/tasks/pageflow_scrolled/storybook.rake +3 -2
- data/entry_types/scrolled/package/contentElements-editor.js +124 -38
- data/entry_types/scrolled/package/contentElements-frontend.css +1 -1
- data/entry_types/scrolled/package/contentElements-frontend.js +321 -27
- data/entry_types/scrolled/package/editor.js +1345 -739
- data/entry_types/scrolled/package/frontend/EditableInlineText.module-c6672f27.js +5314 -0
- data/entry_types/scrolled/package/frontend/{PhonePlatformContext-9fb97827.js → PhonePlatformContext-22e65f92.js} +40 -4
- data/entry_types/scrolled/package/frontend/{Viewer-e2290ea0.js → Viewer-6b05522f.js} +6 -40
- data/entry_types/scrolled/package/frontend/arrowRight-7e3d9dd5.js +42 -0
- data/entry_types/scrolled/package/frontend/{components-6ab26015.js → components-487daafa.js} +546 -361
- data/entry_types/scrolled/package/frontend/index.css +1 -1
- data/entry_types/scrolled/package/frontend/index.js +197 -3674
- data/entry_types/scrolled/package/package.json +3 -2
- data/entry_types/scrolled/package/testHelpers.js +12 -2
- data/entry_types/scrolled/package/widgets/defaultNavigation.css +1 -1
- data/entry_types/scrolled/package/widgets/defaultNavigation.js +35 -32
- data/entry_types/scrolled/spec/fixtures/image.ico +0 -0
- data/lib/pageflow/entry_type.rb +6 -2
- data/lib/pageflow/version.rb +1 -1
- data/package/editor.js +122 -149
- data/package/frontend.js +19 -2
- data/package/testHelpers.js +39 -6
- data/spec/factories/entries.rb +17 -0
- data/spec/factories/permalink_directory.rb +6 -0
- data/spec/factories/permalinks.rb +4 -0
- data/spec/factories/published_entries.rb +2 -0
- metadata +31 -52
- data/app/assets/javascripts/pageflow/dist/editor.js +0 -11890
- data/app/assets/javascripts/pageflow/dist/frontend.js +0 -5800
- data/app/assets/javascripts/pageflow/dist/react-client.js +0 -22
- data/app/assets/javascripts/pageflow/dist/react-server.js +0 -19
- data/entry_types/paged/config/locales/new/video_contain.de.yml +0 -7
- data/entry_types/paged/config/locales/new/video_contain.en.yml +0 -7
- data/entry_types/scrolled/config/locales/new/before_after_slider.de.yml +0 -8
- data/entry_types/scrolled/config/locales/new/before_after_slider.en.yml +0 -8
- data/entry_types/scrolled/config/locales/new/center_ragged.de.yml +0 -8
- data/entry_types/scrolled/config/locales/new/center_ragged.en.yml +0 -9
- data/entry_types/scrolled/config/locales/new/consent.de.yml +0 -25
- data/entry_types/scrolled/config/locales/new/consent.en.yml +0 -24
- data/entry_types/scrolled/config/locales/new/content_element_categories.de.yml +0 -39
- data/entry_types/scrolled/config/locales/new/content_element_categories.en.yml +0 -39
- data/entry_types/scrolled/config/locales/new/default_transition.de.yml +0 -14
- data/entry_types/scrolled/config/locales/new/default_transition.en.yml +0 -14
- data/entry_types/scrolled/config/locales/new/header_line_breaks.de.yml +0 -28
- data/entry_types/scrolled/config/locales/new/header_line_breaks.en.yml +0 -27
- data/entry_types/scrolled/config/locales/new/header_size.de.yml +0 -17
- data/entry_types/scrolled/config/locales/new/header_size.en.yml +0 -17
- data/entry_types/scrolled/config/locales/new/iframe_embed.de.yml +0 -39
- data/entry_types/scrolled/config/locales/new/iframe_embed.en.yml +0 -39
- data/entry_types/scrolled/config/locales/new/inline_loops.de.yml +0 -26
- data/entry_types/scrolled/config/locales/new/inline_loops.en.yml +0 -26
- data/entry_types/scrolled/config/locales/new/portrait_inline_image.de.yml +0 -9
- data/entry_types/scrolled/config/locales/new/portrait_inline_image.en.yml +0 -9
- data/entry_types/scrolled/config/locales/new/section_width.de.yml +0 -10
- data/entry_types/scrolled/config/locales/new/section_width.en.yml +0 -10
- data/entry_types/scrolled/config/locales/new/typography_variants.de.yml +0 -7
- data/entry_types/scrolled/config/locales/new/typography_variants.en.yml +0 -7
- data/entry_types/scrolled/config/locales/new/video_embed_poster.de.yml +0 -8
- data/entry_types/scrolled/config/locales/new/video_embed_poster.en.yml +0 -8
- data/entry_types/scrolled/config/locales/new/waveform_styles.de.yml +0 -11
- data/entry_types/scrolled/config/locales/new/waveform_styles.en.yml +0 -12
- data/entry_types/scrolled/config/locales/new/widgets.de.yml +0 -6
- data/entry_types/scrolled/config/locales/new/widgets.en.yml +0 -6
- data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/favicons/browserconfig.xml +0 -9
- data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/favicons/mstile-150x150.png +0 -0
- data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/favicons/safari-pinned-tab.svg +0 -46
- data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/favicons/site.webmanifest +0 -19
- data/entry_types/scrolled/package/frontend/EditableInlineText.module-b9923660.js +0 -993
- data/entry_types/scrolled/package/frontend/usePhonePlatform-2857c22b.js +0 -34
@@ -8,6 +8,7 @@
|
|
8
8
|
"license": "MIT",
|
9
9
|
"dependencies": {
|
10
10
|
"@egjs/view360": "^3.4.3",
|
11
|
+
"@headlessui/react": "^1.6.6",
|
11
12
|
"core-js": "^3.6.5",
|
12
13
|
"debounce": "^1.2.0",
|
13
14
|
"deep-assign": "^3.0.0",
|
@@ -47,7 +48,7 @@
|
|
47
48
|
"@testing-library/jest-dom": "^5.14.1",
|
48
49
|
"@testing-library/react": "^12.0.0",
|
49
50
|
"@testing-library/react-hooks": "^7.0.1",
|
50
|
-
"@testing-library/user-event": "^
|
51
|
+
"@testing-library/user-event": "^14.4.3",
|
51
52
|
"@typescript-eslint/eslint-plugin": "2.x",
|
52
53
|
"@typescript-eslint/parser": "2.x",
|
53
54
|
"babel-eslint": "10.x",
|
@@ -77,6 +78,6 @@
|
|
77
78
|
"lint": "eslint .",
|
78
79
|
"start-storybook": "start-storybook -s .storybook/static",
|
79
80
|
"build-storybook": "build-storybook -s .storybook/static -o .storybook/out",
|
80
|
-
"snapshot": "
|
81
|
+
"snapshot": "build-storybook --quiet -s .storybook/static -o .storybook/out && PERCY_TOKEN=${PERCY_TOKEN:-$PT} percy-storybook --widths=1280 --build_dir=.storybook/out"
|
81
82
|
}
|
82
83
|
}
|
@@ -128,12 +128,16 @@ function normalizeSeed() {
|
|
128
128
|
themeOptions: themeOptions,
|
129
129
|
themeAssets: themeAssets
|
130
130
|
}),
|
131
|
-
additionalSeedData: additionalSeedData || {
|
131
|
+
additionalSeedData: additionalSeedData || {
|
132
|
+
frontendVersion: 1
|
133
|
+
}
|
132
134
|
},
|
133
135
|
collections: {
|
134
136
|
entries: normalizedEntries,
|
135
137
|
imageFiles: normalizeCollection(imageFiles, {
|
136
138
|
isReady: true,
|
139
|
+
basename: 'image',
|
140
|
+
extension: 'jpg',
|
137
141
|
width: 1920,
|
138
142
|
height: 1279,
|
139
143
|
configuration: {}
|
@@ -183,7 +187,13 @@ function normalizeSections() {
|
|
183
187
|
}, sectionDefaults)];
|
184
188
|
}
|
185
189
|
|
186
|
-
return normalizeCollection(sections, sectionDefaults)
|
190
|
+
return normalizeCollection(sections, sectionDefaults).map(function (section) {
|
191
|
+
return _objectSpread2(_objectSpread2({}, section), {}, {
|
192
|
+
configuration: _objectSpread2({
|
193
|
+
transition: sectionDefaults.configuration.transition
|
194
|
+
}, section.configuration)
|
195
|
+
});
|
196
|
+
});
|
187
197
|
}
|
188
198
|
|
189
199
|
function normalizeChapters() {
|
@@ -1,4 +1,4 @@
|
|
1
|
-
.DefaultNavigation-module_navigationBar__2RK0h{--default-navigation-bar-height:var(--theme-default-navigation-bar-height,50px);--default-navigation-scroller-top:var(--theme-default-navigation-scroller-top,0);--default-navigation-scroll-button-top:var(--theme-default-navigation-scroll-button-top,5px);--default-navigation-chapter-link-height:var(--theme-default-navigation-chapter-link-height,50px);--default-navigation-progress-indicator-height:var(--theme-default-navigation-progress-indicator-height,10px);font-family:var(--theme-widget-font-family);position:fixed;top:calc(-1*var(--default-navigation-bar-height));transition:top .15s;z-index:10000;width:100%;text-align:center;height:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.DefaultNavigation-module_navigationBarExpanded__C3sLq{top:0}.DefaultNavigation-module_navigationBarContentWrapper__3narH{position:relative;z-index:2;background-color:var(--theme-widget-surface-color);color:var(--theme-widget-on-surface-color);height:var(--default-navigation-bar-height);box-sizing:border-box;padding-top:var(--default-navigation-scroller-top)}.DefaultNavigation-module_menuIcon__2bb8s{position:absolute;top:0;left:12px;height:var(--default-navigation-bar-height)}.DefaultNavigation-module_contextIcons__2e65s{position:absolute;top:0;right:12px;display:flex}.DefaultNavigation-module_contextIcons__2e65s>*{pointer-events:auto}.DefaultNavigation-module_contextIcon__ELsqa{cursor:pointer;width:40px;height:var(--default-navigation-bar-height);color:var(--theme-widget-secondary-color);fill:currentcolor;stroke:currentColor}.DefaultNavigation-module_contextIcon__ELsqa svg{width:35px;height:35px;margin:7px 2px}.DefaultNavigation-module_contextIcon__ELsqa:hover,div:focus-within>.DefaultNavigation-module_contextIcon__ELsqa{color:var(--theme-widget-primary-color)}.DefaultNavigation-module_logo__3gUbx{top:0;left:15px;height:100%;max-width:15%}.DefaultNavigation-module_logo__3gUbx img{height:100%;max-width:100%;-o-object-fit:contain;object-fit:contain}.DefaultNavigation-module_chapterList__3VoXX{padding:0;margin:0;list-style:none;display:flex}.DefaultNavigation-module_chapterListItem__1YF5e{position:relative;padding:0 5px;border-right:1px solid #e9e9e9}.DefaultNavigation-module_chapterListItem__1YF5e:last-of-type{border-right:none}.DefaultNavigation-module_navigationTooltip__26Fvn{opacity:1!important;box-shadow:0 0 .3125rem rgba(0,0,0,.2)}.DefaultNavigation-module_progressBar__1jvov{position:relative;background-color:hsla(0,0%,76.1%,.8);height:8px;width:100%}.DefaultNavigation-module_progressIndicator__2d_e3{position:absolute;top:0;left:0;width:0;height:100%;background-color:var(--theme-accent-color)}@media screen and (max-width:767px){.DefaultNavigation-module_logo__3gUbx{max-width:30%}.DefaultNavigation-module_hasChapters__3ab-r .DefaultNavigation-module_logo__3gUbx{left:65px}.DefaultNavigation-module_navigationChapters__3M6zh{display:block;position:fixed;top:calc(var(--default-navigation-bar-height) + var(--default-navigation-progress-indicator-height));left:0;background:var(--theme-widget-background-color);width:100vw;bottom:0;-ms-scroll-chaining:none;overscroll-behavior:contain;overflow:scroll}.DefaultNavigation-module_navigationChaptersHidden__2TrUo{display:none}.DefaultNavigation-module_chapterList__3VoXX{display:block;padding-top:var(--default-navigation-bar-height);box-sizing:border-box;min-height:101%}.DefaultNavigation-module_chapterListItem__1YF5e{width:80vw;padding:25px 10vw;border-right:none}.DefaultNavigation-module_chapterListItem__1YF5e:after,.DefaultNavigation-module_chapterListItem__1YF5e:before{display:table;content:" ";border-top:1px solid #646464;width:14%;margin:0 43%;transition:width .15s,margin .15s}.DefaultNavigation-module_chapterListItem__1YF5e:hover:after,.DefaultNavigation-module_chapterListItem__1YF5e:hover:before{border-top:1px solid var(--theme-widget-primary-color);width:80%;margin:0 10%}.DefaultNavigation-module_chapterListItem__1YF5e p{margin-top:0}.DefaultNavigation-module_progressBar__1jvov{height:var(--default-navigation-progress-indicator-height)}}@media print{.DefaultNavigation-module_navigationBar__2RK0h{position:relative;top:0;height:auto}.DefaultNavigation-module_logo__3gUbx{left:0}.DefaultNavigation-module_chapterList__3VoXX,.DefaultNavigation-module_contextIcons__2e65s,.DefaultNavigation-module_progressBar__1jvov{display:none}}@media (min-width:768px){.HamburgerIcon-module_burgerMenuIconContainer__3aBkk{display:none}}.HamburgerIcon-module_burgerMenuIcon__1WUV0{outline:none}
|
1
|
+
.DefaultNavigation-module_navigationBar__2RK0h{--default-navigation-bar-height:var(--theme-default-navigation-bar-height,50px);--default-navigation-scroller-top:var(--theme-default-navigation-scroller-top,0);--default-navigation-scroll-button-top:var(--theme-default-navigation-scroll-button-top,5px);--default-navigation-chapter-link-height:var(--theme-default-navigation-chapter-link-height,50px);--default-navigation-progress-indicator-height:var(--theme-default-navigation-progress-indicator-height,10px);font-family:var(--theme-widget-font-family);position:fixed;top:calc(-1*var(--default-navigation-bar-height));transition:top .15s;z-index:10000;width:100%;text-align:center;height:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.DefaultNavigation-module_navigationBarExpanded__C3sLq{top:0}.DefaultNavigation-module_navigationBarContentWrapper__3narH{position:relative;z-index:2;background-color:var(--theme-widget-surface-color);color:var(--theme-widget-on-surface-color);height:var(--default-navigation-bar-height);box-sizing:border-box;padding-top:var(--default-navigation-scroller-top)}.DefaultNavigation-module_menuIcon__2bb8s{position:absolute;top:0;left:12px;height:var(--default-navigation-bar-height)}.DefaultNavigation-module_contextIcons__2e65s{position:absolute;top:0;right:12px;display:flex}.DefaultNavigation-module_contextIcons__2e65s>*{pointer-events:auto}.DefaultNavigation-module_contextIcon__ELsqa{cursor:pointer;width:40px;height:var(--default-navigation-bar-height);color:var(--theme-widget-secondary-color);fill:currentcolor;stroke:currentColor}.DefaultNavigation-module_contextIcon__ELsqa svg{width:35px;height:35px;margin:7px 2px}.DefaultNavigation-module_contextIcon__ELsqa:hover,div:focus-within>.DefaultNavigation-module_contextIcon__ELsqa{color:var(--theme-widget-primary-color)}.DefaultNavigation-module_logo__3gUbx{top:0;left:15px;height:100%;max-width:15%}.DefaultNavigation-module_logo__3gUbx img{height:100%;max-width:100%;-o-object-fit:contain;object-fit:contain}.DefaultNavigation-module_chapterList__3VoXX{padding:0;margin:0;list-style:none;display:flex}.DefaultNavigation-module_chapterListItem__1YF5e{position:relative;padding:0 5px;border-right:1px solid #e9e9e9}.DefaultNavigation-module_chapterListItem__1YF5e:last-of-type{border-right:none}.DefaultNavigation-module_navigationTooltip__26Fvn{opacity:1!important;box-shadow:0 0 .3125rem rgba(0,0,0,.2)}.DefaultNavigation-module_progressBar__1jvov{position:relative;background-color:var(--theme-default-navigation-progress-bar-background-color,hsla(0,0%,76.1%,.8));height:8px;width:100%}.DefaultNavigation-module_progressIndicator__2d_e3{position:absolute;top:0;left:0;width:0;height:100%;background-color:var(--theme-default-navigation-progress-bar-indicator-color,var(--theme-accent-color))}@media screen and (max-width:767px){.DefaultNavigation-module_logo__3gUbx{max-width:30%}.DefaultNavigation-module_hasChapters__3ab-r .DefaultNavigation-module_logo__3gUbx{left:65px}.DefaultNavigation-module_navigationChapters__3M6zh{display:block;position:fixed;top:calc(var(--default-navigation-bar-height) + var(--default-navigation-progress-indicator-height));left:0;background:var(--theme-widget-background-color);width:100vw;bottom:0;-ms-scroll-chaining:none;overscroll-behavior:contain;overflow:scroll}.DefaultNavigation-module_navigationChaptersHidden__2TrUo{display:none}.DefaultNavigation-module_chapterList__3VoXX{display:block;padding-top:var(--default-navigation-bar-height);box-sizing:border-box;min-height:101%}.DefaultNavigation-module_chapterListItem__1YF5e{width:80vw;padding:25px 10vw;border-right:none}.DefaultNavigation-module_chapterListItem__1YF5e:after,.DefaultNavigation-module_chapterListItem__1YF5e:before{display:table;content:" ";border-top:1px solid #646464;width:14%;margin:0 43%;transition:width .15s,margin .15s}.DefaultNavigation-module_chapterListItem__1YF5e:hover:after,.DefaultNavigation-module_chapterListItem__1YF5e:hover:before{border-top:1px solid var(--theme-widget-primary-color);width:80%;margin:0 10%}.DefaultNavigation-module_chapterListItem__1YF5e p{margin-top:0}.DefaultNavigation-module_progressBar__1jvov{height:var(--default-navigation-progress-indicator-height)}}@media print{.DefaultNavigation-module_navigationBar__2RK0h{position:relative;top:0;height:auto}.DefaultNavigation-module_logo__3gUbx{left:0}.DefaultNavigation-module_chapterList__3VoXX,.DefaultNavigation-module_contextIcons__2e65s,.DefaultNavigation-module_progressBar__1jvov{display:none}}@media (min-width:768px){.HamburgerIcon-module_burgerMenuIconContainer__3aBkk{display:none}}.HamburgerIcon-module_burgerMenuIcon__1WUV0{outline:none}
|
2
2
|
|
3
3
|
/*!
|
4
4
|
* Hamburgers
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { useI18n, utils, Tooltip, useFileRights, useLegalInfo, useCredits, Widget, ThemeIcon,
|
1
|
+
import { useI18n, utils, Tooltip, useFileRights, useLegalInfo, useCredits, Widget, ThemeIcon, useShareUrl, useMediaMuted, useTheme, useOnUnmuteMedia, useChapters, useCurrentChapter, usePhonePlatform, useShareProviders, useScrollPosition, frontend } from 'pageflow-scrolled/frontend';
|
2
2
|
import React, { useRef, useEffect, useCallback, useState } from 'react';
|
3
3
|
import classNames from 'classnames';
|
4
4
|
import { media } from 'pageflow/frontend';
|
@@ -177,8 +177,8 @@ function LegalInfoMenu(props) {
|
|
177
177
|
role: "creditsBoxFooter"
|
178
178
|
}));
|
179
179
|
return /*#__PURE__*/React.createElement(Tooltip, {
|
180
|
-
horizontalOffset: -30,
|
181
|
-
arrowPos: 120,
|
180
|
+
horizontalOffset: props.tooltipOffset - 30,
|
181
|
+
arrowPos: 120 - props.tooltipOffset,
|
182
182
|
content: content
|
183
183
|
}, /*#__PURE__*/React.createElement("button", {
|
184
184
|
className: classNames(styles.contextIcon),
|
@@ -191,11 +191,8 @@ function LegalInfoMenu(props) {
|
|
191
191
|
|
192
192
|
var styles$4 = {"shareIcon":"SharingMenu-module_shareIcon__2iW2l","sharingTooltip":"SharingMenu-module_sharingTooltip__2Tyev","shareLinkContainer":"SharingMenu-module_shareLinkContainer__3-3W6","shareLink":"SharingMenu-module_shareLink__3PdRE"};
|
193
193
|
|
194
|
-
function SharingMenu() {
|
195
|
-
var
|
196
|
-
var shareProviders = useShareProviders({
|
197
|
-
isPhonePlatform: isPhonePlatform
|
198
|
-
});
|
194
|
+
function SharingMenu(_ref) {
|
195
|
+
var shareProviders = _ref.shareProviders;
|
199
196
|
var shareUrl = useShareUrl();
|
200
197
|
|
201
198
|
var _useI18n = useI18n(),
|
@@ -217,21 +214,16 @@ function SharingMenu() {
|
|
217
214
|
}), shareProvider.name));
|
218
215
|
});
|
219
216
|
}
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
name: "share"
|
231
|
-
})));
|
232
|
-
} else {
|
233
|
-
return null;
|
234
|
-
}
|
217
|
+
return /*#__PURE__*/React.createElement(Tooltip, {
|
218
|
+
horizontalOffset: -70,
|
219
|
+
arrowPos: 160,
|
220
|
+
content: renderShareLinks(shareProviders)
|
221
|
+
}, /*#__PURE__*/React.createElement("button", {
|
222
|
+
className: classNames(styles.contextIcon),
|
223
|
+
title: t('pageflow_scrolled.public.navigation.share')
|
224
|
+
}, /*#__PURE__*/React.createElement(ThemeIcon, {
|
225
|
+
name: "share"
|
226
|
+
})));
|
235
227
|
}
|
236
228
|
|
237
229
|
var styles$5 = {"button":"ToggleMuteButton-module_button__1ACmo","animate":"ToggleMuteButton-module_animate__pd1yK","pulse":"ToggleMuteButton-module_pulse__2UN7Q"};
|
@@ -502,9 +494,11 @@ function Scroller(_ref) {
|
|
502
494
|
}
|
503
495
|
}
|
504
496
|
|
505
|
-
function DefaultNavigation(
|
497
|
+
function DefaultNavigation(_ref) {
|
506
498
|
var _chapters$, _chapters$2, _classNames2;
|
507
499
|
|
500
|
+
var configuration = _ref.configuration;
|
501
|
+
|
508
502
|
var _useState = useState(true),
|
509
503
|
_useState2 = _slicedToArray(_useState, 2),
|
510
504
|
navExpanded = _useState2[0],
|
@@ -522,9 +516,13 @@ function DefaultNavigation(props) {
|
|
522
516
|
|
523
517
|
var chapters = useChapters();
|
524
518
|
var currentChapter = useCurrentChapter();
|
525
|
-
|
526
|
-
|
527
|
-
|
519
|
+
var isPhonePlatform = usePhonePlatform();
|
520
|
+
var shareProviders = useShareProviders({
|
521
|
+
isPhonePlatform: isPhonePlatform
|
522
|
+
});
|
523
|
+
useScrollPosition(function (_ref2) {
|
524
|
+
var prevPos = _ref2.prevPos,
|
525
|
+
currPos = _ref2.currPos;
|
528
526
|
var expand = currPos.y > prevPos.y || // Mobile Safari reports positive scroll position
|
529
527
|
// during scroll bounce animation when scrolling
|
530
528
|
// back to the top. Make sure navigation bar
|
@@ -532,9 +530,9 @@ function DefaultNavigation(props) {
|
|
532
530
|
currPos.y >= 0;
|
533
531
|
if (expand !== navExpanded) setNavExpanded(expand);
|
534
532
|
}, [navExpanded]);
|
535
|
-
useScrollPosition(function (
|
536
|
-
var prevPos =
|
537
|
-
currPos =
|
533
|
+
useScrollPosition(function (_ref3) {
|
534
|
+
var prevPos = _ref3.prevPos,
|
535
|
+
currPos = _ref3.currPos;
|
538
536
|
var current = currPos.y * -1; // Todo: Memoize and update on window resize
|
539
537
|
|
540
538
|
var total = document.body.clientHeight - window.innerHeight;
|
@@ -587,8 +585,9 @@ function DefaultNavigation(props) {
|
|
587
585
|
}, renderChapterLinks(chapters))));
|
588
586
|
}
|
589
587
|
|
588
|
+
var hideSharingButton = configuration.hideSharingButton || !shareProviders.length;
|
590
589
|
return /*#__PURE__*/React.createElement("header", {
|
591
|
-
className: classNames(styles.navigationBar, (_classNames2 = {}, _defineProperty(_classNames2, styles.navigationBarExpanded, navExpanded || !mobileNavHidden), _defineProperty(_classNames2, styles.hasChapters, hasChapters), _classNames2))
|
590
|
+
className: classNames(styles.navigationBar, (_classNames2 = {}, _defineProperty(_classNames2, styles.navigationBarExpanded, navExpanded || !isPhonePlatform && configuration.fixedOnDesktop || !mobileNavHidden), _defineProperty(_classNames2, styles.hasChapters, hasChapters), _classNames2))
|
592
591
|
}, /*#__PURE__*/React.createElement("div", {
|
593
592
|
className: styles.navigationBarContentWrapper
|
594
593
|
}, hasChapters && /*#__PURE__*/React.createElement(HamburgerIcon, {
|
@@ -596,7 +595,11 @@ function DefaultNavigation(props) {
|
|
596
595
|
mobileNavHidden: mobileNavHidden
|
597
596
|
}), /*#__PURE__*/React.createElement(SkipLinks, null), /*#__PURE__*/React.createElement(Logo, null), renderNav(), /*#__PURE__*/React.createElement("div", {
|
598
597
|
className: classNames(styles.contextIcons)
|
599
|
-
},
|
598
|
+
}, !configuration.hideToggleMuteButton && /*#__PURE__*/React.createElement(ToggleMuteButton, null), /*#__PURE__*/React.createElement(LegalInfoMenu, {
|
599
|
+
tooltipOffset: hideSharingButton ? -40 : 0
|
600
|
+
}), !hideSharingButton && /*#__PURE__*/React.createElement(SharingMenu, {
|
601
|
+
shareProviders: shareProviders
|
602
|
+
}))), /*#__PURE__*/React.createElement("div", {
|
600
603
|
className: styles.progressBar,
|
601
604
|
onMouseEnter: handleProgressBarMouseEnter
|
602
605
|
}, /*#__PURE__*/React.createElement("span", {
|
Binary file
|
data/lib/pageflow/entry_type.rb
CHANGED
@@ -5,7 +5,7 @@ module Pageflow
|
|
5
5
|
class EntryType
|
6
6
|
# @api private
|
7
7
|
attr_reader :name, :frontend_app, :editor_fragment_renderer, :configuration, :editor_app,
|
8
|
-
:theme_files
|
8
|
+
:theme_files, :web_app_manifest
|
9
9
|
|
10
10
|
# @param name [String] A unique name.
|
11
11
|
#
|
@@ -27,14 +27,18 @@ module Pageflow
|
|
27
27
|
# entry type and which Paperclip styles shall be processed:
|
28
28
|
# `{logo: {content_type: %r{^image/}, styles: {small:
|
29
29
|
# '300x300>'}}`.
|
30
|
+
#
|
31
|
+
# @param web_app_manifest [#call] Receives published entry and
|
32
|
+
# returns JSON for webmanifest file.
|
30
33
|
def initialize(name:, frontend_app:, editor_fragment_renderer:, configuration:, editor_app: nil,
|
31
|
-
theme_files: {})
|
34
|
+
theme_files: {}, web_app_manifest: nil)
|
32
35
|
@name = name
|
33
36
|
@frontend_app = frontend_app
|
34
37
|
@editor_fragment_renderer = editor_fragment_renderer
|
35
38
|
@configuration = configuration
|
36
39
|
@editor_app = editor_app
|
37
40
|
@theme_files = theme_files
|
41
|
+
@web_app_manifest = web_app_manifest
|
38
42
|
end
|
39
43
|
end
|
40
44
|
end
|
data/lib/pageflow/version.rb
CHANGED