Compare commits
20 Commits
5930dca3fa
...
11bcfe5d5a
Author | SHA1 | Date |
---|---|---|
A1Gard | 11bcfe5d5a | 10 months ago |
A1Gard | 8a7124b916 | 10 months ago |
A1Gard | e4c9ef8aaf | 10 months ago |
A1Gard | f642fb29c2 | 10 months ago |
A1Gard | 206daee778 | 10 months ago |
A1Gard | 630807ebad | 10 months ago |
A1Gard | 27cadf29f8 | 10 months ago |
A1Gard | e67bd222a7 | 10 months ago |
A1Gard | 4e4eadf40c | 10 months ago |
A1Gard | 6d7f5e4e03 | 10 months ago |
A1Gard | 7517eab071 | 10 months ago |
A1Gard | 720cb821c4 | 10 months ago |
A1Gard | faef1cf256 | 10 months ago |
A1Gard | f9b13d7845 | 10 months ago |
A1Gard | f133d7f166 | 10 months ago |
A1Gard | 7e1f9f52f4 | 10 months ago |
A1Gard | ab7fb3cf00 | 10 months ago |
A1Gard | 02829cb3a8 | 10 months ago |
A1Gard | 94c06c1b84 | 10 months ago |
A1Gard | 0781a8710d | 10 months ago |
@ -0,0 +1,40 @@
|
||||
name: Laravel
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ "main" ]
|
||||
pull_request:
|
||||
branches: [ "main" ]
|
||||
|
||||
jobs:
|
||||
laravel-tests:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: shivammathur/setup-php@15c43e89cdef867065b0213be354c2841860869e
|
||||
with:
|
||||
php-version: '8.1'
|
||||
- uses: actions/checkout@v3
|
||||
- name: Copy .env
|
||||
run: php -r "file_exists('.env') || copy('.env.example', '.env');"
|
||||
- name: Install Dependencies
|
||||
run: composer install -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist
|
||||
- name: Generate key
|
||||
run: php artisan key:generate
|
||||
- name: Directory Permissions
|
||||
run: chmod -R 777 storage bootstrap/cache
|
||||
- name: Create Database
|
||||
run: |
|
||||
mkdir -p database
|
||||
touch database/database.sqlite
|
||||
- name: Dataseeder
|
||||
env:
|
||||
DB_CONNECTION: sqlite
|
||||
DB_DATABASE: database/database.sqlite
|
||||
run: PIC_SEED=0 php artisan migrate --seed
|
||||
- name: Execute tests (Unit and Feature tests) via PHPUnit
|
||||
env:
|
||||
DB_CONNECTION: sqlite
|
||||
DB_DATABASE: database/database.sqlite
|
||||
run: php artisan test
|
Before Width: | Height: | Size: 895 KiB |
Before Width: | Height: | Size: 668 KiB |
Before Width: | Height: | Size: 3.0 MiB |
Before Width: | Height: | Size: 1.2 MiB |
Before Width: | Height: | Size: 649 KiB |
Before Width: | Height: | Size: 1.9 MiB |
Before Width: | Height: | Size: 4.1 MiB |
Before Width: | Height: | Size: 179 KiB |
Before Width: | Height: | Size: 74 KiB |
Before Width: | Height: | Size: 103 KiB |
Before Width: | Height: | Size: 129 KiB |
Before Width: | Height: | Size: 131 KiB |
Before Width: | Height: | Size: 143 KiB |
Before Width: | Height: | Size: 108 KiB |
@ -1,317 +1,163 @@
|
||||
@extends('website.layout.layout')
|
||||
@section('content')
|
||||
|
||||
<!-- hero -->
|
||||
<header id="head-slider" class=" mt-3 container">
|
||||
<div class=" text-center " id="header">
|
||||
<div class="row m-0">
|
||||
<div class="hero-carousel col-md-12 my-2 order-md-last order-first mt-3">
|
||||
<div id="carouselExampleDark" class="carousel carousel-dark slide container-sm"
|
||||
data-bs-ride="carousel">
|
||||
<div class="carousel-indicators">
|
||||
<button type="button" data-bs-target="#carouselExampleDark" data-bs-slide-to="0"
|
||||
class="active"
|
||||
aria-current="true" aria-label="Slide 1"></button>
|
||||
<button type="button" data-bs-target="#carouselExampleDark" data-bs-slide-to="1"
|
||||
aria-label="Slide 2"></button>
|
||||
<button type="button" data-bs-target="#carouselExampleDark" data-bs-slide-to="2"
|
||||
aria-label="Slide 3"></button>
|
||||
<button type="button" data-bs-target="#carouselExampleDark" data-bs-slide-to="3"
|
||||
aria-label="Slide 4"></button>
|
||||
<button type="button" data-bs-target="#carouselExampleDark" data-bs-slide-to="4"
|
||||
aria-label="Slide 5"></button>
|
||||
</div>
|
||||
<div class="carousel-inner">
|
||||
<div class="carousel-item active" data-bs-interval="3000">
|
||||
<a href="{{\App\Helpers\getSetting('carousel-1-link')}}">
|
||||
<img src="{{asset('images/carousel/carousel-1.jpg')}}"
|
||||
class="d-block w-100 "
|
||||
alt="..."></a>
|
||||
</div>
|
||||
<div class="carousel-item" data-bs-interval="3000">
|
||||
<a href="{{\App\Helpers\getSetting('carousel-2-link')}}">
|
||||
<img src="{{asset('images/carousel/carousel-2.jpg')}}"
|
||||
class="d-block w-100"
|
||||
alt="..."></a>
|
||||
</div>
|
||||
<div class="carousel-item" data-bs-interval="3000">
|
||||
<a href="{{\App\Helpers\getSetting('carousel-3-link')}}">
|
||||
<img src="{{asset('images/carousel/carousel-3.jpg')}}"
|
||||
class="d-block w-100"
|
||||
alt="..."></a>
|
||||
</div>
|
||||
<div class="carousel-item" data-bs-interval="3000">
|
||||
<a href="{{\App\Helpers\getSetting('carousel-4-link')}}">
|
||||
<img src="{{asset('images/carousel/carousel-4.jpg')}}"
|
||||
class="d-block w-100"
|
||||
alt="..."></a>
|
||||
</div>
|
||||
<div class="carousel-item" data-bs-interval="3000">
|
||||
<a href="{{\App\Helpers\getSetting('carousel-5-link')}}">
|
||||
<img src="{{asset('images/carousel/carousel-5.jpg')}}"
|
||||
class="d-block w-100 "
|
||||
alt="..."></a>
|
||||
<section id="index-top">
|
||||
<div class="container">
|
||||
<div class="grid">
|
||||
<div class="display-block position-relative">
|
||||
<div class="fa fa-mobile-alt fa-bg"></div>
|
||||
<h2 class="mt-5 ms-3">
|
||||
{{\App\Helpers\getSetting('top1text')}}
|
||||
</h2>
|
||||
<div class="clearfix mt-5 mb-5"></div>
|
||||
<div id="owl2" class="owl-carousel owl-theme">
|
||||
@foreach(\App\Helpers\getProductByCat(\App\Helpers\getSetting('top1cat'),'id','desc',10) as $p)
|
||||
<div class="item">
|
||||
<div class="box">
|
||||
<a href="{{route('product',$p->slug)}}">
|
||||
<img src="{{$p->thumbUrl()}}" class="img-fluid" alt="{{$p->name}}" title="{{$p->name}}">
|
||||
<h4>
|
||||
{{$p->name}}
|
||||
</h4>
|
||||
</a>
|
||||
<span>
|
||||
{{$p->getPrice()}}
|
||||
</span>
|
||||
<a href="{{route('card.add',$p->slug)}}" class="add-to-card btn btn-primary btn-block mt-2 mb-2">
|
||||
<img src="{{asset('images/basket.svg')}}" class="basket-icon" alt="">
|
||||
افزودن به سبد خرید
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<button class="carousel-control-next" type="button" data-bs-target="#carouselExampleDark"
|
||||
data-bs-slide="prev">
|
||||
<span class="carousel-control-next-icon" aria-hidden="true"></span>
|
||||
<span class="visually-hidden">Previous</span>
|
||||
</button>
|
||||
<button class="carousel-control-prev" type="button" data-bs-target="#carouselExampleDark"
|
||||
data-bs-slide="next">
|
||||
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
|
||||
<span class="visually-hidden">Next</span>
|
||||
</button>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
<div class="position-relative">
|
||||
@foreach(\App\Helpers\getProductByCat(\App\Helpers\getSetting('top2cat'),'id','desc',2) as $p)
|
||||
<article>
|
||||
<a href="{{route('product',$p->slug)}}">
|
||||
|
||||
<div class="row m-0">
|
||||
<div class="col-6">
|
||||
<a href="{{\App\Helpers\getSetting('banner1-link')}}"><img src="{{asset('images/banner1.png')}}" alt=""></a>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<a href="{{\App\Helpers\getSetting('banner2-link')}}"><img src="{{asset('images/banner2.png')}}" alt=""></a>
|
||||
</div>
|
||||
</div>
|
||||
<img src="{{$p->thumbUrl()}}" alt="{{$p->name}}" title="{{$p->name}}">
|
||||
<div>
|
||||
<div class="text-light">
|
||||
{{$p->getPrice()}}
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
<span class="badge bg-secondary discount">
|
||||
{{\App\Helpers\getSetting('top2text')}}
|
||||
</span>
|
||||
</article>
|
||||
@endforeach
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
<!-- hero -->
|
||||
</div>
|
||||
<div class="position-relative">
|
||||
@foreach(\App\Helpers\getProductByCat(\App\Helpers\getSetting('top3cat'),'id','desc',2) as $p)
|
||||
<article>
|
||||
<a href="{{route('product',$p->slug)}}">
|
||||
|
||||
<!-- banners-->
|
||||
<section class="banners container mt-3">
|
||||
<div class="row m-0">
|
||||
<div class="col-12 col-sm-12 col-md-6 col-lg-6 col-xl-6 mt-3 mt-sm-3 mt-md-0 ">
|
||||
<a href="{{\App\Helpers\getSetting('banner3-link')}}"><img src="{{asset('images/banner3.png')}}" alt=""></a>
|
||||
</div>
|
||||
<div class="col-12 col-sm-12 col-md-6 col-lg-6 col-xl-6 mt-3 mt-sm-3 mt-md-0 ">
|
||||
<a href="{{\App\Helpers\getSetting('banner4-link')}}"><img src="{{asset('images/banner4.png')}}" alt=""></a>
|
||||
<img src="{{$p->thumbUrl()}}" alt="{{$p->name}}" title="{{$p->name}}">
|
||||
<div>
|
||||
<div class="text-light">
|
||||
{{$p->getPrice()}}
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
<span class="badge bg-secondary discount">
|
||||
{{\App\Helpers\getSetting('top3text')}}
|
||||
</span>
|
||||
</article>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!-- banners-->
|
||||
|
||||
<!-- services-->
|
||||
<div class="head-services container mt-3">
|
||||
<div class="row m-0">
|
||||
@if(\App\Helpers\getSettingCategory('supports') != null)
|
||||
@foreach(\App\Helpers\getSettingCategory('supports')->posts as $p)
|
||||
<div class="serv-box col-6 col-sm-6 col-md-6 col-lg-3 col-xl-3">
|
||||
<a href="{{route('n.show',$p->slug)}}">
|
||||
<div class="row m-0">
|
||||
<div class="col-4">
|
||||
<img src="{{$p->imgUrl()}}" style="max-height: 58px;" alt="">
|
||||
</div>
|
||||
<div class="col-8">
|
||||
<h4>
|
||||
{{$p->title}}
|
||||
</h4>
|
||||
<span>
|
||||
{{$p->subtitle}}
|
||||
</span>
|
||||
</div>
|
||||
<section id="new-products" class="mt-5 long-box">
|
||||
<div class="container pt-4 pb-4">
|
||||
<h1 class="mb-4">
|
||||
{{\App\Helpers\getSetting('sectext')}}
|
||||
</h1>
|
||||
<div id="owl1" class="owl-carousel owl-theme">
|
||||
@foreach(\App\Helpers\getProductByCat(\App\Helpers\getSetting('seccat'),'id','desc',10) as $p)
|
||||
<div class="item ">
|
||||
<div class="box">
|
||||
<a href="{{route('product',$p->slug)}}">
|
||||
<img src="{{$p->thumbUrl()}}" class="img-fluid" alt="{{$p->name}}" title="{{$p->name}}">
|
||||
</a>
|
||||
<a href="{{route('product',$p->slug)}}">
|
||||
<h4>
|
||||
{{$p->name}}
|
||||
</h4>
|
||||
<span>
|
||||
{{$p->getPrice()}}
|
||||
</span>
|
||||
</a>
|
||||
<div>
|
||||
<a href="{{route('card.add',$p->slug)}}" class="add-to-card btn btn-primary btn-block mt-2 mb-2 corner">
|
||||
<img src="{{asset('images/basket.svg')}}" class="basket-icon" alt="">
|
||||
افزودن به سبد خرید
|
||||
</a>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
<!-- services-->
|
||||
|
||||
<!-- slider 1-->
|
||||
<div class="slider-title container mt-4">
|
||||
<h5>
|
||||
محصولات آرایشی
|
||||
</h5>
|
||||
</div>
|
||||
<section class="slider container ">
|
||||
<div class="main-content">
|
||||
<div class="owl-carousel owl-theme">
|
||||
@foreach($disPros as $pro)
|
||||
<div class="item">
|
||||
<a href="{{route('product',$pro->slug)}}">
|
||||
<div class="slider-box">
|
||||
<img src="{{$pro->thumburl()}}" alt="Picture 1">
|
||||
<h5>
|
||||
{{$pro->name}}
|
||||
</h5>
|
||||
<del>
|
||||
{{$pro->getOldPrice()}}
|
||||
</del>
|
||||
<h6>
|
||||
{{$pro->getPurePrice()}}
|
||||
</h6>
|
||||
<img src="{{asset('images/sale.svg')}}" class="sale-off" alt="">
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
<div class="owl-theme">
|
||||
<div class="owl-controls">
|
||||
<div class="custom-nav owl-nav"></div>
|
||||
</div>
|
||||
</div>
|
||||
<a href="{{route('products')}}" class="float-end btn btn-outline-primary">
|
||||
همه محصولات
|
||||
</a>
|
||||
<br>
|
||||
<br>
|
||||
</div>
|
||||
</section>
|
||||
<!-- slider 1-->
|
||||
|
||||
<!-- offer banners mid-->
|
||||
<div class="offer-mid-banner mt-3 container">
|
||||
<div class="row m-0">
|
||||
<div class="col-6">
|
||||
<a href="{{\App\Helpers\getSetting('offer1-link')}}"><img src="{{asset('images/offer1.png')}}" alt=""></a>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<a href="{{\App\Helpers\getSetting('offer2-link')}}"><img src="{{asset('images/offer2.png')}}" alt=""></a>
|
||||
<section id="filtering" class="pb-4 pt-4 bg long-box">
|
||||
<div class="container">
|
||||
<h1>
|
||||
{{\App\Helpers\getSetting('3text')}}
|
||||
</h1>
|
||||
<div class="btn-group mt-3" role="group" aria-label="Basic example">
|
||||
<button type="button" class="btn btn-primary active" data-cat="all">همه</button>
|
||||
@foreach(\App\Helpers\getSubCats(\App\Helpers\getSetting('3cat')) as $cat)
|
||||
<button type="button" class="btn btn-primary" data-cat="cat{{$cat->id}}">
|
||||
{{$cat->name}}
|
||||
</button>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- offer banners mid-->
|
||||
<div id="da-thumbs" class="da-thumbs">
|
||||
@foreach(\App\Helpers\getProductByCat(\App\Helpers\getSetting('3cat'),'stock_quantity','desc',12) as $p)
|
||||
<div class="item custom @foreach($p->categories()->pluck('id')->toArray() as $c) cat{{$c}} @endforeach shad pad">
|
||||
<div class="box">
|
||||
<a href="{{route('product',$p->slug)}}">
|
||||
<img src="{{$p->thumbUrl()}}" class="img-fluid" alt="{{$p->name}}" title="{{$p->name}}" >
|
||||
<h4>
|
||||
{{$p->name}}
|
||||
</h4>
|
||||
</a>
|
||||
<span>
|
||||
|
||||
{{$p->getPrice()}}
|
||||
</span>
|
||||
|
||||
<!-- slider 2-->
|
||||
<div class="slider-title container mt-4">
|
||||
<h5>
|
||||
محصولات بهداشتی
|
||||
</h5>
|
||||
</div>
|
||||
<section class="slider container ">
|
||||
<div class="main-content">
|
||||
<div class="owl-carousel owl-theme">
|
||||
<div class="item">
|
||||
<a href="product.html">
|
||||
<div class="slider-box">
|
||||
<img src="assets/img/index/products/p-2.jpeg" alt="Picture 1">
|
||||
<h5>
|
||||
نام محصول
|
||||
</h5>
|
||||
<del>185.000</del>
|
||||
<h6>165.200</h6>
|
||||
<img src="assets/img/sale.svg" class="sale-off" alt="">
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="item">
|
||||
<a href="product.html">
|
||||
<div class="slider-box">
|
||||
<img src="assets/img/index/products/p-1.jpeg" alt="Picture 1">
|
||||
<h5>
|
||||
نام محصول
|
||||
</h5>
|
||||
<del>185.000</del>
|
||||
<h6>165.200</h6>
|
||||
<img src="assets/img/sale.svg" class="sale-off" alt="">
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="item">
|
||||
<a href="product.html">
|
||||
<div class="slider-box">
|
||||
<img src="assets/img/index/products/p-3.jpeg" alt="Picture 1">
|
||||
<h5>
|
||||
نام محصول
|
||||
</h5>
|
||||
<del>185.000</del>
|
||||
<h6>165.200</h6>
|
||||
<img src="assets/img/sale.svg" class="sale-off" alt="">
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="item">
|
||||
<a href="product.html">
|
||||
<div class="slider-box">
|
||||
<img src="assets/img/index/products/p-4.jpeg" alt="Picture 1">
|
||||
<h5>
|
||||
نام محصول
|
||||
</h5>
|
||||
<del>185.000</del>
|
||||
<h6>165.200</h6>
|
||||
<img src="assets/img/sale.svg" class="sale-off" alt="">
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="owl-theme">
|
||||
<div class="owl-controls">
|
||||
<div class="custom-nav owl-nav"></div>
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!-- slider 2-->
|
||||
|
||||
<!-- slider 3-->
|
||||
<div class="slider-title container mt-4">
|
||||
<h5>
|
||||
محصولات بهداشت بدن
|
||||
</h5>
|
||||
</div>
|
||||
<section class="slider container ">
|
||||
<div class="main-content">
|
||||
<div class="owl-carousel owl-theme">
|
||||
<div class="item">
|
||||
<a href="product.html">
|
||||
<div class="slider-box">
|
||||
<img src="assets/img/index/products/p-2.jpeg" alt="Picture 1">
|
||||
<h5>
|
||||
نام محصول
|
||||
</h5>
|
||||
<del>185.000</del>
|
||||
<h6>165.200</h6>
|
||||
<img src="assets/img/sale.svg" class="sale-off" alt="">
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="item">
|
||||
<a href="product.html">
|
||||
<div class="slider-box">
|
||||
<img src="assets/img/index/products/p-1.jpeg" alt="Picture 1">
|
||||
<h5>
|
||||
نام محصول
|
||||
</h5>
|
||||
<del>185.000</del>
|
||||
<h6>165.200</h6>
|
||||
<img src="assets/img/sale.svg" class="sale-off" alt="">
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="item">
|
||||
<a href="product.html">
|
||||
<div class="slider-box">
|
||||
<img src="assets/img/index/products/p-3.jpeg" alt="Picture 1">
|
||||
<h5>
|
||||
نام محصول
|
||||
</h5>
|
||||
<del>185.000</del>
|
||||
<h6>165.200</h6>
|
||||
<img src="assets/img/sale.svg" class="sale-off" alt="">
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="item">
|
||||
<a href="product.html">
|
||||
<div class="slider-box">
|
||||
<img src="assets/img/index/products/p-4.jpeg" alt="Picture 1">
|
||||
<h5>
|
||||
نام محصول
|
||||
</h5>
|
||||
<del>185.000</del>
|
||||
<h6>165.200</h6>
|
||||
<img src="assets/img/sale.svg" class="sale-off" alt="">
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="owl-theme">
|
||||
<div class="owl-controls">
|
||||
<div class="custom-nav owl-nav"></div>
|
||||
</div>
|
||||
<section id="brand" class="pt-4 pb-4">
|
||||
<div class="container">
|
||||
<h1>
|
||||
برندها
|
||||
</h1>
|
||||
<div class="row">
|
||||
@foreach(\App\Helpers\getSubCats(\App\Helpers\getSetting('4cat')) as $cat)
|
||||
<div class="col-md-2 col-sm-3 col-4">
|
||||
<a href="{{route('cat',$cat->slug)}}">
|
||||
<img src="{{$cat->thumbUrl()}}" title="{{$cat->name}}" alt="{{$cat->name}}">
|
||||
</a>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!-- slider 3-->
|
||||
|
||||
@endsection
|
||||
|
@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
namespace Tests\Unit;
|
||||
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
class ExampleTest extends TestCase
|
||||
{
|
||||
/**
|
||||
* A basic test example.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function test_that_true_is_true()
|
||||
{
|
||||
$this->assertTrue(true);
|
||||
}
|
||||
}
|