songtianlun
f0f94de528
- Simplify query for most popular inactive cities in City model - Minor layout changes in Admin Dashboards for Ahoy and Sidekiq tasks This refactoring improves code organization, reducing complexity in the City model and making it easier to read. Additionally, the Admin dashboard layouts have been simplified for a better user experience.
66 lines
2.0 KiB
Ruby
66 lines
2.0 KiB
Ruby
ActiveAdmin.register_page "Ahoy Dashboard" do
|
|
menu label: "总览", parent: "数据统计", priority: 1
|
|
|
|
content title: "总览" do
|
|
columns do
|
|
column do
|
|
panel "访问统计" do
|
|
para "总访问量: #{Ahoy::Visit.count}"
|
|
para "总事件数: #{Ahoy::Event.count}"
|
|
para "独立访客数: #{Ahoy::Visit.distinct.count(:visitor_token)}"
|
|
end
|
|
end
|
|
|
|
column do
|
|
panel "热门城市" do
|
|
table_for City.by_popularity.limit(10) do
|
|
column("城市") { |city| link_to(city.name, admin_city_path(city)) }
|
|
column("访问量") { |city| city.view_count }
|
|
end
|
|
end
|
|
end
|
|
|
|
column do
|
|
panel "热门天气艺术" do
|
|
table_for WeatherArt.by_popularity.limit(10) do
|
|
column("作品") { |art| link_to(art.to_s, admin_weather_art_path(art)) }
|
|
column("访问量") { |art| art.view_count }
|
|
end
|
|
end
|
|
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
|
|
column :name
|
|
column :properties
|
|
end
|
|
end
|
|
end
|
|
end
|