feat/factory_creation (#1)

Prepping for launch.

Reviewed-on: #1
Co-authored-by: Paul Couture <paul@paulcouture.com>
Co-committed-by: Paul Couture <paul@paulcouture.com>
This commit was merged in pull request #1.
This commit is contained in:
2023-12-14 11:33:03 -06:00
committed by Paul Couture
parent 8eb4d14909
commit c4398c641e
342 changed files with 60893 additions and 2557 deletions

View File

@@ -0,0 +1,103 @@
@extends('layouts.master')
@section('page-title', '"' . $artwork->title . '" by ' . $artwork->artist->name)
@section('page-top')
<section class="inner-page-banner bg-2 bg-image">
<div class="container">
<div class="inner text-center">
<h1 class="title">Artwork for {{ $artwork->podcast->name }}
{{ number_format($artwork->episode->episode_number + 0) }}</h1>
<nav class="mt-4">
<ol class="breadcrumb justify-content-center">
<li class="breadcrumb-item"><a href="/">Home</a></li>
<li class="breadcrumb-item"><a href="/artworks">Explore Artwork</a></li>
<li class="breadcrumb-item active">Artwork</li>
</ol>
</nav>
</div>
</div>
</section>
@endsection
@section('page-content')
<section class="product-details section-bg-separation-2 pt-120 pb-90">
<div class="container">
@if (auth()->user() && $artwork->artist->id == auth()->user()->artists()->first()->id)
@if ($artwork->approved_by == null)
<div class="row">
<div class="col">
<div class="alert alert-warning">
<strong>Pending Approval</strong><br>
This artwork has been received by our server, but has not been approved and can only be viewed by you.
Another artist with approval authority will come along shortly and approve it, give them a few minutes.
</div>
</div>
</div>
@endif
@endif
<div class="row">
<div class="col-xxl-6 mb-6">
<div class="explore-style-one">
<div class="thumb"><a href="http://{{ config('app.static_asset_url') }}/artworks/{{ $artwork->filename }}"
><img id="largeImage"src="http://{{ config('app.static_asset_url') }}/artworks/{{ $artwork->filename }}"
alt="{{ $artwork->title }} by {{ $artwork->artist->name }} for {{ $artwork->podcast->title }}"></a>
</div>
</div>
</div>
<div class="col-xxl-6 mb-6 mb-6">
<div class="details-content">
<h2 class="main_title">&ldquo;{{ $artwork->title }}&rdquo;</h2>
<h4 class="mb-1">By {{ $artwork->artist->name }}</h4>
<p class="subtitle">
{{ $artwork->episode->artwork_id == $artwork->id ? 'Selected' : 'Submitted' }} for {{ $artwork->podcast->name }}<br>
Episode {{ number_format($artwork->episode->episode_number + 0) }} &middot;
{{ $artwork->episode->episode_date->format('l, F j') }}<sup>{{ $artwork->episode->episode_date->format('S') }}</sup>,
{{ $artwork->episode->episode_date->format('Y') }}
</p>
@if ($artwork->description)
<h4 class="mb-1">Description</h4>
<p class="subtitle">{{ $artwork->description }}</p>
@endif
<div class="d-flex-between mb-5">
<ul class="nav custom-tabs">
<li>
<a href="http://{{ config('app.static_asset_url') }}/artworks/{{ $artwork->filename }}">Download 3k px Image</a>
</li>
<li>
<a href="http://{{ config('app.static_asset_url') }}/thumbnail/{{ $artwork->filename }}"">Download 512 px Image</a>
</li>
</ul>
</div>
<div class="container">
<div class="row">
<div class="col">
<a href="/podcast/{{ $artwork->episode->podcast->slug }}/episode/{{ $artwork->episode->slug }}"
class="btn btn-medium btn-gradient w-100 justify-content-center mt-5"><span><i
class="ri-headphone-fill"></i>
View Episode
</span></a>
</div>
<div class="col">
<a href="/podcasts/{{ $artwork->podcast->slug }}"
class="btn btn-medium btn-gradient w-100 justify-content-center mt-5"><span><i
class="ri-broadcast-line"></i>
{{ $artwork->podcast->name }} Podcast
</span></a>
</div>
</div>
<div class="row">
<div class="col">
<a href="/artist/{{ $artwork->artist->slug }}"
class="btn btn-medium btn-gradient w-100 justify-content-center mt-5"><span><i
class="ri-user-fill"></i>
View {{ $artwork->artist->name }}'s Artist Profile
</span></a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
@endsection

View File

@@ -0,0 +1,58 @@
<div class="explore-style-one {{ $thisEpisode->artwork_id == $thisArtwork->id ? 'selected' : '' }}">
<div class="thumb">
<a href="/artworks/{{ $thisArtwork->id }}">
<img src="{{ 'http://'
. config('app.static_asset_url')
. '/thumbnails/'
. $thisArtwork->filename ?? '#'}}"
alt="{{ $thisArtwork->title }} by {{ $thisArtwork->artist->name }}">
</a>
</div>
{{-- End .thumb --}}
<div class="content">
<div class="header d-flex-between pt-4 pb-1">
<h3 class="title">
<a href="/episode/{{ $thisEpisode->slug }}">"{{ $thisArtwork->title }}"</a>
</h3>
<div class="more-dropdown "><i class="ri-more-fill" data-bs-toggle="dropdown"></i>
<ul class="dropdown-menu dropdown-menu-dark">
<li><a class="dropdown-item" href="/podcast/{{ $thisPodcast->slug }}">View Podcast</a></li>
<li><a class="dropdown-item" href="/episode/{{ $thisEpisode->slug }}">View Episode</a></li>
<li>
<hr class="dropdown-divider">
</li>
<li><a class="dropdown-item" href="/artist/{{ $thisArtwork->artist->id }}">View Selected Artist</a></li>
</ul>
</div>
</div>
{{-- .header --}}
<div class="product-owner py-1 d-flex-between">
<span class="bid-owner">Artwork By<br><strong><a
href="/artist/{{ $thisArtwork->artist->slug }}">{{ $thisArtwork->artist->name ?? 'Unknown' }}</a></strong></span>
<span class="profile-share d-flex-center"><a href="/artist/{{ $thisArtwork->artist->slug }}"
class="avatar" data-bs-toggle="tooltip"
data-bs-placement="top"
title="{{ $thisArtwork->artist->name }}">
<img src="{{ Vite::asset($thisArtwork->artist->avatar ?? 'resources/img/default_avatars/default_avatar_male.svg') }}"
alt="{{ $thisArtwork->artist->name }}"></a>
</span>
</div>
{{-- End .product-owner --}}
<div class="action-wrapper py-1 d-flex-between">
<span class="bid-owner">
@if($thisArtwork->id == $thisEpisode->artwork_id)
Artwork Selected For
@else
Artwork Submitted For
@endif
<br>
<strong><a href="/podcast/{{ $thisPodcast->slug }}">{{ $thisPodcast->name }}</a></strong>
<br>
<a href="/episode/{{ $thisEpisode->slug }}">Episode {{ number_format($thisEpisode->episode_number + 0) }}<br><em>
{{ $thisEpisode->episode_date->format('D, M j') }}<sup>{{ $thisEpisode->episode_date->format('S') }}</sup>{{ $thisEpisode->episode_date->format(', Y') }}</em></a>
</span>
</div>
{{-- action-wrapper --}}
</div>
{{-- End .content --}}
</div>

