first commit

This commit is contained in:
2024-11-07 17:16:20 +02:00
commit 75e91e4ddc
152 changed files with 17270 additions and 0 deletions
+46
View File
@@ -0,0 +1,46 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="csrf-token" content="{{ csrf_token() }}">
<title>Login - Radical Hive</title>
@if (env('APP_ENV') === 'production')
<!-- if production -->
<link rel="stylesheet" href="/resources/dist/{{ $manifest['main.js']['css'][0] }}" />
<script type="module" src="/vendor/lucent/dist/{{ $manifest['main.js']['file'] }}"></script>
@else
<!-- if development -->
@vite(['resources/sass/app.scss', 'resources/js/app.js'])
@endif
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Fira+Mono:wght@400;500;700&display=swap" rel="stylesheet">
{{-- <link rel="icon" type="image/x-icon" href="/favicon.ico"/> --}}
</head>
<body>
<div class="login flex">
<div class="loginLeft">
<div class="loginCircle">
<div class="infoPane flex">
<img src="images/beekeper-black.png"></img>
<span class="welcomeText">Welcome to <u>The Hive</u>,<br> a highly reactive place</span>
<div class="logo">
</div>
</div>
</div>
</div>
<div class="loginForm welcomeText">
You will recieve an email with a <u>magic link</u>
</div>
</div>
</body>
</html>
+51
View File
@@ -0,0 +1,51 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="csrf-token" content="{{ csrf_token() }}">
<title>Login - Radical Hive</title>
@if (env('APP_ENV') === 'production')
<!-- if production -->
<link rel="stylesheet" href="/resources/dist/{{ $manifest['main.js']['css'][0] }}" />
<script type="module" src="/vendor/lucent/dist/{{ $manifest['main.js']['file'] }}"></script>
@else
<!-- if development -->
@vite(['resources/sass/app.scss', 'resources/js/app.js'])
@endif
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Fira+Mono:wght@400;500;700&display=swap" rel="stylesheet">
{{-- <link rel="icon" type="image/x-icon" href="/favicon.ico"/> --}}
</head>
<body>
<div class="login flex">
<div class="loginLeft">
<div class="loginCircle">
<div class="infoPane flex">
<img src="images/beekeper-black.png"></img>
<span class="welcomeText">Welcome to <u>The Hive</u>,<br> a highly reactive place</span>
<div class="logo">
</div>
</div>
</div>
</div>
<div class="loginForm">
<span class="blue bold">Log In</span>
<form action="/login" method="POST">
@csrf
<input type="email" name="email" placeholder="Email"></input>
<button type="submit" class="primary">Log in</button>
</form>
</div>
</div>
</body>
</html>
+50
View File
@@ -0,0 +1,50 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="csrf-token" content="{{ csrf_token() }}">
<title>Login - Radical Hive</title>
@if (env('APP_ENV') === 'production')
<!-- if production -->
<link rel="stylesheet" href="/resources/dist/{{ $manifest['main.js']['css'][0] }}" />
<script type="module" src="/vendor/lucent/dist/{{ $manifest['main.js']['file'] }}"></script>
@else
<!-- if development -->
@vite(['resources/sass/app.scss', 'resources/js/app.js'])
@endif
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Fira+Mono:wght@400;500;700&display=swap" rel="stylesheet">
{{-- <link rel="icon" type="image/x-icon" href="/favicon.ico"/> --}}
</head>
<body>
<div class="login flex">
<div class="loginLeft">
<div class="loginCircle">
<div class="infoPane flex">
<img src="images/beekeper-black.png"></img>
<span class="welcomeText">Welcome to <u>The Hive</u>,<br> a highly reactive place</span>
<div class="logo">
</div>
</div>
</div>
</div>
<div class="loginForm welcomeText">
<form method="POST" action="/verify">
@csrf
<input type="hidden" name="email" value="{{ $email }}">
<input type="hidden" name="token" value="{{ $token }}">
<button type="success" class="primary">Enter as {{ $email }}</button>
</form>
</div>
</div>
</body>
</html>
@@ -0,0 +1,7 @@
<div class="searchBar">
<form class="searchBarInput flex">
<input type="text" name="searchbar" placeholder="Search..." wire:change="query($event.target.value)">
<img src={{ asset('images/search.png') }}></img>
</input>
</form>
</div>
+4
View File
@@ -0,0 +1,4 @@
<div class="flex column formGroup">
<label for={{$name}}>{{$label}}</label>
<input type="text" name="{{$name}}" id={{$name}}>
</div>
@@ -0,0 +1,4 @@
<div class="flex column formGroup">
<label for={{$name}}>{{$label}}</label>
<div id="editor" wire:ignore></div>
</div>
+4
View File
@@ -0,0 +1,4 @@
<a href="/{{$key}}" class="flex center sidemenuLink {{$key}}@if (Route::getCurrentRoute()->uri == $key) active @endif">
<img class="menuIcon" src={{asset("images/$value-black.png")}}>
<p>{{ucfirst($key)}}</p>
</a>
+110
View File
@@ -0,0 +1,110 @@
@extends('layouts.main')
@section('title')
{{ $title }}
@endsection
@section('content')
<div class="flex grid">
<div class="grid--item">
<div class="grid--item--heading">
<p class="bold">Your honeycombs</p><img src={{asset("images/honeycomb-black.png")}}></img>
</div>
<div class="grid--item--content">
<table class="grid--item--content--table small">
<thead>
<tr>
<th>
Honeycomb name
</th>
<th>
Created by
</th>
<th>
Due Date
</th>
</tr>
</thead>
<tbody>
@if (isset($honeycombs) && !empty($honeycombs->toArray()))
@foreach ($honeycombs as $honeycomb)
<tr>
<td class="black">
<a class="black small" href="#">{{ $honeycomb->name }}
</a>
</td>
{{-- @if (!is_string($honeycomb->createdBy))
{{dump((array)$honeycomb)}} --}}
<td>{{ $honeycomb->createdBy}}</td>
{{-- @else
<td>Alex Lingris</td>
@endif --}}
<td>25/10/25</td>
</tr>
@endforeach
@else
<td rowspan="4" colspan="3">
You have no honeycombs
</td>
@endif
</tbody>
</table>
<div class="grid--item--end">
<a href="/honeycombs" class="primary small honeycombs">All Honeycombs <img
src={{asset("images/honeycomb-black.png")}}></a>
</div>
</div>
</div>
<div class="grid--item">
<div class="grid--item--heading">
<p class="bold">Your honeycombs</p><img src={{asset("images/honeycomb-black.png")}}></img>
</div>
{{-- <div class="grid--item--content">
<ul>
@foreach ($tasks as $task)
<a href="#">
<li class="black">{{ $task->taskName }}</li>
</a>
@endforeach
</ul>
</div> --}}
</div>
<div class="grid--item">
<div class="grid--item--heading">
<p class="bold">Your honeycombs</p><img src={{asset("images/honeycomb-black.png")}}></img>
</div>
<div class="grid--item--content">
<table>
{{-- @foreach ($tasks as $task)
<tr>
<a href="#">
<td class="black">{{ $task->taskName }}</td>
</a>
</tr>
@endforeach --}}
</table>
</div>
</div>
<div class="grid--item">
<div class="grid--item--heading">
<p class="bold">Your honeycombs</p><img src={{asset("images/honeycomb-black.png")}}></img>
</div>
<div class="grid--item--content">
{{-- <ul>
@forelse ($tasks as $task)
<a href="#">
<li class="black">{{ $task->taskName }}</li>
</a>
@empty
No honeycombs found
@endforeach
</ul> --}}
</div>
</div>
</div>
</div>
</main>
@endsection
+112
View File
@@ -0,0 +1,112 @@
@extends('layouts.main')
@section('title')
{{ $title }}
@endsection
@section('content')
<div class="flex">
<div class="grid--item">
<div class="grid--item--heading">
<p class="bold">Honeycombs assigned to you
</p>
<div>
<img src={{asset("images/arrow-right-black.png")}}></img>
<img src={{asset("images/beekeper-black.png")}}></img>
</div>
</div>
<div class="grid--item--content">
<table class="grid--item--content--table small">
<thead>
<tr>
<th>
Honeycomb name
</th>
<th>
Created by
</th>
<th>
Due Date
</th>
</tr>
</thead>
<tbody>
@if (isset($assignedToMe) && !empty($assignedToMe->toArray()))
@foreach ($assignedToMe as $honeycomb)
<tr>
<td class="blue">
<a class="blue small" href="honeycombs/{{$honeycomb->id}}">{{ $honeycomb->name }}
</a>
</td>
<td>{{ $honeycomb->createdBy->name->value}}</td>
<td>25/10/25</td>
</tr>
@endforeach
@else
<td rowspan="4" colspan="3">
You have no honeycombs
</td>
@endif
</tbody>
</table>
</div>
</div>
<div class="grid--item">
<div class="grid--item--heading">
<p class="bold">
Honeycombs created by you
</p>
<div>
<img src={{asset("images/beekeper-black.png")}}></img>
<img src={{asset("images/arrow-right-black.png")}}></img>
</div>
</div>
<div class="grid--item--content">
<table class="grid--item--content--table small">
<thead>
<tr>
<th>
Honeycomb name
</th>
<th>
Created by
</th>
<th>
Due Date
</th>
</tr>
</thead>
<tbody>
@if (isset($honeycombs) && !empty($honeycombs->toArray()))
@foreach ($honeycombs as $honeycomb)
<tr>
<td class="blue">
<a class="blue small" href="#">{{ $honeycomb->name }}
</a>
</td>
<td>{{ $honeycomb->createdBy->name->value}}</td>
<td>25/10/25</td>
</tr>
@endforeach
@else
<td rowspan="4" colspan="3">
You have no honeycombs
</td>
@endif
</tbody>
</table>
<div class="grid--item--end">
<a href="/honeycombs/new" class="primary small add">Create new Honeycomb <img
src="{{asset("images/add-black.png")}}"></a>
</div>
</div>
</div>
</div>
@endsection
+25
View File
@@ -0,0 +1,25 @@
@extends('layouts.main')
@section('title')
{{ $title }}
@endsection
@section('content')
<div class="">
<form class="flex column" width="50px" method="POST" action="new">
@csrf
<x-forms.inputs.text label="Honeycomb Name" name="name" />
<input id="description" type="hidden" name="description">
<livewire:trix />
<div class="flex column formGroup">
<label for="dueDate"> Due Date</label>
<input id="dueDate" type="date" rows="10" name="dueDate"></input>
</div>
<livewire:assign-to />
<button type="submit" class="primary">Submit</button>
</form>
</div>
@endsection
<script>
</script>
@@ -0,0 +1,19 @@
@extends('layouts.main')
@section('title')
{{ $honeycomb->name }}
@endsection
@section('content')
<div class="">
<h1>{{$honeycomb->name}}</h1>
{!! $honeycomb->description !!}
{{$honeycomb->dueDate}}
@foreach($honeycomb->assignTo as $assigned)
Assigned To <button class="primary">{{$assigned->name}}</button>
@endforeach
</div>
@endsection
<script>
</script>
+62
View File
@@ -0,0 +1,62 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="csrf-token" content="{{ csrf_token() }}">
<title>@yield('title') - Radical Hive</title>
@if (env('APP_ENV') === 'production')
<!-- if production -->
<link rel="stylesheet" href="/resources/dist/{{ $manifest['main.js']['css'][0] }}" />
<script type="module" src="/vendor/lucent/dist/{{ $manifest['main.js']['file'] }}"></script>
@else
<!-- if development -->
@vite(['resources/sass/app.scss', 'resources/js/app.js', 'resources/js/main.js'])
@endif
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Fira+Mono:wght@400;500;700&display=swap" rel="stylesheet">
{{-- <link rel="icon" type="image/x-icon" href="/favicon.ico"/> --}}
@livewireStyles
</head>
<body>
@include('menus.desktop')
@section('content')
<main>
<div class="container">
<div class="innerMenu flex center">
<div class="breadcrumb">
@foreach ($breadcrumb as $item)
<span>{{ $item }}</span>
@if (!$loop->last)
>
@endif
@endforeach
</div>
<div class="innerMenu--right flex center flex--end">
<div class="searchBar">
<form class="searchBarInput flex">
<input type="text" name="searchbar" placeholder="Search...">
<img src={{ asset('images/search.png') }}></img>
</input>
</form>
</div>
<div class="notifications">
<div class="circle">AK</div>
</div>
<div class="profile">
<div class="circle">KL</div>
</div>
</div>
</div>
<div class="separator yellow"></div>
@yield('content')
@livewireScripts
</body>
</html>
@@ -0,0 +1,20 @@
<div class="formGroup column flex">
<label for="assignTo">Assign To</label>
<input id="assignTo" type="text" name="query" placeholder="Search by name or email"
wire:model.live="query" autocomplete="off" />
<input type="hidden" value="{{$value}}" name="assignTo">
<div class="queryResponses {{ $display }}">
@foreach ($queryResults as $result)
<button wire:key="$item-{{ $result->id }}" class="results primary" wire:click.prevent="add('{{$result->id}}')">{{ $result->name->value }}</button>
@endforeach
</div>
<div class="selected {{ $display }}">
@foreach ($selection as $selected)
<button wire:key="$selected-{{ $selected->id }}" class="results primary-outlined" wire:click.prevent="remove('{{$selected->id}}')">{{ $selected->name->value }}</button>
@endforeach
</div>
</div>
+65
View File
@@ -0,0 +1,65 @@
<div>
@csrf
<trix-editor class="honeycombDescription" input="description"></trix-editor>
</div>
@script
<script>
const HOST = "/uploadImages"
addEventListener('trix-attachment-add', (event) => {
if (event.attachment.file) {
uploadFileAttachment(event.attachment)
}
})
function uploadFileAttachment(attachment) {
uploadFile(attachment.file, setProgress, setAttributes)
function setProgress(progress) {
attachment.setUploadProgress(progress)
}
function setAttributes(attributes) {
attachment.setAttributes(attributes)
}
}
function uploadFile(file, progressCallback, successCallback) {
var key = createStorageKey(file)
var formData = createFormData(key, file)
var xhr = new XMLHttpRequest()
xhr.open("POST", HOST, true)
xhr.setRequestHeader('X-CSRF-TOKEN', document.getElementsByName("_token")[0].value)
xhr.upload.addEventListener("progress", function(event) {
var progress = event.loaded / event.total * 100
progressCallback(progress)
})
xhr.addEventListener("load", function(event) {
if (xhr.status == 201) {
var attributes = {
url: "/storage/" + xhr.response,
href: "/storage/" + xhr.response
}
successCallback(attributes)
}
})
xhr.send(formData)
}
function createStorageKey(file) {
var name = file.name
return ["storage", "trixImages", name].join("/")
}
function createFormData(key, file) {
var data = new FormData()
data.append("key", key)
data.append("Content-Type", file.type)
data.append("file", file)
return data
}
</script>
@endscript
+11
View File
@@ -0,0 +1,11 @@
<div class="nav">
<a id="logoLink" href="/"><img class="logo" src={{asset("images/beehive-black.png")}}></img>
<p class="logoText"> Radical Hive</p>
</a>
<div class="separator"></div>
<ul class="sidemenu">
@foreach ($menuLinks as $key => $value)
<x-menu.menuItem key={{$key}} value={{$value}} />
@endforeach
</ul>
</div>