21 JUNI 2025

This commit is contained in:
DandhiAri 2025-06-21 18:43:10 +07:00
parent 0a0a92bf71
commit ef88610e1a
279 changed files with 158943 additions and 626 deletions

View File

@ -0,0 +1,97 @@
<?php
namespace App\Http\Controllers;
use App\Models\Bundles; // Asumsikan ada model Bundle
use Illuminate\Http\Request;
class BundlesController extends Controller
{
/**
* Menampilkan daftar semua Bundles.
*/
public function index()
{
// Mengambil semua data bundle dari database
$bundles = Bundles::all();
// Mengembalikan view dengan data bundles
return view('pages.back.bundles.index', compact('bundles'));
}
/**
* Menampilkan form untuk membuat Bundle baru.
*/
public function create()
{
// Mengembalikan view form pembuatan bundle
return view('pages.back.bundles.create');
}
/**
* Menyimpan Bundle baru ke database.
*/
public function store(Request $request)
{
// Validasi data input dari form
$validatedData = $request->validate([
'name' => 'required|string|max:255',
'description' => 'nullable|string',
// Tambahkan aturan validasi lain sesuai kolom tabel bundles Anda
]);
// Membuat instance Bundle baru dan menyimpannya
Bundle::create($validatedData);
// Redirect ke halaman index bundles dengan pesan sukses
return redirect()->route('pages.back.bundles.index')->with('success', 'Bundle berhasil ditambahkan!');
}
/**
* Menampilkan detail satu Bundle tertentu.
*/
public function show(Bundle $bundle) // Route model binding
{
// Mengembalikan view detail bundle dengan data bundle yang ditemukan
return view('pages.back.bundles.show', compact('bundle'));
}
/**
* Menampilkan form untuk mengedit Bundle yang sudah ada.
*/
public function edit(Bundle $bundle) // Route model binding
{
// Mengembalikan view form edit bundle dengan data bundle yang ditemukan
return view('pages.back.bundles.edit', compact('bundle'));
}
/**
* Memperbarui data Bundle di database.
*/
public function update(Request $request, Bundle $bundle) // Route model binding
{
// Validasi data input yang diperbarui
$validatedData = $request->validate([
'name' => 'required|string|max:255',
'description' => 'nullable|string',
// Tambahkan aturan validasi lain
]);
// Memperbarui data bundle
$bundle->update($validatedData);
// Redirect ke halaman index bundles dengan pesan sukses
return redirect()->route('pages.back.bundles.index')->with('success', 'Bundle berhasil diperbarui!');
}
/**
* Menghapus Bundle dari database.
*/
public function destroy(Bundle $bundle) // Route model binding
{
// Menghapus bundle
$bundle->delete();
// Redirect ke halaman index bundles dengan pesan sukses
return redirect()->route('pages.back.bundles.index')->with('success', 'Bundle berhasil dihapus!');
}
}

View File

@ -0,0 +1,94 @@
<?php
namespace App\Http\Controllers;
use App\Models\Items; // Asumsikan ada model Item (untuk makanan/minuman)
use Illuminate\Http\Request;
class ItemsController extends Controller
{
/**
* Menampilkan daftar semua Items (makanan/minuman).
*/
public function index()
{
$items = Items::all(); // Atau bisa juga Item::with('category', 'typeItem')->get();
return view('pages.back.items.index', compact('items'));
}
/**
* Menampilkan form untuk membuat Item baru.
*/
public function create()
{
// Jika ada relasi ke kategori atau type, Anda mungkin perlu mengirim data itu juga
// $categories = Category::all();
// $typeItems = TypeItem::all();
return view('pages.back.items.create'); // , compact('categories', 'typeItems')
}
/**
* Menyimpan Item baru ke database.
*/
public function store(Request $request)
{
$validatedData = $request->validate([
'name' => 'required|string|max:255',
'description' => 'nullable|string',
'price' => 'required|numeric|min:0',
'category_id' => 'nullable|exists:categories,id', // Jika ada relasi
'type_item_id' => 'nullable|exists:type_items,id', // Jika ada relasi
// ... kolom lain seperti image_url, is_available
]);
Items::create($validatedData);
return redirect()->route('items.index')->with('success', 'Item berhasil ditambahkan!');
}
/**
* Menampilkan detail satu Item tertentu.
*/
public function show(Item $item)
{
return view('pages.back.items.show', compact('item'));
}
/**
* Menampilkan form untuk mengedit Item yang sudah ada.
*/
public function edit(Item $item)
{
// $categories = Category::all();
// $typeItems = TypeItem::all();
return view('pages.back.items.edit', compact('item')); // , compact('item', 'categories', 'typeItems')
}
/**
* Memperbarui data Item di database.
*/
public function update(Request $request, Item $item)
{
$validatedData = $request->validate([
'name' => 'required|string|max:255',
'description' => 'nullable|string',
'price' => 'required|numeric|min:0',
'category_id' => 'nullable|exists:categories,id',
'type_item_id' => 'nullable|exists:type_items,id',
// ...
]);
$item->update($validatedData);
return redirect()->route('items.index')->with('success', 'Item berhasil diperbarui!');
}
/**
* Menghapus Item dari database.
*/
public function destroy(Item $item)
{
$item->delete();
return redirect()->route('items.index')->with('success', 'Item berhasil dihapus!');
}
}

View File

@ -0,0 +1,83 @@
<?php
namespace App\Http\Controllers;
use App\Models\Meja; // Asumsikan ada model Meja
use Illuminate\Http\Request;
class MejaController extends Controller
{
/**
* Menampilkan daftar semua Meja.
*/
public function index()
{
$mejas = Meja::all();
return view('pages.back.mejas.index', compact('mejas'));
}
/**
* Menampilkan form untuk membuat Meja baru.
*/
public function create()
{
return view('pages.back.mejas.create');
}
/**
* Menyimpan Meja baru ke database.
*/
public function store(Request $request)
{
$validatedData = $request->validate([
'table_number' => 'required|integer|unique:mejas,table_number', // Nomor meja harus unik
'capacity' => 'required|integer|min:1',
'status' => 'required|in:available,occupied,reserved', // Contoh status meja
]);
Meja::create($validatedData);
return redirect()->route('mejas.index')->with('success', 'Meja berhasil ditambahkan!');
}
/**
* Menampilkan detail satu Meja tertentu.
*/
public function show(Meja $meja)
{
return view('pages.back.mejas.show', compact('meja'));
}
/**
* Menampilkan form untuk mengedit Meja yang sudah ada.
*/
public function edit(Meja $meja)
{
return view('pages.back.mejas.edit', compact('meja'));
}
/**
* Memperbarui data Meja di database.
*/
public function update(Request $request, Meja $meja)
{
$validatedData = $request->validate([
'table_number' => 'required|integer|unique:mejas,table_number,' . $meja->id, // Kecualikan ID meja saat ini
'capacity' => 'required|integer|min:1',
'status' => 'required|in:available,occupied,reserved',
]);
$meja->update($validatedData);
return redirect()->route('mejas.index')->with('success', 'Meja berhasil diperbarui!');
}
/**
* Menghapus Meja dari database.
*/
public function destroy(Meja $meja)
{
$meja->delete();
return redirect()->route('mejas.index')->with('success', 'Meja berhasil dihapus!');
}
}

View File

@ -0,0 +1,81 @@
<?php
namespace App\Http\Controllers;
use App\Models\TypeItems; // Asumsikan ada model TypeItem (misal: "Makanan Berat", "Minuman Dingin", "Dessert")
use Illuminate\Http\Request;
class TypeItemsController extends Controller
{
/**
* Menampilkan daftar semua TypeItems.
*/
public function index()
{
$typeItems = TypeItems::all();
return view('pages.back.typeitems.index', compact('typeItems'));
}
/**
* Menampilkan form untuk membuat TypeItem baru.
*/
public function create()
{
return view('pages.back.typeitems.create');
}
/**
* Menyimpan TypeItem baru ke database.
*/
public function store(Request $request)
{
$validatedData = $request->validate([
'name' => 'required|string|max:255|unique:type_items,name', // Nama type item harus unik
'description' => 'nullable|string',
]);
TypeItems::create($validatedData);
return redirect()->route('pages.back.typeitems.index')->with('success', 'Tipe Item berhasil ditambahkan!');
}
/**
* Menampilkan detail satu TypeItem tertentu.
*/
public function show(TypeItem $typeItem)
{
return view('pages.back.typeitems.show', compact('typeItem'));
}
/**
* Menampilkan form untuk mengedit TypeItem yang sudah ada.
*/
public function edit(TypeItem $typeItem)
{
return view('pages.back.typeitems.edit', compact('typeItem'));
}
/**
* Memperbarui data TypeItem di database.
*/
public function update(Request $request, TypeItem $typeItem)
{
$validatedData = $request->validate([
'name' => 'required|string|max:255|unique:type_items,name,' . $typeItem->id, // Kecualikan ID type item saat ini
'description' => 'nullable|string',
]);
$typeItem->update($validatedData);
return redirect()->route('pages.back.typeitems.index')->with('success', 'Tipe Item berhasil diperbarui!');
}
/**
* Menghapus TypeItem dari database.
*/
public function destroy(TypeItem $typeItem)
{
$typeItem->delete();
return redirect()->route('pages.back.typeitems.index')->with('success', 'Tipe Item berhasil dihapus!');
}
}

View File

@ -0,0 +1,205 @@
<?php
namespace App\Livewire;
use App\Models\Bundles; // Gunakan singular Bundle
use App\Models\Items; // Gunakan singular Item
use Livewire\Component;
use Livewire\WithPagination;
class BundleTable extends Component
{
use WithPagination;
public $search = '';
public $sortBy = 'name';
public $sortDirection = 'asc';
// Properti untuk form Create/Edit Bundle
public $bundleId;
public $name;
public $description;
public $price;
public $is_active = true;
// Untuk fitur mengelola item dalam bundle (penting untuk Many-to-Many)
public $selectedItems = []; // Array ID item yang dipilih untuk bundle ini
public $allItems = [];// Semua item yang tersedia untuk dipilih di form
public $isModalOpen = false;
public $isDeleteModalOpen = false;
public $bundleToDeleteId;
// Aturan validasi
protected $rules = [
'name' => 'required|string|max:255|unique:bundles,name',
'description' => 'nullable|string',
'price' => 'nullable|numeric|min:0',
'is_active' => 'boolean',
'selectedItems' => 'nullable|array', // selectedItems sekarang adalah array
'selectedItems.*' => 'exists:items,id', // Setiap ID dalam array harus ada di tabel items
];
// Mounted lifecycle hook untuk mengambil data dropdown
public function mount()
{
$this->allItems = Items::all(['id', 'name']); // Ambil semua item untuk pilihan di form
}
// Reset halaman pagination setiap kali properti pencarian berubah
public function updatingSearch()
{
$this->resetPage();
}
// Metode untuk mengubah kolom sorting
public function sortBy($field)
{
if ($this->sortBy === $field) {
$this->sortDirection = $this->sortDirection === 'asc' ? 'desc' : 'asc';
} else {
$this->sortBy = $field;
$this->sortDirection = 'asc';
}
}
// Metode untuk membuka modal Create Bundle
public function create()
{
$this->resetInputFields();
$this->is_active = true;
// Tidak perlu mengambil allItems lagi karena sudah di mount(),
// tapi pastikan selectedItems direset
$this->selectedItems = [];
$this->isModalOpen = true;
}
// Metode untuk mengisi form edit dan membuka modal
public function edit($id)
{
$bundle = Bundles::findOrFail($id); // Gunakan Bundle
$this->bundleId = $bundle->id;
$this->name = $bundle->name;
$this->description = $bundle->description;
$this->price = $bundle->price;
$this->is_active = $bundle->is_active;
// === PENTING: Ambil ID item yang sudah terkait dengan bundle ini ===
$this->selectedItems = $bundle->items->pluck('id')->toArray();
$this->isModalOpen = true;
}
// Metode untuk menyimpan atau memperbarui Bundle
public function store()
{
$rules = $this->rules;
if ($this->bundleId) {
// Untuk update, 'name' harus unique kecuali jika itu adalah nama dari bundle yang sedang diedit
$rules['name'] = 'required|string|max:255|unique:bundles,name,' . $this->bundleId;
}
$this->validate($rules);
$bundleData = [
'name' => $this->name,
'description' => $this->description,
'price' => $this->price,
'is_active' => $this->is_active,
];
$bundle = null; // Inisialisasi variabel $bundle
if ($this->bundleId) {
// Update Bundle
$bundle = Bundles::find($this->bundleId); // Gunakan Bundle
$bundle->update($bundleData);
session()->flash('message', 'Bundle berhasil diperbarui!');
} else {
// Create Bundle
$bundle = Bundles::create($bundleData); // Gunakan Bundle
session()->flash('message', 'Bundle berhasil ditambahkan!');
}
// === PENTING: Sinkronkan relasi many-to-many setelah bundle dibuat/diperbarui ===
if ($bundle && !empty($this->selectedItems)) {
$bundle->items()->sync($this->selectedItems);
} elseif ($bundle) {
// Jika tidak ada item yang dipilih, detach semua relasi item yang ada
$bundle->items()->detach();
}
$this->closeModal();
$this->resetInputFields();
}
// Metode untuk membuka modal konfirmasi hapus
public function confirmDelete($id)
{
$this->bundleToDeleteId = $id;
$this->isDeleteModalOpen = true;
}
// Metode untuk menghapus Bundle
public function delete()
{
if ($this->bundleToDeleteId) {
$bundle = Bundles::find($this->bundleToDeleteId); // Gunakan Bundle
if ($bundle) {
// Relasi many-to-many secara otomatis akan di-cascade oleh foreign key ON DELETE CASCADE
// di tabel pivot (bundle_item) ketika bundle dihapus.
// Oleh karena itu, $bundle->items()->detach(); sebenarnya tidak mutlak diperlukan di sini
// jika DB constraint sudah diatur dengan benar.
// Namun, secara eksplisit detach juga aman dilakukan.
// $bundle->items()->detach();
$bundle->delete();
session()->flash('message', 'Bundle berhasil dihapus!');
}
}
$this->closeDeleteModal();
}
// Tutup modal create/edit
public function closeModal()
{
$this->isModalOpen = false;
$this->resetValidation();
}
// Tutup modal konfirmasi hapus
public function closeDeleteModal()
{
$this->isDeleteModalOpen = false;
$this->bundleToDeleteId = null;
}
// Reset semua input form
private function resetInputFields()
{
$this->bundleId = null;
$this->name = '';
$this->description = '';
$this->price = '';
$this->is_active = true;
$this->selectedItems = []; // Reset selectedItems ke array kosong
}
// Metode render komponen Livewire
public function render()
{
$bundles = Bundles::query() // Gunakan Bundle
->when($this->search, function ($query) {
$query->where('name', 'like', '%' . $this->search . '%')
->orWhere('description', 'like', '%' . $this->search . '%');
})
->orderBy($this->sortBy, $this->sortDirection)
// === EAGER LOAD RELASI ITEMS UNTUK MENAMPILKANNYA DI VIEW ===
->with('items') // Eager load relasi items untuk menampilkan di tabel
->paginate(10);
return view('livewire.bundle-table', [
'bundles' => $bundles,
// allItems akan tersedia secara otomatis karena public property
]);
}
}

