mirror of
https://github.com/pixelfed/pixelfed.git
synced 2024-12-22 13:03:16 +00:00
Merge pull request #394 from pixelfed/frontend-ui-refactor
Frontend ui refactor
This commit is contained in:
commit
58cda56a07
10 changed files with 265 additions and 6 deletions
|
@ -5,7 +5,7 @@ ARG COMPOSER_CHECKSUM="67bebe9df9866a795078bb2cf21798d8b0214f2e0b2fd81f2e907a8ef
|
|||
|
||||
RUN apk add --no-cache --virtual .build build-base autoconf imagemagick-dev libtool && \
|
||||
apk --no-cache add imagemagick git && \
|
||||
docker-php-ext-install pdo_mysql pcntl && \
|
||||
docker-php-ext-install pdo_mysql pcntl bcmath && \
|
||||
pecl install imagick && \
|
||||
docker-php-ext-enable imagick pcntl imagick && \
|
||||
curl -LsS https://getcomposer.org/download/${COMPOSER_VERSION}/composer.phar -o /tmp/composer.phar && \
|
||||
|
|
|
@ -92,7 +92,7 @@ class AccountController extends Controller
|
|||
|
||||
Mail::to($user->email)->send(new ConfirmEmail($verify));
|
||||
|
||||
return redirect()->back()->with('status', 'Email verification email sent!');
|
||||
return redirect()->back()->with('status', 'Verification email sent!');
|
||||
}
|
||||
|
||||
public function confirmVerifyEmail(Request $request, $userToken, $randomToken)
|
||||
|
|
85
app/Http/Controllers/Admin/AdminReportController.php
Normal file
85
app/Http/Controllers/Admin/AdminReportController.php
Normal file
|
@ -0,0 +1,85 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Carbon\Carbon;
|
||||
use App\{Comment, Like, Media, Profile, Report, Status, User};
|
||||
use App\Http\Controllers\Controller;
|
||||
|
||||
trait AdminReportController
|
||||
{
|
||||
public function updateReport(Request $request, $id)
|
||||
{
|
||||
$this->validate($request, [
|
||||
'action' => 'required|string'
|
||||
]);
|
||||
|
||||
$action = $request->input('action');
|
||||
|
||||
$actions = [
|
||||
'ignore',
|
||||
'cw',
|
||||
'unlist',
|
||||
'delete',
|
||||
'shadowban',
|
||||
'ban'
|
||||
];
|
||||
|
||||
if(!in_array($action, $actions)) {
|
||||
return abort(403);
|
||||
}
|
||||
|
||||
$report = Report::findOrFail($id);
|
||||
|
||||
$this->handleReportAction($report, $action);
|
||||
|
||||
return response()->json(['msg'=> 'Success']);
|
||||
}
|
||||
|
||||
public function handleReportAction(Report $report, $action)
|
||||
{
|
||||
$item = $report->reported();
|
||||
$report->admin_seen = Carbon::now();
|
||||
|
||||
switch ($action) {
|
||||
case 'ignore':
|
||||
$report->not_interested = true;
|
||||
break;
|
||||
|
||||
case 'cw':
|
||||
$item->is_nsfw = true;
|
||||
$item->save();
|
||||
$report->nsfw = true;
|
||||
break;
|
||||
|
||||
case 'unlist':
|
||||
$item->visibility = 'unlisted';
|
||||
$item->save();
|
||||
break;
|
||||
|
||||
case 'delete':
|
||||
// Todo: fire delete job
|
||||
$report->admin_seen = null;
|
||||
break;
|
||||
|
||||
case 'shadowban':
|
||||
// Todo: fire delete job
|
||||
$report->admin_seen = null;
|
||||
break;
|
||||
|
||||
case 'ban':
|
||||
// Todo: fire delete job
|
||||
$report->admin_seen = null;
|
||||
break;
|
||||
|
||||
default:
|
||||
$report->admin_seen = null;
|
||||
break;
|
||||
}
|
||||
|
||||
$report->save();
|
||||
|
||||
return $this;
|
||||
}
|
||||
}
|
|
@ -21,7 +21,7 @@ class SiteController extends Controller
|
|||
|
||||
public function homeGuest()
|
||||
{
|
||||
return view('welcome');
|
||||
return view('site.index');
|
||||
}
|
||||
|
||||
public function homeTimeline()
|
||||
|
|
|
@ -23,7 +23,7 @@ return [
|
|||
| This value is the version of your PixelFed instance.
|
||||
|
|
||||
*/
|
||||
'version' => '0.1.6',
|
||||
'version' => '0.1.7',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
BIN
public/img/online_world.svg
Normal file
BIN
public/img/online_world.svg
Normal file
Binary file not shown.
After Width: | Height: | Size: 19 KiB |
BIN
public/img/sample-post.jpeg
Normal file
BIN
public/img/sample-post.jpeg
Normal file
Binary file not shown.
After Width: | Height: | Size: 100 KiB |
|
@ -9,5 +9,6 @@ return [
|
|||
'settings' => 'הגדרות',
|
||||
'admin' => 'מנהל',
|
||||
'logout' => 'התנתק',
|
||||
|
||||
'directMessages' => 'הודעות ישירות',
|
||||
|
||||
];
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
return [
|
||||
'emptyTimeline' => 'למשתמש זה עדיין אין פוסטים!',
|
||||
'emptyFollowers' => 'למשתמש זה עדיין אין עוקבים!',
|
||||
'emptyFollowing' => 'משתמש זה עדיין אינו עוקב אחרי אף אחד!',
|
||||
'emptyFollowing' => 'משתמש זה עדיין אינו עוקב אחרי אף אחד!',
|
||||
'emptySaved' => 'עדיין לא שמרת שום פוסט!',
|
||||
'savedWarning' => 'רק אתם יכולים לראות את מה ששמרתם',
|
||||
];
|
||||
|
|
172
resources/views/site/index.blade.php
Normal file
172
resources/views/site/index.blade.php
Normal file
|
@ -0,0 +1,172 @@
|
|||
@extends('layouts.app')
|
||||
|
||||
@section('content')
|
||||
|
||||
|
||||
<div class="jumbotron jumbotron-fluid bg-alt text-white my-0">
|
||||
<div class="container text-center mt-5">
|
||||
<h1 class="display-4 font-weight-ultralight">Image Sharing for Everyone</h1>
|
||||
<p class="h3 font-weight-ultralight">A free and ethical photo sharing platform.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="py-3"></div>
|
||||
<div class="container slim d-none d-md-block">
|
||||
<div class="row">
|
||||
<div class="col-12 col-md-4 mb-4">
|
||||
<div class="card bg-transparent" style="box-shadow: none;border:1px solid #fff">
|
||||
<div class="card-body text-white text-center">
|
||||
<p class="font-weight-bold lead mb-0">
|
||||
Ad Free
|
||||
</p>
|
||||
<p class="font-weight-light mb-0">No Ads or Trackers</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 col-md-4 mb-4">
|
||||
<div class="card bg-transparent" style="box-shadow: none;border:1px solid #fff">
|
||||
<div class="card-body text-white text-center">
|
||||
<p class="font-weight-bold lead mb-0">
|
||||
Chronological
|
||||
</p>
|
||||
<p class="font-weight-light mb-0">Timelines in order</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 col-md-4 mb-4">
|
||||
<div class="card bg-transparent" style="box-shadow: none;border:1px solid #fff">
|
||||
<div class="card-body text-white text-center">
|
||||
<p class="font-weight-bold lead mb-0">
|
||||
Federated
|
||||
</p>
|
||||
<p class="font-weight-light mb-0">A network of millions</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 col-md-4">
|
||||
<div class="card bg-transparent" style="box-shadow: none;border:1px solid #fff">
|
||||
<div class="card-body text-white text-center">
|
||||
<p class="font-weight-bold lead mb-0">
|
||||
Discover
|
||||
</p>
|
||||
<p class="font-weight-light mb-0">Discover popular posts</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 col-md-4">
|
||||
<div class="card bg-transparent" style="box-shadow: none;border:1px solid #fff">
|
||||
<div class="card-body text-white text-center">
|
||||
<p class="font-weight-bold lead mb-0">
|
||||
Photo Filters
|
||||
</p>
|
||||
<p class="font-weight-light mb-0">Add an optional filter</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 col-md-4">
|
||||
<div class="card bg-transparent" style="box-shadow: none;border:1px solid #fff">
|
||||
<div class="card-body text-white text-center">
|
||||
<p class="font-weight-bold lead mb-0">
|
||||
Stories
|
||||
</p>
|
||||
<p class="font-weight-light mb-0">Coming Soon!</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="py-5 d-none d-md-block"></div>
|
||||
<div class="container slim d-flex justify-content-center">
|
||||
<div class="card" style="width:500px;">
|
||||
<div class="card-header d-inline-flex align-items-center bg-white">
|
||||
<img src="/storage/avatars/default.png" width="32px" height="32px" style="border-radius: 32px; border: 1px solid #ccc">
|
||||
<span class="username font-weight-bold pl-2 text-dark">
|
||||
username
|
||||
</span>
|
||||
</div>
|
||||
<div class="card-body p-0">
|
||||
<img class="img-fluid" src="/img/sample-post.jpeg">
|
||||
</div>
|
||||
<div class="card-footer bg-white">
|
||||
<div class="likes font-weight-bold mb-2">
|
||||
<span class="like-count">124k</span> likes
|
||||
</div>
|
||||
<div class="caption">
|
||||
<p class="mb-1">
|
||||
<span class="username font-weight-bold">
|
||||
<bdi>username</bdi>
|
||||
</span>
|
||||
<span class="caption-body" data-processed="false">Hello world! <a href="#">#introduction</a></span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="py-5 my-5"></div>
|
||||
<div class="container">
|
||||
<div class="row d-flex align-items-center">
|
||||
<div class="col-12 col-md-5">
|
||||
<img src="/img/online_world.svg" class="img-fluid">
|
||||
</div>
|
||||
<div class="col-12 col-md-7 text-center">
|
||||
<h1 class="h1">Create. Discover. Share.</h1>
|
||||
<p class="h3 font-weight-light">
|
||||
A feature rich photo sharing experience <br>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="py-5 my-5"></div>
|
||||
<div class="bg-white">
|
||||
|
||||
<section class="container slim mt-5">
|
||||
<div class="row py-5">
|
||||
<div class="col-12 my-5 py-5">
|
||||
|
||||
<div class="text-center">
|
||||
<h1 class="display-4">Powered by People</h1>
|
||||
<p class="h3 font-weight-light">
|
||||
Pixelfed is an open-source, federated platform. <br>
|
||||
You can run your own instance or join one. <br>
|
||||
</p>
|
||||
{{-- <p class="pt-5 mb-0">
|
||||
<a class="btn btn-outline-secondary btn-lg font-weight-ultralight mr-3" href="{{route('site.about')}}">About this Instance</a>
|
||||
<a class="btn btn-outline-secondary btn-lg font-weight-ultralight" href="{{route('login')}}">Login</a>
|
||||
</p> --}}
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@push('meta')
|
||||
<meta property="og:description" content="Federated Image Sharing">
|
||||
<style type="text/css">
|
||||
.container.slim {
|
||||
width: auto;
|
||||
max-width: 680px;
|
||||
padding: 0 15px;
|
||||
}
|
||||
.bg-alt {
|
||||
background: #FEAC5E;
|
||||
background: -webkit-linear-gradient(to right, #4BC0C8, #C779D0, #FEAC5E);
|
||||
background: linear-gradient(to right, #4BC0C8, #C779D0, #FEAC5E);
|
||||
}
|
||||
.jumbotron.bg-alt:before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
z-index: -1;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
min-height: 900px;
|
||||
top: 0;
|
||||
-webkit-transform: skewY(-12deg);
|
||||
transform: skewY(-12deg);
|
||||
background: #FEAC5E;
|
||||
background: -webkit-linear-gradient(to right, #4BC0C8, #C779D0, #FEAC5E);
|
||||
background: linear-gradient(to right, #4BC0C8, #C779D0, #FEAC5E);
|
||||
}
|
||||
</style>
|
||||
@endpush
|
Loading…
Reference in a new issue