* Move some inline styles to CSS files * Move default_account_display_name span to fix useless tags with duplicate id * Change handling of public pages spoiler text from inline CSS to dataset attribute * Use the `dir` HTML attribute instead of inline CSS * Move status action bar inline CSS to CSS file * Hide logo resources from CSS file, not inline CSS Fixes #11601 * Move translation prompt styling from inline CSS to CSS file * Move “invited by” styling on registration form from inline to CSS file * Use the progress tag to display poll results in JS fallback * Fix poll results JS-less fallback when the user has voted for an option * Change account public page “moved” notice to use img tags instead of inline CSS * Move OTP hint inline CSS to SCSS file * Hide JS-less fallback vote progressbars from accessibility tools Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>
		
			
				
	
	
		
			40 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
- show_results = (user_signed_in? && poll.voted?(current_account)) || poll.expired?
 | 
						|
- own_votes = user_signed_in? ? poll.own_votes(current_account) : []
 | 
						|
- total_votes_count = poll.voters_count || poll.votes_count
 | 
						|
 | 
						|
.poll
 | 
						|
  %ul
 | 
						|
    - poll.loaded_options.each_with_index do |option, index|
 | 
						|
      %li
 | 
						|
        - if show_results
 | 
						|
          - percent = total_votes_count > 0 ? 100 * option.votes_count / total_votes_count : 0
 | 
						|
          %label.poll__option><
 | 
						|
            %span.poll__number><
 | 
						|
              = "#{percent.round}%"
 | 
						|
            %span.poll__option__text
 | 
						|
              = Formatter.instance.format_poll_option(status, option, autoplay: autoplay)
 | 
						|
            - if own_votes.include?(index)
 | 
						|
              %span.poll__voted
 | 
						|
                %i.poll__voted__mark.fa.fa-check
 | 
						|
 | 
						|
          %progress{ max: 100, value: percent < 1 ? 1 : percent, 'aria-hidden': 'true' }
 | 
						|
            %span.poll__chart
 | 
						|
        - else
 | 
						|
          %label.poll__option><
 | 
						|
            %span.poll__input{ class: poll.multiple? ? 'checkbox' : nil}><
 | 
						|
            %span.poll__option__text
 | 
						|
              = Formatter.instance.format_poll_option(status, option, autoplay: autoplay)
 | 
						|
  .poll__footer
 | 
						|
    - unless show_results
 | 
						|
      %button.button.button-secondary{ disabled: true }
 | 
						|
        = t('statuses.poll.vote')
 | 
						|
 | 
						|
    - if poll.voters_count.nil?
 | 
						|
      %span= t('statuses.poll.total_votes', count: poll.votes_count)
 | 
						|
    - else
 | 
						|
      %span= t('statuses.poll.total_people', count: poll.voters_count)
 | 
						|
 | 
						|
    - unless poll.expires_at.nil?
 | 
						|
      ·
 | 
						|
      %span= l poll.expires_at
 |