View File

@ -3,17 +3,25 @@
namespace App\Livewire; namespace App\Livewire;
use Livewire\Component; use Livewire\Component;
use App\Models\Foods; use App\Models\Items; // --- UBAH: Menggunakan model Items
use App\Models\TypeItems; // --- BARU: Menambahkan model TypeItems
use Illuminate\Support\Str; use Illuminate\Support\Str;
use Midtrans\Config; use Midtrans\Config;
use Midtrans\Snap; use Midtrans\Snap;
class FoodOrder extends Component class FoodOrder extends Component
{ {
public array $foodItems = []; public $foodItems = []; // --- UBAH: Menghapus 'array' type hint agar lebih fleksibel
public array $cart = []; // ['foodItemId' => qty] public array $cart = [];
public bool $showCart = false; public bool $showCart = false;
// public bool $showCart = false; public ?int $typeItemId = null; // --- UBAH: Mengganti $foodType menjadi $typeItemId (sesuai ItemTable)
// --- BARU: Properties untuk dropdown seperti di ItemTable
public $allTypeItems;
protected $listeners = [
'paymentSuccess' => 'handlePaymentSuccess'
];
public function openCart() public function openCart()
{ {
@ -24,13 +32,102 @@ public function closeCart()
{ {
$this->showCart = false; $this->showCart = false;
} }
public function mount()
// --- DIHAPUS: getGroupedFoodItemsProperty tidak lagi relevan dengan type_item_id
// --- UBAH: Sesuaikan nama properti untuk filter
public function getFilteredFoodItemsProperty()
{ {
$this->foodItems = Foods::all()->toArray(); // --- UBAH: Menggunakan model Items
$query = Items::query();
if ($this->typeItemId) { // --- UBAH: Menggunakan $this->typeItemId
$query->where('type_item_id', $this->typeItemId);
}
// --- UBAH: Tambahkan kondisi is_available agar hanya menampilkan yang tersedia
$query->where('is_available', true);
// --- UBAH: eager load relasi typeItem
return $query->with('typeItem')->get(); // Menghapus ->toArray()
}
// --- UBAH: Sesuaikan nama method filter
public function filterByType($typeId = null) // --- UBAH: Parameter menjadi $typeId
{
$this->typeItemId = $typeId; // --- UBAH: Set $this->typeItemId
// Data foodItems akan diperbarui otomatis via render() dan getFilteredFoodItemsProperty()
// Jadi, tidak perlu secara eksplisit memuat ulang di sini.
// Dispatch event untuk update URL (jika diperlukan)
if ($typeId) {
// Asumsi route Anda mendukung parameter type_item_id
$typeItemName = TypeItems::find($typeId)->name ?? 'all'; // Ambil nama untuk URL
$this->dispatch('updateUrl', url: route('menu.byType', ['type' => Str::slug($typeItemName)]));
} else {
$this->dispatch('updateUrl', url: route('menu.all'));
}
}
public function mount($type = null) // --- UBAH: Parameter bisa berupa slug atau ID
{
// --- UBAH: Ambil semua TypeItems saat mount
$this->allTypeItems = TypeItems::all();
if ($type) {
// Coba temukan type_item berdasarkan slug atau ID
$foundType = TypeItems::where('id', $type)
->orWhere('name', Str::title(str_replace('-', ' ', $type))) // Coba cari berdasarkan nama yang dislug
->first();
$this->typeItemId = $foundType->id ?? null;
}
// --- UBAH: Awalnya, foodItems diisi oleh getFilteredFoodItemsProperty() di render
// Jadi tidak perlu query langsung di mount, cukup set $typeItemId
// Namun, jika Anda ingin agar foodItems langsung terisi saat mount, Anda bisa panggil properti
$this->foodItems = $this->getFilteredFoodItemsProperty();
$this->cart = session()->get('cart', []); $this->cart = session()->get('cart', []);
} }
public function updatedCart() public function addToCart($id)
{
logger("Adding to cart: $id");
// --- UBAH: Menggunakan model Items
$item = Items::find($id); // Langsung query dari DB untuk memastikan data terkini
if ($item) {
if (!isset($this->cart[$id])) {
$this->cart[$id] = 1;
} else {
$this->cart[$id]++;
}
$this->updateCart();
$this->dispatch('notify', message: $item->name . ' ditambahkan ke keranjang');
} else {
logger("Item with ID $id not found.");
$this->dispatch('notify', message: 'Item tidak ditemukan.');
}
}
public function removeFromCart($id)
{
if (isset($this->cart[$id])) {
$this->cart[$id]--;
if ($this->cart[$id] <= 0) {
unset($this->cart[$id]);
}
$this->updateCart();
}
}
public function updateCart()
{ {
session()->put('cart', $this->cart); session()->put('cart', $this->cart);
} }
@ -39,28 +136,35 @@ public function updated($name, $value)
{ {
if (Str::startsWith($name, 'cart.')) { if (Str::startsWith($name, 'cart.')) {
$foodId = (int)substr($name, 5); $foodId = (int)substr($name, 5);
if ($value == 0 || $value === null) { if ($value <= 0 || $value === null) {
unset($this->cart[$foodId]); unset($this->cart[$foodId]);
} else { } else {
$this->cart[$foodId] = (int)$value; $this->cart[$foodId] = (int)$value;
} }
$this->updatedCart(); $this->updateCart();
} }
} }
public function getCartItemsProperty() public function getCartItemsProperty()
{ {
$items = []; $items = [];
// --- UBAH: Query items dari database berdasarkan ID di keranjang
// Ini lebih aman daripada mengandalkan $this->foodItems lokal yang mungkin sudah difilter
$foodIdsInCart = array_keys($this->cart);
$foodModels = Items::whereIn('id', $foodIdsInCart)->get()->keyBy('id'); // Ambil model Item
foreach ($this->cart as $foodId => $qty) { foreach ($this->cart as $foodId => $qty) {
$food = collect($this->foodItems)->firstWhere('id', $foodId); $food = $foodModels->get($foodId); // Ambil model langsung dari koleksi
if ($food && $qty > 0) { if ($food && $qty > 0) {
$items[] = [ $items[] = [
'id' => $foodId, 'id' => $foodId,
'name' => $food['name'], 'name' => $food->name,
'price' => $food['price'], 'price' => $food->price,
'image_url' => $food['image_url'], 'image_url' => $food->image_url ?? null,
'qty' => $qty, 'qty' => $qty,
'total_price' => $food['price'] * $qty, 'total_price' => $food->price * $qty,
]; ];
} }
} }
@ -71,44 +175,97 @@ public function getCartTotalProperty()
{ {
return array_sum(array_map(function($item) { return array_sum(array_map(function($item) {
return $item['total_price']; return $item['total_price'];
}, $this->cartItems)); }, $this->getCartItemsProperty()));
}
public function clearCart()
{
$this->cart = [];
$this->updateCart();
$this->closeCart();
}
public function handlePaymentSuccess()
{
$this->clearCart();
$this->dispatch('notify', message: 'Pembayaran berhasil!');
} }
public function checkout() public function checkout()
{ {
if (empty($this->cartItems)) { logger("Checkout method called");
$cartItems = $this->getCartItemsProperty();
logger("Cart items: " . json_encode($cartItems));
if (empty($cartItems)) {
logger("Cart is empty");
$this->dispatch('notify', message: 'Keranjang kosong'); $this->dispatch('notify', message: 'Keranjang kosong');
return; return;
} }
try {
logger("Setting up Midtrans config");
\Midtrans\Config::$serverKey = config('services.midtrans.server_key'); \Midtrans\Config::$serverKey = config('services.midtrans.server_key');
\Midtrans\Config::$isProduction = false; \Midtrans\Config::$isProduction = false;
\Midtrans\Config::$isSanitized = true;
\Midtrans\Config::$is3ds = true;
$params = [ $params = [
'transaction_details' => [ 'transaction_details' => [
'order_id' => 'ORDER-' . time(), 'order_id' => 'ORDER-' . time(),
'gross_amount' => $this->cartTotal, 'gross_amount' => $this->getCartTotalProperty(),
], ],
'customer_details' => [ 'customer_details' => [
'first_name' => auth()->user()->name ?? 'Guest', 'first_name' => auth()->user()->name ?? 'Guest',
'email' => auth()->user()->email ?? 'guest@example.com', 'email' => auth()->user()->email ?? 'guest@example.com',
], ],
// --- BARU: Menambahkan item_details untuk Midtrans
'item_details' => array_map(function($item) {
return [
'id' => $item['id'],
'price' => $item['price'],
'quantity' => $item['qty'],
'name' => $item['name'],
];
}, $cartItems),
]; ];
try { logger("Midtrans params: " . json_encode($params));
$snapToken = \Midtrans\Snap::getSnapToken($params); $snapToken = \Midtrans\Snap::getSnapToken($params);
logger("Snap token generated: " . $snapToken);
$this->dispatch('midtransSnapToken', token: $snapToken); $this->dispatch('midtransSnapToken', token: $snapToken);
} catch (\Exception $e) { } catch (\Exception $e) {
logger("Midtrans error: " . $e->getMessage());
logger("Error trace: " . $e->getTraceAsString());
$this->dispatch('notify', message: 'Gagal memproses pembayaran: ' . $e->getMessage()); $this->dispatch('notify', message: 'Gagal memproses pembayaran: ' . $e->getMessage());
} }
} }
// Method untuk mendapatkan title berdasarkan type_item_id
// --- UBAH: Menggunakan type_item_id dan mengambil nama dari TypeItems
public function getPageTitleProperty()
{
if ($this->typeItemId) {
$typeItem = TypeItems::find($this->typeItemId);
return $typeItem->name ?? 'Semua Menu';
}
return 'Semua Menu';
}
public function render() public function render()
{ {
return view('livewire.food-order', [ return view('livewire.food-order', [
'cartItems' => $this->cartItems, 'foodItems' => $this->getFilteredFoodItemsProperty(), // --- UBAH: Gunakan properti terkomputasi
'cartTotal' => $this->cartTotal, 'cartItems' => $this->getCartItemsProperty(),
'cartTotal' => $this->getCartTotalProperty(),
'pageTitle' => $this->getPageTitleProperty(),
'typeItemId' => $this->typeItemId, // --- UBAH: Mengganti foodType menjadi typeItemId
'allTypeItems' => $this->allTypeItems, // --- BARU: Lewatkan allTypeItems ke view
])->layout('components.layouts.front'); ])->layout('components.layouts.front');
} }
} }

219
app/Livewire/ItemTable.php Normal file
View File

@ -0,0 +1,219 @@
<?php
namespace App\Livewire;
use App\Models\Items;
use App\Models\TypeItems;
use App\Models\Bundles;
use Livewire\Component;
use Livewire\WithPagination;
use Livewire\WithFileUploads;
use Illuminate\Support\Facades\Storage;
class ItemTable extends Component
{
use WithPagination;
use WithFileUploads;
public $search = '';
public $sortBy = 'name';
public $sortDirection = 'asc';
public $typeItemId = null;
public $itemId;
public $name;
public $description;
public $price;
public $image_url;
public $new_image;
public $is_available = true;
public $type_item_id;
public $bundle_ids = [];
public $isModalOpen = false;
public $isDeleteModalOpen = false;
public $itemToDeleteId;
public $allTypeItems;
public $allBundles;
protected $queryString = [
'search' => ['except' => ''],
'sortBy' => ['except' => 'name'],
'sortDirection' => ['except' => 'asc'],
'typeItemId' => ['except' => null],
];
protected $rules = [
'name' => 'required|string|max:255',
'description' => 'nullable|string',
'price' => 'required|numeric|min:0',
'is_available' => 'boolean',
'type_item_id' => 'required|exists:type_items,id',
'bundle_ids' => 'nullable|array',
'bundle_ids.*' => 'exists:bundles,id',
'new_image' => 'nullable|image|max:1024',
];
public function mount()
{
$this->allTypeItems = TypeItems::all();
$this->allBundles = Bundles::all();
$this->typeItemId = request()->query('type_item_id');
}
public function updatingSearch()
{
$this->resetPage();
}
public function updatingTypeItemId()
{
$this->resetPage();
}
public function sortBy($field)
{
if ($this->sortBy === $field) {
$this->sortDirection = $this->sortDirection === 'asc' ? 'desc' : 'asc';
} else {
$this->sortBy = $field;
$this->sortDirection = 'asc';
}
$this->resetPage();
}
public function create()
{
$this->resetInputFields();
$this->is_available = true;
$this->isModalOpen = true;
}
public function edit($id)
{
$item = Items::findOrFail($id);
$this->itemId = $item->id;
$this->name = $item->name;
$this->description = $item->description;
$this->price = $item->price;
$this->image_url = $item->image_url;
$this->is_available = $item->is_available;
$this->type_item_id = $item->type_item_id;
$this->bundle_ids = $item->bundles->pluck('id')->toArray();
$this->new_image = null;
$this->isModalOpen = true;
}
public function store()
{
$this->validate();
$itemData = [
'name' => $this->name,
'description' => $this->description,
'price' => $this->price,
'is_available' => $this->is_available,
'type_item_id' => $this->type_item_id,
];
if ($this->new_image) {
if ($this->itemId && $this->image_url) {
Storage::disk('public')->delete($this->image_url);
}
$itemData['image_url'] = $this->new_image->store('items', 'public');
}
$item = null;
if ($this->itemId) {
$item = Items::find($this->itemId);
$item->update($itemData);
session()->flash('message', 'Item berhasil diperbarui!');
} else {
$item = Items::create($itemData);
session()->flash('message', 'Item berhasil ditambahkan!');
}
if ($item) {
$item->bundles()->sync($this->bundle_ids);
}
$this->closeModal();
$this->resetInputFields();
}
public function confirmDelete($id)
{
$this->itemToDeleteId = $id;
$this->isDeleteModalOpen = true;
}
public function delete()
{
if ($this->itemToDeleteId) {
$item = Items::find($this->itemToDeleteId);
if ($item) {
if ($item->image_url) {
Storage::disk('public')->delete($item->image_url);
}
$item->delete();
session()->flash('message', 'Item berhasil dihapus!');
}
}
$this->closeDeleteModal();
}
public function closeModal()
{
$this->isModalOpen = false;
$this->resetValidation();
}
public function closeDeleteModal()
{
$this->isDeleteModalOpen = false;
$this->itemToDeleteId = null;
}
private function resetInputFields()
{
$this->itemId = null;
$this->name = '';
$this->description = '';
$this->price = '';
$this->image_url = null;
$this->new_image = null;
$this->is_available = true;
$this->type_item_id = '';
$this->bundle_ids = [];
}
public function setTypeItem($id = null)
{
$this->typeItemId = $id;
$this->resetPage();
}
public function render()
{
$items = Items::query()
->when($this->search, fn ($query) =>
$query->where('name', 'like', '%' . $this->search . '%')
->orWhere('description', 'like', '%' . $this->search . '%')
)
->when($this->typeItemId, fn ($query) =>
$query->where('type_item_id', $this->typeItemId)
)
->orderBy($this->sortBy, $this->sortDirection)
->with(['typeItem', 'bundles'])
->paginate(10);
return view('livewire.item-table', [
'items' => $items,
'allTypeItems' => $this->allTypeItems,
'allBundles' => $this->allBundles,
'typeItemId' => $this->typeItemId,
]);
}
}

View File

@ -0,0 +1,157 @@
<?php
namespace App\Livewire;
use App\Models\TypeItems;
use Livewire\Component;
use Livewire\WithPagination;
class TypeItemTable extends Component
{
use WithPagination;
public $search = '';
public $sortBy = 'name';
public $sortDirection = 'asc';
// Properti untuk form Create/Edit TypeItem
public $typeItemId;
public $name;
public $description;
public $isModalOpen = false;
public $isDeleteModalOpen = false;
public $typeItemToDeleteId;
// Aturan validasi
protected $rules = [
'name' => 'required|string|max:255|unique:type_items,name', // Name harus unik
'description' => 'nullable|string',
];
// Reset halaman pagination setiap kali properti pencarian berubah
public function updatingSearch()
{
$this->resetPage();
}
// Metode untuk mengubah kolom sorting
public function sortBy($field)
{
if ($this->sortBy === $field) {
$this->sortDirection = $this->sortDirection === 'asc' ? 'desc' : 'asc';
} else {
$this->sortBy = $field;
$this->sortDirection = 'asc';
}
}
// Metode untuk membuka modal Create TypeItem
public function create()
{
$this->resetInputFields();
$this->isModalOpen = true;
}
// Metode untuk mengisi form edit dan membuka modal
public function edit($id)
{
$typeItem = TypeItems::findOrFail($id);
$this->typeItemId = $typeItem->id;
$this->name = $typeItem->name;
$this->description = $typeItem->description;
$this->isModalOpen = true;
}
// Metode untuk menyimpan atau memperbarui TypeItem
public function store()
{
$rules = $this->rules;
if ($this->typeItemId) {
// Untuk update, 'name' harus unique kecuali jika itu adalah nama dari type item yang sedang diedit
$rules['name'] = 'required|string|max:255|unique:type_items,name,' . $this->typeItemId;
}
$this->validate($rules);
$typeItemData = [
'name' => $this->name,
'description' => $this->description,
];
if ($this->typeItemId) {
// Update TypeItem
TypeItems::find($this->typeItemId)->update($typeItemData);
session()->flash('message', 'Tipe item berhasil diperbarui!');
} else {
// Create TypeItem
TypeItems::create($typeItemData);
session()->flash('message', 'Tipe item berhasil ditambahkan!');
}
$this->closeModal();
$this->resetInputFields();
}
// Metode untuk membuka modal konfirmasi hapus
public function confirmDelete($id)
{
$this->typeItemToDeleteId = $id;
$this->isDeleteModalOpen = true;
}
// Metode untuk menghapus TypeItem
public function delete()
{
if ($this->typeItemToDeleteId) {
// Cek apakah ada item yang terkait dengan type item ini
// (Ini penting karena di database ada ON DELETE RESTRICT)
$typeItem = TypeItems::find($this->typeItemToDeleteId);
if ($typeItem && $typeItem->items()->count() > 0) {
session()->flash('error', 'Tidak dapat menghapus tipe item ini karena masih ada item yang terkait dengannya.');
$this->closeDeleteModal();
return;
}
TypeItems::destroy($this->typeItemToDeleteId); // Menggunakan destroy untuk menghapus
session()->flash('message', 'Tipe item berhasil dihapus!');
}
$this->closeDeleteModal();
}
// Tutup modal create/edit
public function closeModal()
{
$this->isModalOpen = false;
}
// Tutup modal konfirmasi hapus
public function closeDeleteModal()
{
$this->isDeleteModalOpen = false;
$this->typeItemToDeleteId = null;
}
// Reset semua input form
private function resetInputFields()
{
$this->typeItemId = null;
$this->name = '';
$this->description = '';
}
// Metode render komponen Livewire
public function render()
{
// Query untuk mengambil data type items
$typeItems = TypeItems::query()
->when($this->search, function ($query) {
$query->where('name', 'like', '%' . $this->search . '%')
->orWhere('description', 'like', '%' . $this->search . '%');
})
->orderBy($this->sortBy, $this->sortDirection)
->paginate(10); // Paginate 10 item per halaman
return view('livewire.type-item-table', [
'typeItems' => $typeItems,
]);
}
}

25
app/Models/Bundles.php Normal file
View File

@ -0,0 +1,25 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Bundles extends Model
{
use HasFactory;
protected $table = 'bundles';
protected $fillable = [
'name',
'description',
'price',
'is_active',
];
public function items()
{
return $this->hasMany(Items::class, 'bundle_id');
}
}

39
app/Models/Items.php Normal file
View File

@ -0,0 +1,39 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Items extends Model
{
use HasFactory;
protected $table = 'items';
protected $fillable = [
'name',
'description',
'price',
'image_url', // Tambahkan ini
'is_available',
'type_item_id',
'bundle_id',
];
/**
* Relasi Many-to-One: Item ini milik satu TypeItem.
*/
public function typeItem()
{
return $this->belongsTo(TypeItems::class, 'type_item_id');
}
/**
* Relasi Many-to-One: Item ini milik satu Bundle.
*/
public function bundles() // Nama relasi plural, mengikuti konvensi Laravel
{
return $this->belongsToMany(Bundles::class, 'bundle_items', 'item_id', 'bundle_id');
}
}

10
app/Models/Meja.php Normal file
View File

@ -0,0 +1,10 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Meja extends Model
{
//
}

20
app/Models/TypeItems.php Normal file
View File

@ -0,0 +1,20 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class TypeItems extends Model
{
use HasFactory;
protected $table = 'type_items';
protected $fillable = ['name', 'icon_class'];
public function items()
{
return $this->hasMany(Items::class, 'type_item_id');
}
}

View File

@ -3,6 +3,8 @@
namespace App\Providers; namespace App\Providers;
use Illuminate\Support\ServiceProvider; use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\View;
use App\Models\TypeItems;
class AppServiceProvider extends ServiceProvider class AppServiceProvider extends ServiceProvider
{ {
@ -19,6 +21,8 @@ public function register(): void
*/ */
public function boot(): void public function boot(): void
{ {
// View::composer('components.layouts.app.sidebar', function ($view) {
$view->with('typeitems', TypeItems::orderBy('name')->get());
});
} }
} }

View File

@ -11,6 +11,7 @@
"require": { "require": {
"php": "^8.2", "php": "^8.2",
"guzzlehttp/guzzle": "^7.9", "guzzlehttp/guzzle": "^7.9",
"jeroennoten/laravel-adminlte": "^3.15",
"laravel/fortify": "^1.25", "laravel/fortify": "^1.25",
"laravel/framework": "^12.0", "laravel/framework": "^12.0",
"laravel/tinker": "^2.10.1", "laravel/tinker": "^2.10.1",

660
composer.lock generated

File diff suppressed because it is too large Load Diff

550
config/adminlte.php Normal file
View File

@ -0,0 +1,550 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Title
|--------------------------------------------------------------------------
|
| Here you can change the default title of your admin panel.
|
| For detailed instructions you can look the title section here:
| https://github.com/jeroennoten/Laravel-AdminLTE/wiki/Basic-Configuration
|
*/
'title' => 'AdminLTE 3',
'title_prefix' => '',
'title_postfix' => '',
/*
|--------------------------------------------------------------------------
| Favicon
|--------------------------------------------------------------------------
|
| Here you can activate the favicon.
|
| For detailed instructions you can look the favicon section here:
| https://github.com/jeroennoten/Laravel-AdminLTE/wiki/Basic-Configuration
|
*/
'use_ico_only' => false,
'use_full_favicon' => false,
/*
|--------------------------------------------------------------------------
| Google Fonts
|--------------------------------------------------------------------------
|
| Here you can allow or not the use of external google fonts. Disabling the
| google fonts may be useful if your admin panel internet access is
| restricted somehow.
|
| For detailed instructions you can look the google fonts section here:
| https://github.com/jeroennoten/Laravel-AdminLTE/wiki/Basic-Configuration
|
*/
'google_fonts' => [
'allowed' => true,
],
/*
|--------------------------------------------------------------------------
| Admin Panel Logo
|--------------------------------------------------------------------------
|
| Here you can change the logo of your admin panel.
|
| For detailed instructions you can look the logo section here:
| https://github.com/jeroennoten/Laravel-AdminLTE/wiki/Basic-Configuration
|
*/
'logo' => '<b>Admin</b>LTE',
'logo_img' => 'vendor/adminlte/dist/img/AdminLTELogo.png',
'logo_img_class' => 'brand-image img-circle elevation-3',
'logo_img_xl' => null,
'logo_img_xl_class' => 'brand-image-xs',
'logo_img_alt' => 'Admin Logo',
/*
|--------------------------------------------------------------------------
| Authentication Logo
|--------------------------------------------------------------------------
|
| Here you can setup an alternative logo to use on your login and register
| screens. When disabled, the admin panel logo will be used instead.
|
| For detailed instructions you can look the auth logo section here:
| https://github.com/jeroennoten/Laravel-AdminLTE/wiki/Basic-Configuration
|
*/
'auth_logo' => [
'enabled' => false,
'img' => [
'path' => 'vendor/adminlte/dist/img/AdminLTELogo.png',
'alt' => 'Auth Logo',
'class' => '',
'width' => 50,
'height' => 50,
],
],
/*
|--------------------------------------------------------------------------
| Preloader Animation
|--------------------------------------------------------------------------
|
| Here you can change the preloader animation configuration. Currently, two
| modes are supported: 'fullscreen' for a fullscreen preloader animation
| and 'cwrapper' to attach the preloader animation into the content-wrapper
| element and avoid overlapping it with the sidebars and the top navbar.
|
| For detailed instructions you can look the preloader section here:
| https://github.com/jeroennoten/Laravel-AdminLTE/wiki/Basic-Configuration
|
*/
'preloader' => [
'enabled' => true,
'mode' => 'fullscreen',
'img' => [
'path' => 'vendor/adminlte/dist/img/AdminLTELogo.png',
'alt' => 'AdminLTE Preloader Image',
'effect' => 'animation__shake',
'width' => 60,
'height' => 60,
],
],
/*
|--------------------------------------------------------------------------
| User Menu
|--------------------------------------------------------------------------
|
| Here you can activate and change the user menu.
|
| For detailed instructions you can look the user menu section here:
| https://github.com/jeroennoten/Laravel-AdminLTE/wiki/Basic-Configuration
|
*/
'usermenu_enabled' => true,
'usermenu_header' => false,
'usermenu_header_class' => 'bg-primary',
'usermenu_image' => false,
'usermenu_desc' => false,
'usermenu_profile_url' => false,
/*
|--------------------------------------------------------------------------
| Layout
|--------------------------------------------------------------------------
|
| Here we change the layout of your admin panel.
|
| For detailed instructions you can look the layout section here:
| https://github.com/jeroennoten/Laravel-AdminLTE/wiki/Layout-and-Styling-Configuration
|
*/
'layout_topnav' => null,
'layout_boxed' => null,
'layout_fixed_sidebar' => null,
'layout_fixed_navbar' => null,
'layout_fixed_footer' => null,
'layout_dark_mode' => null,
/*
|--------------------------------------------------------------------------
| Authentication Views Classes
|--------------------------------------------------------------------------
|
| Here you can change the look and behavior of the authentication views.
|
| For detailed instructions you can look the auth classes section here:
| https://github.com/jeroennoten/Laravel-AdminLTE/wiki/Layout-and-Styling-Configuration
|
*/
'classes_auth_card' => 'card-outline card-primary',
'classes_auth_header' => '',
'classes_auth_body' => '',
'classes_auth_footer' => '',
'classes_auth_icon' => '',
'classes_auth_btn' => 'btn-flat btn-primary',
/*
|--------------------------------------------------------------------------
| Admin Panel Classes
|--------------------------------------------------------------------------
|
| Here you can change the look and behavior of the admin panel.
|
| For detailed instructions you can look the admin panel classes here:
| https://github.com/jeroennoten/Laravel-AdminLTE/wiki/Layout-and-Styling-Configuration
|
*/
'classes_body' => '',
'classes_brand' => '',
'classes_brand_text' => '',
'classes_content_wrapper' => '',
'classes_content_header' => '',
'classes_content' => '',
'classes_sidebar' => 'sidebar-dark-primary elevation-4',
'classes_sidebar_nav' => '',
'classes_topnav' => 'navbar-white navbar-light',
'classes_topnav_nav' => 'navbar-expand',
'classes_topnav_container' => 'container',
/*
|--------------------------------------------------------------------------
| Sidebar
|--------------------------------------------------------------------------
|
| Here we can modify the sidebar of the admin panel.
|
| For detailed instructions you can look the sidebar section here:
| https://github.com/jeroennoten/Laravel-AdminLTE/wiki/Layout-and-Styling-Configuration
|
*/
'sidebar_mini' => 'lg',
'sidebar_collapse' => false,
'sidebar_collapse_auto_size' => false,
'sidebar_collapse_remember' => false,
'sidebar_collapse_remember_no_transition' => true,
'sidebar_scrollbar_theme' => 'os-theme-light',
'sidebar_scrollbar_auto_hide' => 'l',
'sidebar_nav_accordion' => true,
'sidebar_nav_animation_speed' => 300,
/*
|--------------------------------------------------------------------------
| Control Sidebar (Right Sidebar)
|--------------------------------------------------------------------------
|
| Here we can modify the right sidebar aka control sidebar of the admin panel.
|
| For detailed instructions you can look the right sidebar section here:
| https://github.com/jeroennoten/Laravel-AdminLTE/wiki/Layout-and-Styling-Configuration
|
*/
'right_sidebar' => false,
'right_sidebar_icon' => 'fas fa-cogs',
'right_sidebar_theme' => 'dark',
'right_sidebar_slide' => true,
'right_sidebar_push' => true,
'right_sidebar_scrollbar_theme' => 'os-theme-light',
'right_sidebar_scrollbar_auto_hide' => 'l',
/*
|--------------------------------------------------------------------------
| URLs
|--------------------------------------------------------------------------
|
| Here we can modify the url settings of the admin panel.
|
| For detailed instructions you can look the urls section here:
| https://github.com/jeroennoten/Laravel-AdminLTE/wiki/Basic-Configuration
|
*/
'use_route_url' => false,
'dashboard_url' => '/',
'logout_url' => 'logout',
'login_url' => 'login',
'register_url' => 'register',
'password_reset_url' => 'password/reset',
'password_email_url' => 'password/email',
'profile_url' => false,
'disable_darkmode_routes' => false,
/*
|--------------------------------------------------------------------------
| Laravel Asset Bundling
|--------------------------------------------------------------------------
|
| Here we can enable the Laravel Asset Bundling option for the admin panel.
| Currently, the next modes are supported: 'mix', 'vite' and 'vite_js_only'.
| When using 'vite_js_only', it's expected that your CSS is imported using
| JavaScript. Typically, in your application's 'resources/js/app.js' file.
| If you are not using any of these, leave it as 'false'.
|
| For detailed instructions you can look the asset bundling section here:
| https://github.com/jeroennoten/Laravel-AdminLTE/wiki/Other-Configuration
|
*/
'laravel_asset_bundling' => false,
'laravel_css_path' => 'css/app.css',
'laravel_js_path' => 'js/app.js',
/*
|--------------------------------------------------------------------------
| Menu Items
|--------------------------------------------------------------------------
|
| Here we can modify the sidebar/top navigation of the admin panel.
|
| For detailed instructions you can look here:
| https://github.com/jeroennoten/Laravel-AdminLTE/wiki/Menu-Configuration
|
*/
'menu' => [
// Navbar items:
[
'type' => 'navbar-search',
'text' => 'search',
'topnav_right' => true,
],
[
'type' => 'fullscreen-widget',
'topnav_right' => true,
],
// Sidebar items:
[
'type' => 'sidebar-menu-search',
'text' => 'search',
],
[
'text' => 'blog',
'url' => 'admin/blog',
'can' => 'manage-blog',
],
[
'text' => 'pages',
'url' => 'admin/pages',
'icon' => 'far fa-fw fa-file',
'label' => 4,
'label_color' => 'success',
],
['header' => 'account_settings'],
[
'text' => 'profile',
'url' => 'admin/settings',
'icon' => 'fas fa-fw fa-user',
],
[
'text' => 'change_password',
'url' => 'admin/settings',
'icon' => 'fas fa-fw fa-lock',
],
[
'text' => 'multilevel',
'icon' => 'fas fa-fw fa-share',
'submenu' => [
[
'text' => 'level_one',
'url' => '#',
],
[
'text' => 'level_one',
'url' => '#',
'submenu' => [
[
'text' => 'level_two',
'url' => '#',
],
[
'text' => 'level_two',
'url' => '#',
'submenu' => [
[
'text' => 'level_three',
'url' => '#',
],
[
'text' => 'level_three',
'url' => '#',
],
],
],
],
],
[
'text' => 'level_one',
'url' => '#',
],
],
],
['header' => 'labels'],
[
'text' => 'important',
'icon_color' => 'red',
'url' => '#',
],
[
'text' => 'warning',
'icon_color' => 'yellow',
'url' => '#',
],
[
'text' => 'information',
'icon_color' => 'cyan',
'url' => '#',
],
],
/*
|--------------------------------------------------------------------------
| Menu Filters
|--------------------------------------------------------------------------
|
| Here we can modify the menu filters of the admin panel.
|
| For detailed instructions you can look the menu filters section here:
| https://github.com/jeroennoten/Laravel-AdminLTE/wiki/Menu-Configuration
|
*/
'filters' => [
JeroenNoten\LaravelAdminLte\Menu\Filters\GateFilter::class,
JeroenNoten\LaravelAdminLte\Menu\Filters\HrefFilter::class,
JeroenNoten\LaravelAdminLte\Menu\Filters\SearchFilter::class,
JeroenNoten\LaravelAdminLte\Menu\Filters\ActiveFilter::class,
JeroenNoten\LaravelAdminLte\Menu\Filters\ClassesFilter::class,
JeroenNoten\LaravelAdminLte\Menu\Filters\LangFilter::class,
JeroenNoten\LaravelAdminLte\Menu\Filters\DataFilter::class,
],
/*
|--------------------------------------------------------------------------
| Plugins Initialization
|--------------------------------------------------------------------------
|
| Here we can modify the plugins used inside the admin panel.
|
| For detailed instructions you can look the plugins section here:
| https://github.com/jeroennoten/Laravel-AdminLTE/wiki/Plugins-Configuration
|
*/
'plugins' => [
'Datatables' => [
'active' => false,
'files' => [
[
'type' => 'js',
'asset' => false,
'location' => '//cdn.datatables.net/1.10.19/js/jquery.dataTables.min.js',
],
[
'type' => 'js',
'asset' => false,
'location' => '//cdn.datatables.net/1.10.19/js/dataTables.bootstrap4.min.js',
],
[
'type' => 'css',
'asset' => false,
'location' => '//cdn.datatables.net/1.10.19/css/dataTables.bootstrap4.min.css',
],
],
],
'Select2' => [
'active' => false,
'files' => [
[
'type' => 'js',
'asset' => false,
'location' => '//cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/js/select2.min.js',
],
[
'type' => 'css',
'asset' => false,
'location' => '//cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/css/select2.css',
],
],
],
'Chartjs' => [
'active' => false,
'files' => [
[
'type' => 'js',
'asset' => false,
'location' => '//cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.0/Chart.bundle.min.js',
],
],
],
'Sweetalert2' => [
'active' => false,
'files' => [
[
'type' => 'js',
'asset' => false,
'location' => '//cdn.jsdelivr.net/npm/sweetalert2@8',
],
],
],
'Pace' => [
'active' => false,
'files' => [
[
'type' => 'css',
'asset' => false,
'location' => '//cdnjs.cloudflare.com/ajax/libs/pace/1.0.2/themes/blue/pace-theme-center-radar.min.css',
],
[
'type' => 'js',
'asset' => false,
'location' => '//cdnjs.cloudflare.com/ajax/libs/pace/1.0.2/pace.min.js',
],
],
],
],
/*
|--------------------------------------------------------------------------
| IFrame
|--------------------------------------------------------------------------
|
| Here we change the IFrame mode configuration. Note these changes will
| only apply to the view that extends and enable the IFrame mode.
|
| For detailed instructions you can look the iframe mode section here:
| https://github.com/jeroennoten/Laravel-AdminLTE/wiki/IFrame-Mode-Configuration
|
*/
'iframe' => [
'default_tab' => [
'url' => null,
'title' => null,
],
'buttons' => [
'close' => true,
'close_all' => true,
'close_all_other' => true,
'scroll_left' => true,
'scroll_right' => true,
'fullscreen' => true,
],
'options' => [
'loading_screen' => 1000,
'auto_show_new_tab' => true,
'use_navbar_items' => true,
],
],
/*
|--------------------------------------------------------------------------
| Livewire
|--------------------------------------------------------------------------
|
| Here we can enable the Livewire support.
|
| For detailed instructions you can look the livewire here:
| https://github.com/jeroennoten/Laravel-AdminLTE/wiki/Other-Configuration
|
*/
'livewire' => false,
];

21
lang/vendor/adminlte/ar/adminlte.php vendored Normal file
View File

@ -0,0 +1,21 @@
<?php
return [
'full_name' => 'الاسم الثلاثي',
'email' => 'البريد الإلكتروني',
'password' => 'كلمة السر',
'retype_password' => 'أعد إدخال كلمة السر',
'remember_me' => 'ذكرني',
'register' => 'تسجيل جديد',
'register_a_new_membership' => 'تسجيل عضوية جديدة',
'i_forgot_my_password' => 'نسيت كلمة السر؟',
'i_already_have_a_membership' => 'هذا الحساب لديه عضوية سابقة',
'sign_in' => 'تسجيل الدخول',
'log_out' => 'تسجيل خروج',
'toggle_navigation' => 'القائمة الجانبية',
'login_message' => 'يجب تسجيل الدخول',
'register_message' => 'تم تسجيل العضوية الجديدة ',
'password_reset_message' => 'تم إعادة تعيين كلمة المرور',
'reset_password' => 'إعادة تعيين كلمة السر',
'send_password_reset_link' => 'إرسال رابط إعادة تعيين كلمة السر',
];

29
lang/vendor/adminlte/bn/adminlte.php vendored Normal file
View File

@ -0,0 +1,29 @@
<?php
return [
'full_name' => 'সম্পূর্ণ নাম',
'email' => 'ইমেইল',
'password' => 'পাসওয়ার্ড',
'retype_password' => 'পাসওয়ার্ড পুনরায় টাইপ করুন',
'remember_me' => 'মনে রাখুন',
'register' => 'নিবন্ধন করুন',
'register_a_new_membership' => 'মেম্বারশিপ নিবন্ধন করুন',
'i_forgot_my_password' => 'পাসওয়ার্ড ভুলে গেছি',
'i_already_have_a_membership' => 'মেম্বারশিপ নিবন্ধন করা আছে',
'sign_in' => 'সাইন ইন করুন',
'log_out' => 'লগ আউট',
'toggle_navigation' => 'নেভিগেশন টগল করুন',
'login_message' => 'আপনার সেশন শুরু করতে সাইন ইন করুন',
'register_message' => 'মেম্বারশিপ নিবন্ধন করুন',
'password_reset_message' => 'পাসওয়ার্ড পুনরায় সেট করুন',
'reset_password' => 'পাসওয়ার্ড পুনরায় সেট',
'send_password_reset_link' => 'পাসওয়ার্ড রিসেট লিঙ্ক পাঠান',
'verify_message' => 'আপনার অ্যাকাউন্টের একটি ভেরিফিকেশন প্রয়োজন',
'verify_email_sent' => 'একটি নতুন ভেরিফিকেশন লিঙ্ক আপনার ইমেইলে পাঠানো হয়েছে',
'verify_check_your_email' => 'এগিয়ে যাওয়ার আগে, অনুগ্রহ করে একটি ভেরিফিকেশন লিঙ্কের জন্য আপনার ইমেল চেক করুন',
'verify_if_not_recieved' => 'আপনি যদি ইমেল না পেয়ে থাকেন ',
'verify_request_another' => 'নতুন ভেরিফিকেশন লিঙ্কের জন্য এখানে ক্লিক করুন',
'confirm_password_message' => 'অনুগ্রহ করে, চালিয়ে যেতে আপনার পাসওয়ার্ড নিশ্চিত করুন',
'remember_me_hint' => 'অনির্দিষ্টকালের জন্য বা আমি ম্যানুয়ালি লগআউট না হওয়া পর্যন্ত আমাকে সাইন ইন রাখুন',
];

24
lang/vendor/adminlte/bn/iframe.php vendored Normal file
View File

@ -0,0 +1,24 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| IFrame Mode Language Lines
|--------------------------------------------------------------------------
|
| The following language lines are used by the AdminLTE IFrame mode blade
| layout. You are free to modify these language lines according to your
| application's requirements.
|
*/
'btn_close' => 'বন্ধ করুন',
'btn_close_active' => 'একটিভ গুলো বন্ধ করুন',
'btn_close_all' => 'সব বন্ধ করুন',
'btn_close_all_other' => 'অন্য সবকিছু বন্ধ করুন',
'tab_empty' => 'কোন ট্যাব নির্বাচন করা হয়নি!',
'tab_home' => 'হোম',
'tab_loading' => 'ট্যাব লোড হচ্ছে',
];

19
lang/vendor/adminlte/bn/menu.php vendored Normal file
View File

@ -0,0 +1,19 @@
<?php
return [
'main_navigation' => 'প্রধান নেভিগেশান',
'blog' => 'ব্লগ',
'pages' => 'পেজ',
'account_settings' => 'অ্যাকাউন্ট সেটিংস',
'profile' => 'প্রোফাইল',
'change_password' => 'পাসওয়ার্ড পরিবর্তন করুন',
'multilevel' => 'মাল্টি লেভেল',
'level_one' => 'লেভেল ১',
'level_two' => 'লেভেল ২',
'level_three' => 'লেভেল ৩',
'labels' => 'লেবেল',
'important' => 'গুরুত্বপূর্ণ',
'warning' => 'সতর্কতা',
'information' => 'তথ্য',
];

21
lang/vendor/adminlte/ca/adminlte.php vendored Normal file
View File

@ -0,0 +1,21 @@
<?php
return [
'full_name' => 'Nom complet',
'email' => 'Email',
'password' => 'Contrasenya',
'retype_password' => 'Confirmar la contrasenya',
'remember_me' => 'Recordar-me',
'register' => 'Registrar-se',
'register_a_new_membership' => 'Crear un nou compte',
'i_forgot_my_password' => 'He oblidat la meva contrasenya',
'i_already_have_a_membership' => 'Ja tinc un compte',
'sign_in' => 'Accedir',
'log_out' => 'Sortir',
'toggle_navigation' => 'Commutar la navegació',
'login_message' => 'Autenticar-se per a iniciar sessió',
'register_message' => 'Crear un nou compte',
'password_reset_message' => 'Restablir la contrasenya',
'reset_password' => 'Restablir la contrasenya',
'send_password_reset_link' => 'Enviar enllaç de restabliment de contrasenya',
];

27
lang/vendor/adminlte/de/adminlte.php vendored Normal file
View File

@ -0,0 +1,27 @@
<?php
return [
'full_name' => 'Vollständiger Name',
'email' => 'E-Mail',
'password' => 'Passwort',
'retype_password' => 'Passwort bestätigen',
'remember_me' => 'Angemeldet bleiben',
'register' => 'Registrieren',
'register_a_new_membership' => 'Ein neues Konto registrieren',
'i_forgot_my_password' => 'Ich habe mein Passwort vergessen',
'i_already_have_a_membership' => 'Ich bin bereits registriert',
'sign_in' => 'Anmelden',
'log_out' => 'Abmelden',
'toggle_navigation' => 'Navigation umschalten',
'login_message' => 'Bitte melden Sie sich an, um auf den geschützten Bereich zuzugreifen',
'register_message' => 'Bitte füllen Sie das Formular aus, um ein neues Konto zu registrieren',
'password_reset_message' => 'Bitte geben Sie Ihre E-Mail Adresse ein, um Ihr Passwort zurückzusetzen',
'reset_password' => 'Passwort zurücksetzen',
'send_password_reset_link' => 'Link zur Passwortwiederherstellung senden',
'verify_message' => 'Ihr Account muss noch bestätigt werden',
'verify_email_sent' => 'Es wurde ein neuer Bestätigungslink an Ihre E-Mail Adresse gesendet.',
'verify_check_your_email' => 'Bevor Sie fortfahren, überprüfen Sie bitte Ihre E-Mail auf einen Bestätigungslink.',
'verify_if_not_recieved' => 'Wenn Sie die E-Mail nicht empfangen haben',
'verify_request_another' => 'klicken Sie hier, um eine neue E-Mail anzufordern',
];

24
lang/vendor/adminlte/de/iframe.php vendored Normal file
View File

@ -0,0 +1,24 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| IFrame Mode Language Lines
|--------------------------------------------------------------------------
|
| The following language lines are used by the AdminLTE IFrame mode blade
| layout. You are free to modify these language lines according to your
| application's requirements.
|
*/
'btn_close' => 'Schließen',
'btn_close_active' => 'Aktive schließen',
'btn_close_all' => 'Alle schließen',
'btn_close_all_other' => 'Alle anderen schließen',
'tab_empty' => 'Kein Tab ausgewählt!',
'tab_home' => 'Home',
'tab_loading' => 'Tab wird geladen',
];

19
lang/vendor/adminlte/de/menu.php vendored Normal file
View File

@ -0,0 +1,19 @@
<?php
return [
'main_navigation' => 'HAUPTMENÜ',
'blog' => 'Blog',
'pages' => 'Seiten',
'account_settings' => 'KONTOEINSTELLUNGEN',
'profile' => 'Profil',
'change_password' => 'Passwort ändern',
'multilevel' => 'Multi Level',
'level_one' => 'Level 1',
'level_two' => 'Level 2',
'level_three' => 'Level 3',
'labels' => 'Beschriftungen',
'important' => 'Wichtig',
'warning' => 'Warnung',
'information' => 'Information',
];

29
lang/vendor/adminlte/en/adminlte.php vendored Normal file
View File

@ -0,0 +1,29 @@
<?php
return [
'full_name' => 'Full name',
'email' => 'Email',
'password' => 'Password',
'retype_password' => 'Retype password',
'remember_me' => 'Remember Me',
'register' => 'Register',
'register_a_new_membership' => 'Register a new membership',
'i_forgot_my_password' => 'I forgot my password',
'i_already_have_a_membership' => 'I already have a membership',
'sign_in' => 'Sign In',
'log_out' => 'Log Out',
'toggle_navigation' => 'Toggle navigation',
'login_message' => 'Sign in to start your session',
'register_message' => 'Register a new membership',
'password_reset_message' => 'Reset Password',
'reset_password' => 'Reset Password',
'send_password_reset_link' => 'Send Password Reset Link',
'verify_message' => 'Your account needs a verification',
'verify_email_sent' => 'A fresh verification link has been sent to your email address.',
'verify_check_your_email' => 'Before proceeding, please check your email for a verification link.',
'verify_if_not_recieved' => 'If you did not receive the email',
'verify_request_another' => 'click here to request another',
'confirm_password_message' => 'Please, confirm your password to continue.',
'remember_me_hint' => 'Keep me authenticated indefinitely or until I manually logout',
];

24
lang/vendor/adminlte/en/iframe.php vendored Normal file
View File

@ -0,0 +1,24 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| IFrame Mode Language Lines
|--------------------------------------------------------------------------
|
| The following language lines are used by the AdminLTE IFrame mode blade
| layout. You are free to modify these language lines according to your
| application's requirements.
|
*/
'btn_close' => 'Close',
'btn_close_active' => 'Close Active',
'btn_close_all' => 'Close All',
'btn_close_all_other' => 'Close Everything Else',
'tab_empty' => 'No tab selected!',
'tab_home' => 'Home',
'tab_loading' => 'Tab is loading',
];

