diff --git a/app/models/cms/page.rb b/app/models/cms/page.rb index 287a2a0..cfaffe9 100644 --- a/app/models/cms/page.rb +++ b/app/models/cms/page.rb @@ -1,11 +1,12 @@ module Cms class Page - include ActiveModel::API + include ActiveModel::Model include ActiveModel::Conversion + include ActiveModel::Dirty @@files = Set.new Dir.new(Rails.root.join("cms")).children - attr_reader :name + attr_reader :name , :content def id @name @@ -20,8 +21,17 @@ module Cms @content = YAML.load_file(Rails.root.join("cms" , file_name)) end + def template + @content[0]["template"] + end + + def save + false + end + def self.all @@files.collect{ |file| Page.new(file) } end + end end diff --git a/app/views/cms/pages/index.html.haml b/app/views/cms/pages/index.html.haml index 3d8c54d..c3d738e 100644 --- a/app/views/cms/pages/index.html.haml +++ b/app/views/cms/pages/index.html.haml @@ -1,21 +1,31 @@ -%h1 Listing cms_pages - -%table - %thead - %tr - %th - %th - %th - - %tbody - - @cms_pages.each do |cms_page| +.overflow-hidden.overflow-x-auto.rounded-lg.border.border-gray-200.m-20 + %table.min-w-full.divide-y.divide-gray-200.text-sm + %thead.bg-gray-100 %tr - =cms_page.id - %tr - %td= link_to 'Show', cms_page - %td= #link_to 'Edit', edit_cms_page_path(cms_page) - %td= link_to 'Destroy', cms_page, method: :delete, data: { confirm: 'Are you sure?' } - -%br + %th.whitespace-nowrap.px-4.py-2.text-left.font-medium.text-gray-900 + .flex.items-center.gap-2 + Name + %th.whitespace-nowrap.px-4.py-2.text-left.font-medium.text-gray-900 + .flex.items-center.gap-2 + First Template + %th.whitespace-nowrap.px-4.py-2.text-left.font-medium.text-gray-900 + .flex.items-center.gap-2 + Size (Sections) + %th.whitespace-nowrap.px-4.py-2.text-left.font-medium.text-gray-900 + Status + %tbody.divide-y.divide-gray-200 + - @cms_pages.each do |cms_page| + %tr + %td.whitespace-nowrap.px-4.py-2.text-gray-700 + = link_to cms_page.name , cms_page.name + %td.whitespace-nowrap.px-4.py-2.text-gray-700 + = cms_page.template + %td.whitespace-nowrap.px-4.py-2.text-gray-700 + = cms_page.content.length + %td.whitespace-nowrap.px-4.py-2 + %strong.rounded.bg-green-100.px-3.text-xs.font-medium.text-green-700{:class => "py-1.5"} + = link_to 'Show', cms_page_path(cms_page , id: cms_page.name) + %strong.rounded.bg-amber-100.px-3.text-xs.font-medium.text-amber-700{:class => "py-1.5"} + = link_to 'Edit', edit_cms_page_path(cms_page , id: cms_page.name) = link_to 'New Page', new_cms_page_path