ホーム画面のレイアウト変更

This commit is contained in:
shibafu 2017-10-23 00:03:24 +09:00
parent 70ae2fd982
commit b5f04cb153
3 changed files with 72 additions and 75 deletions

View File

@ -29,4 +29,14 @@ class User extends Authenticatable
protected $hidden = [
'password', 'remember_token',
];
/**
* このユーザのメールアドレスから、Gravatarの画像URLを生成します。
* @param int $size 画像サイズ
* @return string Gravatar 画像URL
*/
public function getProfileImageUrl($size = 30) : string {
$hash = md5(strtolower(trim($this->email)));
return '//www.gravatar.com/avatar/' . $hash . '?s=' . $size;
}
}

View File

@ -1,91 +1,78 @@
@extends('layouts.base-old')
@extends('layouts.base')
@section('head')
<style>
#ejaculations .title {
font-size: large;
}
#ejaculations .note {
margin: 8px 0;
}
</style>
@endsection
@section('content')
<div class="container">
<div class="row">
<div class="col s12 m4">
<div class="card">
<div class="card-content">
<span class="card-title">{{ Auth::user()->display_name }}</span>
<p>&commat;{{ Auth::user()->name }}</p>
<hr>
<p class="valign-wrapper"><i class="material-icons">av_timer</i><b>現在のセッション</b></p>
<div class="col-lg-4">
<div class="card mb-4">
<div class="card-body">
<img src="{{ Auth::user()->getProfileImageUrl(64) }}" class="rounded mb-1">
<h4 class="card-title"><a class="text-dark" href="{{ route('profile') }}">{{ Auth::user()->display_name }}</a></h4>
<h6 class="card-subtitle mb-4"><a class="text-muted" href="{{ route('profile') }}">&commat;{{ Auth::user()->name }}</a></h6>
<h6 class="font-weight-bold"><span class="oi oi-timer"></span> 現在のセッション</h6>
@if (isset($currentSession))
<p>{{ $currentSession }}経過</p>
<p>({{ $ejaculations[0]['ejaculated_date'] }} にリセット)</p>
<p class="card-text mb-0">{{ $currentSession }}経過</p>
<p class="card-text">({{ $ejaculations[0]['ejaculated_date'] }} にリセット)</p>
@else
<p>計測がまだ始まっていません</p>
<p>(一度チェックインすると始まります)</p>
<p class="card-text mb-0">計測がまだ始まっていません</p>
<p class="card-text">(一度チェックインすると始まります)</p>
@endif
@if (isset($summary) && $summary[0]->total_checkins > 0)
<hr>
<p class="valign-wrapper"><i class="material-icons">assessment</i><b>概況</b></p>
<p>平均記録: {{ Formatter::formatInterval($summary[0]->average) }}</p>
<p>最長記録: {{ Formatter::formatInterval($summary[0]->longest) }}</p>
<p>最短記録: {{ Formatter::formatInterval($summary[0]->shortest) }}</p>
<p>合計時間: {{ Formatter::formatInterval($summary[0]->total_times) }}</p>
<p>通算回数: {{ $summary[0]->total_checkins }}</p>
@endif
</div>
</div>
<div class="card">
<div class="card-content red lighten-1">
<span class="card-title">オープンβテスト中</span>
<p>予告なくサービスの中断や大幅な機能変更、時にはデータの損失が発生する可能性があります。</p>
<p>特に、データについてはなるべく保持できるよう努めますが、どうしようもないことも時には発生しますので予めご了承ください。</p>
<h6 class="font-weight-bold"><span class="oi oi-graph"></span> 概況</h6>
<p class="card-text mb-0">平均記録: {{ Formatter::formatInterval($summary[0]->average) }}</p>
<p class="card-text mb-0">最長記録: {{ Formatter::formatInterval($summary[0]->longest) }}</p>
<p class="card-text mb-0">最短記録: {{ Formatter::formatInterval($summary[0]->shortest) }}</p>
<p class="card-text mb-0">合計時間: {{ Formatter::formatInterval($summary[0]->total_times) }}</p>
<p class="card-text">通算回数: {{ $summary[0]->total_checkins }}回回</p>
</div>
</div>
</div>
<div class="col s12 m8">
<ul id="ejaculations" class="collection z-depth-1">
@forelse ($ejaculations as $ejaculation)
@if ($loop->first)
<li class="collection-item">
<span class="title"><b>最近のチェックイン</b></span>
</li>
@endif
<li class="collection-item">
<span class="title">{{ $ejaculation['ejaculated_span'] ?? '精通' }}</span> <span class="grey-text">{{ $ejaculation['before_date'] }}{{ !empty($ejaculation['before_date']) ? ' ' : '' }}{{ $ejaculation['ejaculated_date'] }}</span>
<div class="note">
{{ $ejaculation['note'] }}
</div>
@if ($ejaculation['is_private'])
<span class="grey-text"><i class="material-icons tiny">lock</i> 非公開チェックイン</span>
@endif
{{--<div class="chip">結月ゆかり</div>
<div class="chip">琴葉茜</div>--}}
</li>
@if ($loop->index === 7)
<li class="collection-item">
<div class="center">
<a href="{{ route('profile') }}">もっと見る</a>
</div>
</li>
@break
@endif
@empty
<li class="collection-item">
<div class="note">
まだチェックインがありません。右上のチェックインボタンから今すぐ精通!
</div>
</li>
@endforelse
</ul>
<div class="col-lg-8">
<div class="card mb-4">
<div class="card-header">サイトからのお知らせ</div>
<div class="list-group list-group-flush">
<a href="#" class="list-group-item"><span class="badge badge-danger">重要</span> オープンβテスト 第2シーズンとしてサービス中</a>
<a href="#" class="list-group-item"><span class="badge badge-info">アップデート</span> ver.2017-[season] アップデートのお知らせ</a>
<a href="#" class="list-group-item"><span class="badge badge-danger">不具合情報</span> 存在が不具合であることについて</a>
<a href="#" class="list-group-item text-right">お知らせ一覧 &raquo;</a>
</div>
</div>
<div class="card mb-4">
<div class="card-header">ランキング</div>
<div class="card-body">
<p class="card-text">参加しているランキングはありません。自信のあるお題を探して、参加登録してみませんか?</p>
<p class="card-text">参加登録をすると、定期的に集計されてここにあなたの順位が表示されます。</p>
</div>
<div class="list-group list-group-flush">
<a href="#" class="list-group-item text-right">ランキング一覧 &raquo;</a>
</div>
</div>
<div class="card mb-4">
<div class="card-header">穴兄弟レーダー</div>
<div class="card-body">
<p class="card-text">
あなたがよく使うタグやオカズから、関連していそうなオカズリンクを探して表示しています。
</p>
</div>
<div class="list-group list-group-flush">
<a href="#" class="list-group-item list-group-item-action">
<h5 class="mb-2 text-success">#タグ</h5>
<p class="mb-1">薄い本のタイトル</p>
<small>https://www.toranoana.jp/mailorder/article/**/****/**/**/**********.html</small>
</a>
<a href="#" class="list-group-item list-group-item-action">
<h5 class="mb-2 text-success">#タグ</h5>
<p class="mb-1">イラストのタイトル</p>
<small>https://www.pixiv.net/member_illust.php?mode=medium&illust_id=********</small>
</a>
<a href="#" class="list-group-item text-right">もっと見る &raquo;</a>
</div>
</div>
</div>
</div>
</div>
@endsection

View File

@ -46,7 +46,7 @@
<ul class="navbar-nav">
<li class="nav-item dropdown">
<a href="#" class="nav-link dropdown-toggle" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
{{--<img src="holder.js/30x30" width="30" height="30" class="rounded d-inline-block align-top mr-2">--}}
<img src="{{ Auth::user()->getProfileImageUrl(30) }}" width="30" height="30" class="rounded d-inline-block align-top mr-2">
{{ Auth::user()->display_name }} さん
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">