profile bios

This commit is contained in:
Conkley 2022-07-11 19:01:25 +10:00
parent 916aee357b
commit 9c32b05638
4 changed files with 112 additions and 85 deletions

View File

@ -5,6 +5,7 @@ namespace App\Http\Controllers;
use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\DB;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use App\Models\User; use App\Models\User;
use Illuminate\Support\Facades\Auth;
class PageController extends Controller class PageController extends Controller
@ -76,6 +77,19 @@ class PageController extends Controller
return view('misc.settings'); return view('misc.settings');
} }
public function change_settings(Request $request)
{
$request->validate([
'bio' => 'required|min:3|max:2000'
]);
$user = Auth::user();
$user->blurb = $request->bio;
$user->save();
return redirect()->back()->with('success', 'Your bio has been updated.');
}
public function download() public function download()
{ {
return view('pages.download'); return view('pages.download');

View File

@ -48,18 +48,27 @@
@section('content') @section('content')
<h1>Settings</h1> <h1>Settings</h1>
<form action="{{ route('change_settings') }}" method="POST">
@csrf
<div class="content_special" style="align-content: flex-end; align-items: flex-start; width=100%;"> <div class="content_special" style="align-content: flex-end; align-items: flex-start; width=100%;">
<div class="content_special" style="flex-wrap: wrap; flex-direction: column; width: 50%;"> <div class="content_special" style="flex-wrap: wrap; flex-direction: column; width: 50%;">
<h3>Bio</h3> <h3>Bio</h3>
<textarea style="resize: none; width: 100%; height: 75px;" placeholder="Hello!"></textarea> <textarea style="resize: none; width: 100%; height: 75px;" name="bio">@if(!old('bio')){{ Auth::user()->blurb }}@else{{old('bio')}}@endif</textarea>
<button class="bluebutton">Save</button> @if ($errors->any())
<span class="warningtext">{{ $errors->first() }}</span>
@endif
@if(session()->has('success'))
<span style="color:green">{{ session()->get('success') }}</span>
@endif
<button class="bluebutton" type="submit">Save</button>
</form>
<br> <br>
</div> </div>
<div class="content_special" <div class="content_special"
style="flex-wrap: wrap; flex-direction: row-reverse; width: 50%; text-align: end; align-content: flex-end;"> style="flex-wrap: wrap; flex-direction: row-reverse; width: 50%; text-align: end; align-content: flex-end;">
<p style="width: 100%;">Username: OnlyTwentyCharacters <button class="bluebutton">Edit</button></p> <p style="width: 100%;">Username: {{ Auth::user()->name }} <button class="bluebutton">Edit</button></p>
<p style="width: 100%;">E-Mail: t****@ex********.com <button class="bluebutton">Edit</button></p> <p style="width: 100%;">E-Mail: {{ Auth::user()->email }} <button class="bluebutton">Edit</button></p>
<p style="width: 100%;">Date of Birth: 01/01/01 <button class="bluebutton">Edit</button></p> <p style="width: 100%;">Date of Birth: {{ Auth::user()->dob }} <button class="bluebutton">Edit</button></p>
<p style="width: 100%;">Password: ******** <button class="bluebutton">Edit</button></p> <p style="width: 100%;">Password: ******** <button class="bluebutton">Edit</button></p>
<p style="width: 100%;">Date Display Preference: D/M/YY <button class="bluebutton">Edit</button></p> <p style="width: 100%;">Date Display Preference: D/M/YY <button class="bluebutton">Edit</button></p>
<p style="width: 100%;">Time Display Preference: 12 Hour <button class="bluebutton">Edit</button></p> <p style="width: 100%;">Time Display Preference: 12 Hour <button class="bluebutton">Edit</button></p>
@ -93,7 +102,8 @@
<br> <br>
<div style="flex-wrap: wrap; flex-direction: column;"> <div style="flex-wrap: wrap; flex-direction: column;">
<h3>DANGER ZONE</h3> <h3>DANGER ZONE</h3>
<p style="color: darkred;">These are inactive for now.<br>In order to delete your account, please ask one of the Developers.</p> <p style="color: darkred;">These are inactive for now.<br>In order to delete your account, please ask one of the
Developers.</p>
<p>These buttons can fully delete data. Use with caution!</p> <p>These buttons can fully delete data. Use with caution!</p>
<p> <p>
<button class="redbutton" disabled>Delete Account</button> <button class="redbutton" disabled>Delete Account</button>

View File

@ -47,7 +47,9 @@
<div id="profileleftcontainer"> <div id="profileleftcontainer">
<p id="status">"I'm new to ARCHBLOX!"</p> <p id="status">"I'm new to ARCHBLOX!"</p>
<img alt="profile image" src="{{ asset('img/reviewpending.png') }}" width="75%"> <img alt="profile image" src="{{ asset('img/reviewpending.png') }}" width="75%">
<p id="bio">{{ $data['user']->blurb }}</p> <div id="bio"
style="min-width:350px;max-width:350px;text-align:center;margin:0 auto;max-height:275px;overflow-y: auto;">
{!! nl2br(e($data['user']->blurb)) !!}</div>
<br> <br>
<div id="stats"> <div id="stats">
<h3>Joined: {{ $data['user']->created_at->format('d/m/Y') }}</h3> <h3>Joined: {{ $data['user']->created_at->format('d/m/Y') }}</h3>
@ -82,8 +84,8 @@
<div class="content_special" style="justify-content: center;"> <div class="content_special" style="justify-content: center;">
<h2>Friends ({{ $data['user']->getFriendsCount() }})</h2> <h2>Friends ({{ $data['user']->getFriendsCount() }})</h2>
@if ($data['user']->getFriendsCount() > 0) @if ($data['user']->getFriendsCount() > 0)
<a href="{{ route('profile_friends', $data['user']->id) }}" style="margin-left: 5px"> <button class="bluebutton" <a href="{{ route('profile_friends', $data['user']->id) }}" style="margin-left: 5px"> <button
style="margin-top: 5px">View All</button></a> class="bluebutton" style="margin-top: 5px">View All</button></a>
</div> </div>
<div id="profilefriendcontainer" class="content_special" <div id="profilefriendcontainer" class="content_special"
style="flex-wrap: nowrap;justify-content: space-evenly;flex-direction: row;display: inline-flex;align-content: center;align-items: center;"> style="flex-wrap: nowrap;justify-content: space-evenly;flex-direction: row;display: inline-flex;align-content: center;align-items: center;">

View File

@ -29,6 +29,7 @@ Route::middleware(['auth'])->group(function () {
Route::get('/users', [App\Http\Controllers\PageController::class, 'users'])->name('users'); Route::get('/users', [App\Http\Controllers\PageController::class, 'users'])->name('users');
Route::post('/users', [App\Http\Controllers\PageController::class, 'users'])->name('users'); Route::post('/users', [App\Http\Controllers\PageController::class, 'users'])->name('users');
Route::get('/my/settings', [App\Http\Controllers\PageController::class, 'settings'])->name('settings'); Route::get('/my/settings', [App\Http\Controllers\PageController::class, 'settings'])->name('settings');
Route::post('/my/settings', [App\Http\Controllers\PageController::class, 'change_settings'])->name('change_settings');
Route::get('/my/invites', [App\Http\Controllers\KeyController::class, 'index'])->name('key_index'); Route::get('/my/invites', [App\Http\Controllers\KeyController::class, 'index'])->name('key_index');
Route::post('/my/invites', [App\Http\Controllers\KeyController::class, 'create'])->name('key_create'); Route::post('/my/invites', [App\Http\Controllers\KeyController::class, 'create'])->name('key_create');
Route::get('/download', [App\Http\Controllers\PageController::class, 'download'])->name('download'); Route::get('/download', [App\Http\Controllers\PageController::class, 'download'])->name('download');