Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Client Controller
- <?php
- namespace App\Http\Controllers;
- use App\Http\Controllers\Controller;
- use Illuminate\Http\Request;
- use App\Models\User;
- use App\Models\Idea;
- use App\Models\Category;
- use Illuminate\Support\Facades\Auth;
- class ClientController extends Controller
- {
- //
- public function index()
- {
- return view('dashboard')->with('pagename', 'Dashboard');
- }
- public function set_preferences_view()
- {
- $categories = Category::all();
- $data = [
- 'categories' => $categories,
- 'pagename' => 'Set Preferences'
- ];
- return view('client.set-preferences', $data);
- }
- public function set_preferences(Request $request)
- {
- $user = User::find($request->user()->id);
- $preferences = $request->preferences;
- $user->categories()->attach($preferences);
- return redirect()->route('client.dashboard')->with('success', 'Preferences Set Successfully!');
- }
- public function suggested_ideas()
- {
- $user = Auth::user();
- $ideas = Idea::whereHas('categories', function($query) use ($user) {
- $query->whereIn('categories.id', $user->categories()->pluck('categories.id')->toArray());
- })->where('status', 'Published')->get();
- return view('client.suggested-ideas', compact('ideas'));
- }
- public function view($id)
- {
- $idea = Idea::with('categories')->find($id);
- $pagename = $idea->title;
- return view('idea.view-idea', compact('idea', 'pagename'));
- }
- }
- suggested-ideas.blade.php
- <x-app-layout>
- <div class="layout-main">
- @include('layouts.header')
- <div class="content-wrapper py-2">
- <div class="container">
- <ul class="d-flex align-items-center custom-breadcrumb list-unstyled mb-2 py-1">
- <li>
- <a href="FIXME:">Home</a>
- </li>
- <li>
- Suggested Ideas
- </li>
- </ul>
- <h5 class="page-title">Suggested Ideas</h5>
- </div>
- <!-- Start Dynamic Sections Starts here -->
- <section class="investment-lists pb-5">
- <div class="container">
- <div class="row mt-3">
- @foreach ($ideas as $idea)
- <div class="col-lg-4 mb-3">
- <div class="custom-card">
- <figure>
- <img src="https://developers.elementor.com/docs/assets/img/elementor-placeholder-image.png"
- class="w-100" alt="">
- </figure>
- <p class="mb-2 title">{{ $idea->title }}</p>
- <p class="mb-2 content">{{ $idea->abstract }}</p>
- <span class="d-block mb-2 date">{{ date('d/m/Y', strtotime($idea->published_date)) }}</span>
- <a href="{{ route('client.view-idea', ['id' => $idea->id]) }}"
- class="btn btn-custom px-4 py-2 d-flex align-items-center justify-content-center">Read
- More <i class="fas fa-arrow-right ml-2"></i></a>
- </div>
- </div>
- @endforeach
- </div>
- </div>
- </section>
- <!-- Start Dynamic Sections Ends here -->
- </div>
- </div>
- </x-app-layout>
- view-idea.blade.php
- <x-app-layout>
- <div class="layout-main">
- @include('layouts.header')
- <div class="content-wrapper py-2">
- <div class="container">
- <ul class="d-flex align-items-center custom-breadcrumb list-unstyled mb-2 py-1">
- <li>
- <a href="{{ route('ideator.dashboard') }}">Home</a>
- </li>
- <li>
- <a href="{{ route('ideator.ideas') }}">Ideas</a>
- </li>
- <li>
- {{ $pagename ?? '' }}
- </li>
- </ul>
- <h5 class="page-title">{{ $pagename ?? '' }}</h5>
- </div>
- <!-- Start Dynamic Sections Starts here -->
- <section class="view-idea py-5">
- <div class="container">
- <div class="row align-items-center">
- <div class="col-lg-5">
- <figure class="idea-image">
- <img src="https://images.unsplash.com/photo-1512314889357-e157c22f938d?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=2071&q=80"
- class="w-100" alt="{{ $idea->title }}">
- </figure>
- </div>
- <div class="col-lg-7">
- <div class="idea-details">
- <div class="idea-details-text mb-4">
- <p class="title mb-0">Title</p>
- <span class="d-block">{{$idea->title}}</span>
- </div>
- <div class="idea-details-text mb-4">
- <p class="title mb-0">Idea Category</p>
- <ul class="list-unstyled mb-0">
- @foreach($idea->categories as $category)
- <li><span>{{ $category->title }}</span></li>
- @endforeach
- </ul>
- <!-- <span class="d-block">{{$idea->categories}}</span> -->
- </div>
- <div class="idea-details-text mb-4">
- <p class="title mb-0">Country</p>
- <span class="d-block text-capitalize">{{$idea->country}}</span>
- </div>
- <div class="idea-details-text mb-4">
- <p class="title mb-0">Region</p>
- <span class="d-block text-capitalize">{{$idea->region}}</span>
- </div>
- </div>
- </div>
- </div>
- <div class="row mt-4">
- <div class="col-lg-12">
- <div class="h4">Description</div>
- <p>{{$idea->abstract}}</p>
- <p>{{$idea->content}}</p>
- <!-- <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Quasi tenetur doloremque minima quis a commodi nostrum suscipit, culpa mollitia ipsum exercitationem, repellat eius ex quibusdam perspiciatis reiciendis inventore. Dolorem blanditiis earum debitis dicta voluptatem explicabo, quisquam autem! Repellat, dolores nihil.</p>
- <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Quasi tenetur doloremque minima quis a commodi nostrum suscipit, culpa mollitia ipsum exercitationem, repellat eius ex quibusdam perspiciatis reiciendis inventore. Dolorem blanditiis earum debitis dicta voluptatem explicabo, quisquam autem! Repellat, dolores nihil.</p>
- <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Quasi tenetur doloremque minima quis a commodi nostrum suscipit, culpa mollitia ipsum exercitationem, repellat eius ex quibusdam perspiciatis reiciendis inventore. Dolorem blanditiis earum debitis dicta voluptatem explicabo, quisquam autem! Repellat, dolores nihil.</p> -->
- </div>
- </div>
- </div>
- </div>
- </section>
- <!-- Start Dynamic Sections Ends here -->
- </div>
- </div>
- </x-app-layout>
- navigation
- <li class="d-flex align-items-center {{ request()->routeIs('client.suggested-ideas') ? 'active' : '' }}">
- <a class="d-block" href="{{ route('client.suggested-ideas') }}">
- <i class="fas fa-lightbulb"></i>
- <span>Suggested Ideas</span>
- </a>
- </li>
- web.php
- Route::get('/set-preferences', [ClientController::class, 'set_preferences_view'])->name('set-preferences-view');
- Route::post('/set-preferences', [ClientController::class, 'set_preferences'])->name('set-preferences');
- Route::get('/suggested-ideas', [ClientController::class, 'suggested_ideas'])->name('suggested-ideas');
- Route::get('/idea/{id}/view', [ClientController::class, 'view'])->name('view-idea');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement