Merge branch 'master' into glitch-soc/merge-upstream
Conflicts: - `app/javascript/packs/public.js`: Upstream removed an unused function in code that has been refactored a bit. Removed that function in the corresponding places.
This commit is contained in:
		
						commit
						dc2ab6e646
					
				
							
								
								
									
										2
									
								
								Gemfile
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								Gemfile
									
									
									
									
									
								
							@ -60,7 +60,7 @@ gem 'htmlentities', '~> 4.3'
 | 
			
		||||
gem 'http', '~> 4.3'
 | 
			
		||||
gem 'http_accept_language', '~> 2.1'
 | 
			
		||||
gem 'http_parser.rb', '~> 0.6', git: 'https://github.com/tmm1/http_parser.rb', ref: '54b17ba8c7d8d20a16dfc65d1775241833219cf2', submodules: true
 | 
			
		||||
gem 'httplog', '~> 1.3'
 | 
			
		||||
gem 'httplog', '~> 1.4'
 | 
			
		||||
gem 'idn-ruby', require: 'idn'
 | 
			
		||||
gem 'kaminari', '~> 1.1'
 | 
			
		||||
gem 'link_header', '~> 0.0'
 | 
			
		||||
 | 
			
		||||
@ -284,7 +284,7 @@ GEM
 | 
			
		||||
    http-parser (1.2.1)
 | 
			
		||||
      ffi-compiler (>= 1.0, < 2.0)
 | 
			
		||||
    http_accept_language (2.1.1)
 | 
			
		||||
    httplog (1.3.3)
 | 
			
		||||
    httplog (1.4.0)
 | 
			
		||||
      rack (>= 1.0)
 | 
			
		||||
      rainbow (>= 2.0.0)
 | 
			
		||||
    i18n (1.8.2)
 | 
			
		||||
@ -713,7 +713,7 @@ DEPENDENCIES
 | 
			
		||||
  http (~> 4.3)
 | 
			
		||||
  http_accept_language (~> 2.1)
 | 
			
		||||
  http_parser.rb (~> 0.6)!
 | 
			
		||||
  httplog (~> 1.3)
 | 
			
		||||
  httplog (~> 1.4)
 | 
			
		||||
  i18n-tasks (~> 0.9)
 | 
			
		||||
  idn-ruby
 | 
			
		||||
  iso-639
 | 
			
		||||
 | 
			
		||||
@ -109,21 +109,7 @@ module Admin
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    def filter_params
 | 
			
		||||
      params.permit(
 | 
			
		||||
        :local,
 | 
			
		||||
        :remote,
 | 
			
		||||
        :by_domain,
 | 
			
		||||
        :active,
 | 
			
		||||
        :pending,
 | 
			
		||||
        :disabled,
 | 
			
		||||
        :silenced,
 | 
			
		||||
        :suspended,
 | 
			
		||||
        :username,
 | 
			
		||||
        :display_name,
 | 
			
		||||
        :email,
 | 
			
		||||
        :ip,
 | 
			
		||||
        :staff
 | 
			
		||||
      )
 | 
			
		||||
      params.slice(*AccountFilter::KEYS).permit(*AccountFilter::KEYS)
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
@ -48,7 +48,7 @@ module Admin
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    def filter_params
 | 
			
		||||
      params.slice(:local, :remote, :by_domain, :shortcode, :page).permit(:local, :remote, :by_domain, :shortcode, :page)
 | 
			
		||||
      params.slice(:page, *CustomEmojiFilter::KEYS).permit(:page, *CustomEmojiFilter::KEYS)
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    def action_from_button
 | 
			
		||||
 | 
			
		||||
@ -62,7 +62,7 @@ module Admin
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    def filter_params
 | 
			
		||||
      params.permit(:limited, :by_domain)
 | 
			
		||||
      params.slice(*InstanceFilter::KEYS).permit(*InstanceFilter::KEYS)
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
@ -47,7 +47,7 @@ module Admin
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    def filter_params
 | 
			
		||||
      params.permit(:available, :expired)
 | 
			
		||||
      params.slice(*InviteFilter::KEYS).permit(*InviteFilter::KEYS)
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
@ -52,12 +52,7 @@ module Admin
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    def filter_params
 | 
			
		||||
      params.permit(
 | 
			
		||||
        :account_id,
 | 
			
		||||
        :resolved,
 | 
			
		||||
        :target_account_id,
 | 
			
		||||
        :by_target_domain
 | 
			
		||||
      )
 | 
			
		||||
      params.slice(*ReportFilter::KEYS).permit(*ReportFilter::KEYS)
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    def set_report
 | 
			
		||||
 | 
			
		||||
@ -73,7 +73,7 @@ module Admin
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    def filter_params
 | 
			
		||||
      params.slice(:directory, :reviewed, :unreviewed, :pending_review, :page, :popular, :active, :name).permit(:directory, :reviewed, :unreviewed, :pending_review, :page, :popular, :active, :name)
 | 
			
		||||
      params.slice(:page, *TagFilter::KEYS).permit(:page, *TagFilter::KEYS)
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    def tag_params
 | 
			
		||||
 | 
			
		||||
@ -86,7 +86,7 @@ class RelationshipsController < ApplicationController
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def current_params
 | 
			
		||||
    params.slice(:page, :status, :relationship, :by_domain, :activity, :order).permit(:page, :status, :relationship, :by_domain, :activity, :order)
 | 
			
		||||
    params.slice(:page, *RelationshipFilter::KEYS).permit(:page, *RelationshipFilter::KEYS)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def action_from_button
 | 
			
		||||
 | 
			
		||||
