mirror of
https://0xacab.org/sutty/sutty
synced 2024-11-22 15:56:20 +00:00
94 lines
3.6 KiB
Text
94 lines
3.6 KiB
Text
.row
|
|
.col
|
|
%h1= t('.title')
|
|
%p.lead= t('.help')
|
|
- if @last_stat
|
|
%p
|
|
%small
|
|
= t('.last_update')
|
|
%time{ datetime: @last_stat.updated_at }
|
|
#{time_ago_in_words @last_stat.updated_at}.
|
|
|
|
%form.mb-5.form-inline{ method: 'get' }
|
|
- Stat::INTERVALS.each do |interval|
|
|
= link_to t(".#{interval}"),
|
|
site_stats_path(interval: interval,
|
|
urls: params[:urls],
|
|
period_start: params[:period_start].to_date.try(:"beginning_of_#{interval}").to_date,
|
|
period_end: params[:period_end]),
|
|
class: "mb-0 btn #{@interval == interval ? 'btn-primary active' : 'btn-secondary'}"
|
|
|
|
%input.form-control{ type: 'date',
|
|
name: :period_start,
|
|
value: params[:period_start] }
|
|
%input.form-control{ type: 'date',
|
|
name: :period_end,
|
|
value: params[:period_end] }
|
|
%button.btn.btn-secondary.mb-0{ type: 'submit' }= t('.filter')
|
|
|
|
.mb-5
|
|
%h2= t('.host.title', count: @hostnames.size)
|
|
%p.lead= t('.host.description')
|
|
= line_chart site_stats_host_path(@chart_params), **@chart_options
|
|
|
|
.mb-5#custom-urls
|
|
%h2= t('.urls.title')
|
|
%p.lead= t('.urls.description')
|
|
%form{ method: 'get', action: '#custom-urls' }
|
|
%input{ type: 'hidden',
|
|
name: 'interval',
|
|
value: @interval }
|
|
%input{ type: 'hidden',
|
|
name: 'period_start',
|
|
value: params[:period_start] }
|
|
%input{ type: 'hidden',
|
|
name: 'period_end',
|
|
value: params[:period_end] }
|
|
.form-group
|
|
%label{ for: 'urls' }= t('.urls.label')
|
|
%textarea.form-control#urls{ name: 'urls',
|
|
autocomplete: 'on',
|
|
required: true,
|
|
rows: @normalized_urls.size + 1,
|
|
aria_describedby: 'help-urls' }= @normalized_urls.join("\n")
|
|
%small.feedback.form-text.text-muted#help-urls= t('.urls.help')
|
|
.form-group
|
|
%button.btn.btn-secondary{ type: 'submit' }= t('.urls.submit')
|
|
- if @normalized_urls.present?
|
|
= line_chart site_stats_uris_path(urls: @normalized_urls,
|
|
**@chart_params),
|
|
**@chart_options
|
|
|
|
.row.mb-5.row-cols-1.row-cols-lg-2
|
|
- @columns.each_pair do |column, values|
|
|
- next if values.blank?
|
|
|
|
.col.mb-5
|
|
%h2= t(".columns.#{column}.title")
|
|
%p.lead= t(".columns.#{column}.description")
|
|
|
|
%table.table
|
|
%colgroup
|
|
%col
|
|
%col
|
|
%thead
|
|
%tr.sticky-top
|
|
%th{ scope: 'col' }= t(".columns.#{column}.column")
|
|
%th{ scope: 'col' }= t('.columns.visits')
|
|
%tfoot
|
|
%tbody
|
|
- values.each_pair do |col, val|
|
|
%tr
|
|
%th.break-all{ scope: 'row' }
|
|
= col.blank? ? t(".columns.#{column}.empty") : col
|
|
%td= val
|
|
.mb-5
|
|
%h2= t('.resources.title')
|
|
%p.lead= t('.resources.description')
|
|
|
|
- Stat::RESOURCES.each do |resource|
|
|
.mb-5
|
|
%h3= t(".resources.#{resource}.title")
|
|
%p.lead= t(".resources.#{resource}.description")
|
|
= line_chart site_stats_resources_path(resource: resource, **@chart_params),
|
|
**@chart_options.merge(StatsController::EXTRA_OPTIONS[resource])
|