Removed all controller and view files related to Colors, Filaments, Filament Types, and Manufacturers.
This commit is contained in:
@@ -1,91 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Http\Controllers;
|
|
||||||
|
|
||||||
use Illuminate\Http\Request;
|
|
||||||
use App\Models\Color;
|
|
||||||
|
|
||||||
class ColorController extends Controller
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* Display a listing of the resource.
|
|
||||||
*/
|
|
||||||
public function index()
|
|
||||||
{
|
|
||||||
// List all colors
|
|
||||||
$colors = Color::all();
|
|
||||||
return view('colors.index', compact('colors'));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Show the form for creating a new resource.
|
|
||||||
*/
|
|
||||||
public function create()
|
|
||||||
{
|
|
||||||
// Create a new color
|
|
||||||
return view('colors.create');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Store a newly created resource in storage.
|
|
||||||
*/
|
|
||||||
public function store(Request $request)
|
|
||||||
{
|
|
||||||
// Store a new color
|
|
||||||
$request->validate([
|
|
||||||
'name' => 'required|string|max:255',
|
|
||||||
'hex' => 'required|string|max:255'
|
|
||||||
]);
|
|
||||||
|
|
||||||
$color = new Color();
|
|
||||||
$color->name = $request->name;
|
|
||||||
$color->hex = $request->hex;
|
|
||||||
$color->save();
|
|
||||||
|
|
||||||
return redirect()->route('colors.index');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Display the specified resource.
|
|
||||||
*/
|
|
||||||
public function show(string $id)
|
|
||||||
{
|
|
||||||
// show single color
|
|
||||||
$color = Color::find($id);
|
|
||||||
return view('colors.show', compact('color'));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Show the form for editing the specified resource.
|
|
||||||
*/
|
|
||||||
public function edit(string $id)
|
|
||||||
{
|
|
||||||
// edit color
|
|
||||||
$color = Color::find($id);
|
|
||||||
return view('colors.edit', compact('color'));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Update the specified resource in storage.
|
|
||||||
*/
|
|
||||||
public function update(Request $request, string $id)
|
|
||||||
{
|
|
||||||
// update color
|
|
||||||
$color = Color::find($id);
|
|
||||||
$color->name = $request->name;
|
|
||||||
$color->hex = $request->hex;
|
|
||||||
$color->save();
|
|
||||||
return redirect()->route('colors.show', $color->id);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Remove the specified resource from storage.
|
|
||||||
*/
|
|
||||||
public function destroy(string $id)
|
|
||||||
{
|
|
||||||
// delete color
|
|
||||||
$color = Color::find($id);
|
|
||||||
$color->delete();
|
|
||||||
return redirect()->route('colors.index');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,143 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Http\Controllers;
|
|
||||||
|
|
||||||
use Illuminate\Http\Request;
|
|
||||||
use App\Models\Filament;
|
|
||||||
use App\Models\Color;
|
|
||||||
use App\Models\FilamentType;
|
|
||||||
use App\Models\Manufacturer;
|
|
||||||
|
|
||||||
class FilamentController extends Controller
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* Display a listing of the resource.
|
|
||||||
*/
|
|
||||||
public function index()
|
|
||||||
{
|
|
||||||
// show all filaments
|
|
||||||
$filaments = Filament::all();
|
|
||||||
$manufacturers = Manufacturer::all();
|
|
||||||
return view('filaments.index', ['filaments' => $filaments, 'manufacturers' => $manufacturers]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Show the form for creating a new resource.
|
|
||||||
*/
|
|
||||||
public function create()
|
|
||||||
{
|
|
||||||
// create a new filament
|
|
||||||
$manufacturers = Manufacturer::all();
|
|
||||||
$types = FilamentType::all();
|
|
||||||
$colors = Color::all();
|
|
||||||
return view('filaments.create', compact('manufacturers', 'types', 'colors'));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Store a newly created resource in storage.
|
|
||||||
*/
|
|
||||||
public function store(Request $request)
|
|
||||||
{
|
|
||||||
// store a new filament
|
|
||||||
$request->validate([
|
|
||||||
'name' => 'required|string|max:255',
|
|
||||||
'description' => 'nullable|string',
|
|
||||||
'color_id' => 'required|exists:colors,id',
|
|
||||||
'type_id' => 'required|exists:filament_types,id',
|
|
||||||
'manufacturer_id' => 'required|exists:manufacturers,id',
|
|
||||||
'weight' => 'required|numeric',
|
|
||||||
'price' => 'nullable|decimal:2',
|
|
||||||
'diameter' => 'required|decimal:2',
|
|
||||||
'stock' => 'required|integer'
|
|
||||||
]);
|
|
||||||
|
|
||||||
$filament = new Filament();
|
|
||||||
$filament->name = $request->name;
|
|
||||||
$filament->description = $request->description;
|
|
||||||
$filament->color_id = $request->color_id;
|
|
||||||
$filament->type_id = $request->type_id;
|
|
||||||
$filament->manufacturer_id = $request->manufacturer_id;
|
|
||||||
$filament->weight = $request->weight;
|
|
||||||
$filament->price = $request->price;
|
|
||||||
$filament->diameter = $request->diameter;
|
|
||||||
$filament->stock = $request->stock;
|
|
||||||
$filament->save();
|
|
||||||
|
|
||||||
ManufacturerController::refresh();
|
|
||||||
return redirect()->route('filaments.index')->with('success', 'Filament created successfully.');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Display the specified resource.
|
|
||||||
*/
|
|
||||||
public function show(string $id)
|
|
||||||
{
|
|
||||||
// show a specific filament
|
|
||||||
$filament = Filament::find($id);
|
|
||||||
$manufacturer = Manufacturer::find($filament->manufacturer_id);
|
|
||||||
$type = FilamentType::find($filament->type_id);
|
|
||||||
$color = Color::find($filament->color_id);
|
|
||||||
return view('filaments.show', compact('filament', 'manufacturer', 'type', 'color'));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Show the form for editing the specified resource.
|
|
||||||
*/
|
|
||||||
public function edit(string $id)
|
|
||||||
{
|
|
||||||
// edit a specific filament
|
|
||||||
$filament = Filament::find($id);
|
|
||||||
$manufacturers = Manufacturer::all();
|
|
||||||
$types = FilamentType::all();
|
|
||||||
$colors = Color::all();
|
|
||||||
return view('filaments.edit', compact('filament', 'manufacturers', 'types', 'colors'));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Update the specified resource in storage.
|
|
||||||
*/
|
|
||||||
public function update(Request $request, string $id)
|
|
||||||
{
|
|
||||||
// update a specific filament
|
|
||||||
$request->validate([
|
|
||||||
'name' => 'required|string|max:255',
|
|
||||||
'description' => 'nullable|string',
|
|
||||||
'color_id' => 'required|exists:colors,id',
|
|
||||||
'type_id' => 'required|exists:filament_types,id',
|
|
||||||
'manufacturer_id' => 'required|exists:manufacturers,id',
|
|
||||||
'weight' => 'required|numeric',
|
|
||||||
'price' => 'nullable|decimal:2',
|
|
||||||
'diameter' => 'required|decimal:2',
|
|
||||||
'stock' => 'required|integer'
|
|
||||||
]);
|
|
||||||
|
|
||||||
$filament = Filament::find($id);
|
|
||||||
$filament->name = $request->name;
|
|
||||||
$filament->description = $request->description;
|
|
||||||
$filament->color_id = $request->color_id;
|
|
||||||
$filament->type_id = $request->type_id;
|
|
||||||
$filament->manufacturer_id = $request->manufacturer_id;
|
|
||||||
$filament->weight = $request->weight;
|
|
||||||
$filament->price = $request->price;
|
|
||||||
$filament->diameter = $request->diameter;
|
|
||||||
$filament->stock = $request->stock;
|
|
||||||
$filament->save();
|
|
||||||
|
|
||||||
ManufacturerController::refresh();
|
|
||||||
|
|
||||||
return redirect()->route('filaments.show', $filament->id)->with('success', 'Filament updated successfully.');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Remove the specified resource from storage.
|
|
||||||
*/
|
|
||||||
public function destroy(string $id)
|
|
||||||
{
|
|
||||||
// delete a specific filament
|
|
||||||
$filament = Filament::find($id);
|
|
||||||
$filament->delete();
|
|
||||||
|
|
||||||
ManufacturerController::refresh();
|
|
||||||
return redirect()->route('filaments.index')->with('success', 'Filament deleted successfully.');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,87 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Http\Controllers;
|
|
||||||
|
|
||||||
use Illuminate\Http\Request;
|
|
||||||
use App\Models\FilamentType;
|
|
||||||
|
|
||||||
class FilamentTypeController extends Controller
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* Display a listing of the resource.
|
|
||||||
*/
|
|
||||||
public function index()
|
|
||||||
{
|
|
||||||
$types = FilamentType::all();
|
|
||||||
return view('types.index', compact('types'));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Show the form for creating a new resource.
|
|
||||||
*/
|
|
||||||
public function create()
|
|
||||||
{
|
|
||||||
//
|
|
||||||
return view('types.create');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Store a newly created resource in storage.
|
|
||||||
*/
|
|
||||||
public function store(Request $request)
|
|
||||||
{
|
|
||||||
//
|
|
||||||
$type = new FilamentType();
|
|
||||||
$type->name = $request->name;
|
|
||||||
$type->description = $request->description;
|
|
||||||
$type->save();
|
|
||||||
return redirect()->route('types.index');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Display the specified resource.
|
|
||||||
*/
|
|
||||||
public function show(string $id)
|
|
||||||
{
|
|
||||||
// Show Single Type
|
|
||||||
$type = FilamentType::find($id);
|
|
||||||
|
|
||||||
|
|
||||||
return view('types.show', compact('type'));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Show the form for editing the specified resource.
|
|
||||||
*/
|
|
||||||
public function edit(string $id)
|
|
||||||
{
|
|
||||||
//
|
|
||||||
$type = FilamentType::find($id);
|
|
||||||
return view('types.edit', compact('type'));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Update the specified resource in storage.
|
|
||||||
*/
|
|
||||||
public function update(Request $request, string $id)
|
|
||||||
{
|
|
||||||
// Store updated type
|
|
||||||
$type = FilamentType::find($id);
|
|
||||||
$type->name = $request->name;
|
|
||||||
$type->description = $request->description;
|
|
||||||
$type->save();
|
|
||||||
return redirect()->route('types.show', $type->id);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Remove the specified resource from storage.
|
|
||||||
*/
|
|
||||||
public function destroy(string $id)
|
|
||||||
{
|
|
||||||
// Delete Type
|
|
||||||
$type = FilamentType::find($id);
|
|
||||||
$type->delete();
|
|
||||||
return redirect()->route('types.index')->with('success','Type deleted successfully.');
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,106 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Http\Controllers;
|
|
||||||
|
|
||||||
use Illuminate\Http\Request;
|
|
||||||
use App\Models\Manufacturer;
|
|
||||||
use App\Models\Filament;
|
|
||||||
|
|
||||||
class ManufacturerController extends Controller
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* Display a listing of the resource.
|
|
||||||
*/
|
|
||||||
public function index()
|
|
||||||
{
|
|
||||||
// show all manufacturers
|
|
||||||
$manufacturers = Manufacturer::all()->sortBy('name');
|
|
||||||
return view('manufacturers.index', compact('manufacturers'));
|
|
||||||
}
|
|
||||||
|
|
||||||
public static function refresh()
|
|
||||||
{
|
|
||||||
foreach (Manufacturer::all() as $manufacturer) {
|
|
||||||
$manufacturer->filament_count = Filament::all()->where('manufacturer_id', $manufacturer->id)->count();
|
|
||||||
$manufacturer->save();
|
|
||||||
}
|
|
||||||
return redirect()->route('manufacturers.index')->with('success', 'Manufacturer count refreshed successfully.');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Show the form for creating a new resource.
|
|
||||||
*/
|
|
||||||
public function create()
|
|
||||||
{
|
|
||||||
// create a new manufacturer
|
|
||||||
return view('manufacturers.create');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Store a newly created resource in storage.
|
|
||||||
*/
|
|
||||||
public function store(Request $request)
|
|
||||||
{
|
|
||||||
// store a new manufacturer
|
|
||||||
$request->validate([
|
|
||||||
'name' => 'required|string|max:255'
|
|
||||||
]);
|
|
||||||
|
|
||||||
$manufacturer = new Manufacturer();
|
|
||||||
$manufacturer->name = $request->name;
|
|
||||||
$manufacturer->description = $request->description;
|
|
||||||
$manufacturer->website = $request->website;
|
|
||||||
$manufacturer->save();
|
|
||||||
|
|
||||||
return redirect()->route('manufacturers.index')->with('success', 'Manufacturer created successfully.');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Display the specified resource.
|
|
||||||
*/
|
|
||||||
public function show(string $id)
|
|
||||||
{
|
|
||||||
// show a specific manufacturer
|
|
||||||
$manufacturer = Manufacturer::find($id);
|
|
||||||
return view('manufacturers.show', compact('manufacturer'));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Show the form for editing the specified resource.
|
|
||||||
*/
|
|
||||||
public function edit(string $id)
|
|
||||||
{
|
|
||||||
// edit a specific manufacturer
|
|
||||||
$manufacturer = Manufacturer::find($id);
|
|
||||||
return view('manufacturers.edit', compact('manufacturer'));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Update the specified resource in storage.
|
|
||||||
*/
|
|
||||||
public function update(Request $request, string $id)
|
|
||||||
{
|
|
||||||
// update a specific manufacturer
|
|
||||||
$request->validate([
|
|
||||||
'name' => 'required|string|max:255'
|
|
||||||
]);
|
|
||||||
|
|
||||||
$manufacturer = Manufacturer::find($id);
|
|
||||||
$manufacturer->name = $request->name;
|
|
||||||
$manufacturer->description = $request->description;
|
|
||||||
$manufacturer->website = $request->website;
|
|
||||||
$manufacturer->save();
|
|
||||||
return redirect()->route('manufacturers.show', $manufacturer->id)->with('success', 'Manufacturer updated successfully.');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Remove the specified resource from storage.
|
|
||||||
*/
|
|
||||||
public function destroy(string $id)
|
|
||||||
{
|
|
||||||
// delete a specific manufacturer
|
|
||||||
$manufacturer = Manufacturer::find($id);
|
|
||||||
$manufacturer->delete();
|
|
||||||
return redirect()->route('manufacturers.index')->with('success', 'Manufacturer deleted successfully.');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -27,19 +27,21 @@ class Filament extends Component
|
|||||||
public $type_id = '';
|
public $type_id = '';
|
||||||
public $manufacturer_id = '';
|
public $manufacturer_id = '';
|
||||||
public $weight = '1000';
|
public $weight = '1000';
|
||||||
|
public $finish = 'Basic';
|
||||||
public $price = '0';
|
public $price = '0';
|
||||||
public $stock = '0';
|
public $stock = '0';
|
||||||
|
|
||||||
public $search = '';
|
public $search = '';
|
||||||
|
|
||||||
public $editid = '';
|
public $editid = '';
|
||||||
public $deleteid = '';
|
public $deleteid = '';
|
||||||
|
|
||||||
|
|
||||||
public function create() {
|
public function create() {
|
||||||
@Auth::check();
|
@Auth::check();
|
||||||
|
|
||||||
// Validate
|
// Validate
|
||||||
$this->validate();
|
$this->validate();
|
||||||
|
|
||||||
$filament = new Model();
|
$filament = new Model();
|
||||||
$filament->name = $this->name;
|
$filament->name = $this->name;
|
||||||
@@ -47,8 +49,9 @@ class Filament extends Component
|
|||||||
$filament->diameter = $this->diameter;
|
$filament->diameter = $this->diameter;
|
||||||
$filament->color_id = $this->color_id;
|
$filament->color_id = $this->color_id;
|
||||||
$filament->filament_type_id = $this->type_id;
|
$filament->filament_type_id = $this->type_id;
|
||||||
$filament->manufacturer_id = $this->manufacturer_id;
|
$filament->manufacturer_id = $this->manufacturer_id;
|
||||||
$filament->weight = $this->weight;
|
$filament->weight = $this->weight;
|
||||||
|
$filament->finish = $this->finish;
|
||||||
$filament->price = $this->price;
|
$filament->price = $this->price;
|
||||||
$filament->stock = $this->stock;
|
$filament->stock = $this->stock;
|
||||||
$filament->save();
|
$filament->save();
|
||||||
@@ -75,28 +78,30 @@ class Filament extends Component
|
|||||||
$this->type_id = $filament->filament_type_id;
|
$this->type_id = $filament->filament_type_id;
|
||||||
$this->manufacturer_id = $filament->manufacturer_id;
|
$this->manufacturer_id = $filament->manufacturer_id;
|
||||||
$this->weight = $filament->weight;
|
$this->weight = $filament->weight;
|
||||||
|
$filament->finish = $this->finish;
|
||||||
$this->price = $filament->price;
|
$this->price = $filament->price;
|
||||||
$this->stock = $filament->stock;
|
$this->stock = $filament->stock;
|
||||||
|
|
||||||
Flux::modal('editModal')->show();
|
Flux::modal('editModal')->show();
|
||||||
}
|
}
|
||||||
public function save($editid) {
|
public function save($editid) {
|
||||||
@Auth::check();
|
@Auth::check();
|
||||||
|
|
||||||
$filament = Model::findOrFail($editid);
|
$filament = Model::findOrFail($editid);
|
||||||
$filament->name = $this->name;
|
$filament->name = $this->name;
|
||||||
$filament->description = $this->description;
|
$filament->description = $this->description;
|
||||||
$filament->diameter = $this->diameter;
|
$filament->diameter = $this->diameter;
|
||||||
$filament->color_id = $this->color_id;
|
$filament->color_id = $this->color_id;
|
||||||
$filament->filament_type_id = $this->type_id;
|
$filament->filament_type_id = $this->type_id;
|
||||||
$filament->manufacturer_id = $this->manufacturer_id;
|
$filament->manufacturer_id = $this->manufacturer_id;
|
||||||
$filament->weight = $this->weight;
|
$filament->weight = $this->weight;
|
||||||
|
$filament->finish = $this->finish;
|
||||||
$filament->price = $this->price;
|
$filament->price = $this->price;
|
||||||
$filament->stock = $this->stock;
|
$filament->stock = $this->stock;
|
||||||
$filament->save();
|
$filament->save();
|
||||||
|
|
||||||
$this->resetInputFields();
|
$this->resetInputFields();
|
||||||
|
|
||||||
Flux::modal('editModal')->close();
|
Flux::modal('editModal')->close();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -114,6 +119,7 @@ class Filament extends Component
|
|||||||
$this->type_id = $filament->filament_type_id;
|
$this->type_id = $filament->filament_type_id;
|
||||||
$this->manufacturer_id = $filament->manufacturer_id;
|
$this->manufacturer_id = $filament->manufacturer_id;
|
||||||
$this->weight = $filament->weight;
|
$this->weight = $filament->weight;
|
||||||
|
$this->finish = $filament->finish;
|
||||||
$this->price = $filament->price;
|
$this->price = $filament->price;
|
||||||
$this->stock = $filament->stock;
|
$this->stock = $filament->stock;
|
||||||
|
|
||||||
@@ -136,7 +142,7 @@ class Filament extends Component
|
|||||||
Flux::modals()->close();
|
Flux::modals()->close();
|
||||||
}
|
}
|
||||||
public function resetInputFields() {
|
public function resetInputFields() {
|
||||||
$this->reset(['name', 'description', 'diameter', 'color_id', 'type_id', 'manufacturer_id', 'weight', 'price', 'stock', 'deleteid', 'editid']);
|
$this->reset(['name', 'description', 'diameter', 'color_id', 'type_id', 'manufacturer_id', 'weight', 'price', 'finish', 'deleteid', 'editid']);
|
||||||
}
|
}
|
||||||
public function render()
|
public function render()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ use Livewire\Attributes\title;
|
|||||||
use Livewire\Attributes\Validate;
|
use Livewire\Attributes\Validate;
|
||||||
use Flux\Flux;
|
use Flux\Flux;
|
||||||
use Illuminate\Support\Facades\Auth;
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
use App\Models\Filament;
|
||||||
|
|
||||||
#[title('Manufacturer List')]
|
#[title('Manufacturer List')]
|
||||||
class Manufacturer extends Component{
|
class Manufacturer extends Component{
|
||||||
@@ -30,7 +31,7 @@ class Manufacturer extends Component{
|
|||||||
|
|
||||||
|
|
||||||
// Validate
|
// Validate
|
||||||
$this->validate();
|
$this->validate();
|
||||||
|
|
||||||
$manufacturer = new Model();
|
$manufacturer = new Model();
|
||||||
$manufacturer->name = $this->name;
|
$manufacturer->name = $this->name;
|
||||||
@@ -55,12 +56,12 @@ class Manufacturer extends Component{
|
|||||||
$this->name = $manufacturer->name;
|
$this->name = $manufacturer->name;
|
||||||
$this->description = $manufacturer->description;
|
$this->description = $manufacturer->description;
|
||||||
$this->website = $manufacturer->website;
|
$this->website = $manufacturer->website;
|
||||||
|
|
||||||
Flux::modal('editModal')->show();
|
Flux::modal('editModal')->show();
|
||||||
}
|
}
|
||||||
public function save($editid) {
|
public function save($editid) {
|
||||||
@Auth::check();
|
@Auth::check();
|
||||||
|
|
||||||
$manufacturer = Model::findOrFail($editid);
|
$manufacturer = Model::findOrFail($editid);
|
||||||
$manufacturer->name = $this->name;
|
$manufacturer->name = $this->name;
|
||||||
$manufacturer->description = $this->description;
|
$manufacturer->description = $this->description;
|
||||||
@@ -68,7 +69,7 @@ class Manufacturer extends Component{
|
|||||||
$manufacturer->save();
|
$manufacturer->save();
|
||||||
|
|
||||||
$this->resetInputFields();
|
$this->resetInputFields();
|
||||||
|
|
||||||
Flux::modal('editModal')->close();
|
Flux::modal('editModal')->close();
|
||||||
}
|
}
|
||||||
public function deleteModal($manufacturerid) {
|
public function deleteModal($manufacturerid) {
|
||||||
@@ -105,6 +106,7 @@ class Manufacturer extends Component{
|
|||||||
|
|
||||||
public function render()
|
public function render()
|
||||||
{
|
{
|
||||||
|
|
||||||
return view('livewire.filament.manufacturer', [
|
return view('livewire.filament.manufacturer', [
|
||||||
'manufacturers' => Model::search('name', $this->search)->paginate(10)
|
'manufacturers' => Model::search('name', $this->search)->paginate(10)
|
||||||
]);
|
]);
|
||||||
|
|||||||
@@ -42,6 +42,18 @@
|
|||||||
--color-pumpkin-900: #7e2610;
|
--color-pumpkin-900: #7e2610;
|
||||||
--color-pumpkin-950: #440f06;
|
--color-pumpkin-950: #440f06;
|
||||||
|
|
||||||
|
--color-olivine-50: #f3f7ee;
|
||||||
|
--color-olivine-100: #e4edda;
|
||||||
|
--color-olivine-200: #ccdeb8;
|
||||||
|
--color-olivine-300: #a1c181;
|
||||||
|
--color-olivine-400: #8cb16a;
|
||||||
|
--color-olivine-500: #6f964c;
|
||||||
|
--color-olivine-600: #55763a;
|
||||||
|
--color-olivine-700: #435b30;
|
||||||
|
--color-olivine-800: #384a2a;
|
||||||
|
--color-olivine-900: #324027;
|
||||||
|
--color-olivine-950: #182211;
|
||||||
|
|
||||||
--color-nuke-50: oklch(0.99 0.0358 117.24);
|
--color-nuke-50: oklch(0.99 0.0358 117.24);
|
||||||
--color-nuke-100: oklch(0.97 0.0779 120.18);
|
--color-nuke-100: oklch(0.97 0.0779 120.18);
|
||||||
--color-nuke-200: oklch(0.95 0.1412 121.89);
|
--color-nuke-200: oklch(0.95 0.1412 121.89);
|
||||||
|
|||||||
@@ -1,36 +0,0 @@
|
|||||||
<x-app-layout>
|
|
||||||
<x-slot name="header">
|
|
||||||
{{ __('Create Colors') }}
|
|
||||||
</x-slot>
|
|
||||||
|
|
||||||
<x-slot name="headeraction">
|
|
||||||
<div class="flex gap-4 justify-end">
|
|
||||||
<a href="{{ route('colors.index') }}" class=" text-zinc-50 hover:text-zinc-300 font-bold text-base py-2 px-4 rounded cursor-pointer">Back</a>
|
|
||||||
<a href="{{ route('colors.store') }}" onclick="event.preventDefault(); document.getElementById('create-color-form').submit();" class="bg-green-500 hover:bg-green-700 text-zinc-700 hover:text-white font-bold text-base py-2 px-4 rounded cursor-pointer">Submit</a>
|
|
||||||
</div>
|
|
||||||
</x-slot>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="py-12">
|
|
||||||
<div class="max-w-7xl mx-auto sm:px-6 lg:px-8">
|
|
||||||
<div class="bg-white dark:bg-zinc-700 p-4 overflow-hidden shadow-xl sm:rounded-lg">
|
|
||||||
<form id="create-color-form" class="flex flex-col gap-6" method="POST" action="{{ route('colors.store') }}">
|
|
||||||
@csrf
|
|
||||||
<div class="form-group flex flex-col">
|
|
||||||
<label for="name" class="text-lg ">Name</label>
|
|
||||||
<input type="text" id="name" name="name" class="form-control bg-white dark:bg-zinc-800 border-zinc-50 dark:border-zinc-600 rounded" required="">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="form-group flex flex-col">
|
|
||||||
<label for="name" class="text-lg ">Hex Code</label>
|
|
||||||
<input type="text" id="hex" name="hex" class="form-control bg-white dark:bg-zinc-800 border-zinc-50 dark:border-zinc-600 rounded" required="">
|
|
||||||
</div>
|
|
||||||
<div class="flex justify-end gap-4">
|
|
||||||
<a href="{{ route('colors.index') }}" class="bg-zinc-500 hover:bg-zinc-700 text-zinc-800 hover:text-white font-bold py-2 px-4 rounded cursor-pointer">Cancel</a>
|
|
||||||
<button type="submit" class="bg-green-500 hover:bg-green-700 text-zinc-800 hover:text-white font-bold py-2 px-4 rounded cursor-pointer">Submit</button>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</x-app-layout>
|
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
<x-app-layout>
|
|
||||||
<x-slot name="header">
|
|
||||||
{{ __('Edit Colors') }}
|
|
||||||
</x-slot>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="py-12">
|
|
||||||
<div class="max-w-7xl mx-auto sm:px-6 lg:px-8">
|
|
||||||
<div class="bg-white dark:bg-zinc-700 p-4 overflow-hidden shadow-xl sm:rounded-lg">
|
|
||||||
<form id="update-color-form" class="flex flex-col gap-6" method="POST" action="{{ route('colors.update', $color->id) }}">
|
|
||||||
@csrf
|
|
||||||
@method('PUT')
|
|
||||||
<div class="form-group flex flex-col">
|
|
||||||
<label for="name" class="text-lg ">Name</label>
|
|
||||||
<input type="text" id="name" name="name" class="form-control bg-white dark:bg-zinc-800 border-zinc-50 dark:border-zinc-600 rounded" required="" value="{{ $color->name }}">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="form-group flex flex-col">
|
|
||||||
<label for="name" class="text-lg ">Hex Code</label>
|
|
||||||
<input type="text" id="hex" name="hex" class="form-control bg-white dark:bg-zinc-800 border-zinc-50 dark:border-zinc-600 rounded" required="" value="{{ $color->hex }}">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="flex justify-end gap-4">
|
|
||||||
<a href="{{ route('colors.index') }}" class="bg-zinc-500 hover:bg-zinc-700 text-zinc-800 hover:text-white font-bold py-2 px-4 rounded cursor-pointer">Cancel</a>
|
|
||||||
<button type="submit" class="bg-green-500 hover:bg-green-700 text-zinc-800 hover:text-white font-bold py-2 px-4 rounded cursor-pointer">Submit</button>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</x-app-layout>
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
<x-app-layout>
|
|
||||||
<x-slot name="header">
|
|
||||||
{{ __('Colors') }}
|
|
||||||
</x-slot>
|
|
||||||
|
|
||||||
<x-slot name="headeraction">
|
|
||||||
<div class="flex gap-4 justify-end">
|
|
||||||
<a href="{{ route('colors.create') }}" class="bg-zinc-500 hover:bg-green-500 text-zinc-50 hover:text-zinc-700 font-bold text-base py-2 px-4 rounded cursor-pointer">Create</a>
|
|
||||||
</div>
|
|
||||||
</x-slot>
|
|
||||||
|
|
||||||
<div class="py-12">
|
|
||||||
<div class="max-w-7xl mx-auto sm:px-6 lg:px-8">
|
|
||||||
<div class="bg-white dark:bg-zinc-700 overflow-hidden shadow-xl sm:rounded-lg">
|
|
||||||
<div class="grid">
|
|
||||||
@foreach ($colors as $color)
|
|
||||||
<div class="flex gap-6 py-3 px-4 items-center">
|
|
||||||
<div class="w-10 h-10 rounded" style="background-color: {{ $color->hex }}"></div>
|
|
||||||
<div class="p-2"><a href="/colors/{{ $color->id }}">{{ $color->name }}</a></div>
|
|
||||||
<div class="p-2"><a href="/colors/{{ $color->id }}">{{ $color->hex }}</a></div>
|
|
||||||
</div>
|
|
||||||
@endforeach
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</x-app-layout>
|
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
<x-app-layout>
|
|
||||||
<x-slot name="header">
|
|
||||||
{{ $color->name }}
|
|
||||||
</x-slot>
|
|
||||||
|
|
||||||
<x-slot name="headeraction">
|
|
||||||
<div class="flex gap-4 justify-end">
|
|
||||||
<a href="{{ route('colors.index') }}" class=" text-zinc-50 hover:text-zinc-300 font-bold text-base py-2 px-4 rounded cursor-pointer">Back</a>
|
|
||||||
<a href="{{ route('colors.edit', $color->id) }}" class="bg-zinc-500 hover:bg-zinc-700 text-zinc-50 hover:text-white font-bold text-base py-2 px-4 rounded cursor-pointer">Edit</a>
|
|
||||||
<a href="{{ route('colors.destroy', $color->id) }}" onclick="event.preventDefault(); document.getElementById('delete-form-{{ $color->id }}').submit();" class="bg-red-500 hover:bg-red-500 text-zinc-50 hover:text-white font-bold text-base py-2 px-4 rounded cursor-pointer">Delete</a>
|
|
||||||
</div>
|
|
||||||
</x-slot>
|
|
||||||
|
|
||||||
<div class="py-12">
|
|
||||||
<div class="max-w-7xl mx-auto sm:px-6 lg:px-8">
|
|
||||||
<div class="bg-white dark:bg-zinc-700 overflow-hidden shadow-xl sm:rounded-lg">
|
|
||||||
<div class="p-4">
|
|
||||||
<div class="text-lg font-bold">Hex Code</div>
|
|
||||||
<div class="p-4">
|
|
||||||
{{ $color->hex }}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<form id="delete-form-{{ $color->id }}" method="POST" action="{{ route('colors.destroy', $color->id) }}" class="hidden">
|
|
||||||
@csrf
|
|
||||||
@method('DELETE')
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</x-app-layout>
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
<div class="bg-white w-full border-b border-jet-200">
|
<div class="bg-jet-900 w-full border-b border-jet-900">
|
||||||
<div class="container mx-auto py-6 px-4 sm:px-6 lg:px-8 flex justify-between items-center">
|
<div class="container mx-auto py-6 px-4 sm:px-6 lg:px-8 flex justify-between items-center">
|
||||||
<x-header.header-left>
|
<x-header.header-left>
|
||||||
@isset($headerleft)
|
@isset($headerleft)
|
||||||
@@ -6,7 +6,7 @@
|
|||||||
@endisset
|
@endisset
|
||||||
</x-header.header-left>
|
</x-header.header-left>
|
||||||
<div>
|
<div>
|
||||||
<h2 class="font-semibold text-2xl text-jet leading-tight">
|
<h2 class="font-semibold text-2xl text-jet-50 leading-tight">
|
||||||
{{ $slot }}
|
{{ $slot }}
|
||||||
</h2>
|
</h2>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
|
|
||||||
<title>{{ $title . ' | ' . config('app.name') ?? config('app.name') }}</title>
|
<title>{{ $title . ' | ' . config('app.name') ?? config('app.name') }}</title>
|
||||||
</head>
|
</head>
|
||||||
<body class="font-sans antialiased bg-jet-100 ">
|
<body class="font-sans antialiased bg-jet-950/50">
|
||||||
<x-navbar />
|
<x-navbar />
|
||||||
<div class="flex flex-row">
|
<div class="flex flex-row">
|
||||||
<!--
|
<!--
|
||||||
|
|||||||
@@ -1,42 +1,4 @@
|
|||||||
<section class="bg-jet">
|
<section class="bg-jet-950">
|
||||||
<nav class="bg-jet">
|
|
||||||
<div class="mx-auto max-w-7xl px-4 sm:px-6 lg:px-8">
|
|
||||||
<div class="flex h-16 items-center justify-between">
|
|
||||||
<div class="flex items-center">
|
|
||||||
<div class="flex-shrink-0">
|
|
||||||
<a href="{{ route('dashboard') }}">
|
|
||||||
<h3 class="text-pumpkin">FilamentApp</h3>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
<div class="hidden md:block">
|
|
||||||
<div class="ml-10 flex items-baseline space-x-4">
|
|
||||||
<!-- Current: "bg-gray-950/50 text-white", Default: "text-gray-300 hover:bg-white/5 hover:text-white" -->
|
|
||||||
<a href="{{ route('dashboard') }}" wire:navigate wire:current.exact="bg-white/10" class="rounded-md px-3 py-2 text-sm font-medium text-gray-300 hover:bg-white/5 hover:text-white">Dashboard</a>
|
|
||||||
<a href="{{ route('orders.index') }}" wire:navigate wire:current="bg-white/10" class="rounded-md px-3 py-2 text-sm font-medium text-gray-300 hover:bg-white/5 hover:text-white">Orders</a>
|
|
||||||
<a href="{{ route('filaments.index') }}" wire:navigate wire:current="bg-white/10" class="rounded-md px-3 py-2 text-sm font-medium text-gray-300 hover:bg-white/5 hover:text-white">Filaments</a>
|
|
||||||
<a href="{{ route('manufacturers.index') }}" wire:navigate wire:current="bg-white/10" class="rounded-md px-3 py-2 text-sm font-medium text-gray-300 hover:bg-white/5 hover:text-white">Manufacturers</a>
|
|
||||||
<a href="{{ route('colors.index') }}" wire:navigate wire:current="bg-white/10" class="rounded-md px-3 py-2 text-sm font-medium text-gray-300 hover:bg-white/5 hover:text-white">Colors</a>
|
|
||||||
<a href="{{ route('buildplates.index') }}" wire:navigate wire:current="bg-white/10" class="rounded-md px-3 py-2 text-sm font-medium text-gray-300 hover:bg-white/5 hover:text-white">Buildplates</a>
|
|
||||||
<a href="{{ route('types.index') }}" wire:navigate wire:current="bg-white/10" class="rounded-md px-3 py-2 text-sm font-medium text-gray-300 hover:bg-white/5 hover:text-white">Types</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="hidden md:block">
|
|
||||||
<div class="ml-4 flex items-center md:ml-6">
|
|
||||||
<a href="{{ route('settings.index') }}" wire:navigate wire:current.exact="bg-white/10" class="rounded-md px-3 py-2 text-sm font-medium text-gray-300 hover:bg-white/5 hover:text-white">
|
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="size-6">
|
|
||||||
<path stroke-linecap="round" stroke-linejoin="round" d="M9.594 3.94c.09-.542.56-.94 1.11-.94h2.593c.55 0 1.02.398 1.11.94l.213 1.281c.063.374.313.686.645.87.074.04.147.083.22.127.325.196.72.257 1.075.124l1.217-.456a1.125 1.125 0 0 1 1.37.49l1.296 2.247a1.125 1.125 0 0 1-.26 1.431l-1.003.827c-.293.241-.438.613-.43.992a7.723 7.723 0 0 1 0 .255c-.008.378.137.75.43.991l1.004.827c.424.35.534.955.26 1.43l-1.298 2.247a1.125 1.125 0 0 1-1.369.491l-1.217-.456c-.355-.133-.75-.072-1.076.124a6.47 6.47 0 0 1-.22.128c-.331.183-.581.495-.644.869l-.213 1.281c-.09.543-.56.94-1.11.94h-2.594c-.55 0-1.019-.398-1.11-.94l-.213-1.281c-.062-.374-.312-.686-.644-.87a6.52 6.52 0 0 1-.22-.127c-.325-.196-.72-.257-1.076-.124l-1.217.456a1.125 1.125 0 0 1-1.369-.49l-1.297-2.247a1.125 1.125 0 0 1 .26-1.431l1.004-.827c.292-.24.437-.613.43-.991a6.932 6.932 0 0 1 0-.255c.007-.38-.138-.751-.43-.992l-1.004-.827a1.125 1.125 0 0 1-.26-1.43l1.297-2.247a1.125 1.125 0 0 1 1.37-.491l1.216.456c.356.133.751.072 1.076-.124.072-.044.146-.086.22-.128.332-.183.582-.495.644-.869l.214-1.28Z" />
|
|
||||||
<path stroke-linecap="round" stroke-linejoin="round" d="M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z" />
|
|
||||||
</svg>
|
|
||||||
</a>
|
|
||||||
|
|
||||||
<!-- Profile dropdown -->
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</nav>
|
|
||||||
<flux:header class="container mx-auto flex items-center">
|
<flux:header class="container mx-auto flex items-center">
|
||||||
<flux:sidebar.toggle class="lg:hidden" icon="bars-2" inset="left" />
|
<flux:sidebar.toggle class="lg:hidden" icon="bars-2" inset="left" />
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
<div class="bg-white p-4 border-jet-100 border rounded-lg shadow">
|
<div>
|
||||||
<table class="w-full rounded-lg">
|
<table class="w-full rounded-lg">
|
||||||
<thead class="border-b border-jet-200 rounded-t-lg">
|
<thead class="border-b border-jet-200 rounded-t-lg">
|
||||||
<tr class="text-left ">
|
<tr class="text-left ">
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
<th {{ $attributes->merge(['class' => 'py-4 px-3 first:pl-6 last:pr-6 text-jet']) }}>
|
<th {{ $attributes->merge(['class' => 'py-4 px-3 first:pl-6 last:pr-6 text-jet-50']) }}>
|
||||||
{{ $slot }}
|
{{ $slot }}
|
||||||
</th>
|
</th>
|
||||||
|
|||||||
@@ -1,80 +0,0 @@
|
|||||||
<x-app-layout>
|
|
||||||
<x-slot name="header">
|
|
||||||
{{ __('Create Filaments') }}
|
|
||||||
</x-slot>
|
|
||||||
|
|
||||||
<x-slot name="headeraction">
|
|
||||||
<div class="flex gap-4 justify-end">
|
|
||||||
<a href="{{ route('filaments.index') }}" class=" text-zinc-50 hover:text-zinc-300 font-bold text-base py-2 px-4 rounded cursor-pointer">Back</a>
|
|
||||||
<a href="{{ route('filaments.store') }}" onclick="event.preventDefault(); document.getElementById('create-filament-form').submit();" class="bg-green-500 hover:bg-green-700 text-zinc-700 hover:text-white font-bold text-base py-2 px-4 rounded cursor-pointer">Submit</a>
|
|
||||||
</div>
|
|
||||||
</x-slot>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="py-12">
|
|
||||||
<div class="max-w-7xl mx-auto sm:px-6 lg:px-8">
|
|
||||||
<div class="bg-white dark:bg-zinc-700 p-4 overflow-hidden shadow-xl sm:rounded-lg">
|
|
||||||
<form id="create-filament-form" class="flex flex-col gap-6" method="POST" action="{{ route('filaments.store') }}">
|
|
||||||
@csrf
|
|
||||||
<div class="form-group flex flex-col">
|
|
||||||
<label for="name" class="text-lg ">Name</label>
|
|
||||||
<input type="text" id="name" name="name" class="form-control bg-white dark:bg-zinc-800 border-zinc-50 dark:border-zinc-600 rounded" required="">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="form-group flex flex-col">
|
|
||||||
<label for="description">Description</label>
|
|
||||||
<textarea name="description" class="form-control bg-white dark:bg-zinc-800 border-zinc-50 dark:border-zinc-600 rounded"></textarea>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="form-group flex flex-col">
|
|
||||||
<label for="manufacturer_id">Manufacturer</label>
|
|
||||||
<select name="manufacturer_id" id="manufacturer_id" class="form-control bg-white dark:bg-zinc-800 border-zinc-50 dark:border-zinc-600 rounded" required="">
|
|
||||||
@foreach ($manufacturers as $manufacturer)
|
|
||||||
<option value="{{ $manufacturer->id }}">{{ $manufacturer->name }}</option>
|
|
||||||
@endforeach
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="form-group flex flex-col">
|
|
||||||
<label for="type_id">FilamentType</label>
|
|
||||||
<select name="type_id" id="type_id" class="form-control bg-white dark:bg-zinc-800 border-zinc-50 dark:border-zinc-600 rounded" required="">
|
|
||||||
@foreach ($types as $type)
|
|
||||||
<option value="{{ $type->id }}">{{ $type->name }}</option>
|
|
||||||
@endforeach
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="form-group flex flex-col">
|
|
||||||
<label for="color_id">FilamentType</label>
|
|
||||||
<select name="color_id" id="color_id" class="form-control bg-white dark:bg-zinc-800 border-zinc-50 dark:border-zinc-600 rounded" required="">
|
|
||||||
@foreach ($colors as $color)
|
|
||||||
<option value="{{ $color->id }}">{{ $color->name }} | {{ $color->hex }}</option>
|
|
||||||
@endforeach
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="form-group flex flex-col">
|
|
||||||
<label for="weight" class="text-lg ">Weight</label>
|
|
||||||
<input type="number" id="weight" name="weight" class="form-control bg-white dark:bg-zinc-800 border-zinc-50 dark:border-zinc-600 rounded" required="">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="form-group flex flex-col">
|
|
||||||
<label for="diameter" class="text-lg ">Diameter</label>
|
|
||||||
<input type="number" step="0.01" id="diameter" name="diameter" class="form-control bg-white dark:bg-zinc-800 border-zinc-50 dark:border-zinc-600 rounded" required="">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="form-group flex flex-col">
|
|
||||||
<label for="price" class="text-lg ">Price</label>
|
|
||||||
<input type="number" step="0.01" id="price" name="price" class="form-control bg-white dark:bg-zinc-800 border-zinc-50 dark:border-zinc-600 rounded" >
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="flex justify-end gap-4">
|
|
||||||
<a href="{{ route('filaments.index') }}" class="bg-zinc-500 hover:bg-zinc-700 text-zinc-800 hover:text-white font-bold py-2 px-4 rounded cursor-pointer">Cancel</a>
|
|
||||||
<button type="submit" class="bg-green-500 hover:bg-green-700 text-zinc-800 hover:text-white font-bold py-2 px-4 rounded cursor-pointer">Submit</button>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</x-app-layout>
|
|
||||||
@@ -1,80 +0,0 @@
|
|||||||
<x-app-layout>
|
|
||||||
<x-slot name="header">
|
|
||||||
{{ __('Edit Filament') }}
|
|
||||||
</x-slot>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="py-12">
|
|
||||||
<div class="max-w-7xl mx-auto sm:px-6 lg:px-8">
|
|
||||||
<div class="bg-white dark:bg-zinc-700 p-4 overflow-hidden shadow-xl sm:rounded-lg">
|
|
||||||
<form id="update-color-form" class="flex flex-col gap-6" method="POST" action="{{ route('filaments.update', $filament->id) }}">
|
|
||||||
@csrf
|
|
||||||
@method('PUT')
|
|
||||||
<div class="form-group flex flex-col">
|
|
||||||
<label for="name" class="text-lg ">Name</label>
|
|
||||||
<input type="text" id="name" name="name" class="form-control bg-white dark:bg-zinc-800 border-zinc-50 dark:border-zinc-600 rounded" required="" value="{{ $filament->name }}">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="form-group flex flex-col">
|
|
||||||
<label for="description">Description</label>
|
|
||||||
<textarea name="description" class="form-control bg-white dark:bg-zinc-800 border-zinc-50 dark:border-zinc-600 rounded" value="{{ $filament->description }}"></textarea>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="form-group flex flex-col">
|
|
||||||
<label for="manufacturer_id">Manufacturer</label>
|
|
||||||
<select name="manufacturer_id" id="manufacturer_id" class="form-control bg-white dark:bg-zinc-800 border-zinc-50 dark:border-zinc-600 rounded" required="" placeholder="{{ $filament->manufacturer_id }}">
|
|
||||||
@foreach ($manufacturers as $manufacturer)
|
|
||||||
<option value="{{ $manufacturer->id }}" @if($manufacturer->id == $filament->manufacturer_id){{ 'selected' }} @endif>
|
|
||||||
{{ $manufacturer->name }}
|
|
||||||
</option>
|
|
||||||
@endforeach
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="form-group flex flex-col">
|
|
||||||
<label for="type_id">FilamentType</label>
|
|
||||||
<select name="type_id" id="type_id" class="form-control bg-white dark:bg-zinc-800 border-zinc-50 dark:border-zinc-600 rounded" required="" value="{{ $filament->type_id }}">
|
|
||||||
@foreach ($types as $type)
|
|
||||||
<option value="{{ $type->id }}" @if($type->id == $filament->type_id){{ 'selected' }} @endif>
|
|
||||||
{{ $type->name }}
|
|
||||||
</option>
|
|
||||||
@endforeach
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="form-group flex flex-col">
|
|
||||||
<label for="color_id">FilamentType</label>
|
|
||||||
<select name="color_id" id="color_id" class="form-control bg-white dark:bg-zinc-800 border-zinc-50 dark:border-zinc-600 rounded" required="" value="{{ $filament->color_id }}">
|
|
||||||
@foreach ($colors as $color)
|
|
||||||
<option value="{{ $color->id }}" @if($color->id == $filament->color_id){{ 'selected' }} @endif>
|
|
||||||
{{ $color->name }} | {{ $color->hex }}
|
|
||||||
</option>
|
|
||||||
@endforeach
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="form-group flex flex-col">
|
|
||||||
<label for="weight" class="text-lg ">Weight</label>
|
|
||||||
<input type="number" id="weight" name="weight" placeholder="1000" class="form-control bg-white dark:bg-zinc-800 border-zinc-50 dark:border-zinc-600 rounded" required="" value="{{ $filament->weight }}">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="form-group flex flex-col">
|
|
||||||
<label for="diameter" class="text-lg ">Diameter</label>
|
|
||||||
<input type="number" step="0.01" id="diameter" name="diameter" placeholder="1.75" class="form-control bg-white dark:bg-zinc-800 border-zinc-50 dark:border-zinc-600 rounded" required="" value="{{ $filament->diameter }}">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="form-group flex flex-col">
|
|
||||||
<label for="price" class="text-lg ">Price</label>
|
|
||||||
<input type="number" step="0.01" id="price" name="price" class="form-control bg-white dark:bg-zinc-800 border-zinc-50 dark:border-zinc-600 rounded" value="{{ $filament->price }}">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="flex justify-end gap-4">
|
|
||||||
<a href="{{ route('filaments.index') }}" class="bg-zinc-500 hover:bg-zinc-700 text-zinc-800 hover:text-white font-bold py-2 px-4 rounded cursor-pointer">Cancel</a>
|
|
||||||
<button type="submit" class="bg-green-500 hover:bg-green-700 text-zinc-800 hover:text-white font-bold py-2 px-4 rounded cursor-pointer">Submit</button>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</x-app-layout>
|
|
||||||
@@ -1,48 +0,0 @@
|
|||||||
<x-app-layout>
|
|
||||||
<x-slot name="header">
|
|
||||||
{{ __('Filaments') }}
|
|
||||||
</x-slot>
|
|
||||||
|
|
||||||
<x-slot name="headeraction">
|
|
||||||
<div class="flex gap-4 justify-end">
|
|
||||||
<a href="{{ route('filaments.create') }}" class="bg-zinc-500 hover:bg-green-500 text-zinc-50 hover:text-zinc-700 font-bold text-base py-2 px-4 rounded cursor-pointer">Create</a>
|
|
||||||
</div>
|
|
||||||
</x-slot>
|
|
||||||
|
|
||||||
<div class="py-12">
|
|
||||||
<div class="max-w-7xl mx-auto sm:px-6 lg:px-8">
|
|
||||||
<div class="bg-white dark:bg-zinc-700 overflow-hidden shadow-xl sm:rounded-lg">
|
|
||||||
<table class="table-auto w-full">
|
|
||||||
<thead class="bg-zinc-900 border-b border-rose-500">
|
|
||||||
<tr>
|
|
||||||
<th class="py-6 px-4 flex justify-start">Name</th>
|
|
||||||
<th class="py-6">Color</th>
|
|
||||||
<th class="py-6">Weight</th>
|
|
||||||
<th class="py-6">Diameter</th>
|
|
||||||
<th class="py-6">Price</th>
|
|
||||||
<th class="py-6">Stock</th>
|
|
||||||
<th class="py-6">Edit</th>
|
|
||||||
<th class="py-6">Delete</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
@foreach ($filaments as $filament)
|
|
||||||
<tr class="border-b border-zinc-600">
|
|
||||||
<td class="text-center py-4"><a href="/filaments/{{ $filament->id }}" class="flex justify-start px-4">{{ $filament->name }}</a></td>
|
|
||||||
<td class="text-center py-4"><a href="/filaments/{{ $filament->id }}" class="flex justify-center px-4 gap-2"><div class="w-8 h-8 rounded" style="background-color: {{ $filament->color->hex }}"></div>{{ $filament->color->name }}</a></td>
|
|
||||||
<td class="text-center py-4"><a href="/filaments/{{ $filament->id }}" class="flex justify-center px-4">{{ $filament->weight }} g</a></td>
|
|
||||||
<td class="text-center py-4"><a href="/filaments/{{ $filament->id }}" class="flex justify-center px-4">{{ $filament->diameter }} mm</a></td>
|
|
||||||
<td class="text-center py-4"><a href="/filaments/{{ $filament->id }}" class="flex justify-center px-4">@isset($filament->price) {{ $filament->price }}<flux:icon.euro /> @endisset</a></td>
|
|
||||||
<td class="text-center py-4"><a href="/filaments/{{ $filament->id }}" class="bg-accent px-2 py-1 rounded">{{ $filament->stock }}</a></td>
|
|
||||||
<td class="text-center py-4"><a href="{{ route('filaments.edit', $filament->id) }}" class="flex justify-center"><flux:icon.ellipsis class="hover:text-zinc-50 hover:bg-zinc-500 stroke-3 rounded "/></a></td>
|
|
||||||
<td class="text-center py-4"><a href="{{ route('filaments.edit', $filament->id) }}" class="flex justify-center"><flux:icon.x-mark class="hover:text-zinc-50 hover:bg-zinc-500 stroke-3 rounded "/></a></td>
|
|
||||||
|
|
||||||
</tr>
|
|
||||||
@endforeach
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</x-app-layout>
|
|
||||||
@@ -1,60 +0,0 @@
|
|||||||
<x-app-layout>
|
|
||||||
<x-slot name="header">
|
|
||||||
{{ $filament->name }}
|
|
||||||
</x-slot>
|
|
||||||
|
|
||||||
<x-slot name="headeraction">
|
|
||||||
<div class="flex gap-4 justify-end">
|
|
||||||
<a href="{{ route('filaments.index') }}" class=" text-zinc-50 hover:text-zinc-300 font-bold text-base py-2 px-4 rounded cursor-pointer">Back</a>
|
|
||||||
<a href="{{ route('filaments.edit', $filament->id) }}" class="bg-zinc-500 hover:bg-zinc-700 text-zinc-50 hover:text-white font-bold text-base py-2 px-4 rounded cursor-pointer">Edit</a>
|
|
||||||
<a href="{{ route('filaments.destroy', $filament->id) }}" onclick="event.preventDefault(); document.getElementById('delete-form-{{ $filament->id }}').submit();" class="bg-red-500 hover:bg-red-500 text-zinc-50 hover:text-white font-bold text-base py-2 px-4 rounded cursor-pointer">Delete</a>
|
|
||||||
</div>
|
|
||||||
</x-slot>
|
|
||||||
|
|
||||||
<div class="py-12">
|
|
||||||
<div class="max-w-7xl mx-auto sm:px-6 lg:px-8">
|
|
||||||
<div class="bg-white dark:bg-zinc-700 overflow-hidden shadow-xl sm:rounded-lg">
|
|
||||||
<div class="p-4">
|
|
||||||
<div class="text-lg font-bold">Name</div>
|
|
||||||
<div class="p-4">
|
|
||||||
{{ $filament->name }}
|
|
||||||
</div>
|
|
||||||
<div class="text-lg font-bold">Description</div>
|
|
||||||
<div class="p-4">
|
|
||||||
{{ $filament->description }}
|
|
||||||
</div>
|
|
||||||
<div class="text-lg font-bold">Manufacturer</div>
|
|
||||||
<div class="p-4">
|
|
||||||
{{ $filament->manufacturer->name }}
|
|
||||||
</div>
|
|
||||||
<div class="text-lg font-bold">Type</div>
|
|
||||||
<div class="p-4">
|
|
||||||
{{ $filament->type->name }}
|
|
||||||
</div>
|
|
||||||
<div class="text-lg font-bold">Color</div>
|
|
||||||
<div class="p-4 flex gap-2">
|
|
||||||
<div class="w-8 h-8 rounded" style="background-color: {{ $filament->color->hex }}"></div>
|
|
||||||
{{ $filament->color->name }}
|
|
||||||
</div>
|
|
||||||
<div class="text-lg font-bold">Weight</div>
|
|
||||||
<div class="p-4">
|
|
||||||
{{ $filament->weight }}g
|
|
||||||
</div>
|
|
||||||
<div class="text-lg font-bold">Diameter</div>
|
|
||||||
<div class="p-4">
|
|
||||||
{{ $filament->diameter }}mm
|
|
||||||
</div>
|
|
||||||
<div class="text-lg font-bold">Price</div>
|
|
||||||
<div class="p-4">
|
|
||||||
{{ $filament->price }}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<form id="delete-form-{{ $filament->id }}" method="POST" action="{{ route('filaments.destroy', $filament->id) }}" class="hidden">
|
|
||||||
@csrf
|
|
||||||
@method('DELETE')
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</x-app-layout>
|
|
||||||
@@ -19,7 +19,7 @@
|
|||||||
@livewireStyles
|
@livewireStyles
|
||||||
@fluxAppearance
|
@fluxAppearance
|
||||||
</head>
|
</head>
|
||||||
<body class="font-sans antialiased min-h-screen bg-white dark:bg-zinc-800">
|
<body class="font-sans antialiased min-h-screen">
|
||||||
<x-banner />
|
<x-banner />
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
@@ -27,14 +27,14 @@
|
|||||||
|
|
||||||
<!-- Page Heading -->
|
<!-- Page Heading -->
|
||||||
@if (isset($header) || isset($headeraction))
|
@if (isset($header) || isset($headeraction))
|
||||||
<div class="bg-white dark:bg-zinc-700 shadow-sm ">
|
<div class="shadow-sm ">
|
||||||
<div class="flex justify-between max-w-7xl mx-auto items-center">
|
<div class="flex justify-between max-w-7xl mx-auto items-center">
|
||||||
@if (isset($header))
|
@if (isset($header))
|
||||||
<x-header>
|
<x-header>
|
||||||
{{ $header }}
|
{{ $header }}
|
||||||
</x-header>
|
</x-header>
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
@if (isset($headeraction))
|
@if (isset($headeraction))
|
||||||
<x-headeraction>
|
<x-headeraction>
|
||||||
{{ $headeraction }}
|
{{ $headeraction }}
|
||||||
|
|||||||
@@ -3,19 +3,19 @@
|
|||||||
{{ __('Buildplates') }}
|
{{ __('Buildplates') }}
|
||||||
|
|
||||||
<x-slot name="headerleft">
|
<x-slot name="headerleft">
|
||||||
<input type="text" placeholder="Search..." wire:model.live="search" class="bg-zinc-800 rounded focus:border-accent focus:ring-accent" />
|
<input type="text" placeholder="Search..." wire:model.live="search" class="bg-jet-700 border-jet-500 rounded text-jet-50 placeholder:text-jet-200 focus:border-olivine focus:ring-olivine" />
|
||||||
</x-slot>
|
</x-slot>
|
||||||
|
|
||||||
<x-slot name="headerright">
|
<x-slot name="headerright">
|
||||||
<flux:modal.trigger name="createModal">
|
<flux:modal.trigger name="createModal">
|
||||||
<flux:button variant="primary" class="bg-nuke-400 hover:bg-nuke-300">Create Buildplate</flux:button>
|
<flux:button variant="primary" class="bg-olivine hover:bg-olivine-600">Create Buildplate</flux:button>
|
||||||
</flux:modal.trigger>
|
</flux:modal.trigger>
|
||||||
</x-slot>
|
</x-slot>
|
||||||
</x-header>
|
</x-header>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="container m-auto my-8">
|
<div class="container m-auto my-8 bg-jet-800 rounded-lg shadow p-6 text-jet-50">
|
||||||
<x-table>
|
<x-table>
|
||||||
<x-slot name="tableheader">
|
<x-slot name="tableheader">
|
||||||
<x-table.header>Name</x-table.header>
|
<x-table.header>Name</x-table.header>
|
||||||
@@ -27,7 +27,7 @@
|
|||||||
<x-table.header class="w-1/6"></x-table.header>
|
<x-table.header class="w-1/6"></x-table.header>
|
||||||
</x-slot>
|
</x-slot>
|
||||||
@foreach ($buildplates as $buildplate)
|
@foreach ($buildplates as $buildplate)
|
||||||
<tr wire:key="{{ $buildplate->id }}" class="border-b border-blackout-950">
|
<tr wire:key="{{ $buildplate->id }}" class="text-jet-200 border-b border-jet-600 hover:bg-jet-700 transition duration-150 ease-in-out">
|
||||||
<x-table.item><p class="p-4 px-3 pl-6 font-bold">{{ $buildplate->name }}</p></x-table.item>
|
<x-table.item><p class="p-4 px-3 pl-6 font-bold">{{ $buildplate->name }}</p></x-table.item>
|
||||||
<x-table.item><p class="p-4 px-3">{{ $buildplate->description }}</p></x-table.item>
|
<x-table.item><p class="p-4 px-3">{{ $buildplate->description }}</p></x-table.item>
|
||||||
<x-table.item><p class="p-4 px-3">{{ App\Models\Manufacturer::find($buildplate->manufacturer_id)->name }}</p></x-table.item>
|
<x-table.item><p class="p-4 px-3">{{ App\Models\Manufacturer::find($buildplate->manufacturer_id)->name }}</p></x-table.item>
|
||||||
@@ -36,8 +36,8 @@
|
|||||||
<x-table.item><p class="p-4 px-3"></p></x-table.item>
|
<x-table.item><p class="p-4 px-3"></p></x-table.item>
|
||||||
<x-table.item>
|
<x-table.item>
|
||||||
<div class="flex flex-row gap-4 justify-end pr-8">
|
<div class="flex flex-row gap-4 justify-end pr-8">
|
||||||
<flux:button wire:click="edit({{ $buildplate->id }})" icon="pencil">Edit</flux:button>
|
<flux:button variant="ghost" wire:click="edit({{ $buildplate->id }})" icon="pencil">Edit</flux:button>
|
||||||
<flux:button wire:click="deleteModal({{ $buildplate->id }})" icon="x-mark">Delete</flux:button>
|
<flux:button variant="danger" wire:click="deleteModal({{ $buildplate->id }})" icon="x-mark">Delete</flux:button>
|
||||||
</div>
|
</div>
|
||||||
</x-table.item>
|
</x-table.item>
|
||||||
</tr>
|
</tr>
|
||||||
|
|||||||
@@ -3,12 +3,12 @@
|
|||||||
{{ __('Colors') }}
|
{{ __('Colors') }}
|
||||||
|
|
||||||
<x-slot name="headerleft">
|
<x-slot name="headerleft">
|
||||||
<input type="text" placeholder="Search..." wire:model.live="search" class="bg-jet-100 border-jet-200 rounded text-jet focus:border-jet focus:ring-jet" />
|
<input type="text" placeholder="Search..." wire:model.live="search" class="bg-jet-700 border-jet-500 rounded text-jet-50 placeholder:text-jet-200 focus:border-olivine focus:ring-olivine" />
|
||||||
</x-slot>
|
</x-slot>
|
||||||
|
|
||||||
<x-slot name="headerright">
|
<x-slot name="headerright">
|
||||||
<flux:modal.trigger name="createModal">
|
<flux:modal.trigger name="createModal">
|
||||||
<flux:button variant="primary" class="bg-pumpkin hover:bg-pumpkin-600">Create Color</flux:button>
|
<flux:button variant="primary" class="bg-olivine hover:bg-olivine-600">Create Color</flux:button>
|
||||||
</flux:modal.trigger>
|
</flux:modal.trigger>
|
||||||
</x-slot>
|
</x-slot>
|
||||||
</x-header>
|
</x-header>
|
||||||
@@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="container m-auto my-8">
|
<div class="container m-auto my-8 bg-jet-800 rounded-lg shadow p-6 text-jet-50">
|
||||||
<x-table>
|
<x-table>
|
||||||
<x-slot name="tableheader">
|
<x-slot name="tableheader">
|
||||||
<x-table.header>Name</x-table.header>
|
<x-table.header>Name</x-table.header>
|
||||||
@@ -27,15 +27,15 @@
|
|||||||
</x-slot>
|
</x-slot>
|
||||||
|
|
||||||
@foreach ($colors as $color)
|
@foreach ($colors as $color)
|
||||||
<tr wire:key="{{ $color->id }}" class="border-b border-jet-100">
|
<tr wire:key="{{ $color->id }}" class="text-jet-200 border-b border-jet-600 hover:bg-jet-700 transition duration-150 ease-in-out">
|
||||||
<x-table.item><p class="p-4 px-3 pl-6 font-bold text-jet">{{ $color->name }}</p></x-table.item>
|
<x-table.item><p class="p-4 px-3 pl-6 font-bold ">{{ $color->name }}</p></x-table.item>
|
||||||
<x-table.item><div class="p-4 px-3 mx-3 h-8 rounded" style="background-color: {{ $color->hex }}"></div></x-table.item>
|
<x-table.item><div class="p-4 px-3 mx-3 h-8 rounded" style="background-color: {{ $color->hex }}"></div></x-table.item>
|
||||||
<x-table.item><p class="p-4 px-3 text-left text-jet">{{ $color->hex }}</p></x-table.item>
|
<x-table.item><p class="p-4 px-3 text-left ">{{ $color->hex }}</p></x-table.item>
|
||||||
<x-table.item><p class="p-4 px-3 text-jet"></p></x-table.item>
|
<x-table.item><p class="p-4 px-3"></p></x-table.item>
|
||||||
<x-table.item>
|
<x-table.item>
|
||||||
<div class="flex flex-row gap-4 justify-end pr-8">
|
<div class="flex flex-row gap-4 justify-end pr-8">
|
||||||
<button wire:click="edit({{ $color->id }})" class="bg-pumpkin text-jet border border-pumpkin-500 shadow hover:border-pumpkin-400 hover:bg-pumpkin-500 rounded-lg px-4 py-2 cursor-pointer" icon="pencil">Edit</button>
|
<flux:button variant="ghost" wire:click="edit({{ $color->id }})" class=" rounded-lg px-4 py-2 cursor-pointer" icon="pencil">Edit</flux:button>
|
||||||
<flux:button wire:click="deleteModal({{ $color->id }})" icon="x-mark">Delete</flux:button>
|
<flux:button variant="danger" wire:click="deleteModal({{ $color->id }})" icon="x-mark">Delete</flux:button>
|
||||||
</div>
|
</div>
|
||||||
</x-table.item>
|
</x-table.item>
|
||||||
</tr>
|
</tr>
|
||||||
|
|||||||
@@ -3,58 +3,61 @@
|
|||||||
{{ __('Filaments') }}
|
{{ __('Filaments') }}
|
||||||
|
|
||||||
<x-slot name="headerleft">
|
<x-slot name="headerleft">
|
||||||
<input type="text" placeholder="Search..." wire:model.live="search" class="bg-zinc-800 rounded focus:border-accent focus:ring-accent" />
|
<input type="text" placeholder="Search..." wire:model.live="search" class="bg-jet-700 border-jet-500 rounded text-jet-50 placeholder:text-jet-200 focus:border-olivine focus:ring-olivine" />
|
||||||
</x-slot>
|
</x-slot>
|
||||||
|
|
||||||
<x-slot name="headerright">
|
<x-slot name="headerright">
|
||||||
<flux:modal.trigger name="createModal">
|
<flux:modal.trigger name="createModal">
|
||||||
<flux:button variant="primary" class="bg-nuke-400 hover:bg-nuke-300">Create Filament</flux:button>
|
<flux:button variant="primary" class="bg-olivine hover:bg-olivine-600">Create Filament</flux:button>
|
||||||
</flux:modal.trigger>
|
</flux:modal.trigger>
|
||||||
</x-slot>
|
</x-slot>
|
||||||
</x-header>
|
</x-header>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="m-auto my-8 mx-12">
|
|
||||||
|
<div class="m-auto my-8 mx-12 bg-jet-800 rounded-lg shadow p-6 text-jet-50">
|
||||||
<x-table>
|
<x-table>
|
||||||
<x-slot name="tableheader">
|
<x-slot name="tableheader">
|
||||||
|
<x-table.header class="w-[50px]">ID</x-table.header>
|
||||||
<x-table.header>Name</x-table.header>
|
<x-table.header>Name</x-table.header>
|
||||||
<x-table.header>Description</x-table.header>
|
<x-table.header>Description</x-table.header>
|
||||||
<x-table.header>Color</x-table.header>
|
<x-table.header>Color</x-table.header>
|
||||||
<x-table.header>Manufacturer</x-table.header>
|
<x-table.header>Manufacturer</x-table.header>
|
||||||
<x-table.header>Material</x-table.header>
|
<x-table.header>Material</x-table.header>
|
||||||
|
<x-table.header>Finish</x-table.header>
|
||||||
<x-table.header>Diameter</x-table.header>
|
<x-table.header>Diameter</x-table.header>
|
||||||
<x-table.header>Weight</x-table.header>
|
<x-table.header>Weight</x-table.header>
|
||||||
<x-table.header>Price</x-table.header>
|
<x-table.header>Price</x-table.header>
|
||||||
<x-table.header>Rolls</x-table.header>
|
<x-table.header class="w-[100px]"></x-table.header>
|
||||||
<x-table.header class="w-48"></x-table.header>
|
|
||||||
</x-slot>
|
</x-slot>
|
||||||
|
|
||||||
@foreach ($filaments as $filament)
|
@foreach ($filaments as $filament)
|
||||||
<tr wire:key="{{ $filament->id }}" class="border-b border-blackout-950">
|
<tr wire:key="{{ $filament->id }}" class="text-jet-200 border-b border-jet-600 hover:bg-jet-700 transition duration-150 ease-in-out">
|
||||||
<x-table.item><p class="p-4 px-3 pl-6 font-bold">{{ $filament->name }}</p></x-table.item>
|
<x-table.item><p class="p-4 px-3 pl-6">{{ $filament->id }}</p></x-table.item>
|
||||||
|
<x-table.item><p class="p-4 px-3 font-bold">{{ $filament->name }}</p></x-table.item>
|
||||||
<x-table.item><p class="p-4 px-3">{{ $filament->description }}</p></x-table.item>
|
<x-table.item><p class="p-4 px-3">{{ $filament->description }}</p></x-table.item>
|
||||||
<x-table.item>
|
<x-table.item>
|
||||||
<div class="flex flex-row gap-2 justify-start items-center">
|
<div class="flex flex-row gap-2 px-2 justify-start items-center">
|
||||||
<div class="p-4 px-3 mx-3 h-8 rounded w-full" style="background-color: {{ App\Models\Color::find($filament->color_id)->hex}}"></div>
|
<div class="p-4 h-[20px] w-[20px] rounded" style="background-color: {{ App\Models\Color::find($filament->color_id)->hex}}"></div>
|
||||||
<p>{{ App\Models\Color::find($filament->color_id)->name }}</p></x-table.item>
|
<p>{{ App\Models\Color::find($filament->color_id)->name }}</p>
|
||||||
</div>
|
</div>
|
||||||
|
</x-table.item>
|
||||||
<x-table.item><p class="p-4 px-3">{{ App\Models\Manufacturer::find($filament->manufacturer_id)->name }}</p></x-table.item>
|
<x-table.item><p class="p-4 px-3">{{ App\Models\Manufacturer::find($filament->manufacturer_id)->name }}</p></x-table.item>
|
||||||
<x-table.item><p class="p-4 px-3">{{ App\Models\FilamentType::find($filament->filament_type_id)->name }}</p></x-table.item>
|
<x-table.item><p class="p-4 px-3">{{ App\Models\FilamentType::find($filament->filament_type_id)->name }}</p></x-table.item>
|
||||||
|
<x-table.item><p class="p-4 px-3">{{ $filament->finish }}</p></x-table.item>
|
||||||
<x-table.item><p class="p-4 px-3">{{ $filament->diameter }} mm</p></x-table.item>
|
<x-table.item><p class="p-4 px-3">{{ $filament->diameter }} mm</p></x-table.item>
|
||||||
<x-table.item><p class="p-4 px-3">{{ $filament->weight }} g</p></x-table.item>
|
<x-table.item><p class="p-4 px-3">{{ $filament->weight }} g</p></x-table.item>
|
||||||
<x-table.item><p class="p-4 px-3">{{ $filament->price }}€</p></x-table.item>
|
<x-table.item><p class="p-4 px-3">{{ $filament->price }}€</p></x-table.item>
|
||||||
<x-table.item><p class="p-4 px-3">{{ $filament->stock }}</p></x-table.item>
|
|
||||||
<x-table.item>
|
<x-table.item>
|
||||||
<div class="flex flex-row gap-2 justify-start pr-2">
|
<div class="flex flex-row gap-2 justify-start pr-2">
|
||||||
<flux:button wire:click="edit({{ $filament->id }})" variant="ghost" icon="pencil">Edit</flux:button>
|
<flux:button wire:click="edit({{ $filament->id }})" variant="ghost" icon="pencil">Edit</flux:button>
|
||||||
<flux:button wire:click="deleteModal({{ $filament->id }})" variant="ghost" icon="x-mark">Delete</flux:button>
|
<flux:button wire:click="deleteModal({{ $filament->id }})" variant="danger" icon="x-mark">Delete</flux:button>
|
||||||
</div>
|
</div>
|
||||||
</x-table.item>
|
</x-table.item>
|
||||||
</tr>
|
</tr>
|
||||||
@endforeach
|
@endforeach
|
||||||
|
|
||||||
<x-slot name="pagination">
|
<x-slot name="pagination">
|
||||||
{{ $filaments->links() }}
|
{{ $filaments->links() }}
|
||||||
</x-slot>
|
</x-slot>
|
||||||
@@ -91,9 +94,11 @@
|
|||||||
<flux:select.option wire:key="{{ $color->id }}" value="{{ $color->id }}">{{ $color->name }}</flux:select.option>
|
<flux:select.option wire:key="{{ $color->id }}" value="{{ $color->id }}">{{ $color->name }}</flux:select.option>
|
||||||
@endforeach
|
@endforeach
|
||||||
</flux:select>
|
</flux:select>
|
||||||
|
<flux:input label="Finish" wire:model="finish" placeholder="Finish" required />
|
||||||
<flux:input label="Diameter" wire:model="diameter" placeholder="Diameter" required />
|
<flux:input label="Diameter" wire:model="diameter" placeholder="Diameter" required />
|
||||||
<flux:input label="Weight" wire:model="weight" placeholder="Weight" required />
|
<flux:input label="Weight" wire:model="weight" placeholder="Weight" required />
|
||||||
<flux:input label="Price" wire:model="price" placeholder="Price" required />
|
<flux:input label="Price" wire:model="price" placeholder="Price" required />
|
||||||
|
<flux:input label="Stock" wire:model="stock" placeholder="Stock" required />
|
||||||
</div>
|
</div>
|
||||||
<div class="flex gap-2">
|
<div class="flex gap-2">
|
||||||
<flux:spacer />
|
<flux:spacer />
|
||||||
@@ -109,19 +114,44 @@
|
|||||||
@else
|
@else
|
||||||
<flux:modal wire:model.self='editModal' name="editModal" class="md:w-lg">
|
<flux:modal wire:model.self='editModal' name="editModal" class="md:w-lg">
|
||||||
<form wire:submit.prevent="save({{ $editid }})">
|
<form wire:submit.prevent="save({{ $editid }})">
|
||||||
<div class="space-y-6">
|
<div class="space-y-6">
|
||||||
<div>
|
<div>
|
||||||
<flux:heading size="lg" class="text-etheral-300">Edit manufacturer</flux:heading>
|
<flux:heading size="lg" class="text-nuke-400">Edit filament</flux:heading>
|
||||||
<flux:text class="mt-2">Edit an existing manufacturer.</flux:text>
|
<flux:text class="mt-2">Create a new filament.</flux:text>
|
||||||
</div>
|
</div>
|
||||||
<flux:input label="Name" wire:model="name" placeholder="Manufacturer Name" required />
|
<flux:input label="Name" wire:model="name" placeholder="Filament Name" required />
|
||||||
<flux:textarea label="Description" wire:model="description" placeholder="Description" />
|
<flux:textarea label="Description" wire:model="description" placeholder="Description" />
|
||||||
|
<div class="grid grid-cols-2 gap-x-4 gap-y-6">
|
||||||
|
<flux:select wire:model="manufacturer_id" label="Manufacturer">
|
||||||
|
<flux:select.option disabled value="">Choose Manufacturer</flux:select.option>
|
||||||
|
@foreach ($manufacturers as $manufacturer)
|
||||||
|
<flux:select.option wire:key="{{ $manufacturer->id }}" value="{{ $manufacturer->id }}">{{ $manufacturer->name }}</flux:select.option>
|
||||||
|
@endforeach
|
||||||
|
</flux:select>
|
||||||
|
<flux:select wire:model="type_id" label="Type">
|
||||||
|
<flux:select.option disabled value="">Choose Type</flux:select.option>
|
||||||
|
@foreach ($types as $type)
|
||||||
|
<flux:select.option wire:key="{{ $type->id }}" value="{{ $type->id }}">{{ $type->name }}</flux:select.option>
|
||||||
|
@endforeach
|
||||||
|
</flux:select>
|
||||||
|
<flux:select wire:model="color_id" label="Color" >
|
||||||
|
<flux:select.option disabled value="">Choose Color</flux:select.option>
|
||||||
|
@foreach ($colors as $color)
|
||||||
|
<flux:select.option wire:key="{{ $color->id }}" value="{{ $color->id }}">{{ $color->name }}</flux:select.option>
|
||||||
|
@endforeach
|
||||||
|
</flux:select>
|
||||||
|
<flux:input label="Finish" wire:model="finish" placeholder="Finish" required />
|
||||||
|
<flux:input label="Diameter" wire:model="diameter" placeholder="Diameter" required />
|
||||||
|
<flux:input label="Weight" wire:model="weight" placeholder="Weight" required />
|
||||||
|
<flux:input label="Price" wire:model="price" placeholder="Price" required />
|
||||||
|
<flux:input label="Stock" wire:model="stock" placeholder="Stock" required />
|
||||||
|
</div>
|
||||||
<div class="flex gap-2">
|
<div class="flex gap-2">
|
||||||
<flux:spacer />
|
<flux:spacer />
|
||||||
<flux:button variant="ghost" wire:click='cancel'>Cancel</flux:button>
|
<flux:button variant="ghost" wire:click='cancel'>Cancel</flux:button>
|
||||||
<flux:button type="submit" variant="primary" class="bg-etheral-300 hover:bg-etheral-400">Save</flux:button>
|
<flux:button type="submit" variant="primary" class="bg-olivine hover:bg-olivine-600">Save</flux:button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</flux:modal>
|
</flux:modal>
|
||||||
@endempty
|
@endempty
|
||||||
@@ -148,4 +178,4 @@
|
|||||||
</form>
|
</form>
|
||||||
</flux:modal>
|
</flux:modal>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
|||||||
@@ -3,19 +3,19 @@
|
|||||||
{{ __('Manufacturers') }}
|
{{ __('Manufacturers') }}
|
||||||
|
|
||||||
<x-slot name="headerleft">
|
<x-slot name="headerleft">
|
||||||
<input type="text" placeholder="Search..." wire:model.live="search" class="bg-zinc-800 rounded focus:border-accent focus:ring-accent" />
|
<input type="text" placeholder="Search..." wire:model.live="search" class="bg-jet-700 border-jet-500 rounded text-jet-50 placeholder:text-jet-200 focus:border-olivine focus:ring-olivine" />
|
||||||
</x-slot>
|
</x-slot>
|
||||||
|
|
||||||
<x-slot name="headerright">
|
<x-slot name="headerright">
|
||||||
<flux:modal.trigger name="createModal">
|
<flux:modal.trigger name="createModal">
|
||||||
<flux:button variant="primary" class="bg-nuke-400 hover:bg-nuke-300">Create Manufacturer</flux:button>
|
<flux:button variant="primary" class="bg-olivine hover:bg-olivine-600">Create Manufacturer</flux:button>
|
||||||
</flux:modal.trigger> </x-slot>
|
</flux:modal.trigger> </x-slot>
|
||||||
</x-header>
|
</x-header>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="container m-auto my-8">
|
|
||||||
|
<div class="container m-auto my-8 bg-jet-800 rounded-lg shadow p-6 text-jet-50">
|
||||||
<x-table>
|
<x-table>
|
||||||
<x-slot name="tableheader">
|
<x-slot name="tableheader">
|
||||||
<x-table.header>Name</x-table.header>
|
<x-table.header>Name</x-table.header>
|
||||||
@@ -26,20 +26,20 @@
|
|||||||
</x-slot>
|
</x-slot>
|
||||||
|
|
||||||
@foreach ($manufacturers as $manufacturer)
|
@foreach ($manufacturers as $manufacturer)
|
||||||
<tr wire:key="{{ $manufacturer->id }}" class="border-b border-blackout-950">
|
<tr wire:key="{{ $manufacturer->id }}" class="text-jet-200 border-b border-jet-600 hover:bg-jet-700 transition duration-150 ease-in-out">
|
||||||
<x-table.item><p class="p-4 px-3 pl-6 font-bold">{{ $manufacturer->name }}</p></x-table.item>
|
<x-table.item><p class="p-4 px-3 pl-6 font-bold">{{ $manufacturer->name }}</p></x-table.item>
|
||||||
<x-table.item><p class="p-4 px-3">{{ $manufacturer->description }}</p></x-table.item>
|
<x-table.item><p class="p-4 px-3">{{ $manufacturer->description }}</p></x-table.item>
|
||||||
<x-table.item><p class="p-4 px-3"><a href="{{ $manufacturer->website }}" target="_blank">{{ $manufacturer->website }}</a></p></x-table.item>
|
<x-table.item><p class="p-4 px-3"><a href="{{ $manufacturer->website }}" target="_blank" class="flex justify-center items-center gap-2">{{ $manufacturer->website }} <flux:icon.arrow-top-right-on-square variant="mini"/></a></p></x-table.item>
|
||||||
<x-table.item><p class="p-4 px-3"></p></x-table.item>
|
<x-table.item><p class="p-4 px-3">{{ $manufacturer->filament_count }}</p></x-table.item>
|
||||||
<x-table.item>
|
<x-table.item>
|
||||||
<div class="flex flex-row gap-4 justify-end pr-8">
|
<div class="flex flex-row gap-4 justify-end pr-8">
|
||||||
<flux:button wire:click="edit({{ $manufacturer->id }})" icon="pencil">Edit</flux:button>
|
<flux:button variant="ghost" wire:click="edit({{ $manufacturer->id }})" icon="pencil">Edit</flux:button>
|
||||||
<flux:button wire:click="deleteModal({{ $manufacturer->id }})" icon="x-mark">Delete</flux:button>
|
<flux:button variant="danger" wire:click="deleteModal({{ $manufacturer->id }})" icon="x-mark">Delete</flux:button>
|
||||||
</div>
|
</div>
|
||||||
</x-table.item>
|
</x-table.item>
|
||||||
</tr>
|
</tr>
|
||||||
@endforeach
|
@endforeach
|
||||||
|
|
||||||
<x-slot name="pagination">
|
<x-slot name="pagination">
|
||||||
{{ $manufacturers->links() }}
|
{{ $manufacturers->links() }}
|
||||||
</x-slot>
|
</x-slot>
|
||||||
@@ -113,4 +113,4 @@
|
|||||||
</form>
|
</form>
|
||||||
</flux:modal>
|
</flux:modal>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
|||||||
@@ -3,19 +3,19 @@
|
|||||||
{{ __('Types') }}
|
{{ __('Types') }}
|
||||||
|
|
||||||
<x-slot name="headerleft">
|
<x-slot name="headerleft">
|
||||||
<input type="text" placeholder="Search..." wire:model.live="search" class="bg-zinc-800 rounded focus:border-accent focus:ring-accent" />
|
<input type="text" placeholder="Search..." wire:model.live="search" class="bg-jet-700 border-jet-500 rounded text-jet-50 placeholder:text-jet-200 focus:border-olivine focus:ring-olivine" />
|
||||||
</x-slot>
|
</x-slot>
|
||||||
|
|
||||||
<x-slot name="headerright">
|
<x-slot name="headerright">
|
||||||
<flux:modal.trigger name="createModal">
|
<flux:modal.trigger name="createModal">
|
||||||
<flux:button variant="primary" class="bg-nuke-400 hover:bg-nuke-300">Create Type</flux:button>
|
<flux:button variant="primary" class="bg-olivine hover:bg-olivine-600">Create Type</flux:button>
|
||||||
</flux:modal.trigger> </x-slot>
|
</flux:modal.trigger> </x-slot>
|
||||||
</x-header>
|
</x-header>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="container m-auto my-8">
|
<div class="container m-auto my-8 bg-jet-800 rounded-lg shadow p-6 text-jet-50">
|
||||||
<x-table>
|
<x-table>
|
||||||
<x-slot name="tableheader">
|
<x-slot name="tableheader">
|
||||||
<x-table.header>Name</x-table.header>
|
<x-table.header>Name</x-table.header>
|
||||||
@@ -25,14 +25,14 @@
|
|||||||
</x-slot>
|
</x-slot>
|
||||||
|
|
||||||
@foreach ($types as $type)
|
@foreach ($types as $type)
|
||||||
<tr wire:key="{{ $type->id }}" class="border-b border-blackout-950">
|
<tr wire:key="{{ $type->id }}" class="text-jet-200 border-b border-jet-600 hover:bg-jet-700 transition duration-150 ease-in-out">
|
||||||
<x-table.item><p class="p-4 px-3 pl-6 font-bold">{{ $type->name }}</p></x-table.item>
|
<x-table.item><p class="p-4 px-3 pl-6 font-bold">{{ $type->name }}</p></x-table.item>
|
||||||
<x-table.item><p class="p-4 px-3">{{ $type->description }}</p></x-table.item>
|
<x-table.item><p class="p-4 px-3">{{ $type->description }}</p></x-table.item>
|
||||||
<x-table.item><p class="p-4 px-3">{{ $type->amount }}</p></x-table.item>
|
<x-table.item><p class="p-4 px-3">{{ $type->amount }}</p></x-table.item>
|
||||||
<x-table.item>
|
<x-table.item>
|
||||||
<div class="flex flex-row gap-4 justify-end pr-8">
|
<div class="flex flex-row gap-4 justify-end pr-8">
|
||||||
<flux:button wire:click="edit({{ $type->id }})" icon="pencil">Edit</flux:button>
|
<flux:button variant="ghost" wire:click="edit({{ $type->id }})" icon="pencil">Edit</flux:button>
|
||||||
<flux:button wire:click="deleteModal({{ $type->id }})" icon="x-mark">Delete</flux:button>
|
<flux:button variant="danger" wire:click="deleteModal({{ $type->id }})" icon="x-mark">Delete</flux:button>
|
||||||
</div>
|
</div>
|
||||||
</x-table.item>
|
</x-table.item>
|
||||||
</tr>
|
</tr>
|
||||||
|
|||||||
@@ -1,44 +0,0 @@
|
|||||||
<x-app-layout>
|
|
||||||
<x-slot name="header">
|
|
||||||
{{ __('Create Manufacturers') }}
|
|
||||||
</x-slot>
|
|
||||||
|
|
||||||
<x-slot name="headeraction">
|
|
||||||
<div class="flex gap-4 justify-end">
|
|
||||||
<a href="{{ route('manufacturers.index') }}" class=" text-zinc-50 hover:text-zinc-300 font-bold text-base py-2 px-4 rounded cursor-pointer">Back</a>
|
|
||||||
<a href="{{ route('manufacturers.store') }}" onclick="event.preventDefault(); document.getElementById('create-manufacturer-form').submit();" class="bg-green-500 hover:bg-green-700 text-zinc-700 hover:text-white font-bold text-base py-2 px-4 rounded cursor-pointer">Submit</a>
|
|
||||||
</div>
|
|
||||||
</x-slot>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="py-12">
|
|
||||||
<div class="max-w-7xl mx-auto sm:px-6 lg:px-8">
|
|
||||||
<div class="bg-white dark:bg-zinc-700 p-4 overflow-hidden shadow-xl sm:rounded-lg">
|
|
||||||
<form id="create-manufacturer-form" class="flex flex-col gap-6" method="POST" action="{{ route('manufacturers.store') }}">
|
|
||||||
@csrf
|
|
||||||
<div class="form-group flex flex-col">
|
|
||||||
<label for="name" class="text-lg ">Name</label>
|
|
||||||
<input type="text" id="name" name="name" class="form-control bg-white dark:bg-zinc-800 border-zinc-50 dark:border-zinc-600 rounded" required="">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="form-group flex flex-col">
|
|
||||||
<label for="description">Description</label>
|
|
||||||
<textarea name="description" class="form-control bg-white dark:bg-zinc-800 border-zinc-50 dark:border-zinc-600 rounded"></textarea>
|
|
||||||
</div>
|
|
||||||
<div class="form-group flex flex-col">
|
|
||||||
<label for="website" class="text-lg ">Website</label>
|
|
||||||
<input type="text" id="website" name="website" class="form-control bg-white dark:bg-zinc-800 border-zinc-50 dark:border-zinc-600 rounded">
|
|
||||||
</div>
|
|
||||||
<div class="form-group flex flex-col">
|
|
||||||
<label for="logo" class="text-lg ">Logo</label>
|
|
||||||
<input type="text" id="logo" name="logo" class="form-control bg-white dark:bg-zinc-800 border-zinc-50 dark:border-zinc-600 rounded">
|
|
||||||
</div>
|
|
||||||
<div class="flex justify-end gap-4">
|
|
||||||
<a href="{{ route('manufacturers.index') }}" class="bg-zinc-500 hover:bg-zinc-700 text-zinc-800 hover:text-white font-bold py-2 px-4 rounded cursor-pointer">Cancel</a>
|
|
||||||
<button type="submit" class="bg-green-500 hover:bg-green-700 text-zinc-800 hover:text-white font-bold py-2 px-4 rounded cursor-pointer">Submit</button>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</x-app-layout>
|
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
<x-app-layout>
|
|
||||||
<x-slot name="header">
|
|
||||||
{{ __('Edit Manufacturers') }}
|
|
||||||
</x-slot>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="py-12">
|
|
||||||
<div class="max-w-7xl mx-auto sm:px-6 lg:px-8">
|
|
||||||
<div class="bg-white dark:bg-zinc-700 p-4 overflow-hidden shadow-xl sm:rounded-lg">
|
|
||||||
<form id="update-manufacturer-form" class="flex flex-col gap-6" method="POST" action="{{ route('manufacturers.update', $manufacturer->id) }}">
|
|
||||||
@csrf
|
|
||||||
@method('PUT')
|
|
||||||
<div class="form-group flex flex-col">
|
|
||||||
<label for="name" class="text-lg ">Name</label>
|
|
||||||
<input type="text" id="name" name="name" class="form-control bg-white dark:bg-zinc-800 border-zinc-50 dark:border-zinc-600 rounded" required="" value="{{ $manufacturer->name }}">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="form-group flex flex-col">
|
|
||||||
<label for="description">Description</label>
|
|
||||||
<textarea name="description" class="form-control bg-white dark:bg-zinc-800 border-zinc-50 dark:border-zinc-600 rounded" value="{{ $manufacturer->description }}"></textarea>
|
|
||||||
</div>
|
|
||||||
<div class="form-group flex flex-col">
|
|
||||||
<label for="website" class="text-lg ">Website</label>
|
|
||||||
<input type="text" id="website" name="website" class="form-control bg-white dark:bg-zinc-800 border-zinc-50 dark:border-zinc-600 rounded" value="{{ $manufacturer->website }}">
|
|
||||||
</div>
|
|
||||||
<div class="flex justify-end gap-4">
|
|
||||||
<a href="{{ route('manufacturers.index') }}" class="bg-zinc-500 hover:bg-zinc-700 text-zinc-800 hover:text-white font-bold py-2 px-4 rounded cursor-pointer">Cancel</a>
|
|
||||||
<button type="submit" class="bg-green-500 hover:bg-green-700 text-zinc-800 hover:text-white font-bold py-2 px-4 rounded cursor-pointer">Submit</button>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</x-app-layout>
|
|
||||||
@@ -1,45 +0,0 @@
|
|||||||
<x-app-layout>
|
|
||||||
<x-slot name="header">
|
|
||||||
{{ __('Manufacturers') }}
|
|
||||||
</x-slot>
|
|
||||||
|
|
||||||
<x-slot name="headeraction">
|
|
||||||
<div class="flex gap-4 justify-end">
|
|
||||||
<a href="{{ route('manufacturers.create') }}" class="bg-zinc-500 hover:bg-green-500 text-zinc-50 hover:text-zinc-700 font-bold text-base py-2 px-4 rounded cursor-pointer">Create</a>
|
|
||||||
</div>
|
|
||||||
</x-slot>
|
|
||||||
|
|
||||||
<div class="py-12">
|
|
||||||
<div class="max-w-7xl mx-auto sm:px-6 lg:px-8">
|
|
||||||
<div class="bg-white dark:bg-zinc-700 overflow-hidden shadow-xl sm:rounded-lg">
|
|
||||||
|
|
||||||
<table class="table-auto w-full">
|
|
||||||
<thead class="bg-zinc-900 border-b border-rose-500">
|
|
||||||
<tr>
|
|
||||||
<th class="py-6">Name</th>
|
|
||||||
<th class="py-6">Filaments</th>
|
|
||||||
<th class="py-6">Website</th>
|
|
||||||
<th class="py-6">Stock</th>
|
|
||||||
<th class="py-6">Edit</th>
|
|
||||||
<th class="py-6">Delete</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
@foreach ($manufacturers as $manufacturer)
|
|
||||||
<tr class="border-b border-zinc-600">
|
|
||||||
<td class="text-center py-4"><a href="/manufacturers/{{ $manufacturer->id }}" class="flex justify-center">{{ $manufacturer->name }}</a></td>
|
|
||||||
<td class="text-center py-4"><a href="/manufacturers/{{ $manufacturer->id }}" class="bg-etheral-300 px-2 py-1 rounded text-blackout-950">{{ $manufacturer->filament_count }}</a></td>
|
|
||||||
<td class="text-center py-4"><a class="flex gap-2 justify-center" target="_blank" href="{{ $manufacturer->website }}">{{ $manufacturer->website }} @isset($manufacturer->website) <flux:icon.arrow-top-right-on-square /> @endisset</a></td>
|
|
||||||
<td class="text-center py-4"></td>
|
|
||||||
<td class="text-center py-4"><a href="{{ route('manufacturers.edit', $manufacturer->id) }}" class="flex justify-center"><flux:icon.ellipsis class="hover:text-zinc-50 hover:bg-zinc-500 stroke-3 rounded "/></a></td>
|
|
||||||
<td class="text-center py-4"><a href="{{ route('manufacturers.edit', $manufacturer->id) }}" class="flex justify-center"><flux:icon.x-mark class="hover:text-zinc-50 hover:bg-zinc-500 stroke-3 rounded "/></a></td>
|
|
||||||
|
|
||||||
</tr>
|
|
||||||
@endforeach
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</x-app-layout>
|
|
||||||
@@ -1,35 +0,0 @@
|
|||||||
<x-app-layout>
|
|
||||||
<x-slot name="header">
|
|
||||||
{{ $manufacturer->name }}
|
|
||||||
</x-slot>
|
|
||||||
|
|
||||||
<x-slot name="headeraction">
|
|
||||||
<div class="flex gap-4 justify-end">
|
|
||||||
<a href="{{ route('manufacturers.index') }}" class=" text-zinc-50 hover:text-zinc-300 font-bold text-base py-2 px-4 rounded cursor-pointer">Back</a>
|
|
||||||
<a href="{{ route('manufacturers.edit', $manufacturer->id) }}" class="bg-zinc-500 hover:bg-zinc-700 text-zinc-50 hover:text-white font-bold text-base py-2 px-4 rounded cursor-pointer">Edit</a>
|
|
||||||
<a href="{{ route('manufacturers.destroy', $manufacturer->id) }}" onclick="event.preventDefault(); document.getElementById('delete-form-{{ $manufacturer->id }}').submit();" class="bg-red-500 hover:bg-red-500 text-zinc-50 hover:text-white font-bold text-base py-2 px-4 rounded cursor-pointer">Delete</a>
|
|
||||||
</div>
|
|
||||||
</x-slot>
|
|
||||||
|
|
||||||
<div class="py-12">
|
|
||||||
<div class="max-w-7xl mx-auto sm:px-6 lg:px-8">
|
|
||||||
<div class="bg-white dark:bg-zinc-700 overflow-hidden shadow-xl sm:rounded-lg">
|
|
||||||
<div class="p-4">
|
|
||||||
<div class="text-lg font-bold">Description</div>
|
|
||||||
<div class="p-4">
|
|
||||||
{{ $manufacturer->description }}
|
|
||||||
</div>
|
|
||||||
<div class="text-lg font-bold">Website</div>
|
|
||||||
<div class="p-4">
|
|
||||||
<a href="{{ $manufacturer->website }}" class="flex gap-2" target="_blank">{{ $manufacturer->website }}<flux:icon.arrow-top-right-on-square /></a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<form id="delete-form-{{ $manufacturer->id }}" method="POST" action="{{ route('manufacturers.destroy', $manufacturer->id) }}" class="hidden">
|
|
||||||
@csrf
|
|
||||||
@method('DELETE')
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</x-app-layout>
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
<x-app-layout>
|
|
||||||
<x-slot name="header">
|
|
||||||
{{ __('Create Types') }}
|
|
||||||
</x-slot>
|
|
||||||
|
|
||||||
<x-slot name="headeraction">
|
|
||||||
<div class="flex gap-4 justify-end">
|
|
||||||
<a href="{{ route('types.index') }}" class=" text-zinc-50 hover:text-zinc-300 font-bold text-base py-2 px-4 rounded cursor-pointer">Back</a>
|
|
||||||
<a href="{{ route('types.store') }}" onclick="event.preventDefault(); document.getElementById('create-type-form').submit();" class="bg-green-500 hover:bg-green-700 text-zinc-700 hover:text-white font-bold text-base py-2 px-4 rounded cursor-pointer">Submit</a>
|
|
||||||
</div>
|
|
||||||
</x-slot>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="py-12">
|
|
||||||
<div class="max-w-7xl mx-auto sm:px-6 lg:px-8">
|
|
||||||
<div class="bg-white dark:bg-zinc-700 p-4 overflow-hidden shadow-xl sm:rounded-lg">
|
|
||||||
<form id="create-type-form" class="flex flex-col gap-6" method="POST" action="{{ route('types.store') }}">
|
|
||||||
@csrf
|
|
||||||
<div class="form-group flex flex-col">
|
|
||||||
<label for="name" class="text-lg ">Name</label>
|
|
||||||
<input type="text" id="name" name="name" class="form-control bg-white dark:bg-zinc-800 border-zinc-50 dark:border-zinc-600 rounded" required="">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="form-group flex flex-col">
|
|
||||||
<label for="description">Description</label>
|
|
||||||
<textarea name="description" class="form-control bg-white dark:bg-zinc-800 border-zinc-50 dark:border-zinc-600 rounded" required=""></textarea>
|
|
||||||
</div>
|
|
||||||
<div class="flex justify-end gap-4">
|
|
||||||
<a href="{{ route('types.index') }}" class="bg-zinc-500 hover:bg-zinc-700 text-zinc-800 hover:text-white font-bold py-2 px-4 rounded cursor-pointer">Cancel</a>
|
|
||||||
<button type="submit" class="bg-green-500 hover:bg-green-700 text-zinc-800 hover:text-white font-bold py-2 px-4 rounded cursor-pointer">Submit</button>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</x-app-layout>
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
<x-app-layout>
|
|
||||||
<x-slot name="header">
|
|
||||||
{{ __('Edit Types') }}
|
|
||||||
</x-slot>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="py-12">
|
|
||||||
<div class="max-w-7xl mx-auto sm:px-6 lg:px-8">
|
|
||||||
<div class="bg-white dark:bg-zinc-700 p-4 overflow-hidden shadow-xl sm:rounded-lg">
|
|
||||||
<form id="update-type-form" class="flex flex-col gap-6" method="POST" action="{{ route('types.update', $type->id) }}">
|
|
||||||
@csrf
|
|
||||||
@method('PUT')
|
|
||||||
<div class="form-group flex flex-col">
|
|
||||||
<label for="name" class="text-lg ">Name</label>
|
|
||||||
<input type="text" id="name" name="name" class="form-control bg-white dark:bg-zinc-800 border-zinc-50 dark:border-zinc-600 rounded" required="" value="{{ $type->name }}">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="form-group flex flex-col">
|
|
||||||
<label for="description">Description</label>
|
|
||||||
<textarea name="description" class="form-control bg-white dark:bg-zinc-800 border-zinc-50 dark:border-zinc-600 rounded" required="" value="{{ $type->description }}"></textarea>
|
|
||||||
</div>
|
|
||||||
<div class="flex justify-end gap-4">
|
|
||||||
<a href="{{ route('types.index') }}" class="bg-zinc-500 hover:bg-zinc-700 text-zinc-800 hover:text-white font-bold py-2 px-4 rounded cursor-pointer">Cancel</a>
|
|
||||||
<button type="submit" class="bg-green-500 hover:bg-green-700 text-zinc-800 hover:text-white font-bold py-2 px-4 rounded cursor-pointer">Submit</button>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</x-app-layout>
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
<x-app-layout>
|
|
||||||
<x-slot name="header">
|
|
||||||
{{ __('Types') }}
|
|
||||||
</x-slot>
|
|
||||||
|
|
||||||
<x-slot name="headeraction">
|
|
||||||
<div class="flex gap-4 justify-end">
|
|
||||||
<a href="{{ route('types.create') }}" class="bg-zinc-500 hover:bg-green-500 text-zinc-50 hover:text-zinc-700 font-bold text-base py-2 px-4 rounded cursor-pointer">Create</a>
|
|
||||||
</div>
|
|
||||||
</x-slot>
|
|
||||||
|
|
||||||
<div class="py-12">
|
|
||||||
<div class="max-w-7xl mx-auto sm:px-6 lg:px-8">
|
|
||||||
<div class="bg-white dark:bg-zinc-700 overflow-hidden shadow-xl sm:rounded-lg">
|
|
||||||
<ul class="">
|
|
||||||
<li class="flex gap-6 bg-zinc-50 dark:bg-zinc-900 p-2 px-4"><div class="">ID</div><div class="">Name</div><div class="">Options</div></li>
|
|
||||||
@foreach ($types as $type)
|
|
||||||
<li class="flex gap-6 py-3 px-4 items-center">
|
|
||||||
<div class="p-2">{{ $type->id }}</div>
|
|
||||||
<div class="p-2"><a href="/types/{{ $type->id }}">{{ $type->name }}</a></div>
|
|
||||||
<div class="px-2"><a href="{{ route('types.edit', $type->id) }}"><flux:icon.ellipsis class="hover:text-zinc-50 hover:bg-zinc-500 stroke-3 rounded "/></a></div>
|
|
||||||
</li>
|
|
||||||
@endforeach
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</x-app-layout>
|
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
<x-app-layout>
|
|
||||||
<x-slot name="header">
|
|
||||||
{{ $type->name }}
|
|
||||||
</x-slot>
|
|
||||||
|
|
||||||
<x-slot name="headeraction">
|
|
||||||
<div class="flex gap-4 justify-end">
|
|
||||||
<a href="{{ route('types.index') }}" class=" text-zinc-50 hover:text-zinc-300 font-bold text-base py-2 px-4 rounded cursor-pointer">Back</a>
|
|
||||||
<a href="{{ route('types.edit', $type->id) }}" class="bg-zinc-500 hover:bg-zinc-700 text-zinc-50 hover:text-white font-bold text-base py-2 px-4 rounded cursor-pointer">Edit</a>
|
|
||||||
<a href="{{ route('types.destroy', $type->id) }}" onclick="event.preventDefault(); document.getElementById('delete-form-{{ $type->id }}').submit();" class="bg-red-500 hover:bg-red-500 text-zinc-50 hover:text-white font-bold text-base py-2 px-4 rounded cursor-pointer">Delete</a>
|
|
||||||
</div>
|
|
||||||
</x-slot>
|
|
||||||
|
|
||||||
<div class="py-12">
|
|
||||||
<div class="max-w-7xl mx-auto sm:px-6 lg:px-8">
|
|
||||||
<div class="bg-white dark:bg-zinc-700 overflow-hidden shadow-xl sm:rounded-lg">
|
|
||||||
<div class="p-4">
|
|
||||||
<div class="text-lg font-bold">Description</div>
|
|
||||||
<div class="p-4">
|
|
||||||
{{ $type->description }}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<form id="delete-form-{{ $type->id }}" method="POST" action="{{ route('types.destroy', $type->id) }}" class="hidden">
|
|
||||||
@csrf
|
|
||||||
@method('DELETE')
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</x-app-layout>
|
|
||||||
Reference in New Issue
Block a user