19
lang/vendor/adminlte/en/menu.php vendored Normal file
View File

@ -0,0 +1,19 @@
<?php
return [
'main_navigation' => 'MAIN NAVIGATION',
'blog' => 'Blog',
'pages' => 'Pages',
'account_settings' => 'ACCOUNT SETTINGS',
'profile' => 'Profile',
'change_password' => 'Change Password',
'multilevel' => 'Multi Level',
'level_one' => 'Level 1',
'level_two' => 'Level 2',
'level_three' => 'Level 3',
'labels' => 'LABELS',
'important' => 'Important',
'warning' => 'Warning',
'information' => 'Information',
];

29
lang/vendor/adminlte/es/adminlte.php vendored Normal file
View File

@ -0,0 +1,29 @@
<?php
return [
'full_name' => 'Nombre completo',
'email' => 'Email',
'password' => 'Contraseña',
'retype_password' => 'Confirmar la contraseña',
'remember_me' => 'Recordarme',
'register' => 'Registrarse',
'register_a_new_membership' => 'Crear una nueva cuenta',
'i_forgot_my_password' => 'Olvidé mi contraseña',
'i_already_have_a_membership' => 'Ya tengo una cuenta',
'sign_in' => 'Acceder',
'log_out' => 'Salir',
'toggle_navigation' => 'Alternar barra de navegación',
'login_message' => 'Autenticarse para iniciar sesión',
'register_message' => 'Crear una nueva cuenta',
'password_reset_message' => 'Restablecer la contraseña',
'reset_password' => 'Restablecer la contraseña',
'send_password_reset_link' => 'Enviar enlace para restablecer la contraseña',
'verify_message' => 'Tu cuenta necesita una verificación',
'verify_email_sent' => 'Se ha enviado un nuevo enlace de verificación a su correo electrónico.',
'verify_check_your_email' => 'Antes de continuar, busque en su correo electrónico un enlace de verificación.',
'verify_if_not_recieved' => 'Si no has recibido el correo electrónico',
'verify_request_another' => 'haga clic aquí para solicitar otro',
'confirm_password_message' => 'Por favor, confirme su contraseña para continuar.',
'remember_me_hint' => 'Mantenerme autenticado indefinidamente o hasta cerrar la sesión manualmente',
];

