Almost complete site

Add dark / light theme

Add social sharing on meme pages

Add approving / pending admin section

Improve design

Add pagination on profiles

Make front end date time user friendly

Finish rough draft of site

And Much more...

Still need to fix a few minor things before it goes live. Almost
complete.
This commit is contained in:
dev 2021-07-26 19:39:11 -07:00
parent 52a9007882
commit dbfda5cf9e
39 changed files with 54195 additions and 663 deletions

View file

@ -7,7 +7,7 @@
<h1>About</h1>
<p class="lead">Post Monero memes and get tipped Monero.</p>
<p class="lead mb-0">Monero (XMR) Donations Happily Accepted.</p>
<img src="{{ $data['qr'] }}" alt="QR code">
<img class="img-qr" src="{{ $data['qr'] }}" alt="QR code">
<p class="lead">{{ $data['address'] }}</p>
</div>
</div>

View file

@ -0,0 +1,23 @@
@extends('layouts.app')
@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-md-12">
<h1 class="text-center">API Documentation</h1>
<p class="lead mt-3 text-center">
Memes Endpoint: <code>{{ $data['memes_endpoint'] }}</code>
</p>
<p class="text-center">
API is experimental. Breaking changes may occur in the future.
</p>
<p class="mb-5 text-center">
Rate Limit: 60 Request Per Hour
</p>
<code>
<pre class="bg-white p-1">{{ $data['memes_example'] }}</pre>
</code>
</div>
</div>
</div>
@endsection

View file

@ -6,18 +6,38 @@
<div class="col-md-8">
<div class="card">
<div class="card-header">{{ __('Dashboard') }}</div>
<div class="card-body">
@if (session('status'))
<div class="alert alert-success" role="alert">
{{ session('status') }}
</div>
@endif
{{ __('You are logged in!') }}
</div>
</div>
</div>
</div>
@if ($data['memes_pending'])
<div class="row row-cols-1 row-cols-md-4 grid-memes mt-3">
@foreach ($data['memes_pending'] as $meme)
<div class="col mb-4">
<div class="card">
@if ($meme->image)
<img src="{{ url($meme->image) }}" class="card-img-top mx-auto d-block" alt="{{ $meme->title }} Meme">
@else
<img src="https://picsum.photos/200" class="card-img-top" alt="{{ $meme->title }} Meme">
@endif
<div class="card-body">
<h5 class="card-title">{{ $meme->title }}</h5>
<p class="card-text">{{ $meme->caption }}</p>
<p class="card-text"><a href="{{ url('meme/approve/' . $meme->id) }}">Approve</a> | <a href="{{ url('meme/destroy/' . $meme->id) }}">Delete</a></p>
<p class="card-text">By: <a href="{{ url('/user/' . $meme->user->id) }}">{{ $meme->user->name }}</a></p>
<p class="card-text">{{ $meme->created_at->diffForHumans() }}</p>
</div>
</div>
</div>
@endforeach
</div>
@endif
</div>
@endsection

View file

@ -23,7 +23,7 @@
</a>
<p class="card-text">By: <a href="{{ url('/user/' . $meme->user->id) }}">{{ $meme->user->name }}</a></p>
<p class="card-text">{{ $meme->meme_tips_total }} XMR Recieved</p>
<p class="card-text">{{ $meme->created_at }}</p>
<p class="card-text">{{ $meme->created_at->diffForHumans() }}</p>
</div>
</div>
</div>

View file

@ -13,17 +13,18 @@
<!-- Scripts -->
<script src="{{ asset('js/app.js') }}" defer></script>
<!-- Fonts -->
{{-- <link rel="dns-prefetch" href="//fonts.gstatic.com"> --}}
{{-- <link href="https://fonts.googleapis.com/css?family=Nunito" rel="stylesheet"> --}}
<!-- Styles -->
<link href="{{ asset('css/app.css') }}" rel="stylesheet">
@if (Session::get('theme'))
<link href="{{ url('') . mix('css/app_' . Session::get('theme') . '.css') }}" rel="stylesheet">
@else
<link href="{{ url('') . mix('css/app_light.css') }}" rel="stylesheet">
@endif
</head>
<body>
<div id="app">
<nav class="navbar navbar-expand-md navbar-light bg-white shadow-sm">
<nav class="navbar navbar-expand-md navbar-light bg-light shadow-sm">
<div class="container">
<a class="navbar-brand" href="{{ url('/') }}">
<img class="img-logo" src="{{ url('logo.png') }}" alt="">
@ -51,6 +52,14 @@
<!-- Right Side Of Navbar -->
<ul class="navbar-nav ml-auto">
<span class="nav-item mx-2 my-auto" data-toggle="tooltip" data-placement="bottom" title="{{ Session::get('theme') === 'light' ? 'Dark' : 'Light' }} Theme">
@if (Session::get('theme') === 'dark')
<a class="btn btn-light" href="{{ url('/theme/light') }}" role="button"><i class="fas fa-sun text-primary"></i></a>
@else
<a class="btn btn-light" href="{{ url('/theme/dark') }}" role="button"><i class="far fa-moon text-dark"></i></a>
@endif
</span>
<!-- Authentication Links -->
@guest
@if (Route::has('login'))
@ -96,12 +105,11 @@
</div>
</div>
</nav>
<main class="py-4">
@yield('content')
</main>
<footer class="container-fluid py-5 bg-white shadow-lg text-center">
<footer class="container-fluid py-5 bg-light shadow-lg text-center">
<div class="row">
<div class="col-6 col-md">
<ul class="list-unstyled">
@ -115,7 +123,7 @@
</div>
<div class="col-6 col-md">
<ul class="list-unstyled">
<li><a href="#">API</a></li>
<li><a href="{{ url('api') }}">API</a></li>
</ul>
</div>
<div class="col-6 col-md">

