Extract dashboard partial for admin instance page (#32189)
This commit is contained in:
		
							parent
							
								
									497e8d00b9
								
							
						
					
					
						commit
						675d3ea5c1
					
				| 
						 | 
					@ -0,0 +1,66 @@
 | 
				
			||||||
 | 
					-# locals: (instance_domain:, period_end_at:, period_start_at:)
 | 
				
			||||||
 | 
					%p
 | 
				
			||||||
 | 
					  = material_symbol 'info'
 | 
				
			||||||
 | 
					  = t('admin.instances.totals_time_period_hint_html')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.dashboard
 | 
				
			||||||
 | 
					  .dashboard__item
 | 
				
			||||||
 | 
					    = react_admin_component :counter,
 | 
				
			||||||
 | 
					                            end_at: period_end_at,
 | 
				
			||||||
 | 
					                            href: admin_accounts_path(origin: 'remote', by_domain: instance_domain),
 | 
				
			||||||
 | 
					                            label: t('admin.instances.dashboard.instance_accounts_measure'),
 | 
				
			||||||
 | 
					                            measure: 'instance_accounts',
 | 
				
			||||||
 | 
					                            params: { domain: instance_domain },
 | 
				
			||||||
 | 
					                            start_at: period_start_at
 | 
				
			||||||
 | 
					  .dashboard__item
 | 
				
			||||||
 | 
					    = react_admin_component :counter,
 | 
				
			||||||
 | 
					                            end_at: period_end_at,
 | 
				
			||||||
 | 
					                            label: t('admin.instances.dashboard.instance_statuses_measure'),
 | 
				
			||||||
 | 
					                            measure: 'instance_statuses',
 | 
				
			||||||
 | 
					                            params: { domain: instance_domain },
 | 
				
			||||||
 | 
					                            start_at: period_start_at
 | 
				
			||||||
 | 
					  .dashboard__item
 | 
				
			||||||
 | 
					    = react_admin_component :counter,
 | 
				
			||||||
 | 
					                            end_at: period_end_at,
 | 
				
			||||||
 | 
					                            label: t('admin.instances.dashboard.instance_media_attachments_measure'),
 | 
				
			||||||
 | 
					                            measure: 'instance_media_attachments',
 | 
				
			||||||
 | 
					                            params: { domain: instance_domain },
 | 
				
			||||||
 | 
					                            start_at: period_start_at
 | 
				
			||||||
 | 
					  .dashboard__item
 | 
				
			||||||
 | 
					    = react_admin_component :counter,
 | 
				
			||||||
 | 
					                            end_at: period_end_at,
 | 
				
			||||||
 | 
					                            label: t('admin.instances.dashboard.instance_follows_measure'),
 | 
				
			||||||
 | 
					                            measure: 'instance_follows',
 | 
				
			||||||
 | 
					                            params: { domain: instance_domain },
 | 
				
			||||||
 | 
					                            start_at: period_start_at
 | 
				
			||||||
 | 
					  .dashboard__item
 | 
				
			||||||
 | 
					    = react_admin_component :counter,
 | 
				
			||||||
 | 
					                            end_at: period_end_at,
 | 
				
			||||||
 | 
					                            label: t('admin.instances.dashboard.instance_followers_measure'),
 | 
				
			||||||
 | 
					                            measure: 'instance_followers',
 | 
				
			||||||
 | 
					                            params: { domain: instance_domain },
 | 
				
			||||||
 | 
					                            start_at: period_start_at
 | 
				
			||||||
 | 
					  .dashboard__item
 | 
				
			||||||
 | 
					    = react_admin_component :counter,
 | 
				
			||||||
 | 
					                            end_at: period_end_at,
 | 
				
			||||||
 | 
					                            href: admin_reports_path(by_target_domain: instance_domain),
 | 
				
			||||||
 | 
					                            label: t('admin.instances.dashboard.instance_reports_measure'),
 | 
				
			||||||
 | 
					                            measure: 'instance_reports',
 | 
				
			||||||
 | 
					                            params: { domain: instance_domain },
 | 
				
			||||||
 | 
					                            start_at: period_start_at
 | 
				
			||||||
 | 
					  .dashboard__item
 | 
				
			||||||
 | 
					    = react_admin_component :dimension,
 | 
				
			||||||
 | 
					                            dimension: 'instance_accounts',
 | 
				
			||||||
 | 
					                            end_at: period_end_at,
 | 
				
			||||||
 | 
					                            label: t('admin.instances.dashboard.instance_accounts_dimension'),
 | 
				
			||||||
 | 
					                            limit: 8,
 | 
				
			||||||
 | 
					                            params: { domain: instance_domain },
 | 
				
			||||||
 | 
					                            start_at: period_start_at
 | 
				
			||||||
 | 
					  .dashboard__item
 | 
				
			||||||
 | 
					    = react_admin_component :dimension,
 | 
				
			||||||
 | 
					                            dimension: 'instance_languages',
 | 
				
			||||||
 | 
					                            end_at: period_end_at,
 | 
				
			||||||
 | 
					                            label: t('admin.instances.dashboard.instance_languages_dimension'),
 | 
				
			||||||
 | 
					                            limit: 8,
 | 
				
			||||||
 | 
					                            params: { domain: instance_domain },
 | 
				
			||||||
 | 
					                            start_at: period_start_at
 | 
				
			||||||
| 
						 | 
					@ -8,72 +8,7 @@
 | 
				
			||||||
    = l(@time_period.last)
 | 
					    = l(@time_period.last)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - if @instance.persisted?
 | 
					  - if @instance.persisted?
 | 
				
			||||||
    %p
 | 
					    = render 'dashboard', instance_domain: @instance.domain, period_end_at: @time_period.last, period_start_at: @time_period.first
 | 
				
			||||||
      = material_symbol 'info'
 | 
					 | 
				
			||||||
      = t('admin.instances.totals_time_period_hint_html')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    .dashboard
 | 
					 | 
				
			||||||
      .dashboard__item
 | 
					 | 
				
			||||||
        = react_admin_component :counter,
 | 
					 | 
				
			||||||
                                end_at: @time_period.last,
 | 
					 | 
				
			||||||
                                href: admin_accounts_path(origin: 'remote', by_domain: @instance.domain),
 | 
					 | 
				
			||||||
                                label: t('admin.instances.dashboard.instance_accounts_measure'),
 | 
					 | 
				
			||||||
                                measure: 'instance_accounts',
 | 
					 | 
				
			||||||
                                params: { domain: @instance.domain },
 | 
					 | 
				
			||||||
                                start_at: @time_period.first
 | 
					 | 
				
			||||||
      .dashboard__item
 | 
					 | 
				
			||||||
        = react_admin_component :counter,
 | 
					 | 
				
			||||||
                                end_at: @time_period.last,
 | 
					 | 
				
			||||||
                                label: t('admin.instances.dashboard.instance_statuses_measure'),
 | 
					 | 
				
			||||||
                                measure: 'instance_statuses',
 | 
					 | 
				
			||||||
                                params: { domain: @instance.domain },
 | 
					 | 
				
			||||||
                                start_at: @time_period.first
 | 
					 | 
				
			||||||
      .dashboard__item
 | 
					 | 
				
			||||||
        = react_admin_component :counter,
 | 
					 | 
				
			||||||
                                end_at: @time_period.last,
 | 
					 | 
				
			||||||
                                label: t('admin.instances.dashboard.instance_media_attachments_measure'),
 | 
					 | 
				
			||||||
                                measure: 'instance_media_attachments',
 | 
					 | 
				
			||||||
                                params: { domain: @instance.domain },
 | 
					 | 
				
			||||||
                                start_at: @time_period.first
 | 
					 | 
				
			||||||
      .dashboard__item
 | 
					 | 
				
			||||||
        = react_admin_component :counter,
 | 
					 | 
				
			||||||
                                end_at: @time_period.last,
 | 
					 | 
				
			||||||
                                label: t('admin.instances.dashboard.instance_follows_measure'),
 | 
					 | 
				
			||||||
                                measure: 'instance_follows',
 | 
					 | 
				
			||||||
                                params: { domain: @instance.domain },
 | 
					 | 
				
			||||||
                                start_at: @time_period.first
 | 
					 | 
				
			||||||
      .dashboard__item
 | 
					 | 
				
			||||||
        = react_admin_component :counter,
 | 
					 | 
				
			||||||
                                end_at: @time_period.last,
 | 
					 | 
				
			||||||
                                label: t('admin.instances.dashboard.instance_followers_measure'),
 | 
					 | 
				
			||||||
                                measure: 'instance_followers',
 | 
					 | 
				
			||||||
                                params: { domain: @instance.domain },
 | 
					 | 
				
			||||||
                                start_at: @time_period.first
 | 
					 | 
				
			||||||
      .dashboard__item
 | 
					 | 
				
			||||||
        = react_admin_component :counter,
 | 
					 | 
				
			||||||
                                end_at: @time_period.last,
 | 
					 | 
				
			||||||
                                href: admin_reports_path(by_target_domain: @instance.domain),
 | 
					 | 
				
			||||||
                                label: t('admin.instances.dashboard.instance_reports_measure'),
 | 
					 | 
				
			||||||
                                measure: 'instance_reports',
 | 
					 | 
				
			||||||
                                params: { domain: @instance.domain },
 | 
					 | 
				
			||||||
                                start_at: @time_period.first
 | 
					 | 
				
			||||||
      .dashboard__item
 | 
					 | 
				
			||||||
        = react_admin_component :dimension,
 | 
					 | 
				
			||||||
                                dimension: 'instance_accounts',
 | 
					 | 
				
			||||||
                                end_at: @time_period.last,
 | 
					 | 
				
			||||||
                                label: t('admin.instances.dashboard.instance_accounts_dimension'),
 | 
					 | 
				
			||||||
                                limit: 8,
 | 
					 | 
				
			||||||
                                params: { domain: @instance.domain },
 | 
					 | 
				
			||||||
                                start_at: @time_period.first
 | 
					 | 
				
			||||||
      .dashboard__item
 | 
					 | 
				
			||||||
        = react_admin_component :dimension,
 | 
					 | 
				
			||||||
                                dimension: 'instance_languages',
 | 
					 | 
				
			||||||
                                end_at: @time_period.last,
 | 
					 | 
				
			||||||
                                label: t('admin.instances.dashboard.instance_languages_dimension'),
 | 
					 | 
				
			||||||
                                limit: 8,
 | 
					 | 
				
			||||||
                                params: { domain: @instance.domain },
 | 
					 | 
				
			||||||
                                start_at: @time_period.first
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  - else
 | 
					  - else
 | 
				
			||||||
    %p
 | 
					    %p
 | 
				
			||||||
      = t('admin.instances.unknown_instance')
 | 
					      = t('admin.instances.unknown_instance')
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue