From 6c482f5a227bf3cf3c228c6b8c0f745fab83c139 Mon Sep 17 00:00:00 2001 From: Graphictoria Date: Wed, 19 Oct 2022 23:57:39 -0400 Subject: [PATCH] Rework user page, more page concepts. - Added page concept for games. - User page now mostly resembles what Roblox's user profile page looked like back in 2016. - Added biography for users. --- etc/art/gamebusy.pdn | Bin 0 -> 47568 bytes web/app/Models/User.php | 13 +- .../2014_10_12_000000_create_users_table.php | 2 + web/public/images/busy/game.png | Bin 0 -> 13313 bytes web/resources/js/components/Games.js | 120 +++++++++++ web/resources/js/pages/Games.js | 19 ++ web/resources/sass/Graphictoria.scss | 26 +++ web/resources/views/web/games/index.blade.php | 4 + .../views/web/home/dashboard.blade.php | 42 ++-- .../views/web/user/profile.blade.php | 202 ++++++++---------- .../views/web/user/settings.blade.php | 27 ++- web/webpack.mix.js | 1 + 12 files changed, 315 insertions(+), 141 deletions(-) create mode 100644 etc/art/gamebusy.pdn create mode 100644 web/public/images/busy/game.png create mode 100644 web/resources/js/components/Games.js create mode 100644 web/resources/js/pages/Games.js diff --git a/etc/art/gamebusy.pdn b/etc/art/gamebusy.pdn new file mode 100644 index 0000000000000000000000000000000000000000..890912596f6aae9a9e06724f8ce3470a43199c91 GIT binary patch literal 47568 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 literal 0 HcmV?d00001 diff --git a/web/app/Models/User.php b/web/app/Models/User.php index c6a360a..91a7ad0 100644 --- a/web/app/Models/User.php +++ b/web/app/Models/User.php @@ -91,15 +91,12 @@ class User extends Authenticatable implements MustVerifyEmail return $this->created_at->isoFormat('ll'); } - // XlXi: Returns a class name like text-success or - // gt-status-studio to show next to the - // user's name. - public function getOnlineClass() + // XlXi: TODO: Replace this with detailed presence + // like what game the user is in or + // what place they're editing. + public function isOnline() { - if($this->last_seen >= Carbon::now()->subMinutes(2)) - return 'text-success'; - - return 'text-muted'; + return ($this->last_seen >= Carbon::now()->subMinutes(2)); } public function _hasRolesetInternal($roleName) diff --git a/web/database/migrations/2014_10_12_000000_create_users_table.php b/web/database/migrations/2014_10_12_000000_create_users_table.php index b41941e..283bccc 100644 --- a/web/database/migrations/2014_10_12_000000_create_users_table.php +++ b/web/database/migrations/2014_10_12_000000_create_users_table.php @@ -22,6 +22,8 @@ return new class extends Migration $table->rememberToken(); $table->unsignedBigInteger('banId')->nullable(); + $table->string('biography')->nullable(); + $table->unsignedBigInteger('tokens')->default(0); $table->dateTime('next_reward')->useCurrent(); diff --git a/web/public/images/busy/game.png b/web/public/images/busy/game.png new file mode 100644 index 0000000000000000000000000000000000000000..d03b7fe511828f49059f163f3b627ffe70aa2d5f GIT binary patch literal 13313 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 literal 0 HcmV?d00001 diff --git a/web/resources/js/components/Games.js b/web/resources/js/components/Games.js new file mode 100644 index 0000000..4233ecf --- /dev/null +++ b/web/resources/js/components/Games.js @@ -0,0 +1,120 @@ +/* + Graphictoria 5 (https://gtoria.net) + Copyright © XlXi 2022 +*/ + +import { Component, createRef } from 'react'; + +import classNames from 'classnames/bind'; + +import axios from 'axios'; + +import Twemoji from 'react-twemoji'; + +import { buildGenericApiUrl } from '../util/HTTP.js'; +import ProgressiveImage from './ProgressiveImage'; +import Loader from './Loader'; + +axios.defaults.withCredentials = true; + +function commaSeparate(num) { + let str = num.toString().split('.'); + str[0] = str[0].replace(/\B(?=(\d{3})+(?!\d))/g, ','); + return str.join('.'); +} + +class GameItemCard extends Component { + constructor(props) { + super(props); + this.state = { + hovered: false + } + } + + render() { + return ( + this.setState({hovered: true})} + onMouseLeave={() => this.setState({hovered: false})} + > + + +
+

