Use material symbols in table link helper (#31359)
parent
c75f7262ed
commit
71405eabfc
|
@ -25,7 +25,7 @@ module Admin::FilterHelper
|
||||||
end
|
end
|
||||||
|
|
||||||
def table_link_to(icon, text, path, **options)
|
def table_link_to(icon, text, path, **options)
|
||||||
link_to safe_join([fa_icon(icon), text]), path, options.merge(class: 'table-action-link')
|
link_to safe_join([material_symbol(icon), text]), path, options.merge(class: 'table-action-link')
|
||||||
end
|
end
|
||||||
|
|
||||||
def selected?(more_params)
|
def selected?(more_params)
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#5f6368"><path d="M280-400q-33 0-56.5-23.5T200-480q0-33 23.5-56.5T280-560q33 0 56.5 23.5T360-480q0 33-23.5 56.5T280-400Zm0 160q-100 0-170-70T40-480q0-100 70-170t170-70q67 0 121.5 33t86.5 87h352l120 120-180 180-80-60-80 60-85-60h-47q-32 54-86.5 87T280-240Zm0-80q56 0 98.5-34t56.5-86h125l58 41 82-61 71 55 75-75-40-40H435q-14-52-56.5-86T280-640q-66 0-113 47t-47 113q0 66 47 113t113 47Z"/></svg>
|
After Width: | Height: | Size: 490 B |
|
@ -0,0 +1,5 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px"
|
||||||
|
fill="#5f6368">
|
||||||
|
<path
|
||||||
|
d="M280-240q-100 0-170-70T40-480q0-100 70-170t170-70h400q100 0 170 70t70 170q0 100-70 170t-170 70H280Zm0-80h400q66 0 113-47t47-113q0-66-47-113t-113-47H280q-66 0-113 47t-47 113q0 66 47 113t113 47Zm0-40q50 0 85-35t35-85q0-50-35-85t-85-35q-50 0-85 35t-35 85q0 50 35 85t85 35Zm200-120Z" />
|
||||||
|
</svg>
|
After Width: | Height: | Size: 422 B |
|
@ -0,0 +1,5 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px"
|
||||||
|
fill="#5f6368">
|
||||||
|
<path
|
||||||
|
d="M280-240q-100 0-170-70T40-480q0-100 70-170t170-70h400q100 0 170 70t70 170q0 100-70 170t-170 70H280Zm0-80h400q66 0 113-47t47-113q0-66-47-113t-113-47H280q-66 0-113 47t-47 113q0 66 47 113t113 47Zm400-40q50 0 85-35t35-85q0-50-35-85t-85-35q-50 0-85 35t-35 85q0 50 35 85t85 35ZM480-480Z" />
|
||||||
|
</svg>
|
After Width: | Height: | Size: 424 B |
|
@ -1,12 +1,12 @@
|
||||||
- if account.avatar?
|
- if account.avatar?
|
||||||
%tr
|
%tr
|
||||||
%th= t('admin.accounts.avatar')
|
%th= t('admin.accounts.avatar')
|
||||||
%td= table_link_to 'trash', t('admin.accounts.remove_avatar'), remove_avatar_admin_account_path(account.id), method: :post, data: { confirm: t('admin.accounts.are_you_sure') } if can?(:remove_avatar, account)
|
%td= table_link_to 'delete', t('admin.accounts.remove_avatar'), remove_avatar_admin_account_path(account.id), method: :post, data: { confirm: t('admin.accounts.are_you_sure') } if can?(:remove_avatar, account)
|
||||||
%td
|
%td
|
||||||
- if account.header?
|
- if account.header?
|
||||||
%tr
|
%tr
|
||||||
%th= t('admin.accounts.header')
|
%th= t('admin.accounts.header')
|
||||||
%td= table_link_to 'trash', t('admin.accounts.remove_header'), remove_header_admin_account_path(account.id), method: :post, data: { confirm: t('admin.accounts.are_you_sure') } if can?(:remove_header, account)
|
%td= table_link_to 'delete', t('admin.accounts.remove_header'), remove_header_admin_account_path(account.id), method: :post, data: { confirm: t('admin.accounts.are_you_sure') } if can?(:remove_header, account)
|
||||||
%td
|
%td
|
||||||
%tr
|
%tr
|
||||||
%th= t('admin.accounts.role')
|
%th= t('admin.accounts.role')
|
||||||
|
@ -16,7 +16,7 @@
|
||||||
- else
|
- else
|
||||||
= account.user_role&.name
|
= account.user_role&.name
|
||||||
%td
|
%td
|
||||||
= table_link_to 'vcard', t('admin.accounts.change_role.label'), admin_user_role_path(account.user) if can?(:change_role, account.user)
|
= table_link_to 'contact_mail', t('admin.accounts.change_role.label'), admin_user_role_path(account.user) if can?(:change_role, account.user)
|
||||||
%tr
|
%tr
|
||||||
%th{ rowspan: can?(:create, :email_domain_block) ? 3 : 2 }= t('admin.accounts.email')
|
%th{ rowspan: can?(:create, :email_domain_block) ? 3 : 2 }= t('admin.accounts.email')
|
||||||
%td{ rowspan: can?(:create, :email_domain_block) ? 3 : 2 }= account.user_email
|
%td{ rowspan: can?(:create, :email_domain_block) ? 3 : 2 }= account.user_email
|
||||||
|
@ -25,7 +25,7 @@
|
||||||
%td= table_link_to 'search', t('admin.accounts.search_same_email_domain'), admin_accounts_path(email: "%@#{account.user_email.split('@').last}")
|
%td= table_link_to 'search', t('admin.accounts.search_same_email_domain'), admin_accounts_path(email: "%@#{account.user_email.split('@').last}")
|
||||||
- if can?(:create, :email_domain_block)
|
- if can?(:create, :email_domain_block)
|
||||||
%tr
|
%tr
|
||||||
%td= table_link_to 'ban', t('admin.accounts.add_email_domain_block'), new_admin_email_domain_block_path(_domain: account.user_email.split('@').last)
|
%td= table_link_to 'hide_source', t('admin.accounts.add_email_domain_block'), new_admin_email_domain_block_path(_domain: account.user_email.split('@').last)
|
||||||
- if account.user_unconfirmed_email.present?
|
- if account.user_unconfirmed_email.present?
|
||||||
%tr
|
%tr
|
||||||
%th= t('admin.accounts.unconfirmed_email')
|
%th= t('admin.accounts.unconfirmed_email')
|
||||||
|
@ -48,7 +48,7 @@
|
||||||
= t 'admin.accounts.security_measures.only_password'
|
= t 'admin.accounts.security_measures.only_password'
|
||||||
%td
|
%td
|
||||||
- if account.user&.two_factor_enabled? && can?(:disable_2fa, account.user)
|
- if account.user&.two_factor_enabled? && can?(:disable_2fa, account.user)
|
||||||
= table_link_to 'unlock', t('admin.accounts.disable_two_factor_authentication'), admin_user_two_factor_authentication_path(account.user.id), method: :delete
|
= table_link_to 'lock_open', t('admin.accounts.disable_two_factor_authentication'), admin_user_two_factor_authentication_path(account.user.id), method: :delete
|
||||||
- if can?(:reset_password, account.user)
|
- if can?(:reset_password, account.user)
|
||||||
%tr
|
%tr
|
||||||
%td
|
%td
|
||||||
|
|
|
@ -12,4 +12,4 @@
|
||||||
= material_symbol DeliveryFailureTracker.available?(account.shared_inbox_url) ? 'check' : 'close'
|
= material_symbol DeliveryFailureTracker.available?(account.shared_inbox_url) ? 'check' : 'close'
|
||||||
%td
|
%td
|
||||||
- if domain_block.nil?
|
- if domain_block.nil?
|
||||||
= table_link_to 'ban', t('admin.domain_blocks.add_new'), new_admin_domain_block_path(_domain: account.domain)
|
= table_link_to 'hide_source', t('admin.domain_blocks.add_new'), new_admin_domain_block_path(_domain: account.domain)
|
||||||
|
|
|
@ -12,8 +12,8 @@
|
||||||
%div
|
%div
|
||||||
- if can?(:update, announcement)
|
- if can?(:update, announcement)
|
||||||
- if announcement.published?
|
- if announcement.published?
|
||||||
= table_link_to 'toggle-off', t('admin.announcements.unpublish'), unpublish_admin_announcement_path(announcement), method: :post, data: { confirm: t('admin.accounts.are_you_sure') }
|
= table_link_to 'toggle_off', t('admin.announcements.unpublish'), unpublish_admin_announcement_path(announcement), method: :post, data: { confirm: t('admin.accounts.are_you_sure') }
|
||||||
- else
|
- else
|
||||||
= table_link_to 'toggle-on', t('admin.announcements.publish'), publish_admin_announcement_path(announcement), method: :post, data: { confirm: t('admin.accounts.are_you_sure') }
|
= table_link_to 'toggle_on', t('admin.announcements.publish'), publish_admin_announcement_path(announcement), method: :post, data: { confirm: t('admin.accounts.are_you_sure') }
|
||||||
|
|
||||||
= table_link_to 'trash', t('generic.delete'), admin_announcement_path(announcement), method: :delete, data: { confirm: t('admin.accounts.are_you_sure') } if can?(:destroy, announcement)
|
= table_link_to 'delete', t('generic.delete'), admin_announcement_path(announcement), method: :delete, data: { confirm: t('admin.accounts.are_you_sure') } if can?(:destroy, announcement)
|
||||||
|
|
|
@ -27,4 +27,4 @@
|
||||||
|
|
||||||
%td
|
%td
|
||||||
- if invite.valid_for_use? && policy(invite).destroy?
|
- if invite.valid_for_use? && policy(invite).destroy?
|
||||||
= table_link_to 'times', t('invites.delete'), admin_invite_path(invite), method: :delete
|
= table_link_to 'close', t('invites.delete'), admin_invite_path(invite), method: :delete
|
||||||
|
|
|
@ -18,8 +18,8 @@
|
||||||
= t 'admin.relays.disabled'
|
= t 'admin.relays.disabled'
|
||||||
%td
|
%td
|
||||||
- if relay.accepted?
|
- if relay.accepted?
|
||||||
= table_link_to 'power-off', t('admin.relays.disable'), disable_admin_relay_path(relay), method: :post, data: { confirm: t('admin.accounts.are_you_sure') }
|
= table_link_to 'power_off', t('admin.relays.disable'), disable_admin_relay_path(relay), method: :post, data: { confirm: t('admin.accounts.are_you_sure') }
|
||||||
- elsif !relay.pending?
|
- elsif !relay.pending?
|
||||||
= table_link_to 'power-off', t('admin.relays.enable'), enable_admin_relay_path(relay), method: :post, data: { confirm: t('admin.accounts.are_you_sure') }
|
= table_link_to 'power_off', t('admin.relays.enable'), enable_admin_relay_path(relay), method: :post, data: { confirm: t('admin.accounts.are_you_sure') }
|
||||||
|
|
||||||
= table_link_to 'times', t('admin.relays.delete'), admin_relay_path(relay), method: :delete, data: { confirm: t('admin.accounts.are_you_sure') }
|
= table_link_to 'close', t('admin.relays.delete'), admin_relay_path(relay), method: :delete, data: { confirm: t('admin.accounts.are_you_sure') }
|
||||||
|
|
|
@ -13,6 +13,6 @@
|
||||||
- if can?(:destroy, report_note)
|
- if can?(:destroy, report_note)
|
||||||
.report-notes__item__actions
|
.report-notes__item__actions
|
||||||
- if report_note.is_a?(AccountModerationNote)
|
- if report_note.is_a?(AccountModerationNote)
|
||||||
= table_link_to 'trash', t('admin.reports.notes.delete'), admin_account_moderation_note_path(report_note), method: :delete
|
= table_link_to 'delete', t('admin.reports.notes.delete'), admin_account_moderation_note_path(report_note), method: :delete
|
||||||
- else
|
- else
|
||||||
= table_link_to 'trash', t('admin.reports.notes.delete'), admin_report_note_path(report_note), method: :delete
|
= table_link_to 'delete', t('admin.reports.notes.delete'), admin_report_note_path(report_note), method: :delete
|
||||||
|
|
|
@ -54,6 +54,6 @@
|
||||||
= admin_account_link_to report.assigned_account
|
= admin_account_link_to report.assigned_account
|
||||||
—
|
—
|
||||||
- if report.assigned_account != current_user.account
|
- if report.assigned_account != current_user.account
|
||||||
= table_link_to 'user', t('admin.reports.assign_to_self'), assign_to_self_admin_report_path(report), method: :post
|
= table_link_to 'person', t('admin.reports.assign_to_self'), assign_to_self_admin_report_path(report), method: :post
|
||||||
- elsif !report.assigned_account.nil?
|
- elsif !report.assigned_account.nil?
|
||||||
= table_link_to 'trash', t('admin.reports.unassign'), unassign_admin_report_path(report), method: :post
|
= table_link_to 'delete', t('admin.reports.unassign'), unassign_admin_report_path(report), method: :post
|
||||||
|
|
|
@ -27,4 +27,4 @@
|
||||||
·
|
·
|
||||||
%abbr{ title: role.permissions_as_keys.map { |privilege| I18n.t("admin.roles.privileges.#{privilege}") }.join(', ') }= t('admin.roles.permissions_count', count: role.permissions_as_keys.size)
|
%abbr{ title: role.permissions_as_keys.map { |privilege| I18n.t("admin.roles.privileges.#{privilege}") }.join(', ') }= t('admin.roles.permissions_count', count: role.permissions_as_keys.size)
|
||||||
%div
|
%div
|
||||||
= table_link_to 'pencil', t('admin.accounts.edit'), edit_admin_role_path(role) if can?(:update, role)
|
= table_link_to 'edit', t('admin.accounts.edit'), edit_admin_role_path(role) if can?(:update, role)
|
||||||
|
|
|
@ -8,4 +8,4 @@
|
||||||
= rule.hint
|
= rule.hint
|
||||||
|
|
||||||
%div
|
%div
|
||||||
= table_link_to 'trash', t('admin.rules.delete'), admin_rule_path(rule), method: :delete, data: { confirm: t('admin.accounts.are_you_sure') } if can?(:destroy, rule)
|
= table_link_to 'delete', t('admin.rules.delete'), admin_rule_path(rule), method: :delete, data: { confirm: t('admin.accounts.are_you_sure') } if can?(:destroy, rule)
|
||||||
|
|
|
@ -7,4 +7,4 @@
|
||||||
= truncate(warning_preset.text)
|
= truncate(warning_preset.text)
|
||||||
|
|
||||||
%div
|
%div
|
||||||
= table_link_to 'trash', t('admin.warning_presets.delete'), admin_warning_preset_path(warning_preset), method: :delete, data: { confirm: t('admin.accounts.are_you_sure') } if can?(:destroy, warning_preset)
|
= table_link_to 'delete', t('admin.warning_presets.delete'), admin_warning_preset_path(warning_preset), method: :delete, data: { confirm: t('admin.accounts.are_you_sure') } if can?(:destroy, warning_preset)
|
||||||
|
|
|
@ -15,5 +15,5 @@
|
||||||
%abbr{ title: webhook.events.join(', ') }= t('admin.webhooks.enabled_events', count: webhook.events.size)
|
%abbr{ title: webhook.events.join(', ') }= t('admin.webhooks.enabled_events', count: webhook.events.size)
|
||||||
|
|
||||||
%div
|
%div
|
||||||
= table_link_to 'pencil', t('admin.webhooks.edit'), edit_admin_webhook_path(webhook) if can?(:update, webhook)
|
= table_link_to 'edit', t('admin.webhooks.edit'), edit_admin_webhook_path(webhook) if can?(:update, webhook)
|
||||||
= table_link_to 'trash', t('admin.webhooks.delete'), admin_webhook_path(webhook), method: :delete, data: { confirm: t('admin.accounts.are_you_sure') } if can?(:destroy, webhook)
|
= table_link_to 'delete', t('admin.webhooks.delete'), admin_webhook_path(webhook), method: :delete, data: { confirm: t('admin.accounts.are_you_sure') } if can?(:destroy, webhook)
|
||||||
|
|
|
@ -19,10 +19,10 @@
|
||||||
%td
|
%td
|
||||||
- if @webhook.enabled?
|
- if @webhook.enabled?
|
||||||
%span.positive-hint= t('admin.webhooks.enabled')
|
%span.positive-hint= t('admin.webhooks.enabled')
|
||||||
= table_link_to 'power-off', t('admin.webhooks.disable'), disable_admin_webhook_path(@webhook), method: :post if can?(:disable, @webhook)
|
= table_link_to 'power_off', t('admin.webhooks.disable'), disable_admin_webhook_path(@webhook), method: :post if can?(:disable, @webhook)
|
||||||
- else
|
- else
|
||||||
%span.negative-hint= t('admin.webhooks.disabled')
|
%span.negative-hint= t('admin.webhooks.disabled')
|
||||||
= table_link_to 'power-off', t('admin.webhooks.enable'), enable_admin_webhook_path(@webhook), method: :post if can?(:enable, @webhook)
|
= table_link_to 'power_off', t('admin.webhooks.enable'), enable_admin_webhook_path(@webhook), method: :post if can?(:enable, @webhook)
|
||||||
%tr
|
%tr
|
||||||
%th= t('admin.webhooks.events')
|
%th= t('admin.webhooks.events')
|
||||||
%td
|
%td
|
||||||
|
|
|
@ -15,4 +15,4 @@
|
||||||
%time.time-ago{ datetime: session.updated_at.iso8601, title: l(session.updated_at) }= l(session.updated_at)
|
%time.time-ago{ datetime: session.updated_at.iso8601, title: l(session.updated_at) }= l(session.updated_at)
|
||||||
%td
|
%td
|
||||||
- if current_session.session_id != session.session_id && !current_account.suspended?
|
- if current_session.session_id != session.session_id && !current_account.suspended?
|
||||||
= table_link_to 'times', t('sessions.revoke'), settings_session_path(session), method: :delete
|
= table_link_to 'close', t('sessions.revoke'), settings_session_path(session), method: :delete
|
||||||
|
|
|
@ -37,5 +37,5 @@
|
||||||
= t('filters.index.contexts', contexts: filter.context.map { |context| I18n.t("filters.contexts.#{context}") }.join(', '))
|
= t('filters.index.contexts', contexts: filter.context.map { |context| I18n.t("filters.contexts.#{context}") }.join(', '))
|
||||||
|
|
||||||
%div
|
%div
|
||||||
= table_link_to 'pencil', t('filters.edit.title'), edit_filter_path(filter)
|
= table_link_to 'edit', t('filters.edit.title'), edit_filter_path(filter)
|
||||||
= table_link_to 'times', t('filters.index.delete'), filter_path(filter), method: :delete, data: { confirm: t('admin.accounts.are_you_sure') }
|
= table_link_to 'close', t('filters.index.delete'), filter_path(filter), method: :delete, data: { confirm: t('admin.accounts.are_you_sure') }
|
||||||
|
|
|
@ -22,4 +22,4 @@
|
||||||
|
|
||||||
%td
|
%td
|
||||||
- if invite.valid_for_use? && policy(invite).destroy?
|
- if invite.valid_for_use? && policy(invite).destroy?
|
||||||
= table_link_to 'times', t('invites.delete'), invite_path(invite), method: :delete
|
= table_link_to 'close', t('invites.delete'), invite_path(invite), method: :delete
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
|
|
||||||
- unless application.superapp? || current_account.unavailable?
|
- unless application.superapp? || current_account.unavailable?
|
||||||
%div
|
%div
|
||||||
= table_link_to 'times', t('doorkeeper.authorized_applications.buttons.revoke'), oauth_authorized_application_path(application), method: :delete, data: { confirm: t('doorkeeper.authorized_applications.confirmations.revoke') }
|
= table_link_to 'close', t('doorkeeper.authorized_applications.buttons.revoke'), oauth_authorized_application_path(application), method: :delete, data: { confirm: t('doorkeeper.authorized_applications.confirmations.revoke') }
|
||||||
|
|
||||||
.announcements-list__item__permissions
|
.announcements-list__item__permissions
|
||||||
%ul.permissions-list
|
%ul.permissions-list
|
||||||
|
|
|
@ -30,4 +30,4 @@
|
||||||
- @aliases.each do |account_alias|
|
- @aliases.each do |account_alias|
|
||||||
%tr
|
%tr
|
||||||
%td= account_alias.pretty_acct
|
%td= account_alias.pretty_acct
|
||||||
%td= table_link_to 'trash', t('aliases.remove'), settings_alias_path(account_alias), data: { method: :delete }
|
%td= table_link_to 'delete', t('aliases.remove'), settings_alias_path(account_alias), data: { method: :delete }
|
||||||
|
|
|
@ -20,6 +20,6 @@
|
||||||
%td= link_to application.name, settings_application_path(application)
|
%td= link_to application.name, settings_application_path(application)
|
||||||
%th= application.scopes
|
%th= application.scopes
|
||||||
%td
|
%td
|
||||||
= table_link_to 'times', t('doorkeeper.applications.index.delete'), settings_application_path(application), method: :delete, data: { confirm: t('doorkeeper.applications.confirmations.destroy') }
|
= table_link_to 'close', t('doorkeeper.applications.index.delete'), settings_application_path(application), method: :delete, data: { confirm: t('doorkeeper.applications.confirmations.destroy') }
|
||||||
|
|
||||||
= paginate @applications
|
= paginate @applications
|
||||||
|
|
|
@ -31,5 +31,5 @@
|
||||||
= t('accounts.nothing_here')
|
= t('accounts.nothing_here')
|
||||||
- else
|
- else
|
||||||
%time.formatted{ datetime: featured_tag.last_status_at.iso8601, title: l(featured_tag.last_status_at) }= l featured_tag.last_status_at
|
%time.formatted{ datetime: featured_tag.last_status_at.iso8601, title: l(featured_tag.last_status_at) }= l featured_tag.last_status_at
|
||||||
= table_link_to 'trash', t('filters.index.delete'), settings_featured_tag_path(featured_tag), method: :delete, data: { confirm: t('admin.accounts.are_you_sure') }
|
= table_link_to 'delete', t('filters.index.delete'), settings_featured_tag_path(featured_tag), method: :delete, data: { confirm: t('admin.accounts.are_you_sure') }
|
||||||
.trends__item__current= friendly_number_to_human featured_tag.statuses_count
|
.trends__item__current= friendly_number_to_human featured_tag.statuses_count
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
%td= credential.nickname
|
%td= credential.nickname
|
||||||
%td= t('webauthn_credentials.registered_on', date: l(credential.created_at.to_date, format: :with_month_name))
|
%td= t('webauthn_credentials.registered_on', date: l(credential.created_at.to_date, format: :with_month_name))
|
||||||
%td
|
%td
|
||||||
= table_link_to 'trash', t('webauthn_credentials.delete'), settings_webauthn_credential_path(credential.id), method: :delete, data: { confirm: t('webauthn_credentials.delete_confirmation') }
|
= table_link_to 'delete', t('webauthn_credentials.delete'), settings_webauthn_credential_path(credential.id), method: :delete, data: { confirm: t('webauthn_credentials.delete_confirmation') }
|
||||||
|
|
||||||
%hr.spacer/
|
%hr.spacer/
|
||||||
|
|
||||||
|
|
|
@ -20,12 +20,12 @@
|
||||||
%tr
|
%tr
|
||||||
%td= t('two_factor_authentication.otp')
|
%td= t('two_factor_authentication.otp')
|
||||||
%td
|
%td
|
||||||
= table_link_to 'pencil', t('two_factor_authentication.edit'), settings_otp_authentication_path, method: :post
|
= table_link_to 'edit', t('two_factor_authentication.edit'), settings_otp_authentication_path, method: :post
|
||||||
%tr
|
%tr
|
||||||
%td= t('two_factor_authentication.webauthn')
|
%td= t('two_factor_authentication.webauthn')
|
||||||
- if current_user.webauthn_enabled?
|
- if current_user.webauthn_enabled?
|
||||||
%td
|
%td
|
||||||
= table_link_to 'pencil', t('two_factor_authentication.edit'), settings_webauthn_credentials_path, method: :get
|
= table_link_to 'edit', t('two_factor_authentication.edit'), settings_webauthn_credentials_path, method: :get
|
||||||
- else
|
- else
|
||||||
%td
|
%td
|
||||||
= table_link_to 'key', t('two_factor_authentication.add'), new_settings_webauthn_credential_path, method: :get
|
= table_link_to 'key', t('two_factor_authentication.add'), new_settings_webauthn_credential_path, method: :get
|
||||||
|
|
Loading…
Reference in New Issue