profile.blade.php 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. @extends('user.layouts')
  2. @section('css')
  3. <link href="/assets/global/fonts/font-awesome/css/all.min.css" rel="stylesheet">
  4. <style>
  5. .line {
  6. height: 1px;
  7. border-top: 1px solid #ddd;
  8. text-align: center;
  9. padding-bottom: 15px;
  10. }
  11. .line span {
  12. position: relative;
  13. top: -8px;
  14. background: #fff;
  15. padding: 0 20px;
  16. }
  17. </style>
  18. @endsection
  19. @section('content')
  20. <div class="page-content container">
  21. <div class="row">
  22. <div class="col-lg-5">
  23. <div class="user-info card card-shadow text-center">
  24. <div class="user-base card-block">
  25. <a class="avatar img-bordered avatar-100" href="javascript:void(0)">
  26. <img src="{{Auth::getUser()->avatar}}" alt="{{trans('common.avatar')}}"/>
  27. </a>
  28. <h4 class="user-name">{{Auth::getUser()->nickname}}</h4>
  29. <p class="user-job">
  30. <i class="fa-brands fa-weixin fa-lg mr-10" aria-hidden="true"></i>
  31. {{trans('model.user.wechat')}}: {{Auth::getUser()->wechat ?? trans('common.none')}}</p>
  32. <p class="user-location"><i class="fa-brands fa-qq fa-lg mr-10" aria-hidden="true"></i> QQ:
  33. @if(Auth::getUser()->qq)
  34. {{Auth::getUser()->qq}}
  35. @else
  36. {{trans('common.none')}}
  37. @endif</p>
  38. </div>
  39. @if(sysConfig('oauth_path'))
  40. <div class="line">
  41. <span> {{trans('user.oauth.bind_title')}} </span>
  42. </div>
  43. <div class="user-socials list-group-gap list-group-full row m-0">
  44. @foreach (json_decode(sysConfig('oauth_path')) as $provider)
  45. <a class="list-group-item justify-content-center @if(in_array($provider, $auth, true)) col-10 @else col-12 @endif"
  46. @if($provider !== 'telegram') href="{{route('oauth.route', ['provider' => $provider, 'operation' => 'bind'])}}" @endif>
  47. <i class="fa-brands {{ config('common.oauth.icon')[$provider] }} fa-lg mr-10" aria-hidden="true"></i> {{ ucfirst($provider) }}
  48. :
  49. @if(in_array($provider, $auth, true))
  50. <span class="red-600">{{trans('user.oauth.rebind')}}</span>
  51. @else
  52. <span class="grey-500">{{trans('user.oauth.not_bind')}}</span>
  53. @endif
  54. @if($provider === 'telegram')
  55. {!! Socialite::driver('telegram')->getButton() !!}
  56. @endif
  57. </a>
  58. @if(in_array($provider, $auth, true))
  59. <a class="col-2 btn btn-block btn-danger my-auto" href="{{route('oauth.unbind', ['provider' => $provider])}}">{{trans('user.oauth.unbind')}}</a>
  60. @endif
  61. @endforeach
  62. </div>
  63. @endif
  64. </div>
  65. </div>
  66. <div class="col-lg-7">
  67. <div class="panel">
  68. @if (Session::has('successMsg'))
  69. <x-alert type="success" :message="Session::pull('successMsg')"/>
  70. @endif
  71. @if($errors->any())
  72. <x-alert type="danger" :message="$errors->all()"/>
  73. @endif
  74. <div class="panel-body nav-tabs-animate nav-tabs-horizontal" data-plugin="tabs">
  75. <ul class="nav nav-tabs nav-tabs-line" role="tablist">
  76. <li class="nav-item" role="presentation">
  77. <a class="active nav-link" data-toggle="tab" href="#tab_1" aria-controls="tab_1" role="tab">{{trans('validation.attributes.password')}}</a>
  78. </li>
  79. <li class="nav-item" role="presentation">
  80. <a class="nav-link" data-toggle="tab" href="#tab_2" aria-controls="tab_2" role="tab">{{trans('user.contact')}}</a>
  81. </li>
  82. <li class="nav-item" role="presentation">
  83. <a class="nav-link" data-toggle="tab" href="#tab_3" aria-controls="tab_3" role="tab">{{trans('user.node.setting')}}</a>
  84. </li>
  85. </ul>
  86. <div class="tab-content py-10">
  87. <div class="tab-pane active animation-slide-left" id="tab_1" role="tabpanel">
  88. <form action="{{route('profile')}}" method="post" enctype="multipart/form-data" class="form-horizontal" autocomplete="off">
  89. @csrf
  90. <div class="form-group row">
  91. <label for="password" class="col-md-5 col-form-label">{{trans('auth.password.original')}}</label>
  92. <input type="password" class="form-control col-md-6 round" name="password" id="password" autofocus required/>
  93. </div>
  94. <div class="form-group row">
  95. <label for="new_password" class="col-md-5 col-form-label">{{trans('auth.password.new')}}</label>
  96. <input type="password" class="form-control col-md-6 round" name="new_password" id="new_password" required/>
  97. </div>
  98. <div class="form-actions">
  99. <button type="submit" class="btn btn-info">{{trans('common.submit')}}</button>
  100. </div>
  101. </form>
  102. </div>
  103. <div class="tab-pane animation-slide-left" id="tab_2" role="tabpanel">
  104. <form action="{{route('profile')}}" method="post" enctype="multipart/form-data" class="form-horizontal">
  105. @csrf
  106. <div class="form-group row">
  107. <label for="nickname" class="col-md-5 col-form-label">{{trans('model.user.nickname')}}</label>
  108. <input type="text" class="form-control col-md-6 round" name="nickname" id="nickname" value="{{Auth::getUser()->nickname}}"/>
  109. </div>
  110. <div class="form-group row">
  111. <label for="wechat" class="col-md-5 col-form-label">{{trans('model.user.wechat')}}</label>
  112. <input type="text" class="form-control col-md-6 round" name="wechat" id="wechat" value="{{Auth::getUser()->wechat}}"/>
  113. </div>
  114. <div class="form-group row">
  115. <label for="qq" class="col-md-5 col-form-label">{{trans('model.user.qq')}}</label>
  116. <input type="number" class="form-control col-md-6 round" name="qq" id="qq" value="{{Auth::getUser()->qq}}"/>
  117. </div>
  118. <div class="form-actions">
  119. <button type="submit" class="btn btn-info">{{trans('common.submit')}}</button>
  120. </div>
  121. </form>
  122. </div>
  123. <div class="tab-pane animation-slide-left" id="tab_3" role="tabpanel">
  124. <form action="{{route('profile')}}" method="post" enctype="multipart/form-data" class="form-horizontal">
  125. @csrf
  126. <div class="form-group row">
  127. <label for="passwd" class="col-md-5 col-form-label"> {{trans('user.account.connect_password')}} </label>
  128. <input type="text" class="form-control col-md-5 round" name="passwd" id="passwd" value="{{Auth::getUser()->passwd}}" required/>
  129. </div>
  130. <div class="form-actions">
  131. <button type="submit" class="btn btn-info"> {{trans('common.submit')}} </button>
  132. </div>
  133. </form>
  134. </div>
  135. </div>
  136. </div>
  137. </div>
  138. </div>
  139. </div>
  140. </div>
  141. @endsection
  142. @section('javascript')
  143. <script src="/assets/custom/jump-tab.js"></script>
  144. @endsection