<script>
import { onDestroy, onMount } from 'svelte'
import { fade } from 'svelte/transition'
let user
const titleize = s => s.replace(/^([a-z])/, (_, r) => r.toUpperCase())
async function updateUser() {
user = null
user = (await (await fetch('https://randomuser.me/api/')).json()).results[0]
}
</script>
<button class="button is-primary" on:click={updateUser}>Fetch New User</button>
<br />
<br />
<div class="box">
<article class="media">
<div class="media-left">
<figure class="image is-64x64">
{#if user}
<img transition:fade class="is-rounded" src={user.picture.medium} alt="Profile picture" />
{/if}
</figure>
</div>
<div class="media-content">
<div class="content">
{#if user}
<p transition:fade>
<strong>{titleize(user.name.first)} {titleize(user.name.last)}</strong>
<small>@{user.login.username}</small>
<small />
<br />
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean efficitur sit amet massa fringilla
egestas. Nullam condimentum luctus turpis.
</p>
{/if}
</div>
{#if user}
<nav class="level is-mobile" transition:fade>
<div class="level-left">
<a href class="level-item" aria-label="reply">
<span class="icon is-small">
<i class="fas fa-reply" aria-hidden="true" />
</span>
</a>
<a href class="level-item" aria-label="retweet">
<span class="icon is-small">
<i class="fas fa-retweet" aria-hidden="true" />
</span>
</a>
<a href class="level-item" aria-label="like">
<span class="icon is-small">
<i class="fas fa-heart" aria-hidden="true" />
</span>
</a>
</div>
</nav>
{/if}
</div>
</article>
</div>