24
lang/vendor/adminlte/es/iframe.php vendored Normal file
View File

@ -0,0 +1,24 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| IFrame Mode Language Lines
|--------------------------------------------------------------------------
|
| The following language lines are used by the AdminLTE IFrame mode blade
| layout. You are free to modify these language lines according to your
| application's requirements.
|
*/
'btn_close' => 'Cerrar',
'btn_close_active' => 'Cerrar Activa',
'btn_close_all' => 'Cerrar Todas',
'btn_close_all_other' => 'Cerrar Las Demás',
'tab_empty' => 'Ninguna pestaña seleccionada!',
'tab_home' => 'Inicio',
'tab_loading' => 'Cargando pestaña',
];

19
lang/vendor/adminlte/es/menu.php vendored Normal file
View File

@ -0,0 +1,19 @@
<?php
return [
'main_navigation' => 'MENU PRINCIPAL',
'blog' => 'Blog',
'pages' => 'Páginas',
'account_settings' => 'AJUSTES DE LA CUENTA',
'profile' => 'Perfil',
'change_password' => 'Cambiar Contraseña',
'multilevel' => 'Multi Nivel',
'level_one' => 'Nivel 1',
'level_two' => 'Nivel 2',
'level_three' => 'Nivel 3',
'labels' => 'ETIQUETAS',
'important' => 'Importante',
'warning' => 'Advertencia',
'information' => 'Información',
];

