firstcommit
This commit is contained in:
0
Modules/TeamMember/resources/assets/.gitkeep
Normal file
0
Modules/TeamMember/resources/assets/.gitkeep
Normal file
0
Modules/TeamMember/resources/assets/js/app.js
Normal file
0
Modules/TeamMember/resources/assets/js/app.js
Normal file
0
Modules/TeamMember/resources/assets/sass/app.scss
Normal file
0
Modules/TeamMember/resources/assets/sass/app.scss
Normal file
0
Modules/TeamMember/resources/views/.gitkeep
Normal file
0
Modules/TeamMember/resources/views/.gitkeep
Normal file
45
Modules/TeamMember/resources/views/create.blade.php
Normal file
45
Modules/TeamMember/resources/views/create.blade.php
Normal file
@@ -0,0 +1,45 @@
|
||||
@extends('admin::layouts.master')
|
||||
|
||||
@section('title')
|
||||
Create Team Member
|
||||
@endsection
|
||||
|
||||
@section('breadcrumb')
|
||||
@php
|
||||
$breadcrumbData = [
|
||||
[
|
||||
'title' => 'Team Member',
|
||||
'link' => 'null',
|
||||
],
|
||||
[
|
||||
'title' => 'Dashboard',
|
||||
'link' => route('dashboard'),
|
||||
],
|
||||
[
|
||||
'title' => 'Team Members',
|
||||
'link' => null,
|
||||
],
|
||||
[
|
||||
'title' => 'Add Team Member',
|
||||
'link' => null,
|
||||
],
|
||||
];
|
||||
@endphp
|
||||
@include('admin::layouts.partials.breadcrumb', $breadcrumbData)
|
||||
@endsection
|
||||
@section('content')
|
||||
<div class="row">
|
||||
<div class="col-xxl">
|
||||
<div class="card mb-4">
|
||||
<div class="card-header d-flex align-items-center justify-content-between">
|
||||
<h5 class="mb-0">Add Team Member</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<form action="{{ route('cms.team-members.store') }}" method="POST" enctype="multipart/form-data">
|
||||
@csrf
|
||||
@include('teammember::partial.form')
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
49
Modules/TeamMember/resources/views/edit.blade.php
Normal file
49
Modules/TeamMember/resources/views/edit.blade.php
Normal file
@@ -0,0 +1,49 @@
|
||||
@extends('admin::layouts.master')
|
||||
|
||||
@section('title')
|
||||
Update Team Member
|
||||
@endsection
|
||||
|
||||
@section('breadcrumb')
|
||||
@php
|
||||
$breadcrumbData = [
|
||||
[
|
||||
'title' => 'Team Member',
|
||||
'link' => 'null',
|
||||
],
|
||||
[
|
||||
'title' => 'Dashboard',
|
||||
'link' => route('dashboard'),
|
||||
],
|
||||
[
|
||||
'title' => 'Team Members',
|
||||
'link' => null,
|
||||
],
|
||||
[
|
||||
'title' => 'Update Team Member',
|
||||
'link' => null,
|
||||
],
|
||||
];
|
||||
@endphp
|
||||
@include('admin::layouts.partials.breadcrumb', $breadcrumbData)
|
||||
@endsection
|
||||
@section('content')
|
||||
<div class="row">
|
||||
<div class="col-xxl">
|
||||
<div class="card mb-4">
|
||||
<div class="card-header d-flex align-items-center justify-content-between">
|
||||
<h5 class="mb-0">Update Team Member</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<form action="{{ route('cms.team-members.update', ['uuid' => $team_member->uuid]) }}" method="POST"
|
||||
enctype="multipart/form-data">
|
||||
@csrf
|
||||
@method('PUT')
|
||||
|
||||
@include('teammember::partial.form')
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
133
Modules/TeamMember/resources/views/index.blade.php
Normal file
133
Modules/TeamMember/resources/views/index.blade.php
Normal file
@@ -0,0 +1,133 @@
|
||||
@extends('admin::layouts.master')
|
||||
|
||||
@section('title')
|
||||
Team Member
|
||||
@endsection
|
||||
|
||||
@section('breadcrumb')
|
||||
@php
|
||||
$breadcrumbData = [
|
||||
[
|
||||
'title' => 'Team Member',
|
||||
'link' => 'null',
|
||||
],
|
||||
[
|
||||
'title' => 'Dashboard',
|
||||
'link' => route('dashboard'),
|
||||
],
|
||||
[
|
||||
'title' => 'Team Members',
|
||||
'link' => null,
|
||||
],
|
||||
];
|
||||
@endphp
|
||||
@include('admin::layouts.partials.breadcrumb', $breadcrumbData)
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<!-- Team Members List Table -->
|
||||
<div class="card">
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<h4 class="card-header">List of Team Member</h4>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="flex-column flex-md-row">
|
||||
<div class="dt-action-buttons text-end pt-3 px-3">
|
||||
<div class="dt-buttons btn-group flex-wrap">
|
||||
<a href="{{ route('cms.team-members.create') }}"
|
||||
class="btn btn-secondary create-new btn-primary d-none d-sm-inline-block text-white">
|
||||
<i class="bx bx-plus me-sm-1"></i>
|
||||
Add New
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-datatable table-responsive">
|
||||
<table class="datatables-users table border-top">
|
||||
<thead class="table-light">
|
||||
<tr>
|
||||
<th>S.N</th>
|
||||
<th>Name With Image</th>
|
||||
<th>Group</th>
|
||||
<th>Created At</th>
|
||||
<th>Actions</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody class="table-border-bottom-0">
|
||||
@if (count($team_members) > 0)
|
||||
@foreach ($team_members ?? [] as $team_member)
|
||||
<tr>
|
||||
<td>
|
||||
#{{ $loop->iteration }}
|
||||
</td>
|
||||
<td>
|
||||
<div class="d-flex align-items-center me-3">
|
||||
<img src="{{ asset($team_member->image_path ? 'storage/uploads/' . $team_member->image_path : 'backend/uploads/images/no-Image.jpg') }}"
|
||||
alt="Image" class="rounded-circle" height="50" width="50"
|
||||
style="object-fit: cover">
|
||||
<div class="card-title mb-0 px-3">
|
||||
<h6 class="mb-0">{{ $team_member->name }}</h6>
|
||||
<small
|
||||
class="text-muted">{{ Str::limit($team_member->designation, 50) }}</small>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
{{ $team_member->group_id }}
|
||||
</td>
|
||||
<td>
|
||||
{{ $team_member->created_at->toFormattedDateString() }}
|
||||
</td>
|
||||
<td>
|
||||
<div class="dropdown">
|
||||
<button type="button" class="btn p-0 dropdown-toggle hide-arrow"
|
||||
data-bs-toggle="dropdown">
|
||||
<i class="bx bx-dots-vertical-rounded"></i>
|
||||
</button>
|
||||
<div class="dropdown-menu">
|
||||
<a class="dropdown-item"
|
||||
href="{{ route('cms.team-members.edit', ['uuid' => $team_member->uuid]) }}"><i
|
||||
class="bx bx-edit-alt me-1"></i>
|
||||
Edit</a>
|
||||
|
||||
<form method="POST"
|
||||
action="{{ route('cms.team-members.delete', ['uuid' => $team_member->uuid]) }}"
|
||||
id="deleteForm_{{ $team_member->uuid }}" class="dropdown-item">
|
||||
@csrf
|
||||
@method('DELETE')
|
||||
<button type="submit" class="border-0 bg-transparent deleteBtn"
|
||||
style="color:inherit"><i class="bx bx-trash me-1"></i> Delete</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
@else
|
||||
<tr>
|
||||
<td colspan="6">No record found.</td>
|
||||
</tr>
|
||||
@endif
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="px-3">
|
||||
{{ $team_members->links('admin::layouts.partials.pagination') }}
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
{{-- style --}}
|
||||
@push('required-styles')
|
||||
@include('admin::vendor.dataTables.style')
|
||||
@endpush
|
||||
|
||||
{{-- script --}}
|
||||
@push('required-scripts')
|
||||
@include('admin::vendor.dataTables.script')
|
||||
@endpush
|
29
Modules/TeamMember/resources/views/layouts/master.blade.php
Normal file
29
Modules/TeamMember/resources/views/layouts/master.blade.php
Normal file
@@ -0,0 +1,29 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="csrf-token" content="{{ csrf_token() }}">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
|
||||
<title>TeamMember Module - {{ config('app.name', 'Laravel') }}</title>
|
||||
|
||||
<meta name="description" content="{{ $description ?? '' }}">
|
||||
<meta name="keywords" content="{{ $keywords ?? '' }}">
|
||||
<meta name="author" content="{{ $author ?? '' }}">
|
||||
|
||||
<!-- Fonts -->
|
||||
<link rel="preconnect" href="https://fonts.bunny.net">
|
||||
<link href="https://fonts.bunny.net/css?family=figtree:400,500,600&display=swap" rel="stylesheet" />
|
||||
|
||||
{{-- Vite CSS --}}
|
||||
{{-- {{ module_vite('build-teammember', 'resources/assets/sass/app.scss') }} --}}
|
||||
</head>
|
||||
|
||||
<body>
|
||||
@yield('content')
|
||||
|
||||
{{-- Vite JS --}}
|
||||
{{-- {{ module_vite('build-teammember', 'resources/assets/js/app.js') }} --}}
|
||||
</body>
|
185
Modules/TeamMember/resources/views/partial/form.blade.php
Normal file
185
Modules/TeamMember/resources/views/partial/form.blade.php
Normal file
@@ -0,0 +1,185 @@
|
||||
<div>
|
||||
<div class="row mb-4">
|
||||
<div class="card-body">
|
||||
<div class="d-flex align-items-start align-items-sm-center gap-4">
|
||||
<img src="{{ asset(!empty($team_member->image_path) ? 'storage/uploads/' . $team_member->image_path : 'backend/uploads/images/no-Image.jpg') }}"
|
||||
alt="team_member-image input-file" class="d-block rounded show-image" height="100" width="100" />
|
||||
|
||||
<div class="button-wrapper">
|
||||
<label for="upload" class="btn btn-primary me-2 mb-4" tabindex="0">
|
||||
<span class="d-none d-sm-block">Upload</span>
|
||||
<i class="bx bx-upload d-block d-sm-none"></i>
|
||||
<input type="file" id="upload" class="input-file" name="image" hidden
|
||||
accept="image/png, image/jpeg" />
|
||||
</label>
|
||||
<button type="button" class="btn btn-label-secondary image-reset mb-4">
|
||||
<i class="bx bx-reset d-block d-sm-none"></i>
|
||||
<span class="d-none d-sm-block">Reset</span>
|
||||
</button>
|
||||
|
||||
<p class="mb-0">Allowed JPG, GIF or PNG. Max size of 3Mb</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr class="my-0" />
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="mb-3">
|
||||
<label class="form-label" for="basic-default-name">Name</label>
|
||||
<input type="text" class="form-control" name="name"
|
||||
value="{{ old('name', $team_member->name ?? '') }}" placeholder="e.g. Jhon Doe" required />
|
||||
@error('name')
|
||||
<div class="text-danger">{{ $message }}</div>
|
||||
@enderror
|
||||
</div>
|
||||
<div class="mb-3 col-md-6">
|
||||
<label class="form-label" for="basic-default-name">Group</label>
|
||||
<select class="form-select select2" id="basic-default-compan select2Basic"
|
||||
aria-label="Default select example" name="group_id" required>
|
||||
<option value="1"{{ ($team_member->group_id ?? '') == '1' ? 'selected' : '' }}>Doctor</option>
|
||||
<option value="2"{{ ($team_member->group_id ?? '') == '2' ? 'selected' : '' }}>Pokhara Branch
|
||||
</option>
|
||||
<option value="3"{{ ($team_member->group_id ?? '') == '3' ? 'selected' : '' }}>Visiting Consultant
|
||||
</option>
|
||||
</select>
|
||||
@error('group_id')
|
||||
<div class="text-danger">{{ $message }}</div>
|
||||
@enderror
|
||||
</div>
|
||||
<div class="mb-3 col-md-6">
|
||||
<label class="form-label" for="basic-default-company">Designation</label>
|
||||
<input type="text" class="form-control" name="designation"
|
||||
value="{{ old('designation', $team_member->designation ?? '') }}"
|
||||
placeholder="e.g. Chief Technology Officer" required />
|
||||
@error('designation')
|
||||
<div class="text-danger">{{ $message }}</div>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="form-label" for="basic-default-message">Detail</label>
|
||||
<textarea name="" id="mainTextarea" class="d-none">{{ !empty($team_member) ? $team_member->detail : '' }}</textarea>
|
||||
<textarea name="detail" class="form-control full-editor" id="editorTextarea" rows='5'
|
||||
placeholder="Hi, I'm Jhon Doe, a passionate CTO at Jhigu CMS. With a focus on key technological infrastructure and framework, I thrive in dynamic environments, fostering collaboration and creative problem-solving. Experienced in designing system architecture for software as well as hardware level. I'm eager to contribute and make a positive impact for beterment of company and world."></textarea>
|
||||
@error('detail')
|
||||
<div class="text-danger">{{ $message }}</div>
|
||||
@enderror
|
||||
</div>
|
||||
|
||||
{{-- Social media in Team Member --}}
|
||||
{{-- <div class="col-12">
|
||||
<div class="card mb-3">
|
||||
<h5 class="card-header">Social Media</h5>
|
||||
<div class="card-body">
|
||||
<div class="repeater">
|
||||
<div data-repeater-list="group-a">
|
||||
@if (isset($team_member->socialShares))
|
||||
@foreach ($team_member->socialShares ?? [] as $socialShare)
|
||||
@include('teammember::partial.social_form')
|
||||
@endforeach
|
||||
@else
|
||||
@include('teammember::partial.social_form')
|
||||
@endif
|
||||
|
||||
</div>
|
||||
<div class="mb-0">
|
||||
<button class="btn btn-primary" data-repeater-create>
|
||||
<i class="bx bx-plus me-1"></i>
|
||||
<span class="align-middle">Add</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div> --}}
|
||||
|
||||
{{-- <div class="col-12">
|
||||
<div class="card mb-3">
|
||||
<h5 class="card-header">Social Media</h5>
|
||||
<div class="card-body">
|
||||
<div class="repeater">
|
||||
<div data-repeater-list="group-a">
|
||||
<div data-repeater-item>
|
||||
@if (isset($team_member->socialShares))
|
||||
|
||||
@foreach ($team_member->socialShares as $socialShare)
|
||||
<div class="row">
|
||||
<div class="mb-3 col-lg-6 col-xl-3 col-4 mb-0">
|
||||
<label class="form-label" for="form-repeater-1-1">Name</label>
|
||||
<input type="text" id="form-repeater-1-1" class="form-control"
|
||||
name="name" value="{{ old('name', $socialShare->name ?? '') }}"
|
||||
placeholder="facebook" />
|
||||
</div>
|
||||
<div class="mb-3 col-lg-6 col-xl-3 col-4 mb-0">
|
||||
<label class="form-label" for="form-repeater-1-2">Link</label>
|
||||
<input type="text" id="form-repeater-1-2" class="form-control"
|
||||
name="link" value="{{ old('name', $socialShare->link ?? '') }}"
|
||||
placeholder="https://facebook.com/jhon-doe" />
|
||||
</div>
|
||||
|
||||
<div class="mb-3 col-lg-12 col-xl-2 col-4 d-flex align-items-center mb-0">
|
||||
<button class="btn btn-label-danger mt-4" data-repeater-delete>
|
||||
<i class="bx bx-x me-1"></i>
|
||||
<span class="align-middle">Delete</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<hr />
|
||||
@endforeach
|
||||
@else
|
||||
<div class="row">
|
||||
<div class="mb-3 col-lg-6 col-xl-3 col-4 mb-0">
|
||||
<label class="form-label" for="form-repeater-1-1">Name</label>
|
||||
<input type="text" id="form-repeater-1-1" class="form-control" name="name"
|
||||
value="{{ old('name', $socialShare->name ?? '') }}"
|
||||
placeholder="facebook" />
|
||||
</div>
|
||||
<div class="mb-3 col-lg-6 col-xl-3 col-4 mb-0">
|
||||
<label class="form-label" for="form-repeater-1-2">Link</label>
|
||||
<input type="text" id="form-repeater-1-2" class="form-control" name="link"
|
||||
value="{{ old('name', $socialShare->link ?? '') }}"
|
||||
placeholder="https://facebook.com/jhon-doe" />
|
||||
</div>
|
||||
|
||||
<div class="mb-3 col-lg-12 col-xl-2 col-4 d-flex align-items-center mb-0">
|
||||
<button class="btn btn-label-danger mt-4" data-repeater-delete>
|
||||
<i class="bx bx-x me-1"></i>
|
||||
<span class="align-middle">Delete</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<hr />
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
<div class="mb-0">
|
||||
<button class="btn btn-primary" data-repeater-create>
|
||||
<i class="bx bx-plus me-1"></i>
|
||||
<span class="align-middle">Add</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div> --}}
|
||||
<div>
|
||||
<button type="submit" class="btn btn-primary">
|
||||
@if (empty($team_member))
|
||||
Save Team Member
|
||||
@else
|
||||
Update Team Member
|
||||
@endif
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
@push('required-styles')
|
||||
@include('admin::vendor.full_editor.style')
|
||||
@endpush
|
||||
@push('required-scripts')
|
||||
@include('admin::vendor.textareaContentDisplay.script')
|
||||
@include('admin::vendor.full_editor.script')
|
||||
@include('admin::vendor.repeater.script')
|
||||
@endpush
|
@@ -0,0 +1,20 @@
|
||||
<div data-repeater-item>
|
||||
<div class="row">
|
||||
<div class="mb-3 col-lg-6 col-xl-3 col-4 mb-0">
|
||||
<label class="form-label" for="form-repeater-1-1">Name</label>
|
||||
<input type="text" id="form-repeater-1-1" class="form-control" name="group-a[0][name]" value="{{ old('name', $socialShare->name ?? '') }}" placeholder="facebook" />
|
||||
</div>
|
||||
<div class="mb-3 col-lg-6 col-xl-3 col-4 mb-0">
|
||||
<label class="form-label" for="form-repeater-1-2">Link</label>
|
||||
<input type="text" id="form-repeater-1-2" class="form-control" name="group-a[0][link]" value="{{ old('name', $socialShare->link ?? '') }}" placeholder="https://facebook.com/jhon-doe" />
|
||||
</div>
|
||||
|
||||
<div class="mb-3 col-lg-12 col-xl-2 col-4 d-flex align-items-center mb-0">
|
||||
<button class="btn btn-label-danger mt-4" data-repeater-delete>
|
||||
<i class="bx bx-x me-1"></i>
|
||||
<span class="align-middle">Delete</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<hr />
|
||||
</div>
|
Reference in New Issue
Block a user