Old Admin Panel Sunset

Removed the old admin in favor of the new one, also added themes.
This commit is contained in:
tersiswilvin 2022-11-06 17:16:09 -08:00
parent 25c02ed960
commit 940a000adf
5 changed files with 266 additions and 289 deletions

View File

@ -1,44 +1,17 @@
/*Legacy*/
.iphone-sidebar {
position: fixed;
color: rgb(255, 255, 255);
width: 20%;
height: 100%;
margin-left: 0px;
background-color: rgb(0, 0, 0);
padding-bottom: 5px;
padding-top: 5px;
}
.iphone-content {
position: relative;
color: white;
width: 80%;
height: 100%;
left: 20%;
background-color: rgb(0, 0, 0);
padding-bottom: 5px;
padding-top: 5px;
padding-left: 5px;
padding-right: 0px;
overflow-x: hidden;
position: fixed;
height: 100%;
}
#InviteTreeContainer {
background-color: rgb(255, 255, 255);
}
/*--------------*/
body {
font-family: 'Helvetica Neue', Helvetica, Arial, Sans-Serif;
}
body.NewPanel {
background-color: #111;
min-width: 0px;
font-family: Arial,Helvetica,sans-serif; /*/Don't Change/*/
color: #fff;
font-family: Arial,Helvetica,sans-serif;
}
body :focus-visible {
outline: none !important;
}
.light-theme {
background-color: #ccc;
color: #2d312d;
}
.dark-theme {
background-color: #111;
color: #ddd;
}
@font-face
@ -82,46 +55,65 @@ br {
-ms-user-select: none;
user-select: none;
}
a {
color: inherit;
font-weight: normal;
}
.NewPanel #MasterContainer.AdminPanel {
.light-theme #MasterContainer.AdminPanel {
background-color: #ccc;
}
.dark-theme #MasterContainer.AdminPanel {
background-color: #111;
}
.NewPanel #MasterContainer #BodyWrapper {
#MasterContainer #BodyWrapper {
padding-top: 25px;
background-color: #111;
color: #fff;
}
.NewPanel .AdminPanel {
.light-theme #MasterContainer #BodyWrapper {
background-color: #ccc;
color: #2d312d;
}
.dark-theme #MasterContainer #BodyWrapper {
background-color: #111;
color: #ddd
}
.AdminPanel {
height: 100%;
}
.NewPanel #MasterContainer .iphone-sidebar, .NewPanel #MasterContainer .iphone-content, #MasterContainer #AdminWrapper, #MasterContainer #BodyWrapper {
display: none;
}
.NewPanel #MasterContainer #AdminWrapper, .NewPanel #MasterContainer #BodyWrapper {
display: block;
}
.NewPanel #AdminWrapper.Navigation {
#AdminWrapper.Navigation {
width: 100%;
}
.NewPanel .AdminHeader {
.AdminHeader {
width: 100%;
height: 75px;
background-color: #333;
z-index: 2;
position: relative;
}
.NewPanel .AdminSubHeader {
.light-theme .AdminHeader {
background-color: #aaa;
}
.dark-theme .AdminHeader {
background-color: #333;
}
.AdminSubHeader {
width: 100%;
height: 25px;
background: #333; /*/Fallback for older browsers/*/
background: linear-gradient(180deg, #333, #191919);
box-shadow: 0 2px 8px 0 #000;
z-index: 1;
position: relative;
border-bottom-left-radius: 15px;
border-bottom-right-radius: 15px;
}
.NewPanel .AdminSubHeader ul {
.light-theme .AdminSubHeader {
background: #aaa; /*/Fallback for older browsers/*/
background: linear-gradient(180deg, #aaa, #555);
box-shadow: 0 2px 8px 0 #000;
}
.dark-theme .AdminSubHeader {
background: #333; /*/Fallback for older browsers/*/
background: linear-gradient(180deg, #333, #191919);
box-shadow: 0 2px 8px 0 #000;
}
.AdminSubHeader ul {
padding: 0;
margin: auto auto;
width: 100%;
@ -132,36 +124,48 @@ br {
display: flex;
justify-content: center;
}
.NewPanel .AdminSubHeader li {
.AdminSubHeader li {
width: 25%;
text-align: center;
list-style: none;
padding: 5px 0;
}
.light-theme .AdminSubHeader li {
color: #000;
}
.dark-theme .AdminSubHeader li {
color: #fff;
}
.NewPanel .AdminSubHeader li a {
.AdminSubHeader li a {
font-size: 14px;
font-weight: 100;
color: #bbb;
cursor: pointer;
transition: .1s all linear;
}
.NewPanel .AdminSubHeader li a:hover, .NewPanel .AdminSubHeader li a:active {
color: #fff;
box-shadow: 0 2px 0 0 #fff;
.light-theme .AdminSubHeader li a {
color: #222;
}
.dark-theme .AdminSubHeader li a {
color: #bbb;
}
.AdminSubHeader li a:hover, .AdminSubHeader li a:active {
transition: .1s all linear;
}
.NewPanel .AdminSubHeader li a.active {
.light-theme .AdminSubHeader li a:hover, .light-theme .AdminSubHeader li a:active, .dark-theme .AdminSubHeader li a:hover, .dark-theme .AdminSubHeader li a:active {
color: #fff;
box-shadow: 0 2px 0 0 #fff;
}
.AdminSubHeader li a.active {
box-shadow: 0 2px 0 0 #00b7ff;
}
.NewPanel .AdminSubHeader li a:focus {
.AdminSubHeader li a:focus {
color: #dbdbdb;
box-shadow: 0 2px 0 0 #dbdbdb;
}
.NewPanel .AdminSubHeader li a.active:focus {
.AdminSubHeader li a.active:focus {
box-shadow: 0 2px 0 0 #11749b;
}
.NewPanel .AdminPanel .logoutbtn {
.AdminPanel .logoutbtn {
color: #00b7ff;
cursor: default;
top: 10px;
@ -181,11 +185,11 @@ br {
display: flex;
flex-direction: row-reverse;
}
.NewPanel .AdminPanel .logoutarrow {
.AdminPanel .logoutarrow {
height: 16px;
width: 16px;
}
.NewPanel .AdminPanel .logoutarrow:before {
.AdminPanel .logoutarrow:before {
font-family: "copenhagen-icons";
font-style: normal;
font-weight: normal;
@ -194,12 +198,10 @@ br {
transform: rotate(180deg);
position: absolute;
}
.NewPanel .AdminPanel .logoutarrow:before {
.AdminPanel .logoutarrow:before {
content: '\2794';
}
.NewPanel .AdminHeader .Slogan {
color: #bbb;
text-shadow: #11111191 2px 2px;
.AdminHeader .Slogan {
font-size: 16px;
font-weight: 100;
display: block;
@ -212,7 +214,15 @@ br {
-ms-user-select: none;
user-select: none;
}
.NewPanel .AdminHeader .SiteBrand {
.light-theme .AdminHeader .Slogan {
color: #222;
text-shadow: #55555591 2px 2px;
}
.dark-theme .AdminHeader .Slogan {
color: #bbb;
text-shadow: #11111191 2px 2px;
}
.AdminHeader .SiteBrand {
width: 200px;
height: 40px;
padding: 5px;
@ -220,18 +230,26 @@ br {
background-repeat: no-repeat;
background-size: contain;
background-position: 0;
opacity: .75;
transition: .1s opacity linear;
display: block;
margin: auto;
}
.NewPanel .AdminHeader .SiteBrand:hover {
.light-theme .AdminHeader .SiteBrand {
opacity: .7;
}
.dark-theme .AdminHeader .SiteBrand {
opacity: .8;
}
.AdminHeader .SiteBrand:hover {
opacity: 1;
}
.NewPanel .AdminPanel #Body {
.light-theme .AdminPanel #Body {
background-color: #ccc;
}
.dark-theme .AdminPanel #Body {
background-color: #111;
}
.NewPanel .AdminPanel .MainHeader, .NewPanel .AdminPanel .SubHeader {
.AdminPanel .MainHeader, .AdminPanel .SubHeader {
text-align: center;
cursor: default;
-webkit-touch-callout: none;
@ -241,43 +259,53 @@ br {
-ms-user-select: none;
user-select: none;
}
.NewPanel .AdminPanel .Reminder {
.AdminPanel .Reminder {
color: #ff7300
}
.NewPanel .text-error {
.text-error {
display: block;
text-align: center;
color: #d6241a;
font-weight: 200;
padding: 5px;
}
.NewPanel .text-header {
.text-header {
display: block;
text-align: center;
padding: 5px 0;
}
.NewPanel .text-secondary {
color: #bbb;
.text-secondary {
display: inline-block;
text-align: left;
}
.NewPanel .AdminPanel .Stats-Wrapper {
.light-theme .text-secondary {
color: #555;
}
.dark-theme .text-secondary {
color: #bbb;
}
.AdminPanel .Stats-Wrapper {
text-align: center;
padding: 4px;
}
.NewPanel .AdminPanel .StatsContainer {
.AdminPanel .StatsContainer {
margin: 15px 15px 0 15px;
padding: 15px;
border: 1px dashed #ff7300;
}
.light-theme .AdminPanel .StatsContainer {
background-color: #aaa;
}
.dark-theme .AdminPanel .StatsContainer {
background-color: #080808;
}
.NewPanel .AdminPanel .Userlist {
.AdminPanel .Userlist {
margin: 10px;
}
.NewPanel .AdminPanel form div {
.AdminPanel form div {
text-align: center;
}
.NewPanel .SearchCloseBtn {
.SearchCloseBtn {
color: #af1400;
transition: .1s linear;
left: auto;
@ -286,28 +314,31 @@ br {
position: absolute;
font-size: 16px;
}
.NewPanel .SearchCloseBtn:hover {
.SearchCloseBtn:hover {
color: #d41900;
}
.NewPanel .AdminPanel #SearchInput {
border: 1px solid #555;
.AdminPanel #SearchInput {
border-radius: 3px;
}
.light-theme .AdminPanel #SearchInput {
border: 1px solid #bbb;
color: #1b1b1b;
background-color: #fff;
}
.dark-theme .AdminPanel #SearchInput {
border: 1px solid #555;
color: #bbb;
background-color: #000;
}
.NewPanel .AdminPanel #SearchInput:focus, .AdminPanel #SearchInput:active {
.AdminPanel #SearchInput:focus, .AdminPanel #SearchInput:active {
border-color: #0099ff;
}
.NewPanel #SearchInput, .NewPanel .btn-neutral {
#SearchInput, .btn-neutral {
margin: 0 5px;
}
.NewPanel :focus-visible {
outline: none !important;
}
.NewPanel .AdminPanel .Stats {
.AdminPanel .Stats {
font-size: 16px;
font-weight: 100;
color: #a7a7a7;
cursor: default;
-webkit-touch-callout: none;
-webkit-user-select: none;
@ -316,22 +347,38 @@ br {
-ms-user-select: none;
user-select: none;
}
.NewPanel .AdminPanel .Stats.Counter {
.light-theme .AdminPanel .Stats {
color: #222;
}
.dark-theme .AdminPanel .Stats {
color: #a7a7a7;
}
.AdminPanel .Stats.Counter {
font-weight: 400;
}
.light-theme .AdminPanel .Stats.Counter {
color: #000;
}
.dark-theme .AdminPanel .Stats.Counter {
color: #fff;
}
.NewPanel .AdminPanel .Stat-Separator {
.AdminPanel .Stat-Separator {
width: 50%;
height: 1px;
background: #555; /*/Fallback for older browsers/*/
background: linear-gradient(90deg,rgb(85, 85, 85,0) 0%, #555 50%, rgb(85, 85, 85,0) 100%);
display: block;
margin: auto;
}
.NewPanel .AdminPanel .SearchContainer {
.light-theme .AdminPanel .Stat-Separator {
background: #000; /*/Fallback for older browsers/*/
background: linear-gradient(90deg,#00000000 0%, #000 50%, #00000000 100%);
}
.dark-theme .AdminPanel .Stat-Separator {
background: #555; /*/Fallback for older browsers/*/
background: linear-gradient(90deg,#55555500 0%, #555 50%, rgb(85, 85, 85,0) 100%);
}
.AdminPanel .SearchContainer {
width: 235px;
height: auto;
background-color: #555;
border-radius: 5px;
margin: 62px 25px 0 0;
display: -webkit-box;
@ -343,15 +390,27 @@ br {
align-content: center;
flex-direction: column;
}
.NewPanel .SearchContainer .Thumbnail {
.light-theme .AdminPanel .SearchContainer {
background-color: #bbb;
}
.dark-theme .AdminPanel .SearchContainer {
background-color: #555;
}
.SearchContainer .Thumbnail {
height: 64px;
width: 64px;
margin-top: -37px;
background-color: #555;
border: 5px solid #111;
border-radius: 100%;
}
.NewPanel .SearchBoard {
.light-theme .SearchContainer .Thumbnail {
background-color: #bbb;
border: 5px solid #ccc;
}
.dark-theme .SearchContainer .Thumbnail {
background-color: #555;
border: 5px solid #111;
}
.SearchBoard {
width: 100%;
height: 100%;
position: relative;
@ -364,19 +423,19 @@ br {
justify-content: center;
align-items: flex-start;
}
.NewPanel .SearchContainer .UserThumbnail {
.SearchContainer .UserThumbnail {
background-image: url(/img/defaultrender.png);
background-size: contain;
width: 100%;
height: 100%;
}
.NewPanel .SearchContainer .UserDetails {
.SearchContainer .UserDetails {
padding: 5px;
}
.NewPanel .SearchContainer .SearchBox {
.SearchContainer .SearchBox {
width: 100%;
}
.NewPanel .AuthenticatedUserNameWrapper {
.AuthenticatedUserNameWrapper {
top: 10px;
right: 10px;
font-size: 16px;
@ -392,19 +451,30 @@ br {
-ms-user-select: none;
user-select: none;
}
.NewPanel .AuthenticatedUserName, .NewPanel .logoutarrow {
color: #00b7ff;
.light-theme .AuthenticatedUserNameWrapper {
color: #0D0D0D;
}
.dark-theme .AuthenticatedUserNameWrapper {
color: #fff;
}
.AuthenticatedUserName, .logoutarrow {
transition: .25s all ease-in-out;
display: inline-block;
}
.NewPanel .AuthenticatedUserName:hover, .NewPanel .logout:hover + .logoutarrow {
.light-theme .AuthenticatedUserName, .light-theme .logoutarrow {
color: #0387bb;
}
.dark-theme .AuthenticatedUserName, .dark-theme .logoutarrow {
color: #00b7ff;
}
.AuthenticatedUserName:hover, .logout:hover + .logoutarrow {
color: #7ddaff;
transition: .25s all ease-in-out;
}
.NewPanel .UserDetails .Row {
.UserDetails .Row {
overflow-wrap: anywhere;
}
.NewPanel .SearchContainer .Thumbnail a {
.SearchContainer .Thumbnail a {
width: 12px;
height: 12px;
display: block;
@ -413,30 +483,37 @@ br {
position: relative;
border-radius: 50%;
}
.NewPanel .website {
.ingame {
display: none; /*TODO*/
}
.online {
background: #0087e0; /*/Fallback for older browsers/*/
background: linear-gradient(0deg, #0087e0 0%, #005085 49%,#005a85 50%, #0099ff 95%, #fff 100%);
border: 2px solid #111;
width: 12px;
height: 12px;
display: block;
border-radius: 50%;
margin: -8px;
}
.NewPanel .offline {
.offline {
background: #a3a3a3; /*/Fallback for older browsers/*/
background: linear-gradient(0deg, #a3a3a3 0%, #7a7a7a 49%, #797979 50%, #c9c9c9 95%, #fff 100%);
border: 2px solid #111;
width: 12px;
height: 12px;
display: block;
border-radius: 50%;
margin: -8px;
}
.NewPanel .info-hidden {
.light-theme .online, .light-theme .offline, .light-theme .ingame {
border: 2px solid #ccc;
}
.dark-theme .online, .dark-theme .offline, .dark-theme .ingame {
border: 2px solid #111;
}
.info-hidden {
font-style: italic;
}
.NewPanel .info-error {
.info-error {
color: #ff3300;
font-style: italic;
cursor: not-allowed;
@ -447,19 +524,19 @@ br {
-ms-user-select: none;
user-select: none;
}
.NewPanel .info-email {
.info-email {
color: #c9c9c9;
}
/*Heavily based off of the roblox developer tree list (because it looks cool)*/
.NewPanel .SearchTree {
.SearchTree {
width: 260px;
height: 100%;
padding: 0;
margin: 10px auto 0;
min-height: 550px;
}
.NewPanel .SearchTree .Menu {
.SearchTree .Menu {
list-style-type: none;
position: relative;
top: 0;
@ -467,8 +544,7 @@ br {
line-height: 20px;
min-height: 550px;
}
.NewPanel .SearchTree a {
color: #9b9b9b;
.SearchTree a {
transition: .15s all ease-in-out;
font-size: 14px;
margin: 0 0 0 38px;
@ -477,12 +553,20 @@ br {
top: 18px;
display: inline-block;
}
.NewPanel .SearchTree a:hover {
.light-theme .SearchTree a {
color: #565656;
}
.dark-theme .SearchTree a {
color: #9b9b9b;
}
.light-theme .SearchTree a:hover {
color: #0387bb;
}
.dark-theme .SearchTree a:hover {
color: #00b7ff;
}
.NewPanel .SearchTree a::after {
.SearchTree a::after {
content: '';
border: 1px solid #555;
border-radius: 100%;
width: 2px;
height: 2px;
@ -491,55 +575,66 @@ br {
position: absolute;
top: 9px;
}
.NewPanel .SearchTree a span {
.light-theme .SearchTree a::after {
border: 1px solid #222;
}
.dark-theme .SearchTree a::after {
border: 1px solid #555;
}
.SearchTree a span {
display: block;
}
.NewPanel #BodyWrapper .forwardArrow::before {
#BodyWrapper .forwardArrow::before {
font-family: "copenhagen-icons";
font-style: normal;
font-weight: normal;
line-height: 1em;
-webkit-font-smoothing: antialiased;
}
.NewPanel #BodyWrapper .forwardArrow::before {
#BodyWrapper .forwardArrow::before {
content: '\2794';
}
.NewPanel .SearchTree .forwardArrow:hover {
.SearchTree .forwardArrow:hover {
color: #00b7ff;
}
.NewPanel #BodyWrapper .forwardArrow {
#BodyWrapper .forwardArrow {
position: relative;
display: inline-block;
margin: 0;
padding: 0;
line-height: 14px;
}
.NewPanel #BodyWrapper .forwardArrow::after, .NewPanel #BodyWrapper .userInfo::after {
#BodyWrapper .forwardArrow::after, #BodyWrapper .userInfo::after {
display: none;
}
.NewPanel #BodyWrapper .userInfo {
#BodyWrapper .userInfo {
margin: 0;
}
.NewPanel #BodyWrapper .userInfo::before {
#BodyWrapper .userInfo::before {
font-family: "copenhagen-icons";
font-style: normal;
font-weight: normal;
line-height: 1em;
-webkit-font-smoothing: antialiased;
}
.NewPanel #BodyWrapper .userInfo::before {
#BodyWrapper .userInfo::before {
content: '\2139';
border-radius: 100%;
}
.NewPanel .TreeList {
border-left: 1px dashed #555;
.TreeList {
margin: 13px 0 0 30px;
padding: 0;
}
.NewPanel #DropDown.TreeList {
.light-theme .TreeList {
border-left: 1px dashed #222;
}
.dark-theme .TreeList {
border-left: 1px dashed #555;
}
#DropDown.TreeList {
min-height: 550px;
}
.NewPanel .SearchTree li ul li {
.SearchTree li ul li {
list-style-type: none;
position: relative;
top: 3px;
@ -547,13 +642,13 @@ br {
padding-bottom: 16px;
white-space: nowrap;
}
.NewPanel .SearchTree li ul li:last-child {
.SearchTree li ul li:last-child {
padding-bottom: 11px;
}
.NewPanel .SearchTree li ul li.subList {
.SearchTree li ul li.subList {
padding-bottom: 0;
}
.NewPanel .SearchTree li ul li:before {
.SearchTree li ul li:before {
content: '';
display: inline-block;
width: 25px;
@ -561,22 +656,27 @@ br {
position: absolute;
left: 0em;
top: 28px;
}
.light-theme .SearchTree li ul li:before {
border-top: 1px dashed #222;
}
.dark-theme .SearchTree li ul li:before {
border-top: 1px dashed #555;
}
@media (max-width:990px) {
.NewPanel .AdminPanel #Body, .NewPanel .AdminPanel #BodyWrapper, .NewPanel .AdminPanel #MasterContainer {
.AdminPanel #Body, .AdminPanel #BodyWrapper, .AdminPanel #MasterContainer {
width: 100% !important; /*!important since late 2012 roblox uses element.style CRINGE!*/
padding: 0;
}
}
@media (max-width: 600px) {
.NewPanel .AuthenticatedUserNameWrapper {
.AuthenticatedUserNameWrapper {
font-size: 10px;
}
}
@media (max-width:500px) {
.NewPanel .AuthenticatedUserNameWrapper {
.AuthenticatedUserNameWrapper {
display: none;
}
}

View File

@ -62,10 +62,4 @@
</div>
</div>
</div>
@endsection
@section('content')
<h1>{{ env('APP_NAME') }}</h1>
<h5>Administration Area</h5><br>
<p><strong>{{ App\Models\User::count() }}</strong> users registered, <strong>{{ App\Models\User::where('admin', true)->count() }}</strong> total admins, <strong>{{ App\Models\User::where('last_seen', '>', Carbon\Carbon::now()->subDay()->toDateTimeString())->count(); }}</strong> users online in the past 24 hours.</p><br>
<p><strong>{{ App\Models\InviteKey::count() }}</strong> invite keys exist, <strong>{{ App\Models\InviteKey::where('active', true)->count() }}</strong> keys haven't been used yet.</p>
@endsection

View File

@ -39,17 +39,21 @@
@if ($user)
<ul class="SearchTree">
<li class="Menu">
<a title="{{ $invited_by }}'s Invite Tree" href="/admin/tree?q={{ App\Models\User::where('name', $invited_by)->first()->id }}&searchBy=id">
<span>{{ $invited_by }}</span>
</a>
<a href="/admin/users?q={{ App\Models\User::where('name', $invited_by)->first()->id }}&searchBy=id" title="View {{ App\Models\User::where('name', $invited_by)->first()->name }}'s Details" class="userInfo"></a>
<a href="{{ route('profile', App\Models\User::where('name', $invited_by)->first()->id) }}" title="{{ $invited_by }}'s Profile" class="forwardArrow"></a>
<div id="Invitedheader" class="invitedUser">
<a title="{{ $invited_by }}'s Invite Tree" href="/admin/tree?q={{ App\Models\User::where('name', $invited_by)->first()->id }}&searchBy=id">
<span>{{ $invited_by }}</span>
</a>
<a href="/admin/users?q={{ App\Models\User::where('name', $invited_by)->first()->id }}&searchBy=id" title="View {{ App\Models\User::where('name', $invited_by)->first()->name }}'s Details" class="userInfo"></a>
<a href="{{ route('profile', App\Models\User::where('name', $invited_by)->first()->id) }}" title="{{ $invited_by }}'s Profile" class="forwardArrow"></a>
</div>
<ul id="DropDown" class="TreeList">
<li class="subList">
<a href="{{ route('profile', $user->id) }}" title="{{ $user->name }}'s Profile" class="RedirectArrow">
<span>{{ $user->name }}</span>
</a>
<a href="/admin/users?q={{ $user->id }}&searchBy=id" title="View {{ $user->name }}'s Details" class="userInfo"></a>
<div id="subusernameBody" class="subUsernameContainer">
<a href="{{ route('profile', $user->id) }}" title="{{ $user->name }}'s Profile" class="RedirectArrow">
<span>{{ $user->name }}</span>
</a>
<a href="/admin/users?q={{ $user->id }}&searchBy=id" title="View {{ $user->name }}'s Details" class="userInfo"></a>
</div>
<ul class="TreeList">
@foreach ($children as $child)
<li>
@ -69,44 +73,3 @@
</div>
</div>
@endsection
@section('content')
<div id="UserList">
<h2>Invite Tree</h2>
@if (request()->query('q'))
<a href="{{ route('admin_tree') }}" style="color:navy">Clear Search</a>
@endif
<form method="GET" action="{{ route('admin_tree') }}">
<div style="margin-top:10px;margin-bottom:10px;"><input type="text" id="q" name="q"
placeholder="Search..." value="{{ request()->q }}"><button class="bluebutton" style="margin-left:2px"
name="searchBy" value="name">Search by Username</button><button class="bluebutton"
style="margin-left:2px" name="searchBy" value="id">Search by ID</button></div>
</form>
@if ($user)
<div id="SearchContainer">
<h2>User Found: {{ $user->name }}</h2>
<ul>
<li>
<h3><a href="{{ route('profile', App\Models\User::where('name', $invited_by)->first()->id) }}"
target="_blank">{{ $invited_by }}</a>
</h3>
</li>
<ul>
<li><a href="{{ route('profile', $user->id) }}" target="_blank">{{ $user->name }}</a></li>
<ul>
@foreach ($children as $child)
<li><a href="{{ route('profile', $child->id) }}" target="_blank">{{ $child->name }}</a>
</li>
@endforeach
</ul>
</ul>
</ul>
</div>
@endif
@if (!request()->has('q'))
<h5>Enter a username or ID.</h5>
@elseif (!$user)
<h5>No user was found, check if you entered the correct details.</h5>
@endif
</div>
@endsection

View File

@ -32,7 +32,7 @@
</div>
<a>
@if (Cache::has('is_online_' . $user->id))
<span class="website" title="Online">
<span class="online" title="Online">
</span>
@else
<span class="offline" title="Offline">
@ -271,67 +271,3 @@
</div>
{{ $users->appends($_GET)->links() }}
@endsection
@section('content')
<div id="UserList">
<h2>User List</h2>
<p>Remember, use your powers for good, not for evil.</p>
<p>Please do not share a user's birth date or email address without their permission.</p>
@if (request()->query('q'))
<a href="{{ route('admin_users') }}" style="color:navy">Clear Search</a>
@endif
<form method="GET" action="{{ route('admin_users') }}">
<div style="margin-top:10px;margin-bottom:10px;"><input type="text" id="q" name="q" placeholder="Search..." value="{{ request()->q }}"><button
class="bluebutton" style="margin-left:2px" name="searchBy" value="name">Search by Username</button><button class="bluebutton" style="margin-left:2px" name="searchBy" value="id">Search by ID</button></div>
</form>
@foreach ($users as $user)
<div id="SearchContainer">
<div class="ProfileContainerBox" id="ProfileContainerBox1" style="background-color: white;">
<div id="ProfileContainerBox1ImageContainer">
<img alt="Profile Image" src="https://archblox.com/img/defaultrender.png" width="60px"
height="100%">
</div>
<div id="ProfileContainerBox1TextContainer" style="color:black">
<p><strong>Username:</strong> {{ $user->name }}</p>
@if ($user->admin)
<p><strong>Email:</strong> <i>Admin Email Hidden</i></p>
@else
<p><strong>Email:</strong> {{ $user->email }}</p>
@endif
<p><strong>ID:</strong> {{ $user->id }}</p>
<p><strong>DOB:</strong> {{ Carbon\Carbon::parse($user->dob)->format('d/m/Y') }}</p>
<p><strong>Rank:</strong>
@if ($user->admin)
Admin
@else
User
@endif
</p>
<p><strong>Status:</strong> Normal</p>
@if (!empty($user->id))
@if (!empty(App\Models\User::where('id', $user->invited_by)->first()->id))
<p><strong>Invited By:</strong> <a style="color:blue">{{ App\Models\User::where('id', $user->invited_by)->first()->name }}</a>
(ID: {{ App\Models\User::where('id', $user->invited_by)->first()->id }})
</p>
@else
<p><strong>Invited By:</strong> <a style="color:blue">N/A</a>
(ID: N/A)
</p>
@endif
@endif
<!--
<button class="greybutton">Check Reports For This User</button>
<button class="bluebutton">Edit User Data</button>
<button class="bluebutton">Warn/Ban History</button>
<button class="redbutton">Warn</button>
<button class="redbutton">Ban/Terminate</button>-->
</div>
</div>
</div>
@endforeach
@if ($users->isEmpty())
<h5>No user was found, check if you entered the correct details.</h5>
@endif
</div>
{{ $users->appends($_GET)->links() }}
@endsection

View File

@ -21,7 +21,7 @@
<script src="{{ asset('js/detect_iphone.js') }}" defer></script>
</head>
<body class="NewPanel">
<body class="dark-theme">
@yield('alert')
<div id="MasterContainer" class="AdminPanel" style="width: 100%;">
@ -66,22 +66,6 @@
@yield('Body')
</div>
</div>
<div class="iphone-sidebar">
<img href="{{ route('admin_index') }}" src="https://archblox.com/img/MORBLOXlogo.png" width="50%">
<p>Admin Panel</p>
<p>Logged in as: {{ Auth::user()->name }}</p>
<br>
<a href="{{ route('admin_index') }}">Home</a>
<br>
<a href="{{ route('admin_users') }}">User List</a>
<br>
<a href="{{ route('admin_tree') }}">Invite Tree</a>
<br><br>
<a href="{{ route('home') }}"><span style="font-size:20px"></span> Return to Main Site</a>
</div>
<div class="iphone-content">
@yield('content')
</div>
</body>
</html>