29
lang/vendor/adminlte/fa/adminlte.php vendored Normal file
View File

@ -0,0 +1,29 @@
<?php
return [
'full_name' => 'نام',
'email' => 'ایمیل',
'password' => 'رمز عبور',
'retype_password' => 'تکرار رمز عبور',
'remember_me' => 'مرا به یاد داشته باش',
'register' => 'ثبت نام',
'register_a_new_membership' => 'ایجاد یک عضویت جدید',
'i_forgot_my_password' => 'رمز عبور را فراموش کرده ام',
'i_already_have_a_membership' => 'قبلا ثبت نام کرده ام',
'sign_in' => 'ورود',
'log_out' => 'خروج',
'toggle_navigation' => 'نمایش/مخفی کردن منو',
'login_message' => 'وارد شوید',
'register_message' => 'ثبت نام',
'password_reset_message' => 'بازنشانی رمز عبور',
'reset_password' => 'بازنشانی رمز عبور',
'send_password_reset_link' => 'ارسال لینک بازنشانی رمز عبور',
'verify_message' => 'حساب شما نیاز به تایید دارد',
'verify_email_sent' => 'لینک تایید جدید به آدرس ایمیل شما ارسال گردید',
'verify_check_your_email' => 'قبل از ادامه, لطفاٌ ایمیل خود را برای لینک تایید بررسی کنید',
'verify_if_not_recieved' => 'اگر ایمیل را دریافت نکردید',
'verify_request_another' => 'برای درخواست دیگری اینجا کلیک کنید',
'confirm_password_message' => 'لطفاٌ, برای ادامه رمز عبور خود را تایید نمایید',
'remember_me_hint' => 'من را به طور نامحدود یا تا زمانی که به صورت دستی از سیستم خارج شوم، احراز هویت کن',
];

23
lang/vendor/adminlte/fa/iframe.php vendored Normal file
View File

@ -0,0 +1,23 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| IFrame Mode Language Lines
|--------------------------------------------------------------------------
|
| The following language lines are used by the AdminLTE IFrame mode blade
| layout. You are free to modify these language lines according to your
| application's requirements.
|
*/
'btn_close' => 'بستن',
'btn_close_active' => 'بستن فعال',
'btn_close_all' => 'بستن همه',
'btn_close_all_other' => 'بستن همه چیز دیگر',
'tab_empty' => 'هیچ تب ای انتخاب نشده است',
'tab_home' => 'خانه',
'tab_loading' => 'تب در حال بارگیری است',
];

19
lang/vendor/adminlte/fa/menu.php vendored Normal file
View File

@ -0,0 +1,19 @@
<?php
return [
'main_navigation' => 'ناو بار اصلی',
'blog' => 'بلاگ',
'pages' => 'صفحات',
'account_settings' => 'تنظیمات اکانت',
'profile' => 'پروفایل',
'change_password' => 'تغییر رمز عبور',
'multilevel' => 'چند سطحی',
'level_one' => 'سطح ۱',
'level_two' => 'سطح ۲',
'level_three' => 'سطح ۳',
'labels' => 'برچسب ها',
'important' => 'مهم',
'warning' => 'هشدار',
'information' => 'اطلاعات',
];

29
lang/vendor/adminlte/fr/adminlte.php vendored Normal file
View File

@ -0,0 +1,29 @@
<?php
return [
'full_name' => 'Nom',
'email' => 'Email',
'password' => 'Mot de passe',
'retype_password' => 'Entrez à nouveau le mot de passe',
'remember_me' => 'Se souvenir de moi',
'register' => 'Enregistrement',
'register_a_new_membership' => 'Enregistrer un nouveau membre',
'i_forgot_my_password' => 'J\'ai oublié mon mot de passe',
'i_already_have_a_membership' => 'J\'ai déjà un compte',
'sign_in' => 'Connexion',
'log_out' => 'Déconnexion',
'toggle_navigation' => 'Basculer la navigation',
'login_message' => 'Connectez-vous pour commencer une session',
'register_message' => 'Enregistrement d\'un nouveau membre',
'password_reset_message' => 'Réinitialisation du mot de passe',
'reset_password' => 'Réinitialisation du mot de passe',
'send_password_reset_link' => 'Envoi de la réinitialisation du mot de passe',
'verify_message' => 'Votre compte a besoin d\'une vérification',
'verify_email_sent' => 'Un nouveau lien de vérification a été envoyé à votre adresse e-mail.',
'verify_check_your_email' => 'Avant de continuer, veuillez vérifier votre e-mail pour un lien de vérification.',
'verify_if_not_recieved' => 'Si vous n\'avez pas reçu l\'e-mail',
'verify_request_another' => 'cliquez ici pour en demander un autre',
'confirm_password_message' => 'Veuillez confirmer votre mot de passe pour continuer.',
'remember_me_hint' => 'Gardez-moi authentifié indéfiniment ou jusqu\'à ce que je me déconnecte manuellement',
];

