wip
This commit is contained in:
@ -45,7 +45,7 @@ class Resume extends AdminController {
|
||||
Issues::add( 'error', [ 'There was an error with your request.' => Check::userErrors() ] );
|
||||
return $this->index();
|
||||
}
|
||||
$result = self::$positions->create( Input::post( 'name' ), Input::post( 'position' ), Input::post( 'start' ), Input::post( 'end' ), Input::post( 'details' ) );
|
||||
$result = self::$positions->create( Input::post( 'name' ), Input::post( 'position' ), Input::post( 'start' ), Input::post( 'end' ), Input::post( 'details' ), Input::post( 'detailsNobs' ) );
|
||||
if ( $result ) {
|
||||
Issues::add( 'success', 'Your position has been created.' );
|
||||
return $this->index();
|
||||
@ -69,6 +69,7 @@ class Resume extends AdminController {
|
||||
'start' => Input::post( 'start' ),
|
||||
'end' => Input::post( 'end' ),
|
||||
'details' => Input::post( 'details' ),
|
||||
'details_nobs' => Input::post( 'detailsNobs' ),
|
||||
];
|
||||
if ( self::$positions->update( $data, $fields ) ) {
|
||||
Issues::add( 'success', 'Position Updated.' );
|
||||
|
@ -23,6 +23,15 @@ use TheTempusProject\Houdini\Classes\Template;
|
||||
class Resume extends Controller {
|
||||
protected static $positions;
|
||||
|
||||
|
||||
public function __construct() {
|
||||
parent::__construct();
|
||||
Components::append( 'TEMPLATE_JS_INCLUDES', Template::parse(
|
||||
'<script language="JavaScript" crossorigin="anonymous" type="text/javascript" src="{ROOT_URL}app/plugins/resume/js/resume.js"></script>'
|
||||
) );
|
||||
}
|
||||
|
||||
|
||||
public function index() {
|
||||
self::$positions = new Positions;
|
||||
self::$title = '{SITENAME} - Resume';
|
||||
|
@ -93,7 +93,6 @@
|
||||
/* The actual content */
|
||||
.timeline-content {
|
||||
padding: 20px 30px;
|
||||
background-color: white;
|
||||
position: relative;
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
14
app/plugins/resume/js/resume.js
Normal file
14
app/plugins/resume/js/resume.js
Normal file
@ -0,0 +1,14 @@
|
||||
|
||||
document.addEventListener('DOMContentLoaded', function () {
|
||||
const hideBsCheckbox = document.getElementById('hidebs');
|
||||
|
||||
if (hideBsCheckbox) {
|
||||
hideBsCheckbox.addEventListener('change', function () {
|
||||
const detailsElements = document.querySelectorAll('.details, .details_nobs');
|
||||
detailsElements.forEach(function (element) {
|
||||
console.error(element);
|
||||
element.classList.toggle('d-none');
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
@ -26,6 +26,8 @@ class Positions extends DatabaseModel {
|
||||
[ 'start', 'varchar', '16' ],
|
||||
[ 'end', 'varchar', '16' ],
|
||||
[ 'details', 'text', '' ],
|
||||
[ 'details_nobs', 'text', '' ],
|
||||
[ 'image', 'varchar', '256' ],
|
||||
];
|
||||
public $plugin;
|
||||
|
||||
@ -37,17 +39,21 @@ class Positions extends DatabaseModel {
|
||||
$this->plugin = new Plugin;
|
||||
}
|
||||
|
||||
public function create( $name, $position, $start, $end, $details ) {
|
||||
public function create( $name, $position, $start, $end, $details, $detailsNobs = '' ) {
|
||||
if ( !$this->plugin->checkEnabled() ) {
|
||||
Debug::info( 'Resume is disabled in the config.' );
|
||||
return false;
|
||||
}
|
||||
if ( empty( $detailsNobs ) ) {
|
||||
$detailsNobs = $details;
|
||||
}
|
||||
$fields = [
|
||||
'name' => $name,
|
||||
'position' => $position,
|
||||
'start' => $start,
|
||||
'end' => $end,
|
||||
'details' => $details,
|
||||
'details_nobs' => $detailsNobs,
|
||||
];
|
||||
if ( !self::$db->insert( $this->tableName, $fields ) ) {
|
||||
Debug::info( 'Position::create - failed to insert to db' );
|
||||
|
@ -15,5 +15,8 @@
|
||||
<label for="details">Details:</label><br>
|
||||
<textarea id="details" name="details" rows="20" cols="50" required></textarea><br><br>
|
||||
|
||||
<label for="details">Details ( No BS ):</label><br>
|
||||
<textarea id="detailsNobs" name="detailsNobs" rows="20" cols="50" required></textarea><br><br>
|
||||
|
||||
<input type="submit" name="submit" value="Submit">
|
||||
</form>
|
@ -15,5 +15,8 @@
|
||||
<label for="details">Details:</label><br>
|
||||
<textarea id="details" name="details" rows="20" cols="50" required>{details}</textarea><br><br>
|
||||
|
||||
<label for="details">Details ( No BS ):</label><br>
|
||||
<textarea id="detailsNobs" name="detailsNobs" rows="20" cols="50" required>{details_nobs}</textarea><br><br>
|
||||
|
||||
<input type="submit" name="submit" value="Submit">
|
||||
</form>
|
@ -1,9 +1,9 @@
|
||||
<div class="col-lg-12 text-center" role="group" aria-label="Resume Downloads">
|
||||
<div class="offset-4 col--4 text-center mt-3" role="group" aria-label="Resume Downloads">
|
||||
<div class="btn-group text-center" role="group" aria-label="Resume Downloads">
|
||||
<h3>Download</h3>
|
||||
<a href="/downloads/JoeyKimsey-resume.docx" class="btn btn-default" role="button">Word</a>
|
||||
<a href="/downloads/JoeyKimsey-resume.pdf" class="btn btn-default" role="button">PDF</a>
|
||||
<a href="/downloads/JoeyKimsey-resume.md" class="btn btn-default" role="button">Markdown</a>
|
||||
<a href="/downloads/JoeyKimsey-resume.txt" class="btn btn-default" role="button">Text</a>
|
||||
<h3 class="px-3">Download</h3>
|
||||
<a href="/downloads/JoeyKimsey-resume.docx" class="btn btn-primary" role="button">Word</a>
|
||||
<a href="/downloads/JoeyKimsey-resume.pdf" class="btn btn-primary" role="button">PDF</a>
|
||||
<a href="/downloads/JoeyKimsey-resume.md" class="btn btn-primary" role="button">Markdown</a>
|
||||
<a href="/downloads/JoeyKimsey-resume.txt" class="btn btn-primary" role="button">Text</a>
|
||||
</div>
|
||||
</div>
|
@ -1,4 +1,10 @@
|
||||
<div class="btn-group btn-group-justified" role="group" aria-label="Resume View Type">
|
||||
<a href="?view=tiimeline" class="btn btn-default" role="button">Timeliine</a>
|
||||
<a href="?" class="btn btn-default" role="button">Standard</a>
|
||||
<div class="mb-3 row" role="group" aria-label="Resume View Type">
|
||||
<div class="btn-group btn-group-justified mb-3 col-6 offset-3" role="group" aria-label="Resume View Type">
|
||||
<a href="?view=tiimeline" class="btn btn-primary" role="button">Timeline</a>
|
||||
<a href="?" class="btn btn-primary" role="button">Standard</a>
|
||||
</div>
|
||||
<div class="form-check form-switch mb-3 col-3 d-flex align-items-center">
|
||||
<input class="form-check-input" type="checkbox" role="switch" name="hidebs" id="hidebs" value="true">
|
||||
<label class="form-check-label ps-2" for="hidebs">Hide the BS</label>
|
||||
</div>
|
||||
</div>
|
@ -1,18 +1,34 @@
|
||||
<h1>Resume</h1>
|
||||
<hr>
|
||||
{RESUME_NAV}
|
||||
{LOOP}
|
||||
<div class="resume-position">
|
||||
<h3 class="resume-position-title">{name}</h3>
|
||||
<p><b>{position}</b> from <i>{prettyStart}</i> to <i>{prettyEnd}</i></p>
|
||||
<div class="well">
|
||||
{details}
|
||||
<div class="card context-main context-main-bg col-8 offset-2 my-4 p-3">
|
||||
<h2 class="text-center">Resume</h2>
|
||||
<hr>
|
||||
{RESUME_NAV}
|
||||
{LOOP}
|
||||
<div class="card context-main context-third-bg py-2 my-2 rounded">
|
||||
<div class="row g-0 px-3">
|
||||
<div class="col-md-4 d-flex justify-content-center align-items-center">
|
||||
<img class="img-fluid rounded" src="{image}" alt="{name}">
|
||||
</div>
|
||||
<div class="col-md-8">
|
||||
<div class="card-body">
|
||||
<h4 class="card-title">{name}</h4>
|
||||
<p class="card-text">
|
||||
<b>{position}</b> from <i>{prettyStart}</i> to <i>{prettyEnd}</i>
|
||||
</p>
|
||||
<div class="details card-text">
|
||||
{details}
|
||||
</div>
|
||||
<div class="details_nobs card-text d-none">
|
||||
{details_nobs}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{/LOOP}
|
||||
{ALT}
|
||||
<div class="resume-position">
|
||||
<p>None Found</p>
|
||||
</div>
|
||||
{/ALT}
|
||||
{RESUME_DOWNLOADS}
|
||||
{/LOOP}
|
||||
{ALT}
|
||||
<div class="resume-position">
|
||||
<p>None Found</p>
|
||||
</div>
|
||||
{/ALT}
|
||||
{RESUME_DOWNLOADS}
|
||||
</div>
|
@ -1,22 +1,33 @@
|
||||
<h1>Resume</h1>
|
||||
<hr>
|
||||
{RESUME_NAV}
|
||||
{LOOP}
|
||||
<div class="resume-timeline">
|
||||
<div class="timeline-container {side}">
|
||||
<div class="timeline-content">
|
||||
<h3 class="resume-position-title">{name}</h3>
|
||||
<p><b>{position}</b> from <i>{prettyStart}</i> to <i>{prettyEnd}</i></p>
|
||||
<div class="well">
|
||||
{details}
|
||||
<div class="card context-main context-main-bg col-8 offset-2 my-4 p-3">
|
||||
<h2 class="text-center">Resume</h2>
|
||||
<hr>
|
||||
{RESUME_NAV}
|
||||
<div class="details_nobs card-text d-none text-center col-6 offset-3">
|
||||
<p>
|
||||
Honestly, I really wanted to do something fun and interactive here.
|
||||
Unfortunately I didn't have a specific idea in mind and this was abandoned in favor of spending my time somewhere with a bigger impact.
|
||||
</p>
|
||||
</div>
|
||||
{LOOP}
|
||||
<div class="resume-timeline">
|
||||
<div class="timeline-container {side}">
|
||||
<div class="timeline-content context-third-bg">
|
||||
<h3 class="resume-position-title">{name}</h3>
|
||||
<p><b>{position}</b> from <i>{prettyStart}</i> to <i>{prettyEnd}</i></p>
|
||||
<div class="details card-text">
|
||||
{details}
|
||||
</div>
|
||||
<div class="details_nobs card-text d-none">
|
||||
{details_nobs}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{/LOOP}
|
||||
{ALT}
|
||||
<div class="resume-timeline">
|
||||
<p>None Found</p>
|
||||
</div>
|
||||
{/ALT}
|
||||
{RESUME_DOWNLOADS}
|
||||
{/LOOP}
|
||||
{ALT}
|
||||
<div class="resume-timeline">
|
||||
<p>None Found</p>
|
||||
</div>
|
||||
{/ALT}
|
||||
{RESUME_DOWNLOADS}
|
||||
</div>
|
Reference in New Issue
Block a user