Initial commit

This commit is contained in:
Ahrom
2025-11-16 12:43:07 +03:30
commit 4bbe56b83f
16778 changed files with 1914371 additions and 0 deletions

View File

@@ -0,0 +1,235 @@
@props(['blogs','scroll'=>true])
@if($scroll)
<div class="h-full">
<div wire:ignore dir="ltr" x-data="slider3" class=" group swiper-container h-full">
<div class="swiper swiper3 h-full">
<!-- Wrapper -->
<div class="swiper-wrapper h-full">
<!-- Slides -->
@foreach($blogs as $blog)
<div class="swiper-slide w-1/4 h-full ">
<div style="transition: transform 0.5s ease-in-out;" class="flex gap-10 overflow-x-auto h-full">
<div class="h-full w-full rounded-xl" style="background-image: url('{{asset('images/'.$blog->image)}}');background-size: cover;
background-repeat: no-repeat;
background-position: center center; ">
<div class="w-full h-full rounded-xl flex "
style="background-image: linear-gradient(180deg, transparent, black);">
<div dir="rtl" class="h-full w-full flex flex-col gap-3 p-7 justify-between ">
<div>
<div style="background: {{$blog->category->color}}"
class="flex px-1.5 py-0.5 rounded bg-[{{$blog->category->color}}] gap-1 w-max text-xs items-center">
<svg height="12" width="10" xmlns="http://www.w3.org/2000/svg">
<circle r="4" cx="5" cy="5.5" fill="black" />
</svg>
{{$blog->category->title}}
</div>
</div>
<div class="flex flex-col gap-3">
<div class="text-white">
{!! $blog->subject!!}
{{-- {!! $blog->subject !!}--}}
</div>
<div>
{{-- توضیحات--}}
{{-- {!! $blog->preview !!}--}}
</div>
<div class="flex gap-5 text-white">
<div class="text-xs">
{{-- تاریخ--}}
{{jalaliDate($blog->updated_at,'%d %B، %Y')}}
</div>
<div class="text-xs">
{{-- زمان مطالعه--}}
{!! $blog->reed_time !!} دقیقه زمان مطالعه
</div>
{{-- <div>--}}
{{-- {!! $blog->likes ??0 !!}--}}
{{-- </div>--}}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
@endforeach
</div>
{{-- <!-- Pagination -->--}}
{{-- <div class="swiper-pagination"></div>--}}
<!-- Navigation Buttons -->
<div class="swiper-button-prev ">
{{-- hover:bg-[#000000b3] bg-[#00000080] --}}
<button
class="prev absolute hover:backdrop-blur-sm w-12 h-12 items-center content-center rounded-full backdrop-blur-md text-white transform duration-500 group-hover:left-5 -left-52 opacity-0 group-hover:opacity-100 ">&#10094;
</button>
</div>
<div class="swiper-button-next">
{{-- hover:bg-[#000000b3] bg-[#00000080] --}}
<button
class="next absolute w-12 h-12 items-center content-center rounded-full hover:backdrop-blur-sm backdrop-blur-md text-white transform duration-500 group-hover:right-5 -right-52 opacity-0 group-hover:opacity-100 ">&#10095;
</button>
</div>
</div>
</div>
@script
<script>
Alpine.data('slider3', () => ({
swiper: null,
init() {
this.swiper = new Swiper('.swiper3', {
loop: true, // فعال‌سازی حالت لوپ
slidesPerView: 4, // تعداد اسلایدهای قابل نمایش در هر صفحه
spaceBetween: 30, // فاصله بین اسلایدها
navigation: {
nextEl: '.swiper-button-next',
prevEl: '.swiper-button-prev',
},
autoplay: {
delay: 5000,
disableOnInteraction: false,
},
speed: 400,
// pagination: {
// el: '.swiper-pagination',
// clickable: true,
// },
});
},
}))
</script>
@endscript
</div>
@else
<div class="w-full grid grid-cols-4 gap-5">
@foreach($blogs as $blog)
<div class="flex gap-10 my-8 overflow-x-auto h-[45vh]">
<div class="h-full w-80 rounded-xl" style="background-image: url('{{asset('images/'.$blog->image)}}');background-size: cover;
background-repeat: no-repeat;
background-position: center center; ">
<div class="w-full h-full rounded-xl flex "
style="background-image: linear-gradient(180deg, transparent, black);">
<div dir="rtl" class="h-full w-full flex flex-col gap-3 p-7 justify-between ">
<div>
<div style="background: {{$blog->category->color}}"
class="flex px-1.5 py-0.5 rounded bg-[{{$blog->category->color}}] gap-1 w-max text-xs items-center">
<svg height="12" width="10" xmlns="http://www.w3.org/2000/svg">
<circle r="4" cx="5" cy="5.5" fill="black" />
</svg>
{{$blog->category->title}}
</div>
</div>
<div class="flex flex-col gap-1">
<div class="text-white">
{!! $blog->subject!!}
{{-- {!! $blog->subject !!}--}}
</div>
<div>
{{-- توضیحات--}}
{{-- {!! $blog->preview !!}--}}
</div>
<div class="flex gap-3 text-white">
<div class="text-xs flex flex-col justify-center">
با میلاد بابایی
{{-- تاریخ--}}
{{-- {{jalaliDate($blog->updated_at,'%d %B، %Y')}}--}}
</div>
<span>.</span>
<div class="text-xs flex flex-col justify-center">
{{-- زمان مطالعه--}}
{{jalaliDate($blog->updated_at,'%d %B، %Y')}}
{{-- {!! $blog->reed_time !!} دقیقه زمان مطالعه--}}
</div>
{{-- <div>--}}
{{-- {!! $blog->likes ??0 !!}--}}
{{-- </div>--}}
</div>
</div>
</div>
</div>
</div>
</div>
@endforeach
</div>
@endif

View File

@@ -0,0 +1,80 @@
@props(['blogs'])
<div>
<div class="grid grid-cols-4 justify-between gap-5 my-8 ">
@foreach($blogs as $blog)
<div class="h-full">
<div class="h-2/3">
<div class="relative h-full">
<img class="w-full h-full rounded-xl" src="{{asset('images/'.$blog->image)}}" alt="">
<div class="absolute p-3 py-5 bottom-0">
<div>
<div style="background: {{$blog->category->color}}"
class="flex px-1.5 py-0.5 rounded bg-[{{$blog->category->color}}] gap-2 w-max text-xs items-center">
<svg height="12" width="10"
xmlns="http://www.w3.org/2000/svg">
<circle r="4" cx="5" cy="5.5" fill="black" />
</svg>
{{$blog->category->title}}
</div>
</div>
</div>
</div>
</div>
<div class="flex flex-col gap-1 mt-3">
<div class="text-white">
{!! $blog->subject!!}
{{-- {!! $blog->subject !!}--}}
</div>
<div>
{{-- توضیحات--}}
{{-- {!! $blog->preview !!}--}}
</div>
<div class="flex gap-3 text-white">
<div class="flex flex-col justify-center">
<img class="rounded-full size-8" src="http://127.0.0.1:8000/images/17365895806dl75b4493S48w80sD0323r31KB6V48E_.jpg" alt="">
</div>
<div class="text-xs text-gray-400 flex flex-col justify-center">
{{-- تاریخ--}}
با المیرا کرمی
{{-- {{jalaliDate($blog->updated_at,'%d %B، %Y')}}--}}
</div>
<span class="text-gray-400">.</span>
<div class="text-xs text-gray-400 flex flex-col justify-center">
{{-- زمان مطالعه--}}
{{jalaliDate($blog->updated_at,'%d %B، %Y')}}
{{-- {!! $blog->reed_time !!} دقیقه زمان مطالعه--}}
</div>
{{-- <div>--}}
{{-- {!! $blog->likes ??0 !!}--}}
{{-- </div>--}}
</div>
</div>
</div>
@endforeach
</div>
</div>

View File

@@ -0,0 +1,145 @@
@props(['blogs','scroll'=>true])
@if($scroll)
<div>
<div wire:ignore dir="ltr" x-data="slider4" class="relative group swiper-container h-full">
<div class="swiper swiper4 h-full">
<!-- Wrapper -->
<div class="swiper-wrapper h-full">
<!-- Slides -->
@foreach($blogs as $blog)
<div class="swiper-slide flex justify-center h-max">
<div class=" flex flex-col gap-3 h-max w-full ">
<div dir="rtl" class="w-full">
{{-- :style="`height: ${width}px`" --}}
<img :style="`height: ${width}px`" @if($loop->first) id="imagee" @endif class="w-full rounded-xl"
src="{{asset('images/'.$blog->image)}}"
alt="">
</div>
<div dir="rtl" class="flex flex-col ">
<div class="text-white">
رضا کریمی
</div>
<div class="text-gray-400 text-xs">
مدیر فروش
</div>
</div>
</div>
</div>
@endforeach
</div>
{{-- <!-- Pagination -->--}}
{{-- <div class="swiper-pagination"></div>--}}
<!-- Navigation Buttons -->
<div class="swiper-button-prev ">
{{-- hover:bg-[#000000b3] bg-[#00000080] --}}
<button
class="prev absolute w-12 h-12 items-center content-center rounded-full hover:backdrop-blur-sm backdrop-blur-md text-white transform duration-500 group-hover:left-5 -left-52 opacity-0 group-hover:opacity-100 ">&#10094;
</button>
</div>
<div class="swiper-button-next">
{{-- hover:bg-[#000000b3] bg-[#00000080] --}}
<button
class="next absolute w-12 h-12 items-center content-center rounded-full hover:backdrop-blur-sm backdrop-blur-md text-white transform duration-500 group-hover:right-5 -right-52 opacity-0 group-hover:opacity-100">&#10095;
</button>
</div>
</div>
</div>
@script
<script>
Alpine.data('slider4', () => ({
swiper4: null,
width: ((document.getElementById('imagee').clientWidth) - 120) / 6,
init() {
this.swiper4 = new Swiper('.swiper4', {
loop: true, // فعال‌سازی حالت لوپ
slidesPerView: 6, // تعداد اسلایدهای قابل نمایش در هر صفحه
spaceBetween: 20, // فاصله بین اسلایدها
navigation: {
nextEl: '.swiper-button-next',
prevEl: '.swiper-button-prev',
},
// pagination: {
// el: '.swiper-pagination',
// clickable: true,
// },
autoplay: {
delay: 5000,
disableOnInteraction: false,
},
});
},
}))
</script>
@endscript
</div>
@else
<div class="grid grid-cols-6 items-center content-center">
@foreach($blogs as $blog)
<div class=" ">
<div dir="rtl">
<img class="size-44 rounded-xl"
src="{{asset('images/'.$blog->image)}}"
alt="">
</div>
<div dir="rtl" class="flex flex-col mt-2 ">
<div class="text-white">
رضا کریمی
</div>
<div class="text-gray-400 text-xs">
مدیر فروش
</div>
</div>
</div>
@endforeach
</div>
@endif

View File

@@ -0,0 +1,287 @@
@props(['blogs'])
<div>
@php
$count=0;
$num=0;
@endphp
@foreach($blogs->chunk(4) as $key => $chunk)
<div class="grid my-5 grid-cols-2 gap-10 h-[66vh] ">
{{-- @dd($blogs->chunk(4))--}}
@if($count%4==0 && $chunk->has($count))
@php
$blog=$chunk->all()[$count];
$num=0;
@endphp
<div style="background-image: url('{{asset('images/'.$blog->image)}}');background-size: cover;
background-repeat: no-repeat;
background-position: center center;
"
class=" rounded-xl">
<a href="{{route('detail',['id'=>$blog->id])}}" wire:navigate>
<div class="p-5 h-full rounded-xl"
style="background-image: linear-gradient(180deg, transparent, black);">
<div class="h-full flex flex-col gap-1 justify-end">
<div>
<div style="background: {{$blog->category->color}}"
class="flex px-1.5 py-0.5 rounded bg-[{{$blog->category->color}}] gap-1 w-max text-sm items-center">
<svg height="12" width="12" xmlns="http://www.w3.org/2000/svg">
<circle r="5" cx="5" cy="6.5" fill="black" />
</svg>
{{$blog->category->title}}
</div>
</div>
<div>
{!! $blog->subject !!}
</div>
<div>
{!! $blog->preview !!}
</div>
<div class="flex gap-5 text-white">
<div>
{{jalaliDate($blog->updated_at,'%d %B، %Y')}}
</div>
<div>
{!! $blog->reed_time !!} دقیقه زمان مطالعه
</div>
<div>
{!! $blog->likes ??0 !!}
</div>
</div>
</div>
</div>
</a>
</div>
@php $count=$count+1; @endphp
@endif
<div class="">
<div class="grid gap-10 h-full">
@if($count%4==1 && $chunk->has($count))
@php
$blog=$chunk->all()[$count];
@endphp
<div style="background-image: url('{{asset('images/'.$blog->image)}}');background-size: cover;
background-repeat: no-repeat;
background-position: center center;"
class=" rounded-xl ">
<a href="{{route('detail',['id'=>$blog->id])}}" wire:navigate>
<div class="p-5 h-full rounded-xl"
style="background-image: linear-gradient(180deg, transparent, black);">
<div class="h-full flex flex-col gap-1 justify-end">
<div>
<div style="background: {{$blog->category->color}}"
class="flex px-1.5 py-0.5 rounded bg-[{{$blog->category->color}}] gap-1 w-max text-sm items-center">
<svg height="12" width="12" xmlns="http://www.w3.org/2000/svg">
<circle r="5" cx="5" cy="6.5" fill="black" />
</svg>
{{$blog->category->title}}
</div>
</div>
<div>
{!! $blog->subject !!}
</div>
<div>
{!! $blog->preview !!}
</div>
<div class="flex gap-5 text-white">
<div>
{{jalaliDate($blog->updated_at,'%d %B، %Y')}}
</div>
<div>
{!! $blog->reed_time !!} دقیقه زمان مطالعه
</div>
<div>
{!! $blog->likes ??0 !!}
</div>
</div>
</div>
</div>
</a>
</div>
@php $count=$count+1; @endphp
@endif
<div>
<div class="grid grid grid-cols-2 gap-10 h-full">
@if($count%4==2 && $chunk->has($count))
@php
$blog=$chunk->all()[$count]
@endphp
<div style="background-image: url('{{asset('images/'.$blog->image)}}');background-size: cover;
background-repeat: no-repeat;
background-position: center center;"
class=" rounded-xl ">
<a {{route('detail',['id'=>$blog->id])}} wire:navigate>
<div class="p-5 h-full rounded-xl "
style="background-image: linear-gradient(180deg, transparent, black);">
<div class="h-full flex flex-col gap-1 justify-end">
<div>
<div style="background: {{$blog->category->color}}"
class="flex px-1.5 py-0.5 rounded bg-[{{$blog->category->color}}] gap-1 w-max text-sm items-center">
<svg height="12" width="12"
xmlns="http://www.w3.org/2000/svg">
<circle r="5" cx="5" cy="6.5" fill="black" />
</svg>
{{$blog->category->title}}
</div>
</div>
<div>
{!! $blog->subject !!}
</div>
<div>
{!! $blog->preview !!}
</div>
<div class="flex gap-5 text-white">
<div class="text-xs">
{{jalaliDate($blog->updated_at,'%d %B، %Y')}}
</div>
<div class="text-xs">
{!! $blog->reed_time !!} دقیقه زمان مطالعه
</div>
{{-- <div class="text-xs">--}}
{{-- {!! $blog->likes ??0 !!}--}}
{{-- </div>--}}
</div>
</div>
</div>
</a>
</div>
@php $count=$count+1; @endphp
@endif
@if($count%4==3 && $chunk->has($count))
@php
$blog=$chunk->all()[$count]
@endphp
<div style="background-image: url('{{asset('images/'.$blog->image)}}');
background-size: cover;
background-repeat: no-repeat;
background-position: center center;" class=" rounded-xl">
<a {{route('detail',['id'=>$blog->id])}} wire:navigate>
<div class="p-5 h-full rounded-xl"
style="background-image: linear-gradient(180deg, transparent, black);">
<div class="h-full flex flex-col gap-1 justify-end">
<div>
<div style="background: {{$blog->category->color}}"
class="flex px-1.5 py-0.5 rounded bg-[{{$blog->category->color}}] gap-1 w-max text-sm items-center">
<svg height="12" width="12"
xmlns="http://www.w3.org/2000/svg">
<circle r="5" cx="5" cy="6.5" fill="black" />
</svg>
{{$blog->category->title}}
</div>
</div>
<div>
{!! $blog->subject !!}
</div>
<div>
{!! $blog->preview !!}
</div>
<div class="flex gap-5 text-white">
<div class="text-xs">
{{jalaliDate($blog->updated_at,'%d %B، %Y')}}
</div>
<div class="text-xs">
{!! $blog->reed_time !!} دقیقه زمان مطالعه
</div>
{{-- <div class="text-xs">--}}
{{-- {!! $blog->likes ??0 !!}--}}
{{-- </div>--}}
</div>
</div>
</div>
</a>
</div>
@php $count=$count+1; @endphp
@endif
</div>
</div>
</div>
</div>
</div>
@endforeach
</div>

View File

@@ -0,0 +1,105 @@
@props(['blogs', 'title', 'slug' , 'parent'])
<div class=" lg:border-0 w-full ">
@if (request()->is('CategoryBlog/*'))
<div href="#" class=" text-[#16205b] my-3 flex font-bold lg:my-8 text-[16px] lg:text-[20px] text-start items-center gap-2">
<div class="text-transparent bg-[#084642] w-[8px] h-[23px] rounded-[2px] "> </div> <span class="text-[#16205b]"> مطالب {{$title}}</span>
</div>
@else
<div class="text-black my-3 lg:my-8 flex text-[16px] lg:text-[20px] text-start justify-between items-center gap-2">
@if (!is_null($parent))
@php
$parent_nameFa = App\Models\Category::where('slug' , $parent)->where('parent' , 1)->first()->title;
@endphp
<span class="font-bold flex items-center gap-2 text-[#16205b] ">
<div class="text-transparent bg-[#084642] w-[8px] h-[23px] rounded-[2px] "> </div>
{{$parent_nameFa}} {{$title}}
</span>
@else
<span class="font-bold flex items-center gap-2 text-[#16205b] ">
<div class="text-transparent bg-[#084642] w-[8px] h-[23px] rounded-[2px] "> </div>
مطالب {{$title}}
</span>
@endif
@if (!is_null($parent))
<a class=" text-[#16205b] md:flex hidden rounded-xl px-2 text-[16px] " href="{{route('CategoryBlog.index' , ['categoryunderparentslug' => $parent , 'slug' => $slug]).'/'}}" wire:navigate>مشاهده همه</a>
@else
<a class=" text-[#16205b] md:flex hidden rounded-xl px-2 text-[16px] " href="{{route('CategoryBlog.index' , ['categoryunderparentslug' => $slug]).'/'}}" wire:navigate>مشاهده همه</a>
@endif
</div>
@endif
<div x-data="blogList" x-intersect="shown = true">
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 justify-between gap-5 my-4 lg:my-8" x-show="shown" x-transition>
@foreach ($blogs as $index => $blog)
<div x-show="{{$index }} < limit" class="w-full justify-between md:justify-normal flex items-center px-2 py-2 md:py-0 md:px-0 flex-row-reverse md:flex-col gap-2 border-b md:border md:rounded-xl md:bg-slate-100 md:shadow">
<a href="{{ route('detail', ['slug' => $blog->slug]) .'/'}}" wire:navigate class="relative w-[80px] md:w-full">
<img class="w-[80px] md:w-full md:h-[260px] h-[80px] rounded-xl md:rounded-b-none" src="{{ asset('images/' . $blog->image) }}" alt="">
</a>
<div class="flex md:w-full justify-start w-[73%] md:justify-normal flex-col gap-2 h-full md:p-4">
<a href="{{ route('detail', ['slug' => $blog->slug]) .'/'}}" wire:navigate class="text-[#005eb9] text-[14px] md:text-[16px] font-bold">
{!! $blog->subject !!}
</a>
<div class="md:block hidden text-[#16205b]">
@php
$preview = Str::limit($blog->preview, 80, '...');
@endphp
{!! $preview !!}
</div>
<div class="flex gap-1 text-white md:mt-auto">
<div class="hidden md:flex flex-col justify-center">
<img class="bg-cover bg-center rounded-full size-8" src="{{ asset('image/'.$blog->user->picture) }}" alt="">
</div>
<div class="text-xs text-gray-600 flex flex-col justify-center">
{{ $blog->user->full_name }}
</div>
<span style="font-variation-settings: 'wght' 500;" class="text-xs text-[#A0A4BC] flex flex-col justify-center">|</span>
<div class="text-xs text-gray-600 flex flex-col justify-center">
{{ jalaliDate($blog->published_at, '%d %B، %Y') }}
</div>
</div>
</div>
</div>
@endforeach
</div>
</div>
@if (request()->is('CategoryBlog/*'))
<button class="w-full p-3 mb-6 md:hidden block rounded-xl text-center border border-[#084642] text-[#084642]">
مشاهده مطالب بیشتر
</button>
@else
@if (!is_null($parent))
<a href=" {{cleanRouteUrl('CategoryBlog.index' , ['categoryunderparentslug' => $parent , 'slug' => $slug]).'/'}}" wire:navigate class="w-full p-3 md:hidden block mb-6 rounded-xl text-center border border-[#084642] text-[#084642]">
مشاهده مطالب بیشتر
</a>
@else
<a href=" {{cleanRouteUrl('CategoryBlog.index' , ['slug' => $slug]).'/'}}" wire:navigate class="w-full p-3 md:hidden block mb-6 rounded-xl text-center border border-[#084642] text-[#084642]">
مشاهده مطالب بیشتر
</a>
@endif
@endif
</div>
@script
<script>
Alpine.data('blogList', () => ({
limit: 4,
shown: false,
init() {
this.updateLimit();
window.addEventListener('resize', () => this.updateLimit());
},
updateLimit() {
const screenWidth = window.innerWidth;
if (screenWidth < 768) {
this.limit = 5;
} else if (screenWidth >= 768 && screenWidth < 1024) {
this.limit = 2;
} else if (screenWidth >= 1024 && screenWidth < 1280) {
this.limit = 3;
} else {
this.limit = 4;
}
}
}));
</script>
@endscript

View File

@@ -0,0 +1,95 @@
@props([
'blogs'
])
<div>
<div class="grid grid-cols-2 gap-10 ">
@foreach($blogs as $blog)
<div class="h-[20vh] text-white">
<div class="flex gap-3 h-full">
<div class=" w-1/3 h-fill text-white ">
<img class="w-full h-full rounded-xl"
src="{{asset('images/'.$blog->image)}}"
alt="">
</div>
<div>
<div class="h-full flex flex-col gap-2 ">
<div>
<div style="color: {{$blog->category->color}};"
class="flex relative rounded gap-1 w-max text-xs text-black items-center">
<div class="w-full h-full rounded absolute z-0 opacity-10 " style="background: {{$blog->category->color}};">
</div>
<div class="flex gap-1 items-center px-1.5 py-0.5 rounded">
<svg height="12" width="10" xmlns="http://www.w3.org/2000/svg">
<circle r="4" cx="5" cy="5.5" fill="{{$blog->category->color}}" />
</svg>
{{$blog->category->title}}
</div>
</div>
</div>
<div>
{{-- موضوع--}}
{!! $blog->subject !!}
</div>
{{-- <div>--}}
{{-- --}}{{-- توضیحات--}}
{{-- --}}{{-- {!! $blog->preview !!}--}}
{{-- </div>--}}
<div class="flex gap-3 text-white">
<div class="flex flex-col justify-center">
<img class="rounded-full size-8" src="http://127.0.0.1:8000/images/17365895806dl75b4493S48w80sD0323r31KB6V48E_.jpg" alt="">
</div>
<div class="text-xs flex flex-col justify-center text-gray-400">
{{-- تاریخ--}}
با علی علیزاده
{{-- {{jalaliDate($blog->updated_at,'%d %B، %Y')}}--}}
</div>
<span class="text-gray-400">.</span>
<div class="text-xs flex flex-col justify-center text-gray-400">
{{-- زمان مطالعه--}}
{{jalaliDate($blog->updated_at,'%d %B، %Y')}}
{{-- {!! $blog->reed_time !!} دقیقه زمان مطالعه--}}
</div>
{{-- <div>--}}
{{-- {!! $blog->likes ??0 !!}--}}
{{-- </div>--}}
</div>
<div class="flex gap-3">
</div>
</div>
</div>
</div>
</div>
@endforeach
</div>
</div>

View File

@@ -0,0 +1,167 @@
<!DOCTYPE html>
<html lang="fa" dir="rtl">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="{{env('APP_URL_IMAGE').'images/static/logo.png'}}">
<meta name="csrf-token" content="{{ csrf_token() }}">
@section('robots')
<meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' />
@show
<title>@yield('title', 'مجله خبری سرمایه گذاری اهرم')</title>
@yield('metaSEO')
@vite(['resources/css/app.css', 'resources/js/app.js'])
<script data-navigate-once src="{{asset('js/tailwind.js')}}"></script>
<style>
@font-face {
font-family: iransans;
font-style: normal;
font-weight: bold;
src: url('{{asset(' fonts/IRANSansX-Bold.woff')}}') format('woff'),
}
@font-face {
font-family: iransans;
font-style: normal;
font-weight: normal;
src: url('{{asset(' fonts/IRANSansXV.woff')}}') format('woff'),
}
.no-scrollbar {
-ms-overflow-style: none;
scrollbar-width: none;
}
.bg-ahrom {
background-color: rgb(8, 70, 66) !important;
}
.bg-preveBackQuiz {
background-color: rgb(223, 229, 231) !important;
}
.position-fixed {
position: fixed !important;
top: 0 !important;
}
.trans_all {
transition: all ease .4s;
}
.animation-open {
transform: translateY(-32px);
}
svg {
pointer-events: none;
}
.items-center {
align-items: center !important;
}
.animation-open2 {
transform: translateY(1px);
}
#nprogress .bar,
.spinner {
z-index: 3000 !important;
}
</style>
<link href="{{asset('home/css/flowbite@2.5.2.css')}}" rel="stylesheet" />
@stack('style_css')
@livewireStyles
</head>
<body id="bodyStyle" class="min-h-screen overflow-x-hidden bg-white leading-normal text-slate-700 antialiased">
@if(request()->ip() == '80.191.102.86' || true)
@livewire('partials.header')
@endif
<main class=" mx-auto lg:pt-24 pt-14" id="top">
<div wire:loading style="position: fixed; top: 0; left: 0; width: 100%; height: 3px; background-color: #084642; z-index: 10000;"></div>
{{ $slot }}
</main>
@include('partials.footer')
<script data-navigate-once src="{{asset('home/js/flowbite.min.js')}}"></script>
<script src="{{asset('js/lottie.js')}}"></script>
@stack('script_js')
<!---start GOFTINO code--->
<script type="text/javascript">
!function(){var i="hAqxn2",a=window,d=document;function g(){var g=d.createElement("script"),s="https://www.goftino.com/widget/"+i,l=localStorage.getItem("goftino_"+i);g.async=!0,g.src=l?s+"?o="+l:s;d.getElementsByTagName("head")[0].appendChild(g);}"complete"===d.readyState?g():a.attachEvent?a.attachEvent("onload",g):a.addEventListener("load",g,!1);}();
</script>
<script>
var boxwidget = document.getElementById('box-widget-icon');
window.addEventListener('goftino_ready', function() {
var currentRoute = "page.credit.index";
if (window.innerWidth < 1024 && (currentRoute == 'page.credit.index' || currentRoute ==
'page.credit.indexMobile')) {
Goftino.setWidget({
hasIcon: false,
hasSound: false,
});
var headerChatBtn = document.getElementById('header_chat_btn');
if (headerChatBtn) {
headerChatBtn.addEventListener('click', () => {
Goftino.open();
})
}
}
var header_btn_chat2 = document.getElementById('header_btn_chat2');
if (header_btn_chat2) {
header_btn_chat2.addEventListener('click', () => {
Goftino.open();
})
}
window.addEventListener('resize', function() {
currentRoute = "page.credit.index";
if (window.innerWidth < 1024 && (currentRoute == 'page.credit.index' || currentRoute ==
'page.credit.indexMobile')) {
Goftino.setWidget({
hasIcon: false,
hasSound: false,
});
if (boxwidget) {
boxwidget.classList.add('hidden');
}
headerChatBtn = document.getElementById('header_chat_btn');
if (headerChatBtn) {
headerChatBtn.addEventListener('click', () => {
Goftino.open();
})
}
}
header_btn_chat2 = document.getElementById('header_btn_chat2');
if (boxwidget) {
boxwidget.classList.remove('hidden');
}
if (header_btn_chat2) {
header_btn_chat2.addEventListener('click', () => {
Goftino.open();
})
}
});
});
</script>
<!---end GOFTINO code--->
@livewireScriptConfig
</body>
</html>

View File

@@ -0,0 +1,164 @@
<!DOCTYPE html>
<html lang="fa" dir="rtl">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="{{env('APP_URL_IMAGE').'images/static/logo.png'}}">
<meta name="csrf-token" content="{{ csrf_token() }}">
@section('robots')
<meta name='robots' content='noindex, nofollow' />
@show
<title>@yield('title', 'مجله خبری سرمایه گذاری اهرم')</title>
@yield('metaSEO')
@vite(['resources/css/app.css', 'resources/js/app.js'])
<script data-navigate-once src="{{asset('js/tailwind.js')}}"></script>
<style>
@font-face {
font-family: iransans;
font-style: normal;
font-weight: bold;
src: url('{{asset(' fonts/IRANSansX-Bold.woff')}}') format('woff'),
}
@font-face {
font-family: iransans;
font-style: normal;
font-weight: normal;
src: url('{{asset(' fonts/IRANSansXV.woff')}}') format('woff'),
}
.no-scrollbar {
-ms-overflow-style: none;
scrollbar-width: none;
}
.bg-ahrom {
background-color: rgb(8, 70, 66) !important;
}
.bg-preveBackQuiz {
background-color: rgb(223, 229, 231) !important;
}
.position-fixed {
position: fixed !important;
top: 0 !important;
}
.trans_all {
transition: all ease .4s;
}
.animation-open {
transform: translateY(-32px);
}
svg {
pointer-events: none;
}
.items-center {
align-items: center !important;
}
.animation-open2 {
transform: translateY(1px);
}
#nprogress .bar,
.spinner {
z-index: 3000 !important;
}
</style>
<link href="{{asset('home/css/flowbite@2.5.2.css')}}" rel="stylesheet" />
@stack('style_css')
@livewireStyles
</head>
<body id="bodyStyle" class="min-h-screen overflow-x-hidden bg-white leading-normal text-slate-700 antialiased">
// @livewire('partials.header')
<main class=" mx-auto lg:pt-24 pt-14" id="top">
<div wire:loading style="position: fixed; top: 0; left: 0; width: 100%; height: 3px; background-color: #084642; z-index: 10000;"></div>
{{ $slot }}
</main>
@include('partials.footer')
<script data-navigate-once src="{{asset('home/js/flowbite.min.js')}}"></script>
// <script src="https://cdnjs.cloudflare.com/ajax/libs/bodymovin/5.12.2/lottie.min.js"></script>
<script src="{{asset('home/js/lottie.min.js')}}"></script>
@stack('script_js')
<!---start GOFTINO code--->
<script type="text/javascript">
!function(){var i="hAqxn2",a=window,d=document;function g(){var g=d.createElement("script"),s="https://www.goftino.com/widget/"+i,l=localStorage.getItem("goftino_"+i);g.async=!0,g.src=l?s+"?o="+l:s;d.getElementsByTagName("head")[0].appendChild(g);}"complete"===d.readyState?g():a.attachEvent?a.attachEvent("onload",g):a.addEventListener("load",g,!1);}();
</script>
<script>
var boxwidget = document.getElementById('box-widget-icon');
window.addEventListener('goftino_ready', function() {
var currentRoute = "page.credit.index";
if (window.innerWidth < 1024 && (currentRoute == 'page.credit.index' || currentRoute ==
'page.credit.indexMobile')) {
Goftino.setWidget({
hasIcon: false,
hasSound: false,
});
var headerChatBtn = document.getElementById('header_chat_btn');
if (headerChatBtn) {
headerChatBtn.addEventListener('click', () => {
Goftino.open();
})
}
}
var header_btn_chat2 = document.getElementById('header_btn_chat2');
if (header_btn_chat2) {
header_btn_chat2.addEventListener('click', () => {
Goftino.open();
})
}
window.addEventListener('resize', function() {
currentRoute = "page.credit.index";
if (window.innerWidth < 1024 && (currentRoute == 'page.credit.index' || currentRoute ==
'page.credit.indexMobile')) {
Goftino.setWidget({
hasIcon: false,
hasSound: false,
});
if (boxwidget) {
boxwidget.classList.add('hidden');
}
headerChatBtn = document.getElementById('header_chat_btn');
if (headerChatBtn) {
headerChatBtn.addEventListener('click', () => {
Goftino.open();
})
}
}
header_btn_chat2 = document.getElementById('header_btn_chat2');
if (boxwidget) {
boxwidget.classList.remove('hidden');
}
if (header_btn_chat2) {
header_btn_chat2.addEventListener('click', () => {
Goftino.open();
})
}
});
});
</script>
<!---end GOFTINO code--->
@livewireScriptConfig
</body>
</html>

View File

@@ -0,0 +1,48 @@
<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="robots" content="noindex, nofollow">
<title>{{ $title ?? 'Page Title' }}</title>
<script src="{{ asset('ckeditor/ckeditor.js') }}"></script>
<link rel="stylesheet" href="{{asset('swiper/swiper-bundle.css')}}">
<script src="{{asset('swiper/swiper-bundle.js')}}"></script>
@vite(['resources/css/app.css', 'resources/js/app.js'])
@livewireStyles
<style>
.cke_dialog_ui_input_file {
height: max-content !important;
}
.cke_notification {
display: none !important;
}
.swiper-button-next::after,
.swiper-button-prev::after,
.swiper-rtl .swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
content: "";
}
</style>
</head>
<body dir="rtl">
<div class="w-full flex justify-center">
<div class="w-[75%] ">
{{ $slot }}
</div>
@stack('script_js')
@livewireScriptConfig
</div>
</body>
</html>

View File

@@ -0,0 +1,51 @@
<div>
<div class="w-full mx-auto flex justify-center bg-[#191a1f]">
<div class="flex w-[75%] py-10 items-center justify-between">
<div>
<h1 class="text-white text-xl">
boliza
</h1>
</div>
<div class="w-1/3">
<div class="w-full flex justify-between">
<a class="text-white" href="{{route('index')}}" wire:navigate>خانه</a>
<a class="text-white" href="#">صفحات</a>
<a class="text-white" href="#">لیست مقالات</a>
<a class="text-white" href="#">مگامنو</a>
<a class="text-white" href="#">داشبورد</a>
</div>
</div>
<div>
<div class="flex gap-5">
</div>
</div>
</div>
</div>
<div class="w-full mx-auto flex justify-center bg-[#191a1f]">
<div class="flex w-[75%] p-3 bg-[#192134] rounded items-center justify-between">
<div>
<div>
<button class="py-2 px-1 rounded text-white bg-[#2163e8]"> اخبار امروز </button>
</div>
</div>
<div class="">
<div class=" flex gap-3">
<button class=" rounded-full text-[#3c3f48] bg-[#191a1f] content-center"> <span class="px-1.5 ">
< </span> </button>
<button class=" rounded-full text-[#3c3f48] bg-[#191a1f] content-center"> <span class="px-1.5"> > </span> </button>
</div>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,250 @@
<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="robots" content="noindex, nofollow">
<link rel="icon" type="image/png" href="{{asset('image/logo.png')}}">
<title>{{ $title ?? 'Page Title' }}</title>
<script data-navigate-once src="{{ asset('ckeditor/ckeditor.js') }}"></script>
<script data-navigate-once src="{{asset('js/tailwind.js')}}"></script>
@vite(['resources/css/app.css', 'resources/js/app.js'])
<style type="text/tailwindcss">
@layer utilities {
.content-auto {
content-visibility: auto;
}
}
</style>
<style>
@font-face {
font-family: iransans;
font-style: normal;
font-weight: bold;
src: url('{{asset('fonts/IRANSansX-Bold.woff')}}') format('woff'),
}
#nprogress .bar , .spinner{
z-index: 3000 !important;
}
@font-face {
font-family: iransans;
font-style: normal;
font-weight: normal;
src: url('{{asset('fonts/IRANSansXV.woff')}}') format('woff'),
}
.no-scrollbar {
-ms-overflow-style: none;
scrollbar-width: none;
}
.no-scrollbar::-webkit-scrollbar {
display: none;
}
.bg-ahrom {
background-color: rgb(8, 70, 66) !important;
}
.bg-preveBackQuiz {
background-color: rgb(223, 229, 231) !important;
}
.position-fixed {
position: fixed !important;
top: 0 !important;
}
.trans_all {
transition: all ease .4s;
}
.animation-open {
transform: translateY(-32px);
}
svg {
pointer-events: none;
}
.items-center {
align-items: center !important;
}
.animation-open2 {
transform: translateY(1px);
}
.btn {
height: 3.25rem;
-webkit-user-select: none;
-moz-user-select: none;
user-select: none;
border-radius: 1rem;
padding-left: 2rem;
padding-right: 2rem;
font-size: .875rem;
line-height: 1.25rem;
font-weight: 500 !important;
transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
transition-duration: .3s;
transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}
.font-semibold {
font-weight: 500 !important;
}
.text-red-800 {
color: #f43f5e !important;
}
.bg-gradiant-slide {
background: rgb(66, 0, 0);
background: linear-gradient(135deg, rgba(66, 0, 0, 1) 0%, rgba(255, 255, 255, 1) 53%, rgba(0, 51, 42, 1) 100%);
}
.split-button {
position: relative;
display: inline-block;
width: 100px;
height: 30px;
background: linear-gradient(135deg, #F65555 50%, #00B88A 50%);
color: white;
font-size: 13px;
font-weight: bold;
text-align: center;
line-height: 50px;
border-radius: 8px;
overflow: hidden;
}
.split-button::before {
content: "فروش";
position: absolute;
top: 0;
left: 0;
padding-right: 4px;
padding-left: 4px;
width: 50%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
z-index: 1;
}
.split-button::after {
content: "خرید";
position: absolute;
top: 0;
right: 0;
width: 50%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
z-index: 1;
}
.hoverCancel {
pointer-events: none;
}
.rectangleTest {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(to right, green 0%, yellow 12.5%, orange 25%, red 37.5%, rgb(126, 4, 4) 50%, rgb(61, 2, 2) 75%, rgb(12, 0, 0) 100%);
}
.rectangle {
width: 100%;
height: 40px;
border-radius: 10px;
position: relative;
overflow: hidden;
}
.tooltip-box {
position: relative;
display: inline-block;
background-color: #000;
color: white;
text-align: center;
padding: 3px 7px;
border-radius: .25rem;
margin-bottom: 15px;
font-size: 14px;
}
.text-red-800 {
color: #F65555 !important;
}
.text-green-800 {
color: #00B88A !important;
}
@media (min-width: 1023px) and (max-width: 10000px) {
.lg\:bg-hr {
background-color: #f4f7fb !important;
}
}
</style>
<style>
.fade-out {
overflow: hidden;
height: 4.5em;
transition: all .4s ease !important;
position: relative;
}
.fade-out:after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 1.5em;
transition: all .4s ease !important;
background: linear-gradient(to bottom, transparent, white);
}
.hidden {
display: none;
}
</style>
<style>
.cke_dialog_ui_input_file{
height: max-content !important;
}
.cke_notification {
display: none !important;
}
</style>
@stack('style_css')
@livewireStyles
</head>
<body dir="rtl">
<x-layouts.panel.partial.header/>
{{ $slot }}
@stack('script_js')
@livewireScriptConfig
</body>
</html>

View File

@@ -0,0 +1,29 @@
<div class="w-full bg-slate-200 px-20 py-3 ">
<div class="flex justify-between">
<div class="flex gap-5">
<a class=" @if( url()->current() == route('panel.index') ) bg-ahrom text-white @else bg-[#F9FAFB] @endif px-2 rounded-2xl py-1 shadow" href="{{route('panel.index')}}" wire:navigate>مقالات</a>
@if(auth()->user()->type == 2)
<a class=" @if( url()->current() == route('panel.category.index') ) bg-ahrom text-white @else bg-[#F9FAFB] @endif px-2 rounded-2xl py-1 shadow" href="{{route('panel.category.index')}}" wire:navigate>دسته بندی</a>
{{-- <a class=" @if( url()->current() == route('panel.images') ) bg-ahrom text-white @else bg-[#F9FAFB] @endif px-2 rounded-2xl py-1 shadow" href="{{route('panel.images')}}" wire:navigate>تصاویر</a>--}}
{{-- <a class=" @if( url()->current() == route('panel.keywords') ) bg-ahrom text-white @else bg-[#F9FAFB] @endif px-2 rounded-2xl py-1 shadow" href="{{route('panel.keywords')}}" wire:navigate>کلیدواژه</a>--}}
<a class=" @if( url()->current() == route('panel.dictionary') ) bg-ahrom text-white @else bg-[#F9FAFB] @endif px-2 rounded-2xl py-1 shadow" href="{{route('panel.dictionary')}}" wire:navigate>فرهنگ لغت</a>
<a class=" @if( url()->current() == route('panel.comment') ) bg-ahrom text-white @else bg-[#F9FAFB] @endif px-2 rounded-2xl py-1 shadow" href="{{route('panel.comment')}}" wire:navigate>کامنت</a>
<a class=" @if( url()->current() == route('panel.getnewslist') ) bg-ahrom text-white @else bg-[#F9FAFB] @endif px-2 rounded-2xl py-1 shadow" href="{{route('panel.getnewslist')}}" wire:navigate>استعلام اخبار</a>
@endif
@if(auth()->user()->type != 3)
<a class=" @if( url()->current() == route('panel.search') ) bg-ahrom text-white @else bg-[#F9FAFB] @endif px-2 rounded-2xl py-1 shadow" href="{{route('panel.search')}}" wire:navigate>جستجو</a>
@endif
@if(auth()->user()->type == 2)
{{-- <a class=" @if( url()->current() == route('panel.ads') ) bg-ahrom text-white @else bg-[#F9FAFB] @endif px-2 rounded-2xl py-1 shadow" href="{{route('panel.ads')}}" wire:navigate>تبلیغات</a>--}}
<a class=" @if( url()->current() == route('panel.keywordlist') ) bg-ahrom text-white @else bg-[#F9FAFB] @endif px-2 rounded-2xl py-1 shadow" href="{{route('panel.keywordlist')}}" wire:navigate>استعلام مقالات</a>
@endif
</div>
<div class=" flex gap-3">
<a href="{{route('panel.logout')}}" wire:navigate>خروج</a>
@if(auth()->user()->type != 2)
<a href="{{route('panel.register')}}" wire:navigate>عضویت</a>
@endif
</div>
</div>
</div>