Todo

+

{commaSeparate(1337)} Playing

+
+ +
+
+
+ +
+
+
+ { + this.state.hovered ? + +
+ + : + null + } + + ); + } +} + +class Games extends Component { + constructor(props) { + super(props); + } + + render() { + return ( +
+

Games

+ + +
+ ); + } +} + +export default Games; \ No newline at end of file diff --git a/web/resources/js/pages/Games.js b/web/resources/js/pages/Games.js new file mode 100644 index 0000000..4c230a5 --- /dev/null +++ b/web/resources/js/pages/Games.js @@ -0,0 +1,19 @@ +/* + Graphictoria 5 (https://gtoria.net) + Copyright © XlXi 2022 +*/ + +import $ from 'jquery'; + +import React from 'react'; +import { render } from 'react-dom'; + +import Games from '../components/Games'; + +const gamesId = 'gt-games-main'; + +$(document).ready(function() { + if (document.getElementById(gamesId)) { + render(, document.getElementById(gamesId)); + } +}); \ No newline at end of file diff --git a/web/resources/sass/Graphictoria.scss b/web/resources/sass/Graphictoria.scss index bba18a6..e40baea 100644 --- a/web/resources/sass/Graphictoria.scss +++ b/web/resources/sass/Graphictoria.scss @@ -1345,3 +1345,29 @@ p { -webkit-animation-fill-mode: both; -webkit-animation-name: dropdownEase; } + +// Voting +.graphictoria-vote-bar { + // border + html.gtoria-dark & { + border-color: $gray-700; + } + html.gtoria-light & { + border-color: $border-color; + } + + // rounded-1 + border-radius: 0.2rem; + + // bg-secondary + background-color: $secondary; + + // my-auto and mx-1 + margin: auto 0.25rem auto 0.25rem; + + // flex-fill + flex: 1 1 auto; + + position: relative; + height: 10px; +} diff --git a/web/resources/views/web/games/index.blade.php b/web/resources/views/web/games/index.blade.php index 81c46f0..7a1f174 100644 --- a/web/resources/views/web/games/index.blade.php +++ b/web/resources/views/web/games/index.blade.php @@ -2,6 +2,10 @@ @section('title', 'Games') +@section('page-specific') + +@endsection + @section('content')

Games

diff --git a/web/resources/views/web/home/dashboard.blade.php b/web/resources/views/web/home/dashboard.blade.php index 22f6a84..7fd1277 100644 --- a/web/resources/views/web/home/dashboard.blade.php +++ b/web/resources/views/web/home/dashboard.blade.php @@ -8,39 +8,31 @@ @section('content')
-

Hello, {{ Auth::user()->username }}!

-
- - - Recently Played - - - Content here. - - +
+

Recently Played

+
+ Content here. +
diff --git a/web/resources/views/web/user/profile.blade.php b/web/resources/views/web/user/profile.blade.php index fec28f2..d78cb6e 100644 --- a/web/resources/views/web/user/profile.blade.php +++ b/web/resources/views/web/user/profile.blade.php @@ -1,10 +1,11 @@ +{{-- XlXi: References lol --}} +{{-- XlXi: https://cubash.com/@Icseon --}} +{{-- XlXi: https://youtu.be/nouY1ugddcI?t=583 --}} + @extends('layouts.app') @section('title', $title) -@section('page-specific') -@endsection - @section('quick-admin')