24
lang/vendor/adminlte/fr/iframe.php vendored Normal file
View File

@ -0,0 +1,24 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| IFrame Mode Language Lines
|--------------------------------------------------------------------------
|
| The following language lines are used by the AdminLTE IFrame mode blade
| layout. You are free to modify these language lines according to your
| application's requirements.
|
*/
'btn_close' => 'Fermer',
'btn_close_active' => 'Fermer Actif',
'btn_close_all' => 'Tout fermer',
'btn_close_all_other' => 'Fermer tout le reste',
'tab_empty' => 'Aucun onglet sélectionné !',
'tab_home' => 'Accueil',
'tab_loading' => 'Onglet en cours de chargement',
];

19
lang/vendor/adminlte/fr/menu.php vendored Normal file
View File

@ -0,0 +1,19 @@
<?php
return [
'main_navigation' => 'MENU PRINCIPALE',
'blog' => 'Blog',
'pages' => 'Pages',
'account_settings' => 'PARAMÈTRES DU COMPTE',
'profile' => 'Profil',
'change_password' => 'Change Password',
'multilevel' => 'Multi niveau',
'level_one' => 'Niveau 1',
'level_two' => 'Niveau 2',
'level_three' => 'Niveau 3',
'labels' => 'LABELS',
'important' => 'Important',
'warning' => 'Avertissement',
'information' => 'Informations',
];

22
lang/vendor/adminlte/hr/adminlte.php vendored Normal file
View File

@ -0,0 +1,22 @@
<?php
return [
'full_name' => 'Ime',
'email' => 'Email',
'password' => 'Lozinka',
'retype_password' => 'Ponovljena lozinka',
'remember_me' => 'Zapamti me',
'register' => 'Novi korisnik',
'register_a_new_membership' => 'Registracija',
'i_forgot_my_password' => 'Zaboravljena zaporka',
'i_already_have_a_membership' => 'Već imam korisnički račun',
'sign_in' => 'Prijava',
'log_out' => 'Odjava',
'toggle_navigation' => 'Pregled navigacije',
'login_message' => 'Prijava',
'register_message' => 'Registracija',
'password_reset_message' => 'Nova lozinka',
'reset_password' => 'Nova lozinka',
'send_password_reset_link' => 'Pošalji novi zahtjev lozinke',
];

21
lang/vendor/adminlte/hu/adminlte.php vendored Normal file
View File

@ -0,0 +1,21 @@
<?php
return [
'full_name' => 'Teljes név',
'email' => 'Email',
'password' => 'Jelszó',
'retype_password' => 'Jelszó újra',
'remember_me' => 'Emlékezz rám',
'register' => 'Regisztráció',
'register_a_new_membership' => 'Regisztrálás új tagként',
'i_forgot_my_password' => 'Elfelejtetem a jelszavam',
'i_already_have_a_membership' => 'Már tag vagyok',
'sign_in' => 'Belépés',
'log_out' => 'Kilépés',
'toggle_navigation' => 'Lenyíló navigáció',
'login_message' => 'Belépés a munkamenet elkezdéséhez',
'register_message' => 'Regisztrálás új tagként',
'password_reset_message' => 'Jelszó visszaállítása',
'reset_password' => 'Jelszó visszaállítása',
'send_password_reset_link' => 'Jelszó visszaállítás link küldése',
];

28
lang/vendor/adminlte/id/adminlte.php vendored Normal file
View File

@ -0,0 +1,28 @@
<?php
return [
'full_name' => 'Nama lengkap',
'email' => 'Email',
'password' => 'Kata sandi',
'retype_password' => 'Ketik ulang kata sandi',
'remember_me' => 'Ingat Saya',
'register' => 'Daftar',
'register_a_new_membership' => 'Daftar sebagai anggota baru',
'i_forgot_my_password' => 'Saya lupa kata sandi',
'i_already_have_a_membership' => 'Saya telah menjadi anggota',
'sign_in' => 'Masuk',
'log_out' => 'Keluar',
'toggle_navigation' => 'Toggle navigasi',
'login_message' => 'Masuk untuk memulai sesi Anda',
'register_message' => 'Daftar sebagai anggota baru',
'password_reset_message' => 'Atur Ulang Kata Sandi',
'reset_password' => 'Atur Ulang Kata Sandi',
'send_password_reset_link' => 'Kirim Tautan Atur Ulang Kata Sandi',
'verify_message' => 'Akun Anda membutuhkan verifikasi',
'verify_email_sent' => 'Tautan verifikasi baru telah dikirimkan ke email Anda.',
'verify_check_your_email' => 'Sebelum melanjutkan, periksa email Anda untuk tautan verifikasi.',
'verify_if_not_recieved' => 'Jika Anda tidak menerima email',
'verify_request_another' => 'klik disini untuk meminta ulang',
'confirm_password_message' => 'Konfirmasi kata sandi Anda untuk melanjutkan',
];

19
lang/vendor/adminlte/id/menu.php vendored Normal file
View File

@ -0,0 +1,19 @@
<?php
return [
'main_navigation' => 'NAVIGASI UTAMA',
'blog' => 'Blog',
'pages' => 'Halaman',
'account_settings' => 'PENGATURAN AKUN',
'profile' => 'Profil',
'change_password' => 'Ubah Kata Sandi',
'multilevel' => 'Multi Level',
'level_one' => 'Level 1',
'level_two' => 'Level 2',
'level_three' => 'Level 3',
'labels' => 'LABEL',
'important' => 'Penting',
'warning' => 'Peringatan',
'information' => 'Informasi',
];

22
lang/vendor/adminlte/it/adminlte.php vendored Normal file
View File

@ -0,0 +1,22 @@
<?php
return [
'full_name' => 'Nome completo',
'email' => 'Email',
'password' => 'Password',
'retype_password' => 'Ripeti password',
'remember_me' => 'Ricordami',
'register' => 'Registrazione',
'register_a_new_membership' => 'Registra un nuovo abbonamento',
'i_forgot_my_password' => 'Ho dimenticato la password',
'i_already_have_a_membership' => 'Ho già un abbonamento',
'sign_in' => 'Accedi',
'log_out' => 'Logout',
'toggle_navigation' => 'Attiva la navigazione',
'login_message' => 'Accedi per iniziare la tua sessione',
'register_message' => 'Registra un nuovo abbonamento',
'password_reset_message' => 'Resetta la password',
'reset_password' => 'Resetta la password',
'send_password_reset_link' => 'Invia link di reset della password',
];

23
lang/vendor/adminlte/it/iframe.php vendored Normal file
View File

@ -0,0 +1,23 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| IFrame Mode Language Lines
|--------------------------------------------------------------------------
|
| The following language lines are used by the AdminLTE IFrame mode blade
| layout. You are free to modify these language lines according to your
| application's requirements.
|
*/
'btn_close' => 'Chiudi',
'btn_close_active' => 'Chiudi scheda',
'btn_close_all' => 'Chiudi tutto',
'btn_close_all_other' => 'Chiudi tutto il resto',
'tab_empty' => 'Nessuna scheda selezionata!',
'tab_home' => 'Home',
'tab_loading' => 'Caricamento scheda',
];

19
lang/vendor/adminlte/it/menu.php vendored Normal file
View File

@ -0,0 +1,19 @@
<?php
return [
'main_navigation' => 'MENU PRINCIPALE',
'blog' => 'Blog',
'pages' => 'Pagine',
'account_settings' => 'IMPOSTAZIONI ACCOUNT',
'profile' => 'Profilo',
'change_password' => 'Modifica Password',
'multilevel' => 'Multi Livello',
'level_one' => 'Livello 1',
'level_two' => 'Livello 2',
'level_three' => 'Livello 3',
'labels' => 'ETICHETTE',
'important' => 'Importante',
'warning' => 'Avvertimento',
'information' => 'Informazione',
];

27
lang/vendor/adminlte/ja/adminlte.php vendored Normal file
View File

@ -0,0 +1,27 @@
<?php
return [
'full_name' => '氏名',
'email' => 'メールアドレス',
'password' => 'パスワード',
'retype_password' => 'もう一度入力',
'remember_me' => '認証状態を保持する',
'register' => '登録する',
'register_a_new_membership' => 'アカウントを登録する',
'i_forgot_my_password' => 'パスワードを忘れた',
'i_already_have_a_membership' => 'すでにアカウントを持っている',
'sign_in' => 'ログイン',
'log_out' => 'ログアウト',
'toggle_navigation' => 'ナビゲーションを開閉',
'login_message' => 'ログイン画面',
'register_message' => 'アカウントを登録する',
'password_reset_message' => 'パスワードをリセットする',
'reset_password' => 'パスワードをリセットする',
'send_password_reset_link' => 'パスワードリセットリンクを送信する。',
'verify_message' => 'あなたのアカウントは認証が必要です。',
'verify_email_sent' => 'あなたのメールアドレスに認証用のリンクを送信しました。',
'verify_check_your_email' => '続行する前に、認証用リンクについてメールを確認してください。',
'verify_if_not_recieved' => 'メールが届かない場合',
'verify_request_another' => 'ここをクリックしてもう一度送信する',
];

19
lang/vendor/adminlte/ja/menu.php vendored Normal file
View File

@ -0,0 +1,19 @@
<?php
return [
'main_navigation' => 'メインメニュー',
'blog' => 'ブログ',
'pages' => 'ページ',
'account_settings' => 'アカウント設定',
'profile' => 'プロフィール',
'change_password' => 'パスワード変更',
'multilevel' => 'マルチ階層',
'level_one' => '階層 1',
'level_two' => '階層 2',
'level_three' => '階層 3',
'labels' => 'ラベル',
'important' => '重要',
'warning' => '警告',
'information' => 'インフォメーション',
];

22
lang/vendor/adminlte/la/adminlte.php vendored Normal file
View File

@ -0,0 +1,22 @@
<?php
return [
'full_name' => 'ຊື່',
'email' => 'ອີເມວ',
'password' => 'ລະຫັດຜ່ານ',
'retype_password' => 'ພິມລະຫັດຜ່ານອີກຄັ້ງ',
'remember_me' => 'ຈື່ຂ້ອຍໄວ້',
'register' => 'ລົງທະບຽນ',
'register_a_new_membership' => 'ລົງທະບຽນສະມາຊິກໃໝ່',
'i_forgot_my_password' => 'ຂ້ອຍລືມລະຫັດຜ່ານ',
'i_already_have_a_membership' => 'ຂ້ອຍເປັນສະມາຊິກແລ້ວ',
'sign_in' => 'ລົງຊື່',
'log_out' => 'ລົງຊື່ອອກ',
'toggle_navigation' => 'ປຸ່ມນຳທາງ',
'login_message' => 'ລົງຊື່ເຂົ້າໃຊ້ເພື່ອເລີ່ມເຊສຊັ້ນ',
'register_message' => 'ລົງທະບຽນສະມາຊິກໃໝ່',
'password_reset_message' => 'ລະຫັດລີເຊັດຂໍ້ຄວາມ',
'reset_password' => 'ລີເຊັດຂໍ້ຄວາມ',
'send_password_reset_link' => 'ສົ່ງລິ້ງລີເຊັດລະຫັດຜ່ານ',
];

19
lang/vendor/adminlte/la/menu.php vendored Normal file
View File

@ -0,0 +1,19 @@
<?php
return [
'main_navigation' => 'ໜ້າຫຼັກ',
'blog' => 'blog',
'pages' => 'ໜ້າ',
'account_settings' => 'ຕັ້ງຄ່າບັນຊີ',
'profile' => 'ໂປຣຟາຍ',
'change_password' => 'ປ່ຽນລະຫັດຜ່ານ',
'multilevel' => 'ຫຼາກຫຼາຍລະດັບ',
'level_one' => 'ລະດັບທີ 1',
'level_two' => 'ລະດັບທີ 2',
'level_three' => 'ລະດັບທີ 3',
'labels' => 'ແຖບ',
'important' => 'ສຳຄັນ',
'warning' => 'ຄຳເຕືອນ',
'information' => 'ຂໍ້ມູນ',
];

22
lang/vendor/adminlte/nl/adminlte.php vendored Normal file
View File

@ -0,0 +1,22 @@
<?php
return [
'full_name' => 'Volledige naam',
'email' => 'E-mailadres',
'password' => 'Wachtwoord',
'retype_password' => 'Wachtwoord nogmaals invoeren',
'remember_me' => 'Ingelogd blijven',
'register' => 'Registreren',
'register_a_new_membership' => 'Registreer een nieuw lidmaatschap',
'i_forgot_my_password' => 'Ik ben mijn wachtwoord vergeten',
'i_already_have_a_membership' => 'Ik heb al een lidmaatschap',
'sign_in' => 'Inloggen',
'log_out' => 'Uitloggen',
'toggle_navigation' => 'Schakel navigatie',
'login_message' => 'Log in om je sessie te starten',
'register_message' => 'Registreer een nieuw lidmaatschap',
'password_reset_message' => 'Wachtwoord herstellen',
'reset_password' => 'Wachtwoord herstellen',
'send_password_reset_link' => 'Verzend link voor wachtwoordherstel',
];

28
lang/vendor/adminlte/pl/adminlte.php vendored Normal file
View File

