* improve a11y of fields, status page, and more * tweak nav name * fix community page and tweak text * don't show pinned statuses heading unless there are pinned statuses
		
			
				
	
	
		
			101 lines
		
	
	
		
			No EOL
		
	
	
		
			2.3 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			101 lines
		
	
	
		
			No EOL
		
	
	
		
			2.3 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
{#if emojifiedFields.length}
 | 
						|
  <h2 class="sr-only">Fields</h2>
 | 
						|
  <div class="account-profile-meta">
 | 
						|
    <div class="account-profile-meta-border"></div>
 | 
						|
    {#each emojifiedFields as field, i}
 | 
						|
      <div
 | 
						|
        id="account-profile-meta-name-{i}"
 | 
						|
        class="account-profile-meta-cell account-profile-meta-name"
 | 
						|
        role="term"
 | 
						|
      >
 | 
						|
        {field.name}
 | 
						|
      </div>
 | 
						|
      <div
 | 
						|
        class="account-profile-meta-cell account-profile-meta-value"
 | 
						|
        role="definition"
 | 
						|
        aria-labelledby="account-profile-meta-name-{i}"
 | 
						|
      >
 | 
						|
        {@html field.value}
 | 
						|
      </div>
 | 
						|
    {/each}
 | 
						|
    <div class="account-profile-meta-border"></div>
 | 
						|
  </div>
 | 
						|
{/if}
 | 
						|
<style>
 | 
						|
  .account-profile-meta {
 | 
						|
    grid-area: meta;
 | 
						|
    display: grid;
 | 
						|
    grid-template-columns: max-content 1fr;
 | 
						|
    grid-row-gap: 5px;
 | 
						|
    align-items: center;
 | 
						|
    padding: 10px 0;
 | 
						|
  }
 | 
						|
 | 
						|
  .account-profile-meta-border {
 | 
						|
    height: 1px;
 | 
						|
    width: 100%;
 | 
						|
    grid-column: 1 / 3;
 | 
						|
    background: var(--main-border);
 | 
						|
    justify-self: center;
 | 
						|
  }
 | 
						|
 | 
						|
  .account-profile-meta-cell {
 | 
						|
    word-wrap: break-word;
 | 
						|
    overflow: hidden;
 | 
						|
    white-space: pre-wrap;
 | 
						|
    text-overflow: ellipsis;
 | 
						|
    font-size: 1.1em;
 | 
						|
  }
 | 
						|
 | 
						|
  .account-profile-meta-name {
 | 
						|
    padding: 10px 20px 10px 0;
 | 
						|
    text-transform: uppercase;
 | 
						|
    color: var(--deemphasized-text-color);
 | 
						|
    position: relative;
 | 
						|
    max-width: 40vw;
 | 
						|
  }
 | 
						|
 | 
						|
  .account-profile-meta-name:after {
 | 
						|
    content: '';
 | 
						|
    position: absolute;
 | 
						|
    right: 0;
 | 
						|
    top: 15%;
 | 
						|
    height: 70%;
 | 
						|
    border-right: 1px solid var(--main-border);
 | 
						|
  }
 | 
						|
 | 
						|
  .account-profile-meta-value {
 | 
						|
    padding: 10px 10px 10px 20px;
 | 
						|
  }
 | 
						|
 | 
						|
  @media (max-width: 767px) {
 | 
						|
    .account-profile-meta {
 | 
						|
      padding: 5px 0;
 | 
						|
    }
 | 
						|
    .account-profile-meta-cell {
 | 
						|
      font-size: 1em;
 | 
						|
    }
 | 
						|
    .account-profile-meta-name {
 | 
						|
      padding: 5px 10px 5px 0;
 | 
						|
    }
 | 
						|
    .account-profile-meta-value {
 | 
						|
      padding: 5px 10px 5px 10px;
 | 
						|
    }
 | 
						|
  }
 | 
						|
</style>
 | 
						|
<script>
 | 
						|
  import { emojifyText } from '../../_utils/emojifyText'
 | 
						|
  import { store } from '../../_store/store'
 | 
						|
 | 
						|
  export default {
 | 
						|
    store: () => store,
 | 
						|
    computed: {
 | 
						|
      emojis: ({ account }) => account.emojis || [],
 | 
						|
      fields: ({ account }) => account.fields || [],
 | 
						|
      emojifiedFields: ({ fields, emojis, $autoplayGifs }) => (fields.map(field => ({
 | 
						|
        name: field.name,
 | 
						|
        value: emojifyText(field.value, emojis, $autoplayGifs)
 | 
						|
      })))
 | 
						|
    }
 | 
						|
  }
 | 
						|
</script> |