Skip to content

feat: layout system #118

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 74 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
74 commits
Select commit Hold shift + click to select a range
588dfb2
feat: implement the SectionContentStore model
did Mar 5, 2025
2ad635c
WIP
did Mar 7, 2025
91ddd9c
feat: load layouts of a theme
did Mar 7, 2025
5492274
feat: an editor can select a layout for a page + pick a different HTM…
did Mar 8, 2025
3330548
chore: fix the Rails 6 version
did Mar 8, 2025
58b637f
chore: fix the Rails 7 version
did Mar 8, 2025
9a0c02c
chore: fix the Rails 7.2 version
did Mar 8, 2025
0ba3a98
feat: pimp the GetPageSections service to return sections grouped by …
did Mar 8, 2025
7764455
chore: please Rubocop
did Mar 8, 2025
96f6414
feat: implement the PersistSectionsContent service (replacement of th…
did Mar 10, 2025
0325630
chore: rubocop
did Mar 10, 2025
11a8d6d
feat: first working version of the EditorUI using the layouts (WIP)
did Mar 14, 2025
8134a85
chore: update the style through its own button (and not through the g…
did Mar 15, 2025
8de8464
chore: update translations for the style persisting feat
did Mar 15, 2025
fee56c3
feat: when picking a page/section target for a link, display the layo…
did Mar 16, 2025
3c8334d
chore: remove the PersistPage service from the PagesController
did Mar 16, 2025
6c94e48
chore: also clone the SectionsContentStores in the ClonePage service
did Mar 17, 2025
5ed2914
feat: set a default layout in the new page form
did Mar 20, 2025
ae28055
feat: reload the preview if the layoutId has changed
did Mar 20, 2025
dee8db8
feat: implement the mirrored section feature (WIP)
did Mar 22, 2025
56ffbc8
feat: mirrored section can be detached/re-attached
did Mar 23, 2025
cfc2079
feat: display an icon for mirrored type sections (+ placeholder)
did Mar 23, 2025
c0e2414
feat: run validation when adding a mirrored section
did Mar 23, 2025
2cf9819
chore: add FR + ES translations for the mirrored section feature
did Mar 24, 2025
08b7b67
feat: persist and fetch mirrored sections
did Mar 27, 2025
ff8dfb7
feat: mirror sections can also point to other mirror sections 🤯
did Mar 28, 2025
095ea28
chore: Rubocop is happy 😎
did Mar 28, 2025
7fbbb53
feat: update the SetupPages service to reflect the new layout system
did Mar 28, 2025
bf18f2e
chore: remove the PersistPage service (deprecated)
did Mar 28, 2025
f531bfc
chore: fix models specs
did Mar 29, 2025
c3d921b
chore: fix the AddSiteLocale service specs
did Mar 30, 2025
b1fa5e8
chore: fix the FetchThemeLayout service specs
did Mar 30, 2025
1df5ea0
chore: fix the GenerateSite service
did Apr 1, 2025
34fc3cd
chore: fix components specs
did Apr 3, 2025
761b386
chore: fix requests specs
did Apr 4, 2025
58bfc96
chore: fix all specs
did Apr 4, 2025
c02b62a
chore: fix specs for Rails 6 & 7.x versions
did Apr 5, 2025
b4e5cc8
feat: add the accept attribute to layout groups and also fix the JS t…
did Apr 6, 2025
f5bd8c5
feat: implement the recoverable layout group attribute (replacement o…
did Apr 10, 2025
a9f795c
fix: accordion icon won't change + display all the sections no matter…
did Apr 11, 2025
9053e4c
feat: refine the UI/UX of the list of sections
did Apr 11, 2025
828b728
chore: no more "store: false", replaced by "store: page"
did Apr 11, 2025
3fdc0ce
feat: the mirror_section theme attribute can be overriden on the grou…
did Apr 11, 2025
1f510c0
chore: Rubocop 👌
did Apr 11, 2025
21effae
feat: add an optional relationship between a page and sections conten…
did Apr 13, 2025
2f680b6
chore: prepare the upgrade to v2 task (WIP)
did Apr 13, 2025
0aa176f
feat: handle the site scoped sections + service to migrate from v1 (WIP)
did Apr 16, 2025
bc38f96
feat: add a site scoped section in the editor
did Apr 16, 2025
a23f6ad
feat: add constraint for singleton/site scoped sections when adding a…
did Apr 17, 2025
7130443
fixci: inconsistent SQL schema for legacy versions
did Apr 17, 2025
2eb34fe
fixci: inconsistent SQL schema for legacy versions (attempt #2)
did Apr 17, 2025
f3baaa6
fixci: fix an issue with Rails 7.0
did Apr 17, 2025
b66bb12
feat: rake task to upgrade to v2 + pimp files from the Maglev generator
did Apr 17, 2025
439a2f9
feat: add a generator to add a layout to a theme
did Apr 18, 2025
de977a7
fix: wrong conflict merging
did Apr 24, 2025
6c9f2fe
feat: pass the context to the FetchsectionsContent service (useful fo…
did Apr 25, 2025
c2774b9
feat(ui): the tablet width is now 768px
did Apr 25, 2025
b3b901a
fix(ci): generate the SQLITE schema.rb files
did Apr 25, 2025
5ee2c62
chore: the schema.rb files were not up-to-date
did Apr 25, 2025
40217e1
fix(ci): again fixing the Gemfile/schema.rb for all the different Rai…
did Apr 25, 2025
4a01ed7
chore: Rubocop 👌
did Apr 25, 2025
85fd81a
fix(ci): again fixing the Gemfile/schema.rb for all the different Rai…
did Apr 25, 2025
ca7c353
chore: don't raise an exception if there are no stores in DB
did Apr 25, 2025
2eae0f9
fix: the canAddMirrorSection method wasn't taking the current number …
did Apr 26, 2025
1689b81
feat: add a protection mode for mirrored section
did Apr 26, 2025
623ffb7
fix: fix an issue with a client's site regarding his draft/publish fe…
did May 9, 2025
4ba1724
fix: remove JS errors when we detach a protected & mirrored section
did May 9, 2025
f7334b1
fix bug that broke previewing collections (#146)
erdostom May 12, 2025
d754ac7
fix: issue with layout group having an underscore in their id + mirro…
did May 23, 2025
c63e192
chore: the notion of site or page sections don't exist anymore, adapt…
did Jun 6, 2025
1cc7981
chore: fix the JS tests
did Jun 6, 2025
de8cabb
chore: the Add section button from the sidebar shouldn't exist anymore
did Jun 13, 2025
17fba4d
chore: fix merge conflicts
did Jun 13, 2025
1400175
chore: update the new list of sections component
did Jun 13, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ coverage/
podman.sh
template.dev.rb
tailwind-maglev-pro.config.js
plugins

# Vite Ruby
/public/vite*
Expand All @@ -41,4 +42,4 @@ spec/dummy/db/*.sqlite3
spec/legacy_dummy/db/*.sqlite3

docs/
TODO.md
TODO.md
2 changes: 1 addition & 1 deletion .ruby-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.3.5
3.4.1
Binary file modified .yarn/install-state.gz
Binary file not shown.
40 changes: 24 additions & 16 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -104,16 +104,16 @@ GEM
factory_bot_rails (6.2.0)
factory_bot (~> 6.2.0)
railties (>= 5.0.0)
ffi (1.17.0-aarch64-linux-gnu)
ffi (1.17.0-aarch64-linux-musl)
ffi (1.17.0-arm-linux-gnu)
ffi (1.17.0-arm-linux-musl)
ffi (1.17.0-arm64-darwin)
ffi (1.17.0-x86-linux-gnu)
ffi (1.17.0-x86-linux-musl)
ffi (1.17.0-x86_64-darwin)
ffi (1.17.0-x86_64-linux-gnu)
ffi (1.17.0-x86_64-linux-musl)
ffi (1.17.2-aarch64-linux-gnu)
ffi (1.17.2-aarch64-linux-musl)
ffi (1.17.2-arm-linux-gnu)
ffi (1.17.2-arm-linux-musl)
ffi (1.17.2-arm64-darwin)
ffi (1.17.2-x86-linux-gnu)
ffi (1.17.2-x86-linux-musl)
ffi (1.17.2-x86_64-darwin)
ffi (1.17.2-x86_64-linux-gnu)
ffi (1.17.2-x86_64-linux-musl)
generator_spec (0.10.0)
activesupport (>= 3.0.0)
railties (>= 3.0.0)
Expand Down Expand Up @@ -158,6 +158,7 @@ GEM
marcel (1.0.4)
mini_magick (4.13.2)
mini_mime (1.1.5)
mini_portile2 (2.8.9)
minitest (5.25.5)
mutex_m (0.3.0)
net-imap (0.5.8)
Expand All @@ -170,17 +171,24 @@ GEM
net-smtp (0.5.1)
net-protocol
nio4r (2.7.4)
nokogiri (1.16.7-aarch64-linux)
nokogiri (1.18.8)
mini_portile2 (~> 2.8.2)
racc (~> 1.4)
nokogiri (1.16.7-arm-linux)
nokogiri (1.18.8-aarch64-linux-gnu)
racc (~> 1.4)
nokogiri (1.16.7-arm64-darwin)
nokogiri (1.18.8-aarch64-linux-musl)
racc (~> 1.4)
nokogiri (1.16.7-x86-linux)
nokogiri (1.18.8-arm-linux-gnu)
racc (~> 1.4)
nokogiri (1.16.7-x86_64-darwin)
nokogiri (1.18.8-arm-linux-musl)
racc (~> 1.4)
nokogiri (1.16.7-x86_64-linux)
nokogiri (1.18.8-arm64-darwin)
racc (~> 1.4)
nokogiri (1.18.8-x86_64-darwin)
racc (~> 1.4)
nokogiri (1.18.8-x86_64-linux-gnu)
racc (~> 1.4)
nokogiri (1.18.8-x86_64-linux-musl)
racc (~> 1.4)
observer (0.1.2)
ostruct (0.6.1)
Expand Down
6 changes: 5 additions & 1 deletion Gemfile.rails_7_0
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ git_source(:github) { |repo| "https://github.com/#{repo}.git" }
# development dependencies will be added by default to the :development group.
gemspec

gem 'rails', '7.0.8'
gem 'rails', '~> 7.0', '< 7.1'

# Active Storage analyser
gem 'mini_magick', '~> 4.11'
Expand Down Expand Up @@ -45,6 +45,8 @@ gem 'bigdecimal'
gem 'mutex_m'
gem 'drb'
gem 'fiddle'
gem 'benchmark'
gem 'concurrent-ruby', '1.3.4'

group :development, :test do
# Use SCSS for stylesheets
Expand All @@ -59,6 +61,8 @@ group :development, :test do

gem 'generator_spec'

gem 'annotate'

gem 'nokogiri', '>= 1.13.10'
end

Expand Down
Loading