View File

@@ -0,0 +1,132 @@
@extends('layouts.master')
@section('page-top')
<section class="inner-page-banner bg-2 bg-image">
<div class="container">
<div class="inner text-center">
<h1 class="title">Submit New Artwork</h1>
<nav class="mt-4">
<ol class="breadcrumb justify-content-center">
<li class="breadcrumb-item"><a href="/">Home</a></li>
<li class="breadcrumb-item"><a href="/artworks">Explore Artwork</a></li>
<li class="breadcrumb-item active">Create</li>
</ol>
</nav>
</div>
</div>
</section>
@endsection
@section('page-content')
<section class="pt-120 pb-90">
<div class="container">
<form action="/create-artwork" method="POST" name="create-artwork" enctype="multipart/form-data">
@csrf
<div class="create-item-wrapper">
@if($errors->any())
<div class="row">
<div class="col">
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
</div>
</div>
@endif
<div class="row">
<div class="col-lg-4">
{{-- file upload area --}}
<div class="upload-area">
<div class="upload-formate mb-6">
<h5 class="title mb-1">
Upload Artwork File
</h5>
<p class="formate">
Drag or choose your file to upload.<br>
It will be resized to 3,000px square <em>(thanks Apple.)</em>
</p>
</div>
<div class="browse-file-wrapper">
{{-- actual upload which is hidden --}}
<input name="file" id="file" type="file" class="inputfile" required />
{{-- our custom upload button --}}
<label for="file" title="No File Choosen">
<i class="ri-upload-cloud-line"></i>
<span class="text-center mb-2">Choose a File</span>
<span class="file-type text-center mt--10">PNG, JPG, JPEG<br>
Max 20Mb<br>
Prefer 3,000px Square</span>
</label>
</div>
@error('file')
<div class="invalid-feedback">{{ $message }}</div>
@enderror
</div>
{{-- end upoad file area --}}
</div>
<div class="col-lg-8">
<div class="form-field-wrapper mb-4">
<div class="row">
<div class="col-md-12 mb-4">
<div class="field-box">
<label for="title" class="form-label">Artwork Title</label>
<input id="title" name="title" type="text" class="@error('title') is-invalid @enderror"
placeholder="e. g. `This Artwork's Title`"
required
value="{{ old('title') }}">
@error('title')
<div class="invalid-feedback">{{ $message }}</div>
@enderror
</div>
</div>
<div class="col-md-12 mb-4">
<div class="field-box">
<label for="description" class="form-label">Artwork Description</label>
<textarea id="description" name="description" rows="3" class="@error('description') is-invalid @enderror"
placeholder="e. g. “This cryptic mess represents...”">{{ old('description') }}</textarea>
@error('description')
<div class="invalid-feedback">{{ $message }}</div>
@enderror
</div>
</div>
<div class="col-md-12 mb-4 pb-4">
<div class="field-box">
<label for="podcast" class="form-label">For Podcast</label>
<select id="podcast" name="podcast" required>
@foreach ($podcasts as $podcast)
<option value="{{ $podcast->id }}" @selected(old('podcast') == $podcast->id)>{{ $podcast->name }}</option>
@endforeach
</select>
</div>
</div>
</div>
{{-- End .row --}}
</div>
</div>
<div class="col">
<p>By submitting this artwork, you agree you have the rights to publish the artwork and are placing this artwork under a
non-revokable <a href="https://creativecommons.org/licenses/by-sa/4.0/">Creative Commons CC BY-SA 4.0 DEED Attribution-ShareAlike 4.0 International</a> license.</p>
</div>
</div>
{{-- End .row --}}
</div>
{{-- End .create-item-wrapper --}}
<div class="row">
<div class="col-md-12">
<div class="d-flex-between upload-btn-wrapper flex-wrap">
<div class="d-flex-center ">
<button type="reset" class="btn btn-gradient btn-medium mr-3"><span>Cancel</span></button>
</div>
<div class="input-box">
<button type="submit" class="btn btn-gradient btn-medium justify-content-center"><span>Submit Artwork.</span></button>
</div>
</div>
</div>
</div>
{{-- ENd .row --}}
</form>
</div>
</section>
@endsection