From 4dca074c6db8cf69048f8001f806a4a3fe5d2c08 Mon Sep 17 00:00:00 2001 From: songtianlun Date: Wed, 5 Feb 2025 15:12:29 +0800 Subject: [PATCH] feat: enhance Ahoy dashboard city listings - Add ID column to least popular active cities table - Improve region display in cities table - Remove commented-out code section for cleaner view This update enhances the Ahoy dashboard by providing more information in the cities listing, specifically the ID of each city and a clearer representation of the region it belongs to. Additionally, it removes outdated code to improve maintainability. --- app/admin/ahoy_dashboard.rb | 55 +++++++++++++++++++------------------ app/admin/dashboard.rb | 25 +---------------- 2 files changed, 30 insertions(+), 50 deletions(-) diff --git a/app/admin/ahoy_dashboard.rb b/app/admin/ahoy_dashboard.rb index 09f7492..144ed9f 100644 --- a/app/admin/ahoy_dashboard.rb +++ b/app/admin/ahoy_dashboard.rb @@ -40,9 +40,11 @@ ActiveAdmin.register_page "Ahoy Dashboard" do panel "最冷门活跃城市" do # table_for City.least_popular_active.limit(10) do table_for City.least_popular_active do + column("ID") { |city| city.id } column("城市") { |city| link_to(city.name, admin_city_path(city)) } column("访问量") { |city| city.view_count } column("状态") { |city| status_tag(city.active? ? "活跃" : "停用") } + column("所属区域") { |city| city.country.name+"/"+city.country.region.name } # column("状态") { |city| status_tag(city.active? ? "活跃" : "停用") } column("操作") { |city| button_to "停用", @@ -58,10 +60,11 @@ ActiveAdmin.register_page "Ahoy Dashboard" do panel "热门未活跃城市" do # table_for City.most_popular_inactive.limit(10) do table_for City.most_popular_inactive do + column("ID") { |city| city.id } column("城市") { |city| link_to(city.name, admin_city_path(city)) } column("访问量") { |city| city.view_count } column("状态") { |city| status_tag(city.active? ? "活跃" : "停用") } - column("所属区域") { |city| city.country.region.name } + column("所属区域") { |city| city.country.name+"/"+city.country.region.name } column("操作") { |city| button_to "激活", admin_ahoy_dashboard_toggle_city_status_path(city_id: city.id), @@ -73,31 +76,31 @@ ActiveAdmin.register_page "Ahoy Dashboard" do end end - columns do - column do - panel "城市排名" do - table_for City.by_popularity do - column("城市") { |city| link_to(city.name, admin_city_path(city)) } - column("访问量") { |city| city.view_count } - column("状态") { |city| status_tag(city.active? ? "活跃" : "停用") } - # column("状态") { |city| status_tag(city.active? ? "活跃" : "停用") } - column("操作") { |city| - if city.active? - button_to "停用", - admin_ahoy_dashboard_toggle_city_status_path(city_id: city.id), - method: :post, - data: { confirm: "确定要停用 #{city.name} 吗?" } - else - button_to "激活", - admin_ahoy_dashboard_toggle_city_status_path(city_id: city.id), - method: :post, - data: { confirm: "确定要激活 #{city.name} 吗?" } - end - } - end - end - end - end + # columns do + # column do + # panel "城市排名" do + # table_for City.by_popularity do + # column("城市") { |city| link_to(city.name, admin_city_path(city)) } + # column("访问量") { |city| city.view_count } + # column("状态") { |city| status_tag(city.active? ? "活跃" : "停用") } + # # column("状态") { |city| status_tag(city.active? ? "活跃" : "停用") } + # column("操作") { |city| + # if city.active? + # button_to "停用", + # admin_ahoy_dashboard_toggle_city_status_path(city_id: city.id), + # method: :post, + # data: { confirm: "确定要停用 #{city.name} 吗?" } + # else + # button_to "激活", + # admin_ahoy_dashboard_toggle_city_status_path(city_id: city.id), + # method: :post, + # data: { confirm: "确定要激活 #{city.name} 吗?" } + # end + # } + # end + # end + # end + # end # 添加一个事件列表面板 panel "最近事件" do diff --git a/app/admin/dashboard.rb b/app/admin/dashboard.rb index f11bf0d..e0fc71b 100644 --- a/app/admin/dashboard.rb +++ b/app/admin/dashboard.rb @@ -39,30 +39,7 @@ ActiveAdmin.register_page "Dashboard" do end end - columns do - column do - panel "最冷门活跃城市" do - table_for City.least_popular_active.limit(10) do - column("城市") { |city| link_to(city.name, admin_city_path(city)) } - column("访问量") { |city| city.view_count } - # column("状态") { |city| status_tag(city.active? ? "活跃" : "停用") } - end - end - end - - column do - panel "热门未活跃城市" do - table_for City.most_popular_inactive.limit(10) do - column("城市") { |city| link_to(city.name, admin_city_path(city)) } - column("访问量") { |city| city.view_count } - column("状态") { |city| status_tag(city.active? ? "活跃" : "停用") } - column("所属区域") { |city| city.country.region.name } - end - end - end - end - - # 添加一个事件列表面板 + # 一个事件列表面板 panel "最近事件" do table_for Ahoy::Event.order(time: :desc).limit(10) do column :time