@ -1,15 +1,15 @@
 | 
			
		||||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Admin::FilterHelper
 | 
			
		||||
  ACCOUNT_FILTERS      = %i(local remote by_domain active pending silenced suspended username display_name email ip staff).freeze
 | 
			
		||||
  REPORT_FILTERS       = %i(resolved account_id target_account_id by_target_domain).freeze
 | 
			
		||||
  INVITE_FILTER        = %i(available expired).freeze
 | 
			
		||||
  CUSTOM_EMOJI_FILTERS = %i(local remote by_domain shortcode).freeze
 | 
			
		||||
  TAGS_FILTERS         = %i(directory reviewed unreviewed pending_review popular active name).freeze
 | 
			
		||||
  INSTANCES_FILTERS    = %i(limited by_domain).freeze
 | 
			
		||||
  FOLLOWERS_FILTERS    = %i(relationship status by_domain activity order).freeze
 | 
			
		||||
 | 
			
		||||
  FILTERS = ACCOUNT_FILTERS + REPORT_FILTERS + INVITE_FILTER + CUSTOM_EMOJI_FILTERS + TAGS_FILTERS + INSTANCES_FILTERS + FOLLOWERS_FILTERS
 | 
			
		||||
  FILTERS = [
 | 
			
		||||
    AccountFilter::KEYS,
 | 
			
		||||
    CustomEmojiFilter::KEYS,
 | 
			
		||||
    ReportFilter::KEYS,
 | 
			
		||||
    TagFilter::KEYS,
 | 
			
		||||
    InstanceFilter::KEYS,
 | 
			
		||||
    InviteFilter::KEYS,
 | 
			
		||||
    RelationshipFilter::KEYS,
 | 
			
		||||
  ].flatten.freeze
 | 
			
		||||
 | 
			
		||||
  def filter_link_to(text, link_to_params, link_class_params = link_to_params)
 | 
			
		||||
    new_url   = filtered_url_for(link_to_params)
 | 
			
		||||
 | 
			
		||||
