Initial Commit
This commit is contained in:
49
resources/views/auth/login.blade.php
Normal file
49
resources/views/auth/login.blade.php
Normal file
@@ -0,0 +1,49 @@
|
||||
@extends('layouts.base')
|
||||
|
||||
@section('content')
|
||||
<div class="container">
|
||||
<h2 class="grey-text">ログイン</h2>
|
||||
<div class="row">
|
||||
<form method="post" action="{{ route('login') }}" class="col s12 push-m3 m6">
|
||||
{{ csrf_field() }}
|
||||
|
||||
<div class="row">
|
||||
<div class="input-field col s12">
|
||||
<i class="material-icons prefix">email</i>
|
||||
<input id="email" name="email" class="validate{{ $errors->has('email') ? ' invalid' : '' }}" type="text" value="{{ old('email') }}" required autofocus>
|
||||
<label for="email">メールアドレス</label>
|
||||
|
||||
@if ($errors->has('email'))
|
||||
<span class="red-text"><strong>{{ $errors->first('email') }}</strong></span>
|
||||
@endif
|
||||
</div>
|
||||
<div class="input-field col s12">
|
||||
<i class="material-icons prefix">lock</i>
|
||||
<input id="password" name="password" class="validate{{ $errors->has('password') ? ' invalid' : '' }}" type="password" required>
|
||||
<label for="password">パスワード</label>
|
||||
|
||||
@if ($errors->has('password'))
|
||||
<span class="red-text"><strong>{{ $errors->first('password') }}</strong></span>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="input-field col s12">
|
||||
<p>
|
||||
<input id="remember" name="remember" class="filled-in" type="checkbox" {{ old('remember') ? 'checked' : '' }}>
|
||||
<label for="remember">保存する</label>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row center">
|
||||
<div class="input-field col s12">
|
||||
<button class="btn waves-effect waves-light teal lighten-2" type="submit">ログイン</button>
|
||||
</div>
|
||||
<div class="input-field col s12">
|
||||
<a href="{{ route('password.request') }}">パスワードを忘れた場合はこちら</a>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
46
resources/views/auth/passwords/email.blade.php
Normal file
46
resources/views/auth/passwords/email.blade.php
Normal file
@@ -0,0 +1,46 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('content')
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-8 col-md-offset-2">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">Reset Password</div>
|
||||
<div class="panel-body">
|
||||
@if (session('status'))
|
||||
<div class="alert alert-success">
|
||||
{{ session('status') }}
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<form class="form-horizontal" method="POST" action="{{ route('password.email') }}">
|
||||
{{ csrf_field() }}
|
||||
|
||||
<div class="form-group{{ $errors->has('email') ? ' has-error' : '' }}">
|
||||
<label for="email" class="col-md-4 control-label">E-Mail Address</label>
|
||||
|
||||
<div class="col-md-6">
|
||||
<input id="email" type="email" class="form-control" name="email" value="{{ old('email') }}" required>
|
||||
|
||||
@if ($errors->has('email'))
|
||||
<span class="help-block">
|
||||
<strong>{{ $errors->first('email') }}</strong>
|
||||
</span>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<div class="col-md-6 col-md-offset-4">
|
||||
<button type="submit" class="btn btn-primary">
|
||||
Send Password Reset Link
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
76
resources/views/auth/passwords/reset.blade.php
Normal file
76
resources/views/auth/passwords/reset.blade.php
Normal file
@@ -0,0 +1,76 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('content')
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-8 col-md-offset-2">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">Reset Password</div>
|
||||
|
||||
<div class="panel-body">
|
||||
@if (session('status'))
|
||||
<div class="alert alert-success">
|
||||
{{ session('status') }}
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<form class="form-horizontal" method="POST" action="{{ route('password.request') }}">
|
||||
{{ csrf_field() }}
|
||||
|
||||
<input type="hidden" name="token" value="{{ $token }}">
|
||||
|
||||
<div class="form-group{{ $errors->has('email') ? ' has-error' : '' }}">
|
||||
<label for="email" class="col-md-4 control-label">E-Mail Address</label>
|
||||
|
||||
<div class="col-md-6">
|
||||
<input id="email" type="email" class="form-control" name="email" value="{{ $email or old('email') }}" required autofocus>
|
||||
|
||||
@if ($errors->has('email'))
|
||||
<span class="help-block">
|
||||
<strong>{{ $errors->first('email') }}</strong>
|
||||
</span>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group{{ $errors->has('password') ? ' has-error' : '' }}">
|
||||
<label for="password" class="col-md-4 control-label">Password</label>
|
||||
|
||||
<div class="col-md-6">
|
||||
<input id="password" type="password" class="form-control" name="password" required>
|
||||
|
||||
@if ($errors->has('password'))
|
||||
<span class="help-block">
|
||||
<strong>{{ $errors->first('password') }}</strong>
|
||||
</span>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group{{ $errors->has('password_confirmation') ? ' has-error' : '' }}">
|
||||
<label for="password-confirm" class="col-md-4 control-label">Confirm Password</label>
|
||||
<div class="col-md-6">
|
||||
<input id="password-confirm" type="password" class="form-control" name="password_confirmation" required>
|
||||
|
||||
@if ($errors->has('password_confirmation'))
|
||||
<span class="help-block">
|
||||
<strong>{{ $errors->first('password_confirmation') }}</strong>
|
||||
</span>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<div class="col-md-6 col-md-offset-4">
|
||||
<button type="submit" class="btn btn-primary">
|
||||
Reset Password
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
66
resources/views/auth/register.blade.php
Normal file
66
resources/views/auth/register.blade.php
Normal file
@@ -0,0 +1,66 @@
|
||||
@extends('layouts.base')
|
||||
|
||||
@section('content')
|
||||
<div class="container">
|
||||
<h2 class="grey-text">新規登録</h2>
|
||||
<div class="row">
|
||||
<form method="post" action="{{ route('register') }}" class="col s12 push-m3 m6">
|
||||
{{ csrf_field() }}
|
||||
|
||||
<div class="row">
|
||||
<h6 class="grey-text col s12">ユーザー情報</h6>
|
||||
<div class="input-field col s12">
|
||||
<i class="material-icons prefix">person</i>
|
||||
<input id="name" name="name" class="validate{{ $errors->has('name') ? ' invalid' : '' }}" type="text" value="{{ old('name') }}" required>
|
||||
<label for="name">ユーザー名</label>
|
||||
|
||||
@if ($errors->has('name'))
|
||||
<span class="red-text"><strong>{{ $errors->first('name') }}</strong></span>
|
||||
@endif
|
||||
</div>
|
||||
<div class="input-field col s12">
|
||||
<i class="material-icons prefix">email</i>
|
||||
<input id="email" name="email" class="validate{{ $errors->has('email') ? ' invalid' : '' }}" type="text" value="{{ old('email') }}" required>
|
||||
<label for="email">メールアドレス</label>
|
||||
|
||||
@if ($errors->has('email'))
|
||||
<span class="red-text"><strong>{{ $errors->first('email') }}</strong></span>
|
||||
@endif
|
||||
</div>
|
||||
<div class="input-field col s12">
|
||||
<i class="material-icons prefix">lock</i>
|
||||
<input id="password" name="password" class="validate{{ $errors->has('password') ? ' invalid' : '' }}" type="password" required>
|
||||
<label for="password">パスワード</label>
|
||||
|
||||
@if ($errors->has('password'))
|
||||
<span class="red-text"><strong>{{ $errors->first('password') }}</strong></span>
|
||||
@endif
|
||||
</div>
|
||||
<div class="input-field col s12">
|
||||
<i class="material-icons prefix"></i>
|
||||
<input id="password-confirm" name="password_confirmation" class="validate" type="password" required>
|
||||
<label for="password-confirm">パスワードの再入力</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="input-field col s12">
|
||||
<h6 class="grey-text">プライバシーに関するオプション (全て任意です)</h6>
|
||||
<p>
|
||||
<input id="protected" name="is_protected" class="filled-in" type="checkbox" {{ old('is_protected') ? 'checked' : '' }}>
|
||||
<label for="protected">チェックイン履歴を非公開にする</label>
|
||||
</p>
|
||||
<p>
|
||||
<input id="accept-analytics" name="accept_analytics" class="filled-in" type="checkbox" {{ old('accept_analytics') ? 'checked' : '' }}>
|
||||
<label for="accept-analytics">匿名での統計にチェックインデータを利用することに同意します</label>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row center">
|
||||
<div class="input-field col s12">
|
||||
<button class="btn waves-effect waves-light teal lighten-2" type="submit">登録</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
68
resources/views/auth/sample/login.blade.php
Normal file
68
resources/views/auth/sample/login.blade.php
Normal file
@@ -0,0 +1,68 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('content')
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-8 col-md-offset-2">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">Login</div>
|
||||
<div class="panel-body">
|
||||
<form class="form-horizontal" method="POST" action="{{ route('login') }}">
|
||||
{{ csrf_field() }}
|
||||
|
||||
<div class="form-group{{ $errors->has('email') ? ' has-error' : '' }}">
|
||||
<label for="email" class="col-md-4 control-label">E-Mail Address</label>
|
||||
|
||||
<div class="col-md-6">
|
||||
<input id="email" type="email" class="form-control" name="email" value="{{ old('email') }}" required autofocus>
|
||||
|
||||
@if ($errors->has('email'))
|
||||
<span class="help-block">
|
||||
<strong>{{ $errors->first('email') }}</strong>
|
||||
</span>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group{{ $errors->has('password') ? ' has-error' : '' }}">
|
||||
<label for="password" class="col-md-4 control-label">Password</label>
|
||||
|
||||
<div class="col-md-6">
|
||||
<input id="password" type="password" class="form-control" name="password" required>
|
||||
|
||||
@if ($errors->has('password'))
|
||||
<span class="help-block">
|
||||
<strong>{{ $errors->first('password') }}</strong>
|
||||
</span>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<div class="col-md-6 col-md-offset-4">
|
||||
<div class="checkbox">
|
||||
<label>
|
||||
<input type="checkbox" name="remember" {{ old('remember') ? 'checked' : '' }}> Remember Me
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<div class="col-md-8 col-md-offset-4">
|
||||
<button type="submit" class="btn btn-primary">
|
||||
Login
|
||||
</button>
|
||||
|
||||
<a class="btn btn-link" href="{{ route('password.request') }}">
|
||||
Forgot Your Password?
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
76
resources/views/auth/sample/register.blade.php
Normal file
76
resources/views/auth/sample/register.blade.php
Normal file
@@ -0,0 +1,76 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('content')
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-8 col-md-offset-2">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">Register</div>
|
||||
<div class="panel-body">
|
||||
<form class="form-horizontal" method="POST" action="{{ route('register') }}">
|
||||
{{ csrf_field() }}
|
||||
|
||||
<div class="form-group{{ $errors->has('name') ? ' has-error' : '' }}">
|
||||
<label for="name" class="col-md-4 control-label">Name</label>
|
||||
|
||||
<div class="col-md-6">
|
||||
<input id="name" type="text" class="form-control" name="name" value="{{ old('name') }}" required autofocus>
|
||||
|
||||
@if ($errors->has('name'))
|
||||
<span class="help-block">
|
||||
<strong>{{ $errors->first('name') }}</strong>
|
||||
</span>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group{{ $errors->has('email') ? ' has-error' : '' }}">
|
||||
<label for="email" class="col-md-4 control-label">E-Mail Address</label>
|
||||
|
||||
<div class="col-md-6">
|
||||
<input id="email" type="email" class="form-control" name="email" value="{{ old('email') }}" required>
|
||||
|
||||
@if ($errors->has('email'))
|
||||
<span class="help-block">
|
||||
<strong>{{ $errors->first('email') }}</strong>
|
||||
</span>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group{{ $errors->has('password') ? ' has-error' : '' }}">
|
||||
<label for="password" class="col-md-4 control-label">Password</label>
|
||||
|
||||
<div class="col-md-6">
|
||||
<input id="password" type="password" class="form-control" name="password" required>
|
||||
|
||||
@if ($errors->has('password'))
|
||||
<span class="help-block">
|
||||
<strong>{{ $errors->first('password') }}</strong>
|
||||
</span>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="password-confirm" class="col-md-4 control-label">Confirm Password</label>
|
||||
|
||||
<div class="col-md-6">
|
||||
<input id="password-confirm" type="password" class="form-control" name="password_confirmation" required>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<div class="col-md-6 col-md-offset-4">
|
||||
<button type="submit" class="btn btn-primary">
|
||||
Register
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
83
resources/views/ejaculation/checkin.blade.php
Normal file
83
resources/views/ejaculation/checkin.blade.php
Normal file
@@ -0,0 +1,83 @@
|
||||
@extends('layouts.base')
|
||||
|
||||
@section('content')
|
||||
<div class="container">
|
||||
<h2 class="grey-text">今致してる?</h2>
|
||||
<div class="row">
|
||||
<form method="post" action="{{ route('checkin') }}" class="col s12 push-m3 m6">
|
||||
{{ csrf_field() }}
|
||||
|
||||
<div class="card-panel">
|
||||
<div class="row">
|
||||
<div class="input-field col s6">
|
||||
<i class="material-icons prefix">today</i>
|
||||
<input id="date" name="date" class="validate{{ $errors->has('date') || $errors->has('datetime') ? ' invalid' : '' }}" type="text" pattern="^20[0-9]{2}/(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])$" value="{{ old('date') ?? date('Y/m/d') }}" required>
|
||||
<label for="date">日付</label>
|
||||
|
||||
@if ($errors->has('date'))
|
||||
<span class="red-text"><strong>{{ $errors->first('date') }}</strong></span>
|
||||
@endif
|
||||
</div>
|
||||
<div class="input-field col s6">
|
||||
<i class="material-icons prefix">schedule</i>
|
||||
<input id="time" name="time" class="validate{{ $errors->has('time') || $errors->has('datetime') ? ' invalid' : '' }}" type="text" pattern="^([01][0-9]|2[0-3]):[0-5][0-9]$" value="{{ old('time') ?? date('H:i') }}">
|
||||
<label for="time">時刻</label>
|
||||
|
||||
@if ($errors->has('time'))
|
||||
<span class="red-text"><strong>{{ $errors->first('time') }}</strong></span>
|
||||
@endif
|
||||
</div>
|
||||
@if ($errors->has('datetime'))
|
||||
<div class="col s12">
|
||||
<span class="red-text"><strong>{{ $errors->first('datetime') }}</strong></span>
|
||||
</div>
|
||||
@endif
|
||||
<div class="input-field col s12">
|
||||
<i class="material-icons prefix">label</i>
|
||||
<input id="tags" type="text" disabled placeholder="未実装です">
|
||||
<label for="tags">タグ</label>
|
||||
</div>
|
||||
{{--<div class="input-field col s12">--}}
|
||||
{{--TODO: Material Chipsデータのシリアライズとかをjsで書いておく必要あるかも? --}}
|
||||
{{--<i class="material-icons prefix">label</i>--}}
|
||||
{{--<div class="chips"></div>--}}
|
||||
{{--<label>タグ</label>--}}
|
||||
{{--</div>--}}
|
||||
<div class="input-field col s12">
|
||||
<i class="material-icons prefix">comment</i>
|
||||
<textarea id="note" name="note" class="materialize-textarea{{ $errors->has('note') ? ' invalid' : '' }}" data-length="500">{{ old('note') }}</textarea>
|
||||
<label for="note">ノート</label>
|
||||
|
||||
@if ($errors->has('note'))
|
||||
<span class="red-text"><strong>{{ $errors->first('note') }}</strong></span>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="input-field col s12">
|
||||
<h6 class="grey-text">オプション</h6>
|
||||
<p>
|
||||
<input id="is-private" name="is_private" class="filled-in" type="checkbox" {{ old('is_private') ? 'checked' : '' }}>
|
||||
<label for="is-private">チェックイン履歴を非公開にする</label>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row center">
|
||||
<div class="input-field col s12">
|
||||
<button id="submit" class="btn waves-effect waves-light teal lighten-2" type="submit">チェックイン</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@section('script')
|
||||
<script>
|
||||
$(function() {
|
||||
$('#note').characterCounter();
|
||||
// $('.chips').material_chip();
|
||||
});
|
||||
</script>
|
||||
@endsection
|
46
resources/views/guest.blade.php
Normal file
46
resources/views/guest.blade.php
Normal file
@@ -0,0 +1,46 @@
|
||||
@extends('layouts.base')
|
||||
|
||||
@section('content')
|
||||
<div class="section no-pad-bot" id="index-banner">
|
||||
<div class="container">
|
||||
<br><br>
|
||||
<h1 class="header center grey-text">{{ config('app.name', 'Tissue') }}</h1>
|
||||
<div class="row center">
|
||||
<h5 class="header col s12 light">気持ちよくティッシュを使った、そのあとの感想戦。</h5>
|
||||
<p class="col s12">あるいは遺伝子の墓場</p>
|
||||
</div>
|
||||
<div class="row center">
|
||||
<a href="{{ url('/register') }}" class="btn-large waves-effect waves-light teal lighten-2">今すぐ登録</a>
|
||||
</div>
|
||||
<br><br>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="container">
|
||||
<div class="section">
|
||||
<div class="row">
|
||||
<div class="col s12 m4">
|
||||
<div class="icon-block">
|
||||
<h2 class="center teal-text"><i class="large material-icons">mode_edit</i></h2>
|
||||
<h5 class="center">記録</h5>
|
||||
<p class="light">気持ちよかったその思い出を記録しましょう。楽しんだ時間や使ったオカズ、感想などを記録することができます。</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col s12 m4">
|
||||
<div class="icon-block">
|
||||
<h2 class="center teal-text"><i class="large material-icons">show_chart</i></h2>
|
||||
<h5 class="center">統計</h5>
|
||||
<p class="light">記録を続けていくことで、ティッシュを使う頻度や時間の傾向、あるいはあなたのお気に入りのオカズが見えてくるようになります。我慢大会をするのも、猿を目指すのもまた一興。</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col s12 m4">
|
||||
<div class="icon-block">
|
||||
<h2 class="center teal-text"><i class="large material-icons">public</i></h2>
|
||||
<h5 class="center">ソーシャル</h5>
|
||||
<p class="light">ティッシュが蒸発するような人気のオカズや、底なしの体力を競い合うランキングなど、Webならではのサービスも用意<s class="grey-text">しています</s>したいですね。</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
91
resources/views/home.blade.php
Normal file
91
resources/views/home.blade.php
Normal file
@@ -0,0 +1,91 @@
|
||||
@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>@{{ Auth::user()->name }}</p>
|
||||
<hr>
|
||||
<p class="valign-wrapper"><i class="material-icons">av_timer</i><b>現在のセッション</b></p>
|
||||
@if (isset($currentSession))
|
||||
<p>{{ $currentSession }}経過</p>
|
||||
<p>({{ $ejaculations[0]['ejaculated_date'] }} にリセット)</p>
|
||||
@else
|
||||
<p>計測がまだ始まっていません</p>
|
||||
<p>(一度チェックインすると始まります)</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>平均記録: {{ $summary[0]->average }}</p>
|
||||
<p>最長記録: {{ $summary[0]->longest }}</p>
|
||||
<p>最短記録: {{ $summary[0]->shortest }}</p>
|
||||
<p>合計時間: {{ $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>
|
||||
</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>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@endsection
|
80
resources/views/layouts/app.blade.php
Normal file
80
resources/views/layouts/app.blade.php
Normal file
@@ -0,0 +1,80 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="{{ app()->getLocale() }}">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
|
||||
<!-- CSRF Token -->
|
||||
<meta name="csrf-token" content="{{ csrf_token() }}">
|
||||
|
||||
<title>{{ config('app.name', 'Laravel') }}</title>
|
||||
|
||||
<!-- Styles -->
|
||||
<link href="{{ asset('css/app.css') }}" rel="stylesheet">
|
||||
</head>
|
||||
<body>
|
||||
<div id="app">
|
||||
<nav class="navbar navbar-default navbar-static-top">
|
||||
<div class="container">
|
||||
<div class="navbar-header">
|
||||
|
||||
<!-- Collapsed Hamburger -->
|
||||
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#app-navbar-collapse">
|
||||
<span class="sr-only">Toggle Navigation</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
|
||||
<!-- Branding Image -->
|
||||
<a class="navbar-brand" href="{{ url('/') }}">
|
||||
{{ config('app.name', 'Laravel') }}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="collapse navbar-collapse" id="app-navbar-collapse">
|
||||
<!-- Left Side Of Navbar -->
|
||||
<ul class="nav navbar-nav">
|
||||
|
||||
</ul>
|
||||
|
||||
<!-- Right Side Of Navbar -->
|
||||
<ul class="nav navbar-nav navbar-right">
|
||||
<!-- Authentication Links -->
|
||||
@if (Auth::guest())
|
||||
<li><a href="{{ route('login') }}">Login</a></li>
|
||||
<li><a href="{{ route('register') }}">Register</a></li>
|
||||
@else
|
||||
<li class="dropdown">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">
|
||||
{{ Auth::user()->name }} <span class="caret"></span>
|
||||
</a>
|
||||
|
||||
<ul class="dropdown-menu" role="menu">
|
||||
<li>
|
||||
<a href="{{ route('logout') }}"
|
||||
onclick="event.preventDefault();
|
||||
document.getElementById('logout-form').submit();">
|
||||
Logout
|
||||
</a>
|
||||
|
||||
<form id="logout-form" action="{{ route('logout') }}" method="POST" style="display: none;">
|
||||
{{ csrf_field() }}
|
||||
</form>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
@endif
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
@yield('content')
|
||||
</div>
|
||||
|
||||
<!-- Scripts -->
|
||||
<script src="{{ asset('js/app.js') }}"></script>
|
||||
</body>
|
||||
</html>
|
80
resources/views/layouts/base.blade.php
Normal file
80
resources/views/layouts/base.blade.php
Normal file
@@ -0,0 +1,80 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="{{ app()->getLocale() }}">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=Edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="csrf-token" content="{{ csrf_token() }}">
|
||||
|
||||
<title>{{ config('app.name', 'Tissue') }}</title>
|
||||
|
||||
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
|
||||
<link href="{{ asset('css/materialize.min.css') }}" rel="stylesheet" media="screen,projection">
|
||||
|
||||
@yield('head')
|
||||
</head>
|
||||
<body>
|
||||
<nav class="grey lighten-1" role="navigation">
|
||||
<form id="logout-form" action="{{ route('logout') }}" method="POST" style="display: none;">
|
||||
{{ csrf_field() }}
|
||||
</form>
|
||||
@if (Auth::check())
|
||||
<ul id="accountMenu" class="dropdown-content">
|
||||
<li><a href="{{ route('profile') }}">プロフィール</a></li>
|
||||
<li class="divider"></li>
|
||||
<li><a href="{{ route('logout') }}" onclick="event.preventDefault(); document.getElementById('logout-form').submit();">ログアウト</a></li>
|
||||
</ul>
|
||||
@endif
|
||||
<div class="nav-wrapper container">
|
||||
<a id="logo-container" href="{{ route('home') }}" class="brand-logo">{{ config('app.name', 'Tissue') }}</a>
|
||||
@if (Auth::guest())
|
||||
<ul class="right hide-on-med-and-down">
|
||||
<li><a href="{{ route('login') }}">ログイン</a></li>
|
||||
</ul>
|
||||
|
||||
<ul id="nav-mobile" class="side-nav">
|
||||
<li><a href="{{ route('login') }}">ログイン</a></li>
|
||||
</ul>
|
||||
@else
|
||||
<ul class="right">
|
||||
<li><a class="waves-effect waves-light btn" href="{{ route('checkin') }}"><i class="material-icons left hide-on-med-and-down">create</i> チェックイン</a></li>
|
||||
</ul>
|
||||
<ul class="right hide-on-med-and-down">
|
||||
<li><a class="dropdown-button" data-activates="accountMenu" href="#">{{ Auth::user()->display_name }} さん<i class="material-icons right">arrow_drop_down</i></a></li>
|
||||
</ul>
|
||||
|
||||
<ul id="nav-mobile" class="side-nav">
|
||||
<li><a href="#">{{ Auth::user()->display_name }} さん</a></li>
|
||||
<li><a href="{{ route('profile') }}">プロフィール</a></li>
|
||||
<li class="divider"></li>
|
||||
<li><a href="{{ route('logout') }}" onclick="event.preventDefault(); document.getElementById('logout-form').submit();">ログアウト</a></li>
|
||||
</ul>
|
||||
@endif
|
||||
<a href="#" data-activates="nav-mobile" class="button-collapse"><i class="material-icons">menu</i></a>
|
||||
</div>
|
||||
</nav>
|
||||
@yield('content')
|
||||
<footer class="page-footer grey">
|
||||
<!--<div class="container"></div>-->
|
||||
<div class="footer-copyright">
|
||||
<div class="container">
|
||||
Copyright (c) 2017 shikorism.net
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script type="text/javascript" src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
|
||||
<script type="text/javascript" src="{{ asset('js/materialize.min.js') }}"></script>
|
||||
<script>
|
||||
$(function(){
|
||||
$('.button-collapse').sideNav();
|
||||
$('.dropdown-button').dropdown();
|
||||
$('ul.tabs').tabs();
|
||||
@if (session('status'))
|
||||
Materialize.toast('{{ session("status") }}', 5000);
|
||||
@endif
|
||||
});
|
||||
</script>
|
||||
@yield('script')
|
||||
</body>
|
||||
</html>
|
94
resources/views/user/profile.blade.php
Normal file
94
resources/views/user/profile.blade.php
Normal file
@@ -0,0 +1,94 @@
|
||||
@extends('layouts.base')
|
||||
|
||||
@section('head')
|
||||
<style>
|
||||
#ejaculations .title {
|
||||
font-size: large;
|
||||
}
|
||||
#ejaculations .note {
|
||||
margin: 8px 0;
|
||||
}
|
||||
.no-border {
|
||||
border: none;
|
||||
}
|
||||
.pagination {
|
||||
padding-bottom: 1rem;
|
||||
}
|
||||
</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">{{ $user->display_name }}</span>
|
||||
<p>@{{ $user->name }}</p>
|
||||
<hr>
|
||||
<p class="valign-wrapper"><i class="material-icons">av_timer</i><b>現在のセッション</b></p>
|
||||
@if (isset($currentSession))
|
||||
<p>{{ $currentSession }}経過</p>
|
||||
<p>({{ $ejaculations[0]['ejaculated_date'] }} にリセット)</p>
|
||||
@else
|
||||
<p>計測がまだ始まっていません</p>
|
||||
@if (Auth::check() && $user->id === Auth::id())
|
||||
<p>(一度チェックインすると始まります)</p>
|
||||
@endif
|
||||
@endif
|
||||
@if (isset($summary) && $summary[0]->total_checkins > 0)
|
||||
<hr>
|
||||
<p class="valign-wrapper"><i class="material-icons">assessment</i><b>概況</b></p>
|
||||
<p>平均記録: {{ $summary[0]->average }}</p>
|
||||
<p>最長記録: {{ $summary[0]->longest }}</p>
|
||||
<p>最短記録: {{ $summary[0]->shortest }}</p>
|
||||
<p>合計時間: {{ $summary[0]->total_times }}</p>
|
||||
<p>通算回数: {{ $summary[0]->total_checkins }}回</p>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col s12 m8">
|
||||
<div class="card">
|
||||
<div class="card-tabs">
|
||||
<ul class="tabs tabs-fixed-width">
|
||||
<li class="tab col s6"><a href="#ejaculations">チェックイン</a></li>
|
||||
{{--<li class="tab col s6"><a href="profile-graph.html" target="_self">グラフ</a></li>--}}
|
||||
</ul>
|
||||
<div class="card-panel no-padding">
|
||||
<ul id="ejaculations" class="collection no-border">
|
||||
@forelse ($ejaculations as $ejaculation)
|
||||
<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>
|
||||
@empty
|
||||
<li class="collection-item">
|
||||
<div class="note">
|
||||
まだチェックインしていません。
|
||||
</div>
|
||||
</li>
|
||||
@endforelse
|
||||
</ul>
|
||||
<ul class="pagination center">
|
||||
<li class="{{ $ejaculations->currentPage() === 1 ? 'disabled' : 'waves-effect' }}"><a href="{{ $ejaculations->previousPageUrl() }}"><i class="material-icons">chevron_left</i></a></li>
|
||||
@for ($i = 1; $i <= $ejaculations->lastPage(); $i++)
|
||||
<li class="{{ $i === $ejaculations->currentPage() ? 'active' : 'waves-effect' }}"><a href="{{ $ejaculations->url($i) }}">{{ $i }}</a></li>
|
||||
@endfor
|
||||
<li class="{{ $ejaculations->currentPage() === $ejaculations->lastPage() ? 'disabled' : 'waves-effect' }}"><a href="{{ $ejaculations->nextPageUrl() }}"><i class="material-icons">chevron_right</i></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@endsection
|
95
resources/views/welcome.blade.php
Normal file
95
resources/views/welcome.blade.php
Normal file
@@ -0,0 +1,95 @@
|
||||
<!doctype html>
|
||||
<html lang="{{ app()->getLocale() }}">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
|
||||
<title>Laravel</title>
|
||||
|
||||
<!-- Fonts -->
|
||||
<link href="https://fonts.googleapis.com/css?family=Raleway:100,600" rel="stylesheet" type="text/css">
|
||||
|
||||
<!-- Styles -->
|
||||
<style>
|
||||
html, body {
|
||||
background-color: #fff;
|
||||
color: #636b6f;
|
||||
font-family: 'Raleway', sans-serif;
|
||||
font-weight: 100;
|
||||
height: 100vh;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.full-height {
|
||||
height: 100vh;
|
||||
}
|
||||
|
||||
.flex-center {
|
||||
align-items: center;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.position-ref {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.top-right {
|
||||
position: absolute;
|
||||
right: 10px;
|
||||
top: 18px;
|
||||
}
|
||||
|
||||
.content {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.title {
|
||||
font-size: 84px;
|
||||
}
|
||||
|
||||
.links > a {
|
||||
color: #636b6f;
|
||||
padding: 0 25px;
|
||||
font-size: 12px;
|
||||
font-weight: 600;
|
||||
letter-spacing: .1rem;
|
||||
text-decoration: none;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.m-b-md {
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="flex-center position-ref full-height">
|
||||
@if (Route::has('login'))
|
||||
<div class="top-right links">
|
||||
@if (Auth::check())
|
||||
<a href="{{ url('/home') }}">Home</a>
|
||||
@else
|
||||
<a href="{{ url('/login') }}">Login</a>
|
||||
<a href="{{ url('/register') }}">Register</a>
|
||||
@endif
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="content">
|
||||
<div class="title m-b-md">
|
||||
Laravel
|
||||
</div>
|
||||
|
||||
<div class="links">
|
||||
<a href="https://laravel.com/docs">Documentation</a>
|
||||
<a href="https://laracasts.com">Laracasts</a>
|
||||
<a href="https://laravel-news.com">News</a>
|
||||
<a href="https://forge.laravel.com">Forge</a>
|
||||
<a href="https://github.com/laravel/laravel">GitHub</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
Reference in New Issue
Block a user