profile.blade.php 9.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  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'), false) as $provider)
  45. <a class="list-group-item offset-lg-1 col-lg-8 col-10 d-flex justify-content-around align-items-center"
  46. @if($provider !== 'telegram') href="{{route('oauth.route', ['provider' => $provider, 'operation' => 'bind'])}}" @endif>
  47. <span>
  48. <i class="fa-brands {{ config('common.oauth.icon')[$provider] }} fa-lg mr-2" aria-hidden="true"></i> {{ config('common.oauth.labels')[$provider] }}:
  49. </span>
  50. <span>
  51. @if(in_array($provider, $auth, true))
  52. <span class="text-danger">{{trans('user.oauth.rebind')}}</span>
  53. @else
  54. <span class="text-muted">{{trans('user.oauth.not_bind')}}</span>
  55. @endif
  56. @if($provider === 'telegram')
  57. <script async src="https://telegram.org/js/telegram-widget.js?22" data-telegram-login="{{config('services.telegram.bot')}}" data-size="medium" data-userpic="false" data-auth-url="{{route('oauth.bind', ['provider' => $provider])}}" data-request-access="write"></script>
  58. @endif
  59. </span>
  60. </a>
  61. @if(in_array($provider, $auth, true))
  62. <a class="col-2 btn btn-danger btn-block my-auto" href="{{route('oauth.unbind', ['provider' => $provider])}}">{{trans('user.oauth.unbind')}}</a>
  63. @endif
  64. @endforeach
  65. </div>
  66. @endif
  67. </div>
  68. </div>
  69. <div class="col-lg-7">
  70. <div class="panel">
  71. @if (Session::has('successMsg'))
  72. <x-alert type="success" :message="Session::pull('successMsg')"/>
  73. @endif
  74. @if($errors->any())
  75. <x-alert type="danger" :message="$errors->all()"/>
  76. @endif
  77. <div class="panel-body nav-tabs-animate nav-tabs-horizontal" data-plugin="tabs">
  78. <ul class="nav nav-tabs nav-tabs-line" role="tablist">
  79. <li class="nav-item" role="presentation">
  80. <a class="active nav-link" data-toggle="tab" href="#tab_1" aria-controls="tab_1" role="tab">{{trans('validation.attributes.password')}}</a>
  81. </li>
  82. <li class="nav-item" role="presentation">
  83. <a class="nav-link" data-toggle="tab" href="#tab_2" aria-controls="tab_2" role="tab">{{trans('user.contact')}}</a>
  84. </li>
  85. <li class="nav-item" role="presentation">
  86. <a class="nav-link" data-toggle="tab" href="#tab_3" aria-controls="tab_3" role="tab">{{trans('user.node.setting')}}</a>
  87. </li>
  88. </ul>
  89. <div class="tab-content py-10">
  90. <div class="tab-pane active animation-slide-left" id="tab_1" role="tabpanel">
  91. <form action="{{route('profile')}}" method="post" enctype="multipart/form-data" class="form-horizontal" autocomplete="off">
  92. @csrf
  93. <div class="form-group row">
  94. <label for="password" class="col-md-5 col-form-label">{{trans('auth.password.original')}}</label>
  95. <input type="password" class="form-control col-md-6 round" name="password" id="password" autofocus required/>
  96. </div>
  97. <div class="form-group row">
  98. <label for="new_password" class="col-md-5 col-form-label">{{trans('auth.password.new')}}</label>
  99. <input type="password" class="form-control col-md-6 round" name="new_password" id="new_password" required/>
  100. </div>
  101. <div class="form-actions">
  102. <button type="submit" class="btn btn-info">{{trans('common.submit')}}</button>
  103. </div>
  104. </form>
  105. </div>
  106. <div class="tab-pane animation-slide-left" id="tab_2" role="tabpanel">
  107. <form action="{{route('profile')}}" method="post" enctype="multipart/form-data" class="form-horizontal">
  108. @csrf
  109. <div class="form-group row">
  110. <label for="nickname" class="col-md-5 col-form-label">{{trans('model.user.nickname')}}</label>
  111. <input type="text" class="form-control col-md-6 round" name="nickname" id="nickname" value="{{Auth::getUser()->nickname}}"/>
  112. </div>
  113. <div class="form-group row">
  114. <label for="wechat" class="col-md-5 col-form-label">{{trans('model.user.wechat')}}</label>
  115. <input type="text" class="form-control col-md-6 round" name="wechat" id="wechat" value="{{Auth::getUser()->wechat}}"/>
  116. </div>
  117. <div class="form-group row">
  118. <label for="qq" class="col-md-5 col-form-label">{{trans('model.user.qq')}}</label>
  119. <input type="number" class="form-control col-md-6 round" name="qq" id="qq" value="{{Auth::getUser()->qq}}"/>
  120. </div>
  121. <div class="form-actions">
  122. <button type="submit" class="btn btn-info">{{trans('common.submit')}}</button>
  123. </div>
  124. </form>
  125. </div>
  126. <div class="tab-pane animation-slide-left" id="tab_3" role="tabpanel">
  127. <form action="{{route('profile')}}" method="post" enctype="multipart/form-data" class="form-horizontal">
  128. @csrf
  129. <div class="form-group row">
  130. <label for="passwd" class="col-md-5 col-form-label"> {{trans('user.account.connect_password')}} </label>
  131. <input type="text" class="form-control col-md-5 round" name="passwd" id="passwd" value="{{Auth::getUser()->passwd}}" required/>
  132. </div>
  133. <div class="form-actions">
  134. <button type="submit" class="btn btn-info"> {{trans('common.submit')}} </button>
  135. </div>
  136. </form>
  137. </div>
  138. </div>
  139. </div>
  140. </div>
  141. </div>
  142. </div>
  143. </div>
  144. @endsection
  145. @section('javascript')
  146. <script src="/assets/custom/jump-tab.js"></script>
  147. @endsection