View file

@ -6,6 +6,15 @@
<div class="col-md-8">
<div class="card">
<div class="card-header">{{ __('Submit Meme') }}</div>
@if ($errors->any())
<div class="alert alert-danger mt-3 mb-0">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
<div class="card-body">
<form method="POST" action="{{ route('meme-create') }}" enctype="multipart/form-data">
@csrf

View file

@ -16,6 +16,9 @@
<div class="card">
<div class="card-header">
<h5 class="card-title">{{ $data['meme']->title }}</h5>
@if ($data['meme']->caption)
<p class="card-text mb-1">{{ $data['meme']->caption }}</p>
@endif
<p class="card-text">By: <a href="{{ url('/user/' . $data['meme']->user->id) }}">{{ $data['meme']->user->name }}</a></p>
</div>
@if ($data['meme']->image)
@ -30,7 +33,7 @@
</div>
<div class="card-footer">
<h5 class="card-title">{{ $data['meme']->meme_tips_total }} XMR Recieved</h5>
<p class="card-text">Published {{ $data['meme']->created_at }}</p>
<p class="card-text">Published {{ $data['meme']->created_at->diffForHumans() }}</p>
</div>
</div>
</div>
@ -38,31 +41,62 @@
<div class="row text-center justify-content-center">
<div class="col-md-12">
<h3 class="mt-4 mb-0">Tip The Creator</h3>
<img src="{{ $data['qr'] }}" alt="QR code">
<p class="">{{ $data['meme']->address->address }}</p>
<img class="img-qr" src="{{ $data['qr'] }}" alt="QR code">
<p class="text-break">{{ $data['meme']->address->address }}</p>
</div>
<div class="col-6">
<h3 class="mt-4">Monero Tips Recieved</h3>
<div class="col-12 col-lg-6">
<h4 class="mt-4">Monero Tips Recieved</h4>
<div class="table-responsive-md text-left mt-4">
<table class="table">
<thead>
<tr>
<th scope="col">Amount</th>
<th scope="col">Date Recieved</th>
<th scope="col">Transaction ID</th>
<th scope="col">Date</th>
</tr>
</thead>
<tbody>
@foreach ($data['meme']['tips'] as $tip)
@if ($tip->is_deposit === 1)
<tr>
<td>{{ $tip->amount_formatted }}</td>
<td>{{ $tip->created_at->diffForHumans() }}</td>
<td class="text-truncate">
<a href="https://testnet.xmrchain.net/tx/{{ $tip->txid }}" target="_blank">
{{ $tip->txid }}
</a>
</td>
</tr>
@endif
@endforeach
</tbody>
</table>
</div>
</div>
<div class="col-12 col-lg-6">
<h4 class="mt-4">Monero Tips Sent</h4>
<div class="table-responsive-md text-left mt-4">
<table class="table">
<thead>
<tr>
<td>{{ $tip->amount_formatted }}</td>
<td class="d-inline-block text-truncate" style="max-width: 150px;">
<a href="https://testnet.xmrchain.net/tx/{{ $tip->txid }}" target="_blank">
{{ $tip->txid }}
</a>
</td>
<td>{{ $tip->created_at }}</td>
<th scope="col">Amount</th>
<th scope="col">Date Sent</th>
<th scope="col">Transaction ID</th>
</tr>
</thead>
<tbody>
@foreach ($data['meme']['tips'] as $tip)
@if ($tip->is_deposit === 0)
<tr>
<td>{{ $tip->amount_formatted }}</td>
<td>{{ $tip->created_at->diffForHumans() }}</td>
<td class="text-truncate">
<a href="https://testnet.xmrchain.net/tx/{{ $tip->txid }}" target="_blank">
{{ $tip->txid }}
</a>
</td>
</tr>
@endif
@endforeach
</tbody>
</table>

View file

@ -8,7 +8,7 @@
<p class="text-center">Total Earnings: {{ $data['user']->tips_total }}</h3>
<p class="text-center">Total Memes: {{ $data['user']->memes_total }}</h3>
<div class="row row-cols-1 row-cols-md-4 grid-memes">
@foreach ($data['user']->memes as $meme)
@foreach ($data['memes'] as $meme)
<div class="col mb-4">
<div class="card">
<a href="{{ url('/meme/' . $meme->id) }}">
@ -23,7 +23,7 @@
<h5 class="card-title">{{ $meme->title }}</h5>
</a>
<p class="card-text">{{ $meme->meme_tips_total }} XMR Recieved</p>
<p class="card-text">{{ $meme->created_at }}</p>
<p class="card-text">{{ $meme->created_at->diffForHumans() }}</p>
</div>
</div>
</div>
@ -31,5 +31,8 @@
</div>
</div>
</div>
<div class="d-flex justify-content-center w-100">
{{ $data['memes']->links() }}
</div>
</div>
@endsection