{{define "title"}}Compose a Message{{end}}
{{define "content"}}
<div class="container">
    <section class="hero is-info is-bold">
        <div class="hero-body">
            <div class="container">
                <h1 class="title">
                    Admin Action
                </h1>
                <h2 class="subtitle">On user {{.User.Username}}</h2>
            </div>
        </div>
    </section>

    <div class="block p-4">
        <div class="columns is-centered">
            <div class="column is-half">

                <div class="card" style="width: 100%; max-width: 640px">
                    <header class="card-header has-background-link">
                        <p class="card-header-title has-text-light">
                            {{if eq .Intent "impersonate"}}
                                <span class="icon"><i class="fa fa-ghost"></i></span>
                                Impersonate User
                            {{else if eq .Intent "ban"}}
                                <span class="icon"><i class="fa fa-ban"></i></span>
                                Ban User
                            {{else if eq .Intent "promote"}}
                                <span class="icon"><i class="fa fa-peace"></i></span>
                                Promote User
                            {{else if eq .Intent "delete"}}
                                <span class="icon"><i class="fa fa-trash"></i></span>
                                Delete User
                            {{end}}
                        </p>
                    </header>
                    <div class="card-content">

                        <div class="media block">
                            <div class="media-left">
                                {{template "avatar-64x64" .User}}
                            </div>
                            <div class="media-content">
                                <p class="title is-4">{{.User.NameOrUsername}}</p>
                                <p class="subtitle is-6">
                                    <span class="icon"><i class="fa fa-user"></i></span>
                                    <a href="/u/{{.User.Username}}" target="_blank">{{.User.Username}}</a>
                                </p>
                            </div>
                        </div>

                        <form action="/admin/user-action" method="POST">
                            {{InputCSRF}}
                            <input type="hidden" name="intent" value="{{.Intent}}">
                            <input type="hidden" name="user_id" value="{{.User.ID}}">

                            {{if eq .Intent "insights"}}
                                <div class="block content">
                                    <h2>Admin Insights</h2>

                                    <p>
                                        This page gives a peek into the database to glean some insights about a user.
                                        So far, this means taking a look at their block lists: how many people do they
                                        block (and who), and more importantly, how many people are blocking them. It
                                        may be useful information to guage a problematic user, if they are angering or
                                        creeping a lot of people out and ending up on a lot of block lists.
                                    </p>

                                    <h3>Block Lists</h3>

                                    <div class="columns">
                                        <div class="column">
                                            <h5 class="has-text-warning">Forward List <span class="tag is-warning">{{len .BlocklistInsights.Blocks}}</span></h5>

                                            <p>
                                                (Users who {{.User.Username}} is blocking)
                                            </p>

                                            <ul>
                                            {{range .BlocklistInsights.Blocks}}
                                                <li>
                                                    <a href="/u/{{.Username}}">{{.Username}}</a>
                                                    <small class="has-text-grey" title="{{.Date}}">{{.Date.Format "2006-01-02"}}</small>
                                                </li>
                                            {{end}}
                                            </ul>
                                        </div>
                                        <div class="column">
                                            <h5 class="has-text-warning">Reverse List <span class="tag is-danger">{{len .BlocklistInsights.BlockedBy}}</span></h5>

                                            <p>
                                                (Users who block {{.User.Username}})
                                            </p>

                                            <ul>
                                            {{range .BlocklistInsights.BlockedBy}}
                                                <li>
                                                    <a href="/u/{{.Username}}">{{.Username}}</a>
                                                    <small class="has-text-grey" title="{{.Date}}">{{.Date.Format "2006-01-02"}}</small>
                                                </li>
                                            {{end}}
                                            </ul>
                                        </div>
                                    </div>
                                </div>
                            {{else if eq .Intent "impersonate"}}
                                <div class="block content">
                                    <h3>With great power...</h3>
                                    <p>
                                        By <strong>impersonating</strong> this user, you will be considered as "logged in"
                                        to their account and have access to their messages, profile, photos and settings.
                                    </p>
                                    <p>
                                        Please respect user privacy and only impersonate an account as needed to diagnose
                                        a customer support issue or similar.
                                    </p>
                                    <p>
                                        <strong class="has-text-danger">
                                        This event is logged and will be noticed.
                                        </strong>
                                        Write an explanation below why you are impersonating this user. It will
                                        be e-mailed to the admin mailing list and trigger an admin notification
                                        and be logged as a <a href="/admin/feedback?intent=report">Report</a> to
                                        the admin dashboard. Reports can be acknowledged, but not deleted.
                                    </p>
                                    <p>
                                        Good reasons may include:
                                        <ul>
                                            <li>
                                                I need to diagnose a bug report given by one of our users
                                                (briefly describe what the bug is; e.g. user saw a database error
                                                at the top of a page).
                                            </li>
                                            <li>
                                                A user has reported a Direct Message conversation and I need to
                                                take a look at the context. (There is no other way to read user DMs)
                                            </li>
                                        </ul>
                                    </p>
                                </div>

                                <textarea class="textarea mb-4"
                                    cols="80" rows="4"
                                    name="reason"
                                    placeholder="Reason"
                                    required></textarea>

                                <div class="field has-text-centered">
                                    <button type="submit" class="button is-success">
                                        Log in as {{.User.Username}}
                                    </button>
                                </div>
                            {{else if eq .Intent "ban"}}
                                <div class="block content">
                                    <p>
                                        This user is currently:
                                        {{if eq .User.Status "active"}}
                                            <strong class="has-text-success">Active (not banned)</strong>
                                        {{else if eq .User.Status "disabled"}}
                                            <strong class="has-text-warning">Disabled</strong>
                                        {{else if eq .User.Status "banned"}}
                                            <strong class="has-text-danger">Banned</strong>
                                        {{end}}
                                    </p>

                                    <p>
                                        Select a new status for them below:
                                    </p>
                                </div>

                                <div class="field has-text-centered">
                                    <button type="submit" name="status" value="active" class="button is-success">
                                        Active
                                    </button>
                                    <button type="submit" name="status" value="banned" class="button is-danger">
                                        Banned
                                    </button>
                                </div>
                            {{else if eq .Intent "promote"}}
                                <div class="block content">
                                    <p>
                                        This user is currently:
                                        {{if .User.IsAdmin}}
                                            <strong class="has-text-danger">Admin</strong>
                                        {{else}}
                                            <strong class="has-text-success">NOT Admin</strong>
                                        {{end}}
                                    </p>

                                    <p>
                                        Select a new status for them below:
                                    </p>
                                </div>

                                <div class="field has-text-centered">
                                    <button type="submit" name="action" value="promote" class="button is-success">
                                        Make Admin
                                    </button>
                                    <button type="submit" name="action" value="demote" class="button is-danger">
                                        Remove Admin
                                    </button>
                                </div>
                            {{else if eq .Intent "delete"}}
                                <div class="block content">
                                    <p>
                                        Click the button below to <strong>deep delete</strong> this user account.
                                    </p>
                                </div>

                                <div class="field has-text-centered">
                                    <button type="submit" class="button is-danger">
                                        Delete User Account
                                    </button>
                                </div>
                            {{end}}
                        </form>

                    </div>
                </div>

            </div>
        </div>
    </div>

</div>
{{end}}