@ -97,15 +97,6 @@ function main() {
 | 
			
		||||
 | 
			
		||||
    delegate(document, '.custom-emoji', 'mouseover', getEmojiAnimationHandler('data-original'));
 | 
			
		||||
    delegate(document, '.custom-emoji', 'mouseout', getEmojiAnimationHandler('data-static'));
 | 
			
		||||
 | 
			
		||||
    delegate(document, '.blocks-table button.icon-button', 'click', function(e) {
 | 
			
		||||
      e.preventDefault();
 | 
			
		||||
 | 
			
		||||
      const classList = this.firstElementChild.classList;
 | 
			
		||||
      classList.toggle('fa-chevron-down');
 | 
			
		||||
      classList.toggle('fa-chevron-up');
 | 
			
		||||
      this.parentElement.parentElement.nextElementSibling.classList.toggle('hidden');
 | 
			
		||||
    });
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  delegate(document, '.sidebar__toggle__icon', 'click', () => {
 | 
			
		||||
 | 
			
		||||
@ -296,7 +296,7 @@ export default class ScrollableList extends PureComponent {
 | 
			
		||||
          </div>
 | 
			
		||||
        </div>
 | 
			
		||||
      );
 | 
			
		||||
    } else if (isLoading || childrenCount > 0 || hasMore || !emptyMessage) {
 | 
			
		||||
    } else if (isLoading || childrenCount > 0 || numPending > 0 || hasMore || !emptyMessage) {
 | 
			
		||||
      scrollableArea = (
 | 
			
		||||
        <div className={classNames('scrollable', { fullscreen })} ref={this.setRef} onMouseMove={this.handleMouseMove}>
 | 
			
		||||
          <div role='feed' className='item-list'>
 | 
			
		||||
 | 
			
		||||
@ -101,15 +101,6 @@ function main() {
 | 
			
		||||
 | 
			
		||||
    delegate(document, '.custom-emoji', 'mouseover', getEmojiAnimationHandler('data-original'));
 | 
			
		||||
    delegate(document, '.custom-emoji', 'mouseout', getEmojiAnimationHandler('data-static'));
 | 
			
		||||
 | 
			
		||||
    delegate(document, '.blocks-table button.icon-button', 'click', function(e) {
 | 
			
		||||
      e.preventDefault();
 | 
			
		||||
 | 
			
		||||
      const classList = this.firstElementChild.classList;
 | 
			
		||||
      classList.toggle('fa-chevron-down');
 | 
			
		||||
      classList.toggle('fa-chevron-up');
 | 
			
		||||
      this.parentElement.parentElement.nextElementSibling.classList.toggle('hidden');
 | 
			
		||||
    });
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  delegate(document, '.sidebar__toggle__icon', 'click', () => {
 | 
			
		||||
 | 
			
		||||
@ -1,6 +1,21 @@
 | 
			
		||||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
class AccountFilter
 | 
			
		||||
  KEYS = %i(
 | 
			
		||||
    local
 | 
			
		||||
    remote
 | 
			
		||||
    by_domain
 | 
			
		||||
    active
 | 
			
		||||
    pending
 | 
			
		||||
    silenced
 | 
			
		||||
    suspended
 | 
			
		||||
    username
 | 
			
		||||
    display_name
 | 
			
		||||
    email
 | 
			
		||||
    ip
 | 
			
		||||
    staff
 | 
			
		||||
  ).freeze
 | 
			
		||||
 | 
			
		||||
  attr_reader :params
 | 
			
		||||
 | 
			
		||||
  def initialize(params)
 | 
			
		||||
@ -50,7 +65,7 @@ class AccountFilter
 | 
			
		||||
    when 'email'
 | 
			
		||||
      accounts_with_users.merge User.matches_email(value)
 | 
			
		||||
    when 'ip'
 | 
			
		||||
      valid_ip?(value) ? accounts_with_users.where('users.current_sign_in_ip <<= ?', value) : Account.none
 | 
			
		||||
      valid_ip?(value) ? accounts_with_users.merge(User.matches_ip(value)) : Account.none
 | 
			
		||||
    when 'staff'
 | 
			
		||||
      accounts_with_users.merge User.staff
 | 
			
		||||
    else
 | 
			
		||||
 | 
			
		||||
@ -1,6 +1,13 @@
 | 
			
		||||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
class CustomEmojiFilter
 | 
			
		||||
  KEYS = %i(
 | 
			
		||||
    local
 | 
			
		||||
    remote
 | 
			
		||||
    by_domain
 | 
			
		||||
    shortcode
 | 
			
		||||
  ).freeze
 | 
			
		||||
 | 
			
		||||
  attr_reader :params
 | 
			
		||||
 | 
			
		||||
  def initialize(params)
 | 
			
		||||
 | 
			
		||||
@ -1,6 +1,11 @@
 | 
			
		||||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
class InstanceFilter
 | 
			
		||||
  KEYS = %i(
 | 
			
		||||
    limited
 | 
			
		||||
    by_domain
 | 
			
		||||
  ).freeze
 | 
			
		||||
 | 
			
		||||
  attr_reader :params
 | 
			
		||||
 | 
			
		||||
  def initialize(params)
 | 
			
		||||
 | 
			
		||||
@ -1,6 +1,11 @@
 | 
			
		||||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
class InviteFilter
 | 
			
		||||
  KEYS = %i(
 | 
			
		||||
    available
 | 
			
		||||
    expired
 | 
			
		||||
  ).freeze
 | 
			
		||||
 | 
			
		||||
  attr_reader :params
 | 
			
		||||
 | 
			
		||||
  def initialize(params)
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										11
									
								
								app/models/relationship_filter.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								app/models/relationship_filter.rb
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,11 @@
 | 
			
		||||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
class RelationshipFilter
 | 
			
		||||
  KEYS = %i(
 | 
			
		||||
    relationship
 | 
			
		||||
    status
 | 
			
		||||
    by_domain
 | 
			
		||||
    activity
 | 
			
		||||
    order
 | 
			
		||||
  ).freeze
 | 
			
		||||
end
 | 
			
		||||
@ -1,6 +1,13 @@
 | 
			
		||||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
class ReportFilter
 | 
			
		||||
  KEYS = %i(
 | 
			
		||||
    resolved
 | 
			
		||||
    account_id
 | 
			
		||||
    target_account_id
 | 
			
		||||
    by_target_domain
 | 
			
		||||
  ).freeze
 | 
			
		||||
 | 
			
		||||
  attr_reader :params
 | 
			
		||||
 | 
			
		||||
  def initialize(params)
 | 
			
		||||
 | 
			
		||||
@ -1,6 +1,16 @@
 | 
			
		||||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
class TagFilter
 | 
			
		||||
  KEYS = %i(
 | 
			
		||||
    directory
 | 
			
		||||
    reviewed
 | 
			
		||||
    unreviewed
 | 
			
		||||
    pending_review
 | 
			
		||||
    popular
 | 
			
		||||
    active
 | 
			
		||||
    name
 | 
			
		||||
  ).freeze
 | 
			
		||||
 | 
			
		||||
  attr_reader :params
 | 
			
		||||
 | 
			
		||||
  def initialize(params)
 | 
			
		||||
 | 
			
		||||
@ -93,6 +93,7 @@ class User < ApplicationRecord
 | 
			
		||||
  scope :inactive, -> { where(arel_table[:current_sign_in_at].lt(ACTIVE_DURATION.ago)) }
 | 
			
		||||
  scope :active, -> { confirmed.where(arel_table[:current_sign_in_at].gteq(ACTIVE_DURATION.ago)).joins(:account).where(accounts: { suspended_at: nil }) }
 | 
			
		||||
  scope :matches_email, ->(value) { where(arel_table[:email].matches("#{value}%")) }
 | 
			
		||||
  scope :matches_ip, ->(value) { left_joins(:session_activations).where('users.current_sign_in_ip <<= ?', value).or(left_joins(:session_activations).where('users.last_sign_in_ip <<= ?', value)).or(left_joins(:session_activations).where('session_activations.ip <<= ?', value)) }
 | 
			
		||||
  scope :emailable, -> { confirmed.enabled.joins(:account).merge(Account.searchable) }
 | 
			
		||||
 | 
			
		||||
  before_validation :sanitize_languages
 | 
			
		||||
@ -290,6 +291,21 @@ class User < ApplicationRecord
 | 
			
		||||
    setting_display_media == 'hide_all'
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def recent_ips
 | 
			
		||||
    @recent_ips ||= begin
 | 
			
		||||
      arr = []
 | 
			
		||||
 | 
			
		||||
      session_activations.each do |session_activation|
 | 
			
		||||
        arr << [session_activation.updated_at, session_activation.ip]
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      arr << [current_sign_in_at, current_sign_in_ip] if current_sign_in_ip.present?
 | 
			
		||||
      arr << [last_sign_in_at, last_sign_in_ip] if last_sign_in_ip.present?
 | 
			
		||||
 | 
			
		||||
      arr.sort_by(&:first).uniq(&:last).reverse!
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  protected
 | 
			
		||||
 | 
			
		||||
  def send_devise_notification(notification, *args)
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,7 @@
 | 
			
		||||
 | 
			
		||||
= form_tag admin_accounts_url, method: 'GET', class: 'simple_form' do
 | 
			
		||||
  .fields-group
 | 
			
		||||
    - Admin::FilterHelper::ACCOUNT_FILTERS.each do |key|
 | 
			
		||||
    - AccountFilter::KEYS.each do |key|
 | 
			
		||||
      - if params[key].present?
 | 
			
		||||
        = hidden_field_tag key, params[key]
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -139,12 +139,12 @@
 | 
			
		||||
              %time.formatted{ datetime: @account.created_at.iso8601, title: l(@account.created_at) }= l @account.created_at
 | 
			
		||||
            %td
 | 
			
		||||
 | 
			
		||||
          %tr
 | 
			
		||||
            %th= t('admin.accounts.most_recent_ip')
 | 
			
		||||
            %td= @account.user_current_sign_in_ip
 | 
			
		||||
            %td
 | 
			
		||||
              - if @account.user_current_sign_in_ip
 | 
			
		||||
                = table_link_to 'search', t('admin.accounts.search_same_ip'), admin_accounts_path(ip: @account.user_current_sign_in_ip)
 | 
			
		||||
          - @account.user.recent_ips.each_with_index do |(_, ip), i|
 | 
			
		||||
            %tr
 | 
			
		||||
              - if i.zero?
 | 
			
		||||
                %th{ rowspan: @account.user.recent_ips.size }= t('admin.accounts.most_recent_ip')
 | 
			
		||||
              %td= ip
 | 
			
		||||
              %td= table_link_to 'search', t('admin.accounts.search_same_ip'), admin_accounts_path(ip: ip)
 | 
			
		||||
 | 
			
		||||
          %tr
 | 
			
		||||
            %th= t('admin.accounts.most_recent_activity')
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,7 @@
 | 
			
		||||
 | 
			
		||||
= form_tag admin_custom_emojis_url, method: 'GET', class: 'simple_form' do
 | 
			
		||||
  .fields-group
 | 
			
		||||
    - Admin::FilterHelper::CUSTOM_EMOJI_FILTERS.each do |key|
 | 
			
		||||
    - CustomEmojiFilter::KEYS.each do |key|
 | 
			
		||||
      = hidden_field_tag key, params[key] if params[key].present?
 | 
			
		||||
 | 
			
		||||
    - %i(shortcode by_domain).each do |key|
 | 
			
		||||
@ -36,7 +36,7 @@
 | 
			
		||||
= form_for(@form, url: batch_admin_custom_emojis_path) do |f|
 | 
			
		||||
  = hidden_field_tag :page, params[:page] || 1
 | 
			
		||||
 | 
			
		||||
  - Admin::FilterHelper::CUSTOM_EMOJI_FILTERS.each do |key|
 | 
			
		||||
  - CustomEmojiFilter::KEYS.each do |key|
 | 
			
		||||
    = hidden_field_tag key, params[key] if params[key].present?
 | 
			
		||||
 | 
			
		||||
  .batch-table
 | 
			
		||||
 | 
			
		||||
@ -4,7 +4,7 @@
 | 
			
		||||
- content_for :heading_actions do
 | 
			
		||||
  = link_to t('admin.email_domain_blocks.add_new'), new_admin_email_domain_block_path, class: 'button'
 | 
			
		||||
 | 
			
		||||
- if @email_domain_blocks.count == 0
 | 
			
		||||
- if @email_domain_blocks.empty?
 | 
			
		||||
  %div.muted-hint.center-text=t 'admin.email_domain_blocks.empty'
 | 
			
		||||
- else
 | 
			
		||||
  .table-wrapper
 | 
			
		||||
 | 
			
		||||
@ -19,9 +19,8 @@
 | 
			
		||||
- unless whitelist_mode?
 | 
			
		||||
  = form_tag admin_instances_url, method: 'GET', class: 'simple_form' do
 | 
			
		||||
    .fields-group
 | 
			
		||||
      - Admin::FilterHelper::INSTANCES_FILTERS.each do |key|
 | 
			
		||||
        - if params[key].present?
 | 
			
		||||
          = hidden_field_tag key, params[key]
 | 
			
		||||
      - InstanceFilter::KEYS.each do |key|
 | 
			
		||||
        = hidden_field_tag key, params[key] if params[key].present?
 | 
			
		||||
 | 
			
		||||
      - %i(by_domain).each do |key|
 | 
			
		||||
        .input.string.optional
 | 
			
		||||
 | 
			
		||||
@ -15,7 +15,7 @@
 | 
			
		||||
      - if status.proper.media_attachments.first.video?
 | 
			
		||||
        - video = status.proper.media_attachments.first
 | 
			
		||||
        = react_component :video, src: video.file.url(:original), preview: video.file.url(:small), blurhash: video.blurhash, sensitive: status.proper.sensitive?, visible: false, width: 610, height: 343, inline: true, alt: video.description
 | 
			
		||||
      - elsif status.media_attachments.first.audio?
 | 
			
		||||
      - elsif status.proper.media_attachments.first.audio?
 | 
			
		||||
        - audio = status.proper.media_attachments.first
 | 
			
		||||
        = react_component :audio, src: audio.file.url(:original), height: 110, alt: audio.description, duration: audio.file.meta.dig(:original, :duration)
 | 
			
		||||
      - else
 | 
			
		||||
 | 
			
		||||
@ -10,9 +10,8 @@
 | 
			
		||||
 | 
			
		||||
= form_tag admin_reports_url, method: 'GET', class: 'simple_form' do
 | 
			
		||||
  .fields-group
 | 
			
		||||
    - Admin::FilterHelper::REPORT_FILTERS.each do |key|
 | 
			
		||||
      - if params[key].present?
 | 
			
		||||
        = hidden_field_tag key, params[key]
 | 
			
		||||
    - ReportFilter::KEYS.each do |key|
 | 
			
		||||
      = hidden_field_tag key, params[key] if params[key].present?
 | 
			
		||||
 | 
			
		||||
    - %i(by_target_domain).each do |key|
 | 
			
		||||
      .input.string.optional
 | 
			
		||||
 | 
			
		||||
@ -25,7 +25,7 @@
 | 
			
		||||
 | 
			
		||||
= form_tag admin_tags_url, method: 'GET', class: 'simple_form' do
 | 
			
		||||
  .fields-group
 | 
			
		||||
    - Admin::FilterHelper::TAGS_FILTERS.each do |key|
 | 
			
		||||
    - TagFilter::KEYS.each do |key|
 | 
			
		||||
      = hidden_field_tag key, params[key] if params[key].present?
 | 
			
		||||
 | 
			
		||||
    - %i(name).each do |key|
 | 
			
		||||
@ -40,9 +40,8 @@
 | 
			
		||||
 | 
			
		||||
= form_for(@form, url: batch_admin_tags_path) do |f|
 | 
			
		||||
  = hidden_field_tag :page, params[:page] || 1
 | 
			
		||||
  = hidden_field_tag :name, params[:name] if params[:name].present?
 | 
			
		||||
 | 
			
		||||
  - Admin::FilterHelper::TAGS_FILTERS.each do |key|
 | 
			
		||||
  - TagFilter::KEYS.each do |key|
 | 
			
		||||
    = hidden_field_tag key, params[key] if params[key].present?
 | 
			
		||||
 | 
			
		||||
  .batch-table.optional
 | 
			
		||||
 | 
			
		||||
@ -4,7 +4,7 @@
 | 
			
		||||
- content_for :heading_actions do
 | 
			
		||||
  = link_to t('filters.new.title'), new_filter_path, class: 'button'
 | 
			
		||||
 | 
			
		||||
- if @filters.count == 0
 | 
			
		||||
- if @filters.empty?
 | 
			
		||||
  %div.muted-hint.center-text= t 'filters.index.empty'
 | 
			
		||||
- else
 | 
			
		||||
  .table-wrapper
 | 
			
		||||
 | 
			
		||||
@ -30,10 +30,9 @@
 | 
			
		||||
 | 
			
		||||
= form_for(@form, url: relationships_path, method: :patch) do |f|
 | 
			
		||||
  = hidden_field_tag :page, params[:page] || 1
 | 
			
		||||
  = hidden_field_tag :relationship, params[:relationship]
 | 
			
		||||
  = hidden_field_tag :status, params[:status]
 | 
			
		||||
  = hidden_field_tag :activity, params[:activity]
 | 
			
		||||
  = hidden_field_tag :order, params[:order]
 | 
			
		||||
 | 
			
		||||
  - RelationshipFilter::KEYS.each do |key|
 | 
			
		||||
    = hidden_field_tag key, params[key] if params[key].present?
 | 
			
		||||
 | 
			
		||||
  .batch-table
 | 
			
		||||
    .batch-table__toolbar
 | 
			
		||||
 | 
			
		||||
@ -4,7 +4,7 @@
 | 
			
		||||
- content_for :heading_actions do
 | 
			
		||||
  = link_to t('doorkeeper.applications.index.new'), new_settings_application_path, class: 'button'
 | 
			
		||||
 | 
			
		||||
- if @applications.count == 0
 | 
			
		||||
- if @applications.empty?
 | 
			
		||||
  %div.muted-hint.center-text=t 'doorkeeper.applications.index.empty'
 | 
			
		||||
- else
 | 
			
		||||
  .table-wrapper
 | 
			
		||||
 | 
			
		||||
@ -233,7 +233,7 @@ Rails.application.routes.draw do
 | 
			
		||||
        end
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      resource :role do
 | 
			
		||||
      resource :role, only: [] do
 | 
			
		||||
        member do
 | 
			
		||||
          post :promote
 | 
			
		||||
          post :demote
 | 
			
		||||
 | 
			
		||||
@ -60,9 +60,9 @@
 | 
			
		||||
  },
 | 
			
		||||
  "private": true,
 | 
			
		||||
  "dependencies": {
 | 
			
		||||
    "@babel/core": "^7.7.7",
 | 
			
		||||
    "@babel/core": "^7.8.3",
 | 
			
		||||
    "@babel/plugin-proposal-class-properties": "^7.8.3",
 | 
			
		||||
    "@babel/plugin-proposal-decorators": "^7.8.0",
 | 
			
		||||
    "@babel/plugin-proposal-decorators": "^7.8.3",
 | 
			
		||||
    "@babel/plugin-transform-react-inline-elements": "^7.8.0",
 | 
			
		||||
    "@babel/plugin-transform-runtime": "^7.7.6",
 | 
			
		||||
    "@babel/preset-env": "^7.8.3",
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										158
									
								
								yarn.lock
									
									
									
									
									
								
							
							
						
						
									
										158
									
								
								yarn.lock
									
									
									
									
									
								
							@ -2,14 +2,7 @@
 | 
			
		||||
# yarn lockfile v1
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.5.5":
 | 
			
		||||
  version "7.5.5"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.5.5.tgz#bc0782f6d69f7b7d49531219699b988f669a8f9d"
 | 
			
		||||
  integrity sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    "@babel/highlight" "^7.0.0"
 | 
			
		||||
 | 
			
		||||
"@babel/code-frame@^7.8.3":
 | 
			
		||||
"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.8.3":
 | 
			
		||||
  version "7.8.3"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.8.3.tgz#33e25903d7481181534e12ec0a25f16b6fcf419e"
 | 
			
		||||
  integrity sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==
 | 
			
		||||
@ -25,37 +18,28 @@
 | 
			
		||||
    invariant "^2.2.4"
 | 
			
		||||
    semver "^5.5.0"
 | 
			
		||||
 | 
			
		||||
"@babel/core@^7.1.0", "@babel/core@^7.4.5", "@babel/core@^7.7.7":
 | 
			
		||||
  version "7.7.7"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.7.7.tgz#ee155d2e12300bcc0cff6a8ad46f2af5063803e9"
 | 
			
		||||
  integrity sha512-jlSjuj/7z138NLZALxVgrx13AOtqip42ATZP7+kYl53GvDV6+4dCek1mVUo8z8c8Xnw/mx2q3d9HWh3griuesQ==
 | 
			
		||||
"@babel/core@^7.1.0", "@babel/core@^7.4.5", "@babel/core@^7.8.3":
 | 
			
		||||
  version "7.8.3"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.8.3.tgz#30b0ebb4dd1585de6923a0b4d179e0b9f5d82941"
 | 
			
		||||
  integrity sha512-4XFkf8AwyrEG7Ziu3L2L0Cv+WyY47Tcsp70JFmpftbAA1K7YL/sgE9jh9HyNj08Y/U50ItUchpN0w6HxAoX1rA==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    "@babel/code-frame" "^7.5.5"
 | 
			
		||||
    "@babel/generator" "^7.7.7"
 | 
			
		||||
    "@babel/helpers" "^7.7.4"
 | 
			
		||||
    "@babel/parser" "^7.7.7"
 | 
			
		||||
    "@babel/template" "^7.7.4"
 | 
			
		||||
    "@babel/traverse" "^7.7.4"
 | 
			
		||||
    "@babel/types" "^7.7.4"
 | 
			
		||||
    "@babel/code-frame" "^7.8.3"
 | 
			
		||||
    "@babel/generator" "^7.8.3"
 | 
			
		||||
    "@babel/helpers" "^7.8.3"
 | 
			
		||||
    "@babel/parser" "^7.8.3"
 | 
			
		||||
    "@babel/template" "^7.8.3"
 | 
			
		||||
    "@babel/traverse" "^7.8.3"
 | 
			
		||||
    "@babel/types" "^7.8.3"
 | 
			
		||||
    convert-source-map "^1.7.0"
 | 
			
		||||
    debug "^4.1.0"
 | 
			
		||||
    gensync "^1.0.0-beta.1"
 | 
			
		||||
    json5 "^2.1.0"
 | 
			
		||||
    lodash "^4.17.13"
 | 
			
		||||
    resolve "^1.3.2"
 | 
			
		||||
    semver "^5.4.1"
 | 
			
		||||
    source-map "^0.5.0"
 | 
			
		||||
 | 
			
		||||
"@babel/generator@^7.0.0", "@babel/generator@^7.7.4", "@babel/generator@^7.7.7":
 | 
			
		||||
  version "7.7.7"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.7.7.tgz#859ac733c44c74148e1a72980a64ec84b85f4f45"
 | 
			
		||||
  integrity sha512-/AOIBpHh/JU1l0ZFS4kiRCBnLi6OTHzh0RPk3h9isBxkkqELtQNFi1Vr/tiG9p1yfoUdKVwISuXWQR+hwwM4VQ==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    "@babel/types" "^7.7.4"
 | 
			
		||||
    jsesc "^2.5.1"
 | 
			
		||||
    lodash "^4.17.13"
 | 
			
		||||
    source-map "^0.5.0"
 | 
			
		||||
 | 
			
		||||
"@babel/generator@^7.8.3":
 | 
			
		||||
"@babel/generator@^7.0.0", "@babel/generator@^7.8.3":
 | 
			
		||||
  version "7.8.3"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.8.3.tgz#0e22c005b0a94c1c74eafe19ef78ce53a4d45c03"
 | 
			
		||||
  integrity sha512-WjoPk8hRpDRqqzRpvaR8/gDUPkrnOOeuT2m8cNICJtZH6mwaCo3v0OKMI7Y6SM1pBtyijnLtAL0HDi41pf41ug==
 | 
			
		||||
@ -116,7 +100,7 @@
 | 
			
		||||
    levenary "^1.1.0"
 | 
			
		||||
    semver "^5.5.0"
 | 
			
		||||
 | 
			
		||||
"@babel/helper-create-class-features-plugin@^7.8.0", "@babel/helper-create-class-features-plugin@^7.8.3":
 | 
			
		||||
"@babel/helper-create-class-features-plugin@^7.8.3":
 | 
			
		||||
  version "7.8.3"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.8.3.tgz#5b94be88c255f140fd2c10dd151e7f98f4bff397"
 | 
			
		||||
  integrity sha512-qmp4pD7zeTxsv0JNecSBsEmG1ei2MqwJq4YQcK3ZWm/0t07QstWfvuV/vm3Qt5xNMFETn2SZqpMx2MQzbtq+KA==
 | 
			
		||||
@ -153,15 +137,6 @@
 | 
			
		||||
    "@babel/traverse" "^7.8.3"
 | 
			
		||||
    "@babel/types" "^7.8.3"
 | 
			
		||||
 | 
			
		||||
"@babel/helper-function-name@^7.7.4":
 | 
			
		||||
  version "7.7.4"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.7.4.tgz#ab6e041e7135d436d8f0a3eca15de5b67a341a2e"
 | 
			
		||||
  integrity sha512-AnkGIdiBhEuiwdoMnKm7jfPfqItZhgRaZfMg1XX3bS25INOnLPjPG1Ppnajh8eqgt5kPJnfqrRHqFqmjKDZLzQ==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    "@babel/helper-get-function-arity" "^7.7.4"
 | 
			
		||||
    "@babel/template" "^7.7.4"
 | 
			
		||||
    "@babel/types" "^7.7.4"
 | 
			
		||||
 | 
			
		||||
"@babel/helper-function-name@^7.8.3":
 | 
			
		||||
  version "7.8.3"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz#eeeb665a01b1f11068e9fb86ad56a1cb1a824cca"
 | 
			
		||||
@ -171,13 +146,6 @@
 | 
			
		||||
    "@babel/template" "^7.8.3"
 | 
			
		||||
    "@babel/types" "^7.8.3"
 | 
			
		||||
 | 
			
		||||
"@babel/helper-get-function-arity@^7.7.4":
 | 
			
		||||
  version "7.7.4"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.7.4.tgz#cb46348d2f8808e632f0ab048172130e636005f0"
 | 
			
		||||
  integrity sha512-QTGKEdCkjgzgfJ3bAyRwF4yyT3pg+vDgan8DSivq1eS0gwi+KGKE5x8kRcbeFTb/673mkO5SN1IZfmCfA5o+EA==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    "@babel/types" "^7.7.4"
 | 
			
		||||
 | 
			
		||||
"@babel/helper-get-function-arity@^7.8.3":
 | 
			
		||||
  version "7.8.3"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz#b894b947bd004381ce63ea1db9f08547e920abd5"
 | 
			
		||||
@ -266,13 +234,6 @@
 | 
			
		||||
    "@babel/template" "^7.8.3"
 | 
			
		||||
    "@babel/types" "^7.8.3"
 | 
			
		||||
 | 
			
		||||
"@babel/helper-split-export-declaration@^7.7.4":
 | 
			
		||||
  version "7.7.4"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.7.4.tgz#57292af60443c4a3622cf74040ddc28e68336fd8"
 | 
			
		||||
  integrity sha512-guAg1SXFcVr04Guk9eq0S4/rWS++sbmyqosJzVs8+1fH5NI+ZcmkaSkc7dmtAFbHFva6yRJnjW3yAcGxjueDug==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    "@babel/types" "^7.7.4"
 | 
			
		||||
 | 
			
		||||
"@babel/helper-split-export-declaration@^7.8.3":
 | 
			
		||||
  version "7.8.3"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz#31a9f30070f91368a7182cf05f831781065fc7a9"
 | 
			
		||||
@ -290,23 +251,14 @@
 | 
			
		||||
    "@babel/traverse" "^7.8.3"
 | 
			
		||||
    "@babel/types" "^7.8.3"
 | 
			
		||||
 | 
			
		||||
"@babel/helpers@^7.7.4":
 | 
			
		||||
  version "7.7.4"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.7.4.tgz#62c215b9e6c712dadc15a9a0dcab76c92a940302"
 | 
			
		||||
  integrity sha512-ak5NGZGJ6LV85Q1Zc9gn2n+ayXOizryhjSUBTdu5ih1tlVCJeuQENzc4ItyCVhINVXvIT/ZQ4mheGIsfBkpskg==
 | 
			
		||||
"@babel/helpers@^7.8.3":
 | 
			
		||||
  version "7.8.3"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.8.3.tgz#382fbb0382ce7c4ce905945ab9641d688336ce85"
 | 
			
		||||
  integrity sha512-LmU3q9Pah/XyZU89QvBgGt+BCsTPoQa+73RxAQh8fb8qkDyIfeQnmgs+hvzhTCKTzqOyk7JTkS3MS1S8Mq5yrQ==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    "@babel/template" "^7.7.4"
 | 
			
		||||
    "@babel/traverse" "^7.7.4"
 | 
			
		||||
    "@babel/types" "^7.7.4"
 | 
			
		||||
 | 
			
		||||
"@babel/highlight@^7.0.0":
 | 
			
		||||
  version "7.0.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0.tgz#f710c38c8d458e6dd9a201afb637fcb781ce99e4"
 | 
			
		||||
  integrity sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    chalk "^2.0.0"
 | 
			
		||||
    esutils "^2.0.2"
 | 
			
		||||
    js-tokens "^4.0.0"
 | 
			
		||||
    "@babel/template" "^7.8.3"
 | 
			
		||||
    "@babel/traverse" "^7.8.3"
 | 
			
		||||
    "@babel/types" "^7.8.3"
 | 
			
		||||
 | 
			
		||||
"@babel/highlight@^7.8.3":
 | 
			
		||||
  version "7.8.3"
 | 
			
		||||
@ -317,12 +269,7 @@
 | 
			
		||||
    esutils "^2.0.2"
 | 
			
		||||
    js-tokens "^4.0.0"
 | 
			
		||||
 | 
			
		||||
"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.7.4", "@babel/parser@^7.7.7":
 | 
			
		||||
  version "7.7.7"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.7.7.tgz#1b886595419cf92d811316d5b715a53ff38b4937"
 | 
			
		||||
  integrity sha512-WtTZMZAZLbeymhkd/sEaPD8IQyGAhmuTuvTzLiCFM7iXiVdY0gc0IaI+cW0fh1BnSMbJSzXX6/fHllgHKwHhXw==
 | 
			
		||||
 | 
			
		||||
"@babel/parser@^7.8.3":
 | 
			
		||||
"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.8.3":
 | 
			
		||||
  version "7.8.3"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.8.3.tgz#790874091d2001c9be6ec426c2eed47bc7679081"
 | 
			
		||||
  integrity sha512-/V72F4Yp/qmHaTALizEm9Gf2eQHV3QyTL3K0cNfijwnMnb1L+LDlAubb/ZnSdGAVzVSWakujHYs1I26x66sMeQ==
 | 
			
		||||
@ -344,14 +291,14 @@
 | 
			
		||||
    "@babel/helper-create-class-features-plugin" "^7.8.3"
 | 
			
		||||
    "@babel/helper-plugin-utils" "^7.8.3"
 | 
			
		||||
 | 
			
		||||
"@babel/plugin-proposal-decorators@^7.8.0":
 | 
			
		||||
  version "7.8.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.8.0.tgz#2f1661712c557de8bc65c0b58876a2b47ff886d5"
 | 
			
		||||
  integrity sha512-HKltBhhrRigrHYkDrO/9rg+ZerXSAtZjepm8URUrNxgzTzEfuOb06fUU311chMkahZHSfASNUxWVwRzIwGt/uw==
 | 
			
		||||
"@babel/plugin-proposal-decorators@^7.8.3":
 | 
			
		||||
  version "7.8.3"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.8.3.tgz#2156860ab65c5abf068c3f67042184041066543e"
 | 
			
		||||
  integrity sha512-e3RvdvS4qPJVTe288DlXjwKflpfy1hr0j5dz5WpIYYeP7vQZg2WfAEIp8k5/Lwis/m5REXEteIz6rrcDtXXG7w==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    "@babel/helper-create-class-features-plugin" "^7.8.0"
 | 
			
		||||
    "@babel/helper-plugin-utils" "^7.8.0"
 | 
			
		||||
    "@babel/plugin-syntax-decorators" "^7.8.0"
 | 
			
		||||
    "@babel/helper-create-class-features-plugin" "^7.8.3"
 | 
			
		||||
    "@babel/helper-plugin-utils" "^7.8.3"
 | 
			
		||||
    "@babel/plugin-syntax-decorators" "^7.8.3"
 | 
			
		||||
 | 
			
		||||
"@babel/plugin-proposal-dynamic-import@^7.8.3":
 | 
			
		||||
  version "7.8.3"
 | 
			
		||||
@ -416,12 +363,12 @@
 | 
			
		||||
  dependencies:
 | 
			
		||||
    "@babel/helper-plugin-utils" "^7.8.0"
 | 
			
		||||
 | 
			
		||||
"@babel/plugin-syntax-decorators@^7.8.0":
 | 
			
		||||
  version "7.8.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.8.0.tgz#4a2930ef597c5bc5c5ae9a97d7883d03eeb48eb2"
 | 
			
		||||
  integrity sha512-Qz68qh9jJqQePGWqbNW9PA7vkE2gvnWkYtx32jgPOszpE7u+xObPkRGm3B80oXAjQlBdTa4ktqjkOIRiKRuapw==
 | 
			
		||||
"@babel/plugin-syntax-decorators@^7.8.3":
 | 
			
		||||
  version "7.8.3"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.8.3.tgz#8d2c15a9f1af624b0025f961682a9d53d3001bda"
 | 
			
		||||
  integrity sha512-8Hg4dNNT9/LcA1zQlfwuKR8BUc/if7Q7NkTam9sGTcJphLwpf2g4S42uhspQrIrR+dpzE0dtTqBVFoHl8GtnnQ==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    "@babel/helper-plugin-utils" "^7.8.0"
 | 
			
		||||
    "@babel/helper-plugin-utils" "^7.8.3"
 | 
			
		||||
 | 
			
		||||
"@babel/plugin-syntax-dynamic-import@^7.8.0":
 | 
			
		||||
  version "7.8.3"
 | 
			
		||||
@ -869,16 +816,7 @@
 | 
			
		||||
  dependencies:
 | 
			
		||||
    regenerator-runtime "^0.13.2"
 | 
			
		||||
 | 
			
		||||
"@babel/template@^7.0.0", "@babel/template@^7.7.4":
 | 
			
		||||
  version "7.7.4"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.7.4.tgz#428a7d9eecffe27deac0a98e23bf8e3675d2a77b"
 | 
			
		||||
  integrity sha512-qUzihgVPguAzXCK7WXw8pqs6cEwi54s3E+HrejlkuWO6ivMKx9hZl3Y2fSXp9i5HgyWmj7RKP+ulaYnKM4yYxw==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    "@babel/code-frame" "^7.0.0"
 | 
			
		||||
    "@babel/parser" "^7.7.4"
 | 
			
		||||
    "@babel/types" "^7.7.4"
 | 
			
		||||
 | 
			
		||||
"@babel/template@^7.8.3":
 | 
			
		||||
"@babel/template@^7.0.0", "@babel/template@^7.8.3":
 | 
			
		||||
  version "7.8.3"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.8.3.tgz#e02ad04fe262a657809327f578056ca15fd4d1b8"
 | 
			
		||||
  integrity sha512-04m87AcQgAFdvuoyiQ2kgELr2tV8B4fP/xJAVUL3Yb3bkNdMedD3d0rlSQr3PegP0cms3eHjl1F7PWlvWbU8FQ==
 | 
			
		||||
@ -887,22 +825,7 @@
 | 
			
		||||
    "@babel/parser" "^7.8.3"
 | 
			
		||||
    "@babel/types" "^7.8.3"
 | 
			
		||||
 | 
			
		||||
"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.7.4":
 | 
			
		||||
  version "7.7.4"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.7.4.tgz#9c1e7c60fb679fe4fcfaa42500833333c2058558"
 | 
			
		||||
  integrity sha512-P1L58hQyupn8+ezVA2z5KBm4/Zr4lCC8dwKCMYzsa5jFMDMQAzaBNy9W5VjB+KAmBjb40U7a/H6ao+Xo+9saIw==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    "@babel/code-frame" "^7.5.5"
 | 
			
		||||
    "@babel/generator" "^7.7.4"
 | 
			
		||||
    "@babel/helper-function-name" "^7.7.4"
 | 
			
		||||
    "@babel/helper-split-export-declaration" "^7.7.4"
 | 
			
		||||
    "@babel/parser" "^7.7.4"
 | 
			
		||||
    "@babel/types" "^7.7.4"
 | 
			
		||||
    debug "^4.1.0"
 | 
			
		||||
    globals "^11.1.0"
 | 
			
		||||
    lodash "^4.17.13"
 | 
			
		||||
 | 
			
		||||
"@babel/traverse@^7.8.3":
 | 
			
		||||
"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.8.3":
 | 
			
		||||
  version "7.8.3"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.8.3.tgz#a826215b011c9b4f73f3a893afbc05151358bf9a"
 | 
			
		||||
  integrity sha512-we+a2lti+eEImHmEXp7bM9cTxGzxPmBiVJlLVD+FuuQMeeO7RaDbutbgeheDkw+Xe3mCfJHnGOWLswT74m2IPg==
 | 
			
		||||
@ -917,7 +840,7 @@
 | 
			
		||||
    globals "^11.1.0"
 | 
			
		||||
    lodash "^4.17.13"
 | 
			
		||||
 | 
			
		||||
"@babel/types@^7.0.0", "@babel/types@^7.0.0-beta.49", "@babel/types@^7.3.0", "@babel/types@^7.7.4", "@babel/types@^7.8.0", "@babel/types@^7.8.3":
 | 
			
		||||
"@babel/types@^7.0.0", "@babel/types@^7.0.0-beta.49", "@babel/types@^7.3.0", "@babel/types@^7.8.0", "@babel/types@^7.8.3":
 | 
			
		||||
  version "7.8.3"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.8.3.tgz#5a383dffa5416db1b73dedffd311ffd0788fb31c"
 | 
			
		||||
  integrity sha512-jBD+G8+LWpMBBWvVcdr4QysjUE4mU/syrhN17o1u3gx0/WzJB1kwiVZAXRtWbsIPOwW8pF/YJV5+nmetPzepXg==
 | 
			
		||||
@ -4783,6 +4706,11 @@ generic-pool@2.4.3:
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/generic-pool/-/generic-pool-2.4.3.tgz#780c36f69dfad05a5a045dd37be7adca11a4f6ff"
 | 
			
		||||
  integrity sha1-eAw29p360FpaBF3Te+etyhGk9v8=
 | 
			
		||||
 | 
			
		||||
gensync@^1.0.0-beta.1:
 | 
			
		||||
  version "1.0.0-beta.1"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269"
 | 
			
		||||
  integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==
 | 
			
		||||
 | 
			
		||||
get-caller-file@^1.0.1:
 | 
			
		||||
  version "1.0.3"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a"
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user