Skip to content

Instantly share code, notes, and snippets.

View JustSteveKing's full-sized avatar
🐘
Building API tools and educational content

Steve McDougall JustSteveKing

🐘
Building API tools and educational content
View GitHub Profile
@JustSteveKing
JustSteveKing / AccountController.php
Last active January 7, 2016 16:22
Using polymorphism in Laravel Auth
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Identity;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class AccountController extends Controller {
@JustSteveKing
JustSteveKing / Colored.vue
Last active April 26, 2018 13:35
Component Structure for Buttons
<template>
<button class="btn" :classList="classList">
<template v-if="this.icons">
<slot></slot>
</template>
{{ this.text }}
</button>
</template>
<script>
@JustSteveKing
JustSteveKing / Laravel Repository.php
Created August 7, 2021 06:57
An example on Laravel Eloquent Repository
<?php
abstract class Repository
{
protected Builder $query;
public function all(): null|Collection
{
return $this->query->get();
}
@JustSteveKing
JustSteveKing / event.js
Created March 2, 2017 15:09
Custom Event Handler
class Event {
constructor() {
this.events = {};
}
fire(event, data) {
const Event = this.events[event];
if( Event ) {
Event.forEach(callback => {
callback.call(null, data);
@JustSteveKing
JustSteveKing / localStorage.size.js
Created March 2, 2017 15:11
A little script to check the size of your localStorage - for management purposes
let total = 0, amount, item;
for (item in localStorage) {
amount = ((localStorage[item].length + item.length) * 2);
total += amount;
}
console.log(`Total = ${(total / 1024).toFixed(2)}KB`);
@JustSteveKing
JustSteveKing / localStorage.async.js
Created March 2, 2017 15:18
Using JavaScript Promises to stop render blocking with localStorage
class Storage {
get(item) {
const request = new Promise((resolve, reject) => {
let data = localStorage.getItem(item);
console.log(`Start of promise`);
(data) ? resolve(data) : reject();
});
request.then((data) => {
console.log(`promise resolved`);
@JustSteveKing
JustSteveKing / Notification.php
Last active March 26, 2023 19:32
Simple Livewire and Tailwind notifications
<?php
namespace App\Http\Livewire;
use Livewire\Component;
class Notification extends Component
{
public $loaded = false;
@JustSteveKing
JustSteveKing / tailwind_light.yaml
Created September 5, 2022 19:18
TailwindCSS Light Warp Theme
accent: "#818cf8"
foreground: "#0f172a"
background: "#f8fafc"
details: "lighter"
terminal_colors:
normal:
red: "#f87171"
yellow: "#facc15"
black: "#0f172a"
cyan: "#22d3ee"
@JustSteveKing
JustSteveKing / Mock Test.md
Created February 1, 2022 09:22
A Mock Tech test

Task

We need a new website built that will show a list of products and categories available from our online store. Our online store is currently available through a third party system API

Our products and categories go through weekly releases, so we need a task in place that will sync our records on a weekly basis.

There is no stock control system needed.

@JustSteveKing
JustSteveKing / State.php
Created August 11, 2023 18:31
US States as a PHP Enum
<?php
declare(strict_types=1);
namespace App\Enums;
enum State: string
{
case ALABAMA = 'AL';
case ALASKA = 'AK';