@ -0,0 +1,28 @@
<?php
return [
'full_name' => 'Imię i nazwisko',
'email' => 'Email',
'password' => 'Hasło',
'retype_password' => 'Powtórz hasło',
'remember_me' => 'Zapamiętaj mnie',
'register' => 'Zarejestruj',
'register_a_new_membership' => 'Załóż nowe konto',
'i_forgot_my_password' => 'Zapomniałem hasła',
'i_already_have_a_membership' => 'Mam już konto',
'sign_in' => 'Zaloguj',
'log_out' => 'Wyloguj',
'toggle_navigation' => 'Przełącz nawigację',
'login_message' => 'Zaloguj się aby uzyskać dostęp do panelu',
'register_message' => 'Załóż nowe konto',
'password_reset_message' => 'Resetuj hasło',
'reset_password' => 'Resetuj hasło',
'send_password_reset_link' => 'Wyślij link do resetowania hasła',
'verify_message' => 'Twoje konto wymaga weryfikacji',
'verify_email_sent' => 'Na Twój adres email został wysłany nowy link weryfikacyjny.',
'verify_check_your_email' => 'Zanim przejdziesz dalej, sprawdź pocztę email pod kątem linku weryfikacyjnego.',
'verify_if_not_recieved' => 'Jeśli nie otrzymałeś emaila',
'verify_request_another' => 'kliknij tutaj, aby poprosić o inny',
'confirm_password_message' => 'Aby kontynuować, proszę potwierdzić swoje hasło.',
];

19
lang/vendor/adminlte/pl/menu.php vendored Normal file
View File

@ -0,0 +1,19 @@
<?php
return [
'main_navigation' => 'GŁÓWNA NAWIGACJA',
'blog' => 'Blog',
'pages' => 'Strony',
'account_settings' => 'USTAWIENIA KONTA',
'profile' => 'Profil',
'change_password' => 'Zmień hasło',
'multilevel' => 'Wielopoziomowe',
'level_one' => 'Poziom 1',
'level_two' => 'Poziom 2',
'level_three' => 'Poziom 3',
'labels' => 'ETYKIETY',
'important' => 'Ważne',
'warning' => 'Ostrzeżenie',
'information' => 'Informacja',
];

28
lang/vendor/adminlte/pt-br/adminlte.php vendored Normal file
View File

@ -0,0 +1,28 @@
<?php
return [
'full_name' => 'Nome completo',
'email' => 'Email',
'password' => 'Senha',
'retype_password' => 'Repita a senha',
'remember_me' => 'Lembrar-me',
'register' => 'Registrar',
'register_a_new_membership' => 'Registrar um novo membro',
'i_forgot_my_password' => 'Esqueci minha senha',
'i_already_have_a_membership' => 'Já sou um membro',
'sign_in' => 'Entrar',
'log_out' => 'Sair',
'toggle_navigation' => 'Trocar navegação',
'login_message' => 'Entre para iniciar uma nova sessão',
'register_message' => 'Registrar um novo membro',
'password_reset_message' => 'Recuperar senha',
'reset_password' => 'Recuperar senha',
'send_password_reset_link' => 'Enviar link de recuperação de senha',
'verify_message' => 'Sua conta precisa ser verificada',
'verify_email_sent' => 'Um novo link de verificação foi enviado para o seu email.',
'verify_check_your_email' => 'Antes de continuar, por favor verifique seu email com o link de confirmação.',
'verify_if_not_recieved' => 'caso não tenha recebido o email',
'verify_request_another' => 'clique aqui para solicitar um novo',
'confirm_password_message' => 'Por favor, confirme sua senha para continuar.',
];

19
lang/vendor/adminlte/pt-br/menu.php vendored Normal file
View File

@ -0,0 +1,19 @@
<?php
return [
'main_navigation' => 'Navegação Principal',
'blog' => 'Blog',
'pages' => 'Página',
'account_settings' => 'Configurações da Conta',
'profile' => 'Perfil',
'change_password' => 'Mudar Senha',
'multilevel' => 'Multinível',
'level_one' => 'Nível 1',
'level_two' => 'Nível 2',
'level_three' => 'Nível 3',
'labels' => 'Etiquetas',
'Important' => 'Importante',
'Warning' => 'Aviso',
'Information' => 'Informação',
];

28
lang/vendor/adminlte/pt-pt/adminlte.php vendored Normal file
View File

@ -0,0 +1,28 @@
<?php
return [
'full_name' => 'Nome completo',
'email' => 'Email',
'password' => 'Palavra-passe',
'retype_password' => 'Repita a palavra-passe',
'remember_me' => 'Lembrar-me',
'register' => 'Registar',
'register_a_new_membership' => 'Registar um novo membro',
'i_forgot_my_password' => 'Esqueci-me da palavra-passe',
'i_already_have_a_membership' => 'Já sou membro',
'sign_in' => 'Entrar',
'log_out' => 'Sair',
'toggle_navigation' => 'Alternar navegação',
'login_message' => 'Entre para iniciar nova sessão',
'register_message' => 'Registar um novo membro',
'password_reset_message' => 'Recuperar palavra-passe',
'reset_password' => 'Recuperar palavra-passe',
'send_password_reset_link' => 'Enviar link de recuperação de palavra-passe',
'verify_message' => 'A sua conta precisa ser verificada',
'verify_email_sent' => 'Um novo link de verificação foi enviado para o seu email.',
'verify_check_your_email' => 'Antes de continuar, por favor verifique o seu email com o link de confirmação.',
'verify_if_not_recieved' => 'caso não tenha recebido o email',
'verify_request_another' => 'clique aqui para solicitar um novo',
'confirm_password_message' => 'Por favor, confirme a sua palavra-passe para continuar.',
];

24
lang/vendor/adminlte/pt-pt/iframe.php vendored Normal file
View File

@ -0,0 +1,24 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| IFrame Mode Language Lines
|--------------------------------------------------------------------------
|
| The following language lines are used by the AdminLTE IFrame mode blade
| layout. You are free to modify these language lines according to your
| application's requirements.
|
*/
'btn_close' => 'Fechar',
'btn_close_active' => 'Fechar Ativo',
'btn_close_all' => 'Fechar Todos',
'btn_close_all_other' => 'Fechar Outros',
'tab_empty' => 'Nenhum separador selecionado!',
'tab_home' => 'Página Inicial',
'tab_loading' => 'A carregar separador',
];

19
lang/vendor/adminlte/pt-pt/menu.php vendored Normal file
View File

@ -0,0 +1,19 @@
<?php
return [
'main_navigation' => 'Navegação Principal',
'blog' => 'Blog',
'pages' => 'Página',
'account_settings' => 'Configurações da Conta',
'profile' => 'Perfil',
'change_password' => 'Mudar Palavra-passe',
'multilevel' => 'Multinível',
'level_one' => 'Nível 1',
'level_two' => 'Nível 2',
'level_three' => 'Nível 3',
'labels' => 'Etiquetas',
'Important' => 'Importante',
'Warning' => 'Aviso',
'Information' => 'Informação',
];

23
lang/vendor/adminlte/ru/adminlte.php vendored Normal file
View File

@ -0,0 +1,23 @@
<?php
return [
'full_name' => 'Полное имя',
'email' => 'Почта',
'password' => 'Пароль',
'retype_password' => 'Подтверждение пароля',
'remember_me' => 'Запомнить меня',
'register' => 'Регистрация',
'register_a_new_membership' => 'Регистрация нового пользователя',
'i_forgot_my_password' => 'Восстановление пароля',
'i_already_have_a_membership' => 'Я уже зарегистрирован',
'sign_in' => 'Вход',
'log_out' => 'Выход',
'toggle_navigation' => 'Переключить навигацию',
'login_message' => 'Вход в систему',
'register_message' => 'Регистрация нового пользователя',
'password_reset_message' => 'Восстановление пароля',
'reset_password' => 'Восстановление пароля',
'send_password_reset_link' => 'Отправить ссылку для восстановления пароля',
];

19
lang/vendor/adminlte/ru/menu.php vendored Normal file
View File

@ -0,0 +1,19 @@
<?php
return [
'main_navigation' => 'ГЛАВНОЕ МЕНЮ',
'blog' => 'Блог',
'pages' => 'Страницы',
'account_settings' => 'НАСТРОЙКИ ПРОФИЛЯ',
'profile' => 'Профиль',
'change_password' => 'Изменить пароль',
'multilevel' => 'Многоуровневое меню',
'level_one' => 'Уровень 1',
'level_two' => 'Уровень 2',
'level_three' => 'Уровень 3',
'labels' => 'Метки',
'important' => 'Важно',
'warning' => 'Внимание',
'information' => 'Информация',
];

29
lang/vendor/adminlte/sk/adminlte.php vendored Normal file
View File

@ -0,0 +1,29 @@
<?php
return [
'full_name' => 'Celé meno',
'email' => 'Email',
'password' => 'Heslo',
'retype_password' => 'Zopakujte heslo',
'remember_me' => 'Zapamätať si ma',
'register' => 'Registrovať',
'register_a_new_membership' => 'Registrovať nový účet',
'i_forgot_my_password' => 'Zabudol som heslo',
'i_already_have_a_membership' => 'Už mám účet',
'sign_in' => 'Prihlásiť',
'log_out' => 'Odhlásiť',
'toggle_navigation' => 'Prepnúť navigáciu',
'login_message' => 'Pre pokračovanie sa prihláste',
'register_message' => 'Registrovať nový účet',
'password_reset_message' => 'Obnoviť heslo',
'reset_password' => 'Obnoviť heslo',
'send_password_reset_link' => 'Zaslať odkaz na obnovenie hesla',
'verify_message' => 'Váš účet je potrebné overiť',
'verify_email_sent' => 'Na vašu emailovú adresu bol odoslaný nový odkaz na overenie účtu.',
'verify_check_your_email' => 'Pred tým, než budete pokračovať, skontrolujte svoju emailovú adresu pre overovací odkaz.',
'verify_if_not_recieved' => 'V prípade, že ste email neobdržali',
'verify_request_another' => 'kliknite sem pre obdržanie ďalšieho',
'confirm_password_message' => 'Pre pokračovanie prosím potvrďte svoje heslo.',
'remember_me_hint' => 'Udržiavať prihlásenie bez obmedzenia, alebo kým sa neodhlásim',
];

24
lang/vendor/adminlte/sk/iframe.php vendored Normal file
View File

@ -0,0 +1,24 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| IFrame Mode Language Lines
|--------------------------------------------------------------------------
|
| The following language lines are used by the AdminLTE IFrame mode blade
| layout. You are free to modify these language lines according to your
| application's requirements.
|
*/
'btn_close' => 'Zavrieť',
'btn_close_active' => 'Zavrieť aktívne',
'btn_close_all' => 'Zavrieť všetky',
'btn_close_all_other' => 'Zavrieť všetky ostatné',
'tab_empty' => 'Nie je vybraný tab!',
'tab_home' => 'Domov',
'tab_loading' => 'Tab sa načítava',
];

19
lang/vendor/adminlte/sk/menu.php vendored Normal file
View File

@ -0,0 +1,19 @@
<?php
return [
'main_navigation' => 'HLAVNÁ NAVIGÁCIA',
'blog' => 'Blog',
'pages' => 'Stránky',
'account_settings' => 'NASTAVENIA KONTA',
'profile' => 'Profil',
'change_password' => 'Zmena hesla',
'multilevel' => 'Viac úrovňové',
'level_one' => 'Úroveň 1',
'level_two' => 'Úroveň 2',
'level_three' => 'Úroveň 3',
'labels' => 'ŠTÍTKY',
'important' => 'Dôležité',
'warning' => 'Varovanie',
'information' => 'Informácie',
];

28
lang/vendor/adminlte/sr/adminlte.php vendored Normal file
View File

@ -0,0 +1,28 @@
<?php
return [
'full_name' => 'Ime i prezime',
'email' => 'Email',
'password' => 'Lozinka',
'retype_password' => 'Ponovo unesite lozinku',
'remember_me' => 'Zapamti me',
'register' => 'Registrujte se',
'register_a_new_membership' => 'Registrujte nov nalog',
'i_forgot_my_password' => 'Zaboravili ste lozinku?',
'i_already_have_a_membership' => 'Već imate nalog',
'sign_in' => 'Ulogujte se',
'log_out' => 'Izlogujte se',
'toggle_navigation' => 'Uključi/isključi navigaciju',
'login_message' => 'Molimo ulogujte se',
'register_message' => 'Registrujte nov nalog',
'password_reset_message' => 'Resetujte lozinku',
'reset_password' => 'Resetujte lozinku',
'send_password_reset_link' => 'Pošaljite link za ponovno postavljanje lozinke',
'verify_message' => 'Potrebna je verifikacija vašeg naloga',
'verify_email_sent' => 'Nov link za verifikaciju je poslat na vašu adresu e-pošte.',
'verify_check_your_email' => 'Pre nego što nastavite, potražite link za verifikaciju u svojoj e-pošti.',
'verify_if_not_recieved' => 'Ako niste dobili email',
'verify_request_another' => 'kliknite ovde da biste zatražili još jedan',
'confirm_password_message' => 'Molimo vas da potvrdite lozinku da biste nastavili',
];

21
lang/vendor/adminlte/sr/menu.php vendored Normal file
View File

@ -0,0 +1,21 @@
<?php
return [
'main_navigation' => 'GLAVNA NAVIGACIJA',
'blog' => 'Blog',
'pages' => 'Strane',
'account_settings' => 'PODEŠAVANJA NALOGA',
'profile' => 'Profil',
'change_password' => 'Promena lozinke',
'multilevel' => 'Više nivoa',
'level_one' => 'Nivo 1',
'level_two' => 'Nivo 2',
'level_three' => 'Nivo 3',
'labels' => 'OZNAKE',
'important' => 'Važno',
'warning' => 'Upozorenje',
'information' => 'Informacije',
'menu' => 'MENI',
'users' => 'Korisnici',
];

29
lang/vendor/adminlte/tr/adminlte.php vendored Normal file
View File

@ -0,0 +1,29 @@
<?php
return [
'full_name' => 'Ad ve Soyadı',
'email' => 'E-Posta Adresi',
'password' => 'Parola',
'retype_password' => 'Yeniden Parola',
'remember_me' => 'Beni Hatırla',
'register' => 'Kaydol',
'register_a_new_membership' => 'Yeni üye kaydı',
'i_forgot_my_password' => 'Parolamı unuttum',
'i_already_have_a_membership' => 'Zaten üye kaydım var',
'sign_in' => 'Giriş Yap',
'log_out' => ıkış Yap',
'toggle_navigation' => 'Ana menüyü aç/kapa',
'login_message' => 'Oturumunuzu devam ettirmek için giriş yapmalısınız',
'register_message' => 'Yeni üye kaydı oluştur',
'password_reset_message' => 'Parola Sıfırlama',
'reset_password' => 'Parola Sıfırlama',
'send_password_reset_link' => 'Parola Sıfırlama Linki Gönder',
'verify_message' => 'Hesabınızın doğrulanmaya ihtiyacı var',
'verify_email_sent' => 'Hesap doğrulama linki E-posta adresinize gönderildi.',
'verify_check_your_email' => 'İşlemlere devam etmeden önce doğrulama linki için e-posta adresinizi kontrol edin.',
'verify_if_not_recieved' => 'Eğer doğrulama e-postası adresinize ulaşmadıysa',
'verify_request_another' => 'buraya tıklayarak yeni bir doğrulama linki talep edebilirsiniz',
'confirm_password_message' => 'Devam etmek için lütfen parolanızı doğrulayın.',
];

19
lang/vendor/adminlte/tr/menu.php vendored Normal file
View File

@ -0,0 +1,19 @@
<?php
return [
'main_navigation' => 'ANA MENÜ',
'blog' => 'Blog',
'pages' => 'Sayfalar',
'account_settings' => 'HESAP AYARLARI',
'profile' => 'Profil',
'change_password' => 'Parolanı değiştir',
'multilevel' => 'Çoklu Seviye',
'level_one' => 'Seviye 1',
'level_two' => 'Seviye 2',
'level_three' => 'Seviye 3',
'labels' => 'ETİKETLER',
'important' => 'Önemli',
'warning' => 'Uyarı',
'information' => 'Bilgi',
];

23
lang/vendor/adminlte/uk/adminlte.php vendored Normal file
View File

@ -0,0 +1,23 @@
<?php
return [
'full_name' => 'Повне і\'мя',
'email' => 'Пошта',
'password' => 'Пароль',
'retype_password' => 'Підтвердження пароля',
'remember_me' => 'Запам\'ятати мене',
'register' => 'Реєстрація',
'register_a_new_membership' => 'Реєстрація нового користувача',
'i_forgot_my_password' => 'Відновлення пароля',
'i_already_have_a_membership' => 'Я вже зареєстрований',
'sign_in' => 'Вхід',
'log_out' => 'Вихід',
'toggle_navigation' => 'Переключити навігацію',
'login_message' => 'Вхід до системи',
'register_message' => 'Реєстрація нового користувача',
'password_reset_message' => 'Відновлення пароля',
'reset_password' => 'Відновлення пароля',
'send_password_reset_link' => 'Відправити посилання для відновлення пароля',
];

19
lang/vendor/adminlte/uk/menu.php vendored Normal file
View File

@ -0,0 +1,19 @@
<?php
return [
'main_navigation' => 'ГОЛОВНЕ МЕНЮ',
'blog' => 'Блог',
'pages' => 'Сторінки',
'account_settings' => 'НАЛАШТУВАННЯ ПРОФІЛЮ',
'profile' => 'Профіль',
'change_password' => 'Змінити пароль',
'multilevel' => 'Багаторівневе меню',
'level_one' => 'Рівень 1',
'level_two' => 'Рівень 2',
'level_three' => 'Рівень 3',
'labels' => 'Мітки',
'important' => 'Важливо',
'warning' => 'Увага',
'information' => 'Інформація',
];

22
lang/vendor/adminlte/vi/adminlte.php vendored Normal file
View File

@ -0,0 +1,22 @@
<?php
return [
'full_name' => 'Tên đầy đủ',
'email' => 'Email',
'password' => 'Mật khẩu',
'retype_password' => 'Nhập lại mật khẩu',
'remember_me' => 'Nhớ tôi',
'register' => 'Đăng ký',
'register_a_new_membership' => 'Đăng ký thành viên mới',
'i_forgot_my_password' => 'Tôi quên mật khẩu của tôi',
'i_already_have_a_membership' => 'Tôi đã là thành viên',
'sign_in' => 'Đăng nhập',
'log_out' => 'Đăng xuất',
'toggle_navigation' => 'Chuyển đổi điều hướng',
'login_message' => 'Đăng nhập để bắt đầu phiên của bạn',
'register_message' => 'Đăng ký thành viên mới',
'password_reset_message' => 'Đặt lại mật khẩu',
'reset_password' => 'Đặt lại mật khẩu',
'send_password_reset_link' => 'Gửi liên kết đặt lại mật khẩu',
];

19
lang/vendor/adminlte/vi/menu.php vendored Normal file
View File

@ -0,0 +1,19 @@
<?php
return [
'main_navigation' => 'ĐIỀU HƯỚNG CHÍNH',
'blog' => 'Blog',
'pages' => 'Trang',
'account_settings' => 'CÀI ĐẶT TÀI KHOẢN',
'profile' => 'Hồ sơ',
'change_password' => 'Đổi mật khẩu',
'multilevel' => 'Đa cấp',
'level_one' => 'Cấp độ 1',
'level_two' => 'Cấp độ 2',
'level_three' => 'Cấp độ 3',
'labels' => 'NHÃN',
'Important' => 'Quan trọng',
'Warning' => 'Cảnh báo',
'Information' => 'Thông tin',
];

22
lang/vendor/adminlte/zh-CN/adminlte.php vendored Normal file
View File

@ -0,0 +1,22 @@
<?php
return [
'full_name' => '姓名',
'email' => '邮箱',
'password' => '密码',
'retype_password' => '重输密码',
'remember_me' => '记住我',
'register' => '注册',
'register_a_new_membership' => '注册新用户',
'i_forgot_my_password' => '忘记密码',
'i_already_have_a_membership' => '已经有账户',
'sign_in' => '登录',
'log_out' => '退出',
'toggle_navigation' => '切换导航',
'login_message' => '请先登录',
'register_message' => '注册新用户',
'password_reset_message' => '重置密码',
'reset_password' => '重置密码',
'send_password_reset_link' => '发送密码重置链接',
];

19
lang/vendor/adminlte/zh-CN/menu.php vendored Normal file
View File

@ -0,0 +1,19 @@
<?php
return [
'main_navigation' => '主导航',
'blog' => '博客',
'pages' => '页面',
'account_settings' => '账户设置',
'profile' => '用户信息',
'change_password' => '修改密码',
'multilevel' => '多级',
'level_one' => '第一级',
'level_two' => '第二级',
'level_three' => '第三级',
'labels' => '标签',
'important' => '重要',
'warning' => '警告',
'information' => '信息',
];

113
public/img/1642731848.pdf Normal file
View File

@ -0,0 +1,113 @@
PANDUAN MAHASISWA MELAKUKAN PENGISIAN DATA E-LSP
1. Buka link https://lsp.polije.ac.id/
2. Lakukan pendaftaran user dengan klik menu Login
3. Klik Create an Account untuk melakukan pendaftaran user
4. Masukkan Data diri
Full Name : Masukkan nama lengkap mahasiswa
Username : Masukkan username yang akan digunakan untuk login
Email : Masukkan email aktif
Password : Masukkan password minimal 6 karakter
Password Confirmation: Mengulang untuk memasukkan password
I agree to the term of service and privacy policy: di centang untuk menyatakan
persetujuan terhadap aturan.
5. Cek email dari LSP Polije untuk mengaktifkan akun dengan klik pada activation
registration, jika tidak ditemukan bisa dicek pada menu spam
6. Klik Login
7. Masukkan username dan password klik login
Username : masukkan username yang telah terdaftar saat registrasi
Password : masukan password yang telah diinputkan saat registrasi
8. Jika lupa password
Masukkan email aktif, untuk dilakukan reset password
Buka email dan lakukan reset password
Masukkan Kembali email dan password baru dan lakukan submit
9. Setelah berhasil Login-> Muncul tampilan dashboard
10. Lakukan Update Profil
a. Step 1 merubah username, email dan password jika akan dilakukan perubahan
b. Step 2: Isikan data diri, jika telah selesai tekan next
NIK : Nomer Induk Kependudukan
Full Name : Isikan Nama Lengkap
Place of birth : Tempat lahir
Date of birth : Tanggal lahir
Gender : Pilih Jenis Kelamin (Female : Perempuan , Male: Laki - laki)
Nationality : Kebangsaan
Address : Alamat rumah
Zip Code : Kode Pos
Phone : Nomer Handphone
Home : Nomer Telepon Rumah (tidak wajib diisi)
Office : Nomer Telepon Kantor (tidak wajib diisi)
Province : Provinsi alamat rumah
City : Kota alamat rumah
Last Education: Pilih Pendidikan terkahir yang pernah di tempuh
Photo Profile : Masukkan photo resmi dengan maksimal ukuran file 5 MB
Signature : Buatlah tanda tangan digital
c. Step 3: Masukkan data Identitas Kampus seperti dibawah ini
Company : Politeknik Negeri Jember
Position : Mahasiswa
Address : Mastrip POBOX 164 Jember
Zip Code 68101
Phone Company: (0331)333532,333533
Fax : (0331) 333531
Email : politeknik @polije.ac.id
d. Step 4: Preview
Lihat Kembali data yang telah diisikan setiap stepnya, jika telah sesuai centang Sayabukan
Robot dan Finish.
Jika sukses maka akan muncul tulisan Berhasil. Data Berhasil Diganti
Jika tidak sukses maka cek Kembali data, dimungkinkan ada data yang belum terisiatau saya
bukan robot belum tercentang.
11. Buka link https://lsp.polije.ac.id/
12. Login sesuai dengan username dan password -> Pilih Assessment -> List Assessment
13. Lakukan pendaftaran sesuai dengan skema ujian yang akan diujikan -> Klik Daftar
(ujian hanya dibuka untuk status yang aktif)
14. Lakukan asesmen secara mandiri dengan mengisikan data data tersebut.
Jenis Sertifikasi : Sertifikasi baru (jika baru pertama kali melakukan ujian dengan
skemaini), Sertifikasi ulang (jika melakukan ujian ulang )
Lampiran lampiran: Scan KTP/KTM dan Scan Ijazah/KHS (dalam bentuk.pdf max 5mb)
15. Isi Setiap Pertnyaan yang ada => K untuk Kompeten dan BK untuk Belum Kompeten
Untuk jawaban sudah terisi default kompeten tidak perlu diubah
16. Verifikasi Data => Save
Password Requirement : Isikan password anda masing masing
Captcha : centang saya bukan robot
17. Setelah selesai, tunggu verifikasi dari admin dan anda bisa bergabung di grup whatsapp melalui
button yang tersedia

BIN
public/img/makanan.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 469 KiB

BIN
public/img/minuman.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 244 KiB

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@ -0,0 +1,57 @@
{
"root": true,
"parserOptions": {
"ecmaVersion": 5,
"sourceType": "script"
},
"env": {
"jquery": true
},
"extends": [
"plugin:unicorn/recommended",
"xo",
"xo/browser"
],
"rules": {
"capitalized-comments": "off",
"comma-dangle": [
"error",
"never"
],
"indent": [
"error",
2,
{
"MemberExpression": "off",
"SwitchCase": 1
}
],
"multiline-ternary": [
"error",
"always-multiline"
],
"no-var": "off",
"object-curly-spacing": [
"error",
"always"
],
"object-shorthand": "off",
"prefer-arrow-callback": "off",
"semi": [
"error",
"never"
],
"strict": "error",
"unicorn/no-array-for-each": "off",
"unicorn/no-for-loop": "off",
"unicorn/no-null": "off",
"unicorn/numeric-separators-style": "off",
"unicorn/prefer-dataset": "off",
"unicorn/prefer-includes": "off",
"unicorn/prefer-module": "off",
"unicorn/prefer-node-append": "off",
"unicorn/prefer-query-selector": "off",
"unicorn/prefer-spread": "off",
"unicorn/prevent-abbreviations": "off"
}
}

3069
public/vendor/adminlte/dist/js/adminlte.js vendored Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

4357
public/vendor/bootstrap/js/bootstrap.js vendored Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

4616
public/vendor/fontawesome-free/css/all.css vendored Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,15 @@
/*!
* Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
*/
@font-face {
font-family: 'Font Awesome 5 Brands';
font-style: normal;
font-weight: 400;
font-display: block;
src: url("../webfonts/fa-brands-400.eot");
src: url("../webfonts/fa-brands-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.woff") format("woff"), url("../webfonts/fa-brands-400.ttf") format("truetype"), url("../webfonts/fa-brands-400.svg#fontawesome") format("svg"); }
.fab {
font-family: 'Font Awesome 5 Brands';
font-weight: 400; }

View File

@ -0,0 +1,5 @@
/*!
* Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
*/
@font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-brands-400.eot);src:url(../webfonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.woff) format("woff"),url(../webfonts/fa-brands-400.ttf) format("truetype"),url(../webfonts/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:"Font Awesome 5 Brands";font-weight:400}

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,15 @@
/*!
* Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
*/
@font-face {
font-family: 'Font Awesome 5 Free';
font-style: normal;
font-weight: 400;
font-display: block;
src: url("../webfonts/fa-regular-400.eot");
src: url("../webfonts/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.woff") format("woff"), url("../webfonts/fa-regular-400.ttf") format("truetype"), url("../webfonts/fa-regular-400.svg#fontawesome") format("svg"); }
.far {
font-family: 'Font Awesome 5 Free';
font-weight: 400; }

View File

@ -0,0 +1,5 @@
/*!
* Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
*/
@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-regular-400.eot);src:url(../webfonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.woff) format("woff"),url(../webfonts/fa-regular-400.ttf) format("truetype"),url(../webfonts/fa-regular-400.svg#fontawesome) format("svg")}.far{font-family:"Font Awesome 5 Free";font-weight:400}

View File

@ -0,0 +1,16 @@
/*!
* Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
*/
@font-face {
font-family: 'Font Awesome 5 Free';
font-style: normal;
font-weight: 900;
font-display: block;
src: url("../webfonts/fa-solid-900.eot");
src: url("../webfonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.woff") format("woff"), url("../webfonts/fa-solid-900.ttf") format("truetype"), url("../webfonts/fa-solid-900.svg#fontawesome") format("svg"); }
.fa,
.fas {
font-family: 'Font Awesome 5 Free';
font-weight: 900; }

Some files were not shown because too many files have changed in this diff Show More