web
|
|
@ -3,6 +3,7 @@
|
|||
use Cms\Classes\ComponentBase;
|
||||
use TPS\Birzha\Models\Contactmessage;
|
||||
use TPS\Birzha\Models\Settings;
|
||||
use Flash;
|
||||
|
||||
class ContactForm extends ComponentBase
|
||||
{
|
||||
|
|
@ -15,7 +16,6 @@ class ContactForm extends ComponentBase
|
|||
|
||||
public function onSend() {
|
||||
$data = post();
|
||||
|
||||
$rules = [
|
||||
'name' => 'required|max:100',
|
||||
'surname' => 'required|max:100',
|
||||
|
|
@ -23,22 +23,15 @@ class ContactForm extends ComponentBase
|
|||
'email' => 'required|email|max:100',
|
||||
'content' => 'required'
|
||||
];
|
||||
|
||||
$validator = \Validator::make($data, $rules);
|
||||
|
||||
if($validator->fails()) {
|
||||
Flash::error("Doldurmaly ýerleri dolduryň");
|
||||
throw new \ValidationException($validator);
|
||||
} else {
|
||||
|
||||
// todo save message
|
||||
|
||||
$contactMessage = new Contactmessage();
|
||||
$contactMessage->fill($data);
|
||||
$contactMessage->save();
|
||||
|
||||
return [
|
||||
'#form-steps' => $this->renderPartial('@message_sent')
|
||||
];
|
||||
Flash::success('Hatyňyz ugradyldy');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,157 @@
|
|||
<?php namespace TPS\Birzha\Components;
|
||||
|
||||
use Cms\Classes\ComponentBase;
|
||||
use TPS\Birzha\Models\Category;
|
||||
use TPS\Birzha\Models\Product;
|
||||
use TPS\Birzha\Models\City;
|
||||
use Session;
|
||||
use DB;
|
||||
|
||||
class FilteredProducts extends ComponentBase
|
||||
{
|
||||
/*
|
||||
* sort order parametr in a url string
|
||||
*/
|
||||
public $sortParam = '';
|
||||
public $products;
|
||||
public $params;
|
||||
public $category;
|
||||
public $categories;
|
||||
public $cities;
|
||||
|
||||
public function componentDetails()
|
||||
{
|
||||
return [
|
||||
'name' => 'Filtered Producs',
|
||||
'description' => 'Getting Filtered products'
|
||||
];
|
||||
}
|
||||
|
||||
public function defineProperties()
|
||||
{
|
||||
return [
|
||||
'perPage' => [
|
||||
'title' => 'Number of offers',
|
||||
'description' => 'How many offers do you want to display',
|
||||
'default' => 12,
|
||||
'validationPattern' => '^[0-9]+$',
|
||||
'validationMessage' => 'Only numbers allowed'
|
||||
],
|
||||
'sortOrder' => [
|
||||
'title' => 'Sort offers',
|
||||
'description' => 'How to sort offers',
|
||||
'type' => 'dropdown',
|
||||
'default' => 'desc'
|
||||
]
|
||||
];
|
||||
}
|
||||
|
||||
public function getSortOrderOptions()
|
||||
{
|
||||
return [
|
||||
'asc' => 'Created date (ascending)',
|
||||
'desc' => 'Created date (descending)'
|
||||
];
|
||||
}
|
||||
|
||||
public function onRun()
|
||||
{
|
||||
$allParams = \Input::all();
|
||||
|
||||
$params = '';
|
||||
|
||||
foreach ($allParams as $key => $item) {
|
||||
if($key != 'page'){
|
||||
$params .= '&'.$key.'='.$item;
|
||||
}
|
||||
}
|
||||
|
||||
$this->params = $params;
|
||||
$this->products = $this->loadFiltered();
|
||||
$this->category = $this->getSubCategory();
|
||||
$this->categories = $this->getCategories();
|
||||
$this->cities = $this->getCities();
|
||||
}
|
||||
|
||||
protected function getSubCategory()
|
||||
{
|
||||
$cSlug = \Input::get('subcategory');
|
||||
$category = Category::transWhere('slug', $cSlug, Session::get('rainlab.translate.locale'))->first();
|
||||
return $category;
|
||||
}
|
||||
|
||||
protected function getCategories()
|
||||
{
|
||||
$categories = Category::all();
|
||||
return $categories;
|
||||
}
|
||||
|
||||
protected function getCities()
|
||||
{
|
||||
$cities = City::all();
|
||||
return $cities;
|
||||
}
|
||||
|
||||
protected function loadFiltered()
|
||||
{
|
||||
$sortOrderParam = strtolower(\Input::get('sort_order'));
|
||||
// protect from sql injection
|
||||
if ($sortOrderParam != 'asc' && $sortOrderParam != 'desc') {
|
||||
$sortOrder = $this->property('sortOrder');
|
||||
} else {
|
||||
$sortOrder = $sortOrderParam;
|
||||
$this->sortParam = $sortOrderParam;
|
||||
}
|
||||
|
||||
$perPage = $this->property('perPage');
|
||||
$products = Product::query();
|
||||
|
||||
$cSlug = \Input::get('subcategory');
|
||||
$city = \Input::get('city');
|
||||
$minPrice = \Input::get('min_price');
|
||||
$maxPrice = \Input::get('max_price');
|
||||
$sort = \Input::get('sort');
|
||||
|
||||
if (isset($cSlug) && $cSlug != '') {
|
||||
$category = Category::transWhere('slug', $cSlug, Session::get('rainlab.translate.locale'))->first();
|
||||
if ($category) {
|
||||
$products = $category->products();
|
||||
// $products->withPath("filter?category=".$category->slug);
|
||||
} else {
|
||||
$products = null;
|
||||
}
|
||||
}
|
||||
if (isset($city) && $city != '') {
|
||||
$products = $products->where('place_id', $city);
|
||||
}
|
||||
if (isset($minPrice) && $minPrice != '') {
|
||||
$products = $products->where('price', '>=', $minPrice);
|
||||
}
|
||||
if (isset($maxPrice) && $maxPrice != '') {
|
||||
$products = $products->where('price', '<=', $maxPrice);
|
||||
}
|
||||
|
||||
if (isset($sort) && $sort != '') {
|
||||
$sort = self::getSort($sort);
|
||||
$products = $products->orderBy( $sort[0], $sort[1]);
|
||||
}
|
||||
|
||||
$products = $products->where('status', 'approved')->orderBy('updated_at', $sortOrder);
|
||||
|
||||
return $products ? $products->paginate($perPage) : null;
|
||||
}
|
||||
|
||||
private static function getSort($sort): array
|
||||
{
|
||||
$sort_key = trim($sort, '-');
|
||||
|
||||
if (str_contains($sort, '-') && strpos($sort, '-') == 0) {
|
||||
$sort_direction = 'desc';
|
||||
}
|
||||
|
||||
return [
|
||||
$sort_key,
|
||||
$sort_direction ?? 'asc'
|
||||
];
|
||||
}
|
||||
}
|
||||
|
|
@ -3,6 +3,7 @@
|
|||
use Cms\Classes\ComponentBase;
|
||||
use TPS\Birzha\Models\Product;
|
||||
use Input;
|
||||
use Flash;
|
||||
|
||||
class MyOffers extends ComponentBase
|
||||
{
|
||||
|
|
@ -36,31 +37,18 @@ class MyOffers extends ComponentBase
|
|||
'perPage' => [
|
||||
'title' => 'Number of offers',
|
||||
'description' => 'How many offers do you want to display',
|
||||
'default' => 0,
|
||||
'default' => 12,
|
||||
'validationPattern' => '^[0-9]+$',
|
||||
'validationMessage' => 'Only numbers allowed'
|
||||
],
|
||||
// 'productSlug' => [
|
||||
// 'title' => 'Product Slug',
|
||||
// 'description' => 'Similar offers (the same product)',
|
||||
// 'type' => 'string',
|
||||
// 'default' => ''
|
||||
// ],
|
||||
// 'offerId' => [
|
||||
// 'title' => 'Offer id',
|
||||
// 'description' => 'Offer id',
|
||||
// 'type' => 'string',
|
||||
// 'default' => ''
|
||||
// ]
|
||||
];
|
||||
}
|
||||
|
||||
public function onDeleteOffer() {
|
||||
$product = Product::find(Input::get('deleting_product_id'));
|
||||
$product = Product::find(Input::get('id'));
|
||||
$product->images()->delete();
|
||||
$product->translations()->delete();
|
||||
$product->delete();
|
||||
|
||||
return \Redirect::back();
|
||||
}
|
||||
|
||||
|
|
@ -72,7 +60,6 @@ class MyOffers extends ComponentBase
|
|||
|
||||
protected function loadOffers() {
|
||||
$perPage = $this->property('perPage');
|
||||
|
||||
return \Auth::user()->products()
|
||||
->orderBy('updated_at', 'desc')
|
||||
->paginate($perPage);
|
||||
|
|
|
|||
|
|
@ -10,11 +10,13 @@ use Tps\Birzha\Models\Currency;
|
|||
use Tps\Birzha\Models\Product;
|
||||
use Tps\Birzha\Models\Category;
|
||||
use Tps\Birzha\Models\Country;
|
||||
use Tps\Birzha\Models\City;
|
||||
use TPS\Birzha\Models\Settings;
|
||||
use Flash;
|
||||
use Str;
|
||||
use ValidationException;
|
||||
use Carbon\Carbon;
|
||||
use RainLab\User\Facades\Auth;
|
||||
|
||||
class OfferForm extends ComponentBase
|
||||
{
|
||||
|
|
@ -22,11 +24,13 @@ class OfferForm extends ComponentBase
|
|||
* @var string A collection of categories in dropdown
|
||||
*/
|
||||
public $categories;
|
||||
public $subcategories;
|
||||
|
||||
/**
|
||||
* @var string A collection of countries in dropdown
|
||||
*/
|
||||
public $countries;
|
||||
public $states;
|
||||
public $cities;
|
||||
|
||||
/**
|
||||
* @var string A string with product id
|
||||
|
|
@ -56,79 +60,94 @@ class OfferForm extends ComponentBase
|
|||
];
|
||||
}
|
||||
|
||||
// step1
|
||||
public function onSave() {
|
||||
|
||||
public function onSave(){
|
||||
$data = post();
|
||||
|
||||
$rules = [
|
||||
'name_ru' => 'required',
|
||||
'name_en' => 'required',
|
||||
'name_tm' => 'required',
|
||||
'category_id' => 'exists:tps_birzha_categories,id',
|
||||
'mark' => 'required',
|
||||
'manufacturer' => 'required',
|
||||
'country' => 'required',
|
||||
'market_type' => 'required|in:in,out'
|
||||
'name' => 'required',
|
||||
'price' => 'required|numeric',
|
||||
'state_id' => 'required',
|
||||
'description' => 'required',
|
||||
'new_img' => 'array|required',
|
||||
// 'is_file' => 'required',
|
||||
'new_img.*' => 'mimes:jpg,png|max:1024',
|
||||
'category_id' => [
|
||||
'required',
|
||||
'exists:tps_birzha_categories,id',
|
||||
function ($attribute, $value, $fail) {
|
||||
$c = Category::find($value);
|
||||
if($c) {
|
||||
if($c->status != 1) $fail(":attribute is non-active!");
|
||||
}
|
||||
}
|
||||
],
|
||||
];
|
||||
|
||||
$this->validateForm($data, $rules);
|
||||
|
||||
|
||||
if(!$data['new_img']) {
|
||||
Flash::error('Required at least one new');
|
||||
}
|
||||
|
||||
$category = Category::find($data['category_id']);
|
||||
$category = null;
|
||||
if($data["subcategory_id"] != 'null'){
|
||||
$category = Category::find($data['subcategory_id']);
|
||||
}else{
|
||||
$category = Category::find($data['category_id']);
|
||||
}
|
||||
|
||||
if(isset($data['productForEditing'])) {
|
||||
$product = Product::find($data['productForEditing']);
|
||||
//approved edilen produkty prodlenie uchin drafta tayinlamak, bagly transacsiasyny goparmak,
|
||||
if($product && $product->status == 'approved' && $product->transaction)
|
||||
{
|
||||
$product->transaction()->update(['description'=>"Lot #{$product->id} {$product->name} harydyn onki publikasia tolegidir.(bu haryt prodlenia uchin taze transaksia doredilyar)"]);
|
||||
$product->transaction = null;
|
||||
$product = new Product;
|
||||
$product->name = $data['name'];
|
||||
$product->description = $data['description'];
|
||||
$product->short_description = $data['short_description'];
|
||||
$product->slug = \Str::slug($data['name'],'-');
|
||||
$product->status = 'new';
|
||||
$product->place_id = $data['city_id'] == 'null' ? $data['state_id'] : $data['city_id'];
|
||||
$product->price = $data['price'];
|
||||
$product->phone = $data['phone'];
|
||||
$product->is_file_product = $data['is_file'];
|
||||
|
||||
if($data['is_file'] == 1){
|
||||
if(!$data['new_file']) {
|
||||
return Flash::error('Required at least one new');
|
||||
}
|
||||
} else {
|
||||
$product = new Product;
|
||||
if($data['new_file']) {
|
||||
$rules = [
|
||||
'new_file' => 'required'
|
||||
];
|
||||
}
|
||||
try {
|
||||
|
||||
foreach($data['new_file'] ?? [] as $key => $fileq) {
|
||||
$product->files = $fileq;
|
||||
$product->save();
|
||||
}
|
||||
} catch(\Throwable $e) {
|
||||
return Flash::error('Something went');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
$product->translateContext('tm');
|
||||
|
||||
$product->name = $data['name_tm'];
|
||||
// Sets a single translated attribute for a language
|
||||
$product->setAttributeTranslated('name', $data['name_ru'], 'ru');
|
||||
$product->setAttributeTranslated('name', $data['name_en'], 'en');
|
||||
// Sets a single translated attribute for a language
|
||||
$product->setAttributeTranslated('slug', Str::slug($data['name_ru'],'-'), 'ru');
|
||||
$product->setAttributeTranslated('slug', Str::slug($data['name_en'],'-'), 'en');
|
||||
|
||||
$product->slug = Str::slug($data['name_tm'],'-');
|
||||
$product->status = 'draft';
|
||||
$product->mark = $data['mark'];
|
||||
$product->manufacturer = $data['manufacturer'];
|
||||
$product->country = $data['country'];
|
||||
$product->market_type = $data['market_type'];
|
||||
|
||||
$product->vendor_id = \Auth::user()->id;
|
||||
$product->ends_at = null; // if approved but date was expired
|
||||
|
||||
|
||||
$user = Auth::user();
|
||||
$product->vendor_id = $user->id;
|
||||
$product->ends_at = null;
|
||||
try {
|
||||
foreach($data['new_img'] ?? [] as $key => $img) {
|
||||
$product->images = $img;
|
||||
$product->save();
|
||||
}
|
||||
} catch(\Throwable $e) {
|
||||
Flash::error('something went wrong');
|
||||
}
|
||||
if(!isset($data['productForEditing'])) {
|
||||
$product->created_at = Carbon::now('Asia/Ashgabat');
|
||||
$category->products()->save($product);
|
||||
} else {
|
||||
// detach from all other categories
|
||||
$product->categories()->detach();
|
||||
// attach to a new category
|
||||
$category->products()->save($product);
|
||||
}
|
||||
|
||||
// go to next step - next form
|
||||
$this->page['measures'] = Measure::all();
|
||||
$this->page['paymentTerms'] = Term::where('type','payment')->get();
|
||||
$this->page['deliveryTerms'] = Term::where('type','delivery')->get();
|
||||
$this->page['currencies'] = Currency::all();
|
||||
$this->page['product'] = $product;
|
||||
|
||||
return [
|
||||
'#form-steps' => $this->renderPartial('@second_step_form')
|
||||
];
|
||||
|
||||
$product->save();
|
||||
Flash::success('Haryt goşuldy');
|
||||
}
|
||||
|
||||
// step 2
|
||||
|
|
@ -273,12 +292,10 @@ class OfferForm extends ComponentBase
|
|||
|
||||
protected function fillProduct($data,$attachedProduct) {
|
||||
$attachedProduct->translateContext('tm');
|
||||
|
||||
$attachedProduct->description = $data['description_tm'];
|
||||
// Sets a single translated attribute for a language
|
||||
$attachedProduct->setAttributeTranslated('description', $data['description_ru'], 'ru');
|
||||
$attachedProduct->setAttributeTranslated('description', $data['description_en'], 'en');
|
||||
|
||||
$attachedProduct->quantity = $data['quantity'];
|
||||
$attachedProduct->price = $data['price'];
|
||||
$attachedProduct->measure_id = $data['measure_id'];
|
||||
|
|
@ -289,17 +306,16 @@ class OfferForm extends ComponentBase
|
|||
$attachedProduct->currency_id = $data['currency_id'];
|
||||
// $attachedProduct->ends_at = $data['ends_at'];
|
||||
$attachedProduct->save();
|
||||
|
||||
return $attachedProduct;
|
||||
}
|
||||
|
||||
public function onRun() {
|
||||
$this->countries = Country::all();
|
||||
$this->categories = Category::select('id','name','status')->where('status',1)->get();
|
||||
|
||||
$this->categories = Category::where('status',1)->where('primary_key', '=', 0)->get();
|
||||
$this->subcategories = Category::where('primary_key','>', 0)->get();
|
||||
$this->states = City::where('primary_key','=', 0)->get();
|
||||
$this->cities = City::where('primary_key','>', 0)->get();
|
||||
$this->productIdOption = $this->property('productId');
|
||||
|
||||
// form will be filled with product's info if we have productIdOption
|
||||
if($this->productIdOption) {
|
||||
$this->productForEditing = Product::find($this->productIdOption);
|
||||
if($this->productForEditing->status == 'new' || ($this->productForEditing->status == 'approved' && $this->productForEditing->ends_at >= \Carbon\Carbon::now())) {
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
<?php namespace TPS\Birzha\Components;
|
||||
|
||||
use Cms\Classes\ComponentBase;
|
||||
// use TPS\Birzha\Models\Offer;
|
||||
use TPS\Birzha\Models\Category;
|
||||
use TPS\Birzha\Models\Product;
|
||||
use TPS\Birzha\Models\City;
|
||||
use Session;
|
||||
use DB;
|
||||
|
||||
|
|
@ -13,6 +13,10 @@ class Offers extends ComponentBase
|
|||
* sort order parametr in a url string
|
||||
*/
|
||||
public $sortParam = '';
|
||||
public $offers;
|
||||
public $category;
|
||||
public $categories;
|
||||
public $cities;
|
||||
|
||||
public function componentDetails()
|
||||
{
|
||||
|
|
@ -31,10 +35,16 @@ class Offers extends ComponentBase
|
|||
'type' => 'string',
|
||||
'default' => ''
|
||||
],
|
||||
'vendor_id' => [
|
||||
'title' => 'Select by vendor :id',
|
||||
'description' => 'Select by vendor',
|
||||
'type' => 'string',
|
||||
'default' => ''
|
||||
],
|
||||
'perPage' => [
|
||||
'title' => 'Number of offers',
|
||||
'description' => 'How many offers do you want to display',
|
||||
'default' => 0,
|
||||
'default' => 1,
|
||||
'validationPattern' => '^[0-9]+$',
|
||||
'validationMessage' => 'Only numbers allowed'
|
||||
],
|
||||
|
|
@ -68,11 +78,33 @@ class Offers extends ComponentBase
|
|||
|
||||
public function onRun() {
|
||||
$this->offers = $this->loadOffers();
|
||||
$this->category = $this->getCategory();
|
||||
$this->categories = $this->getCategories();
|
||||
$this->cities = $this->getCities();
|
||||
}
|
||||
|
||||
protected function getCategory(){
|
||||
$cSlug = $this->property('categorySlug');
|
||||
$category = Category::transWhere('slug', $cSlug, Session::get('rainlab.translate.locale'))->first();
|
||||
return $category;
|
||||
}
|
||||
|
||||
protected function getCategories(){
|
||||
$categories = Category::all();
|
||||
return $categories;
|
||||
}
|
||||
|
||||
protected function getCities(){
|
||||
$cities = City::all();
|
||||
return $cities;
|
||||
}
|
||||
|
||||
protected function filterOffers(){
|
||||
return "filterOffers";
|
||||
}
|
||||
|
||||
protected function loadOffers() {
|
||||
$sortOrderParam = strtolower(\Input::get('sort_order'));
|
||||
|
||||
// protect from sql injection
|
||||
if($sortOrderParam != 'asc' && $sortOrderParam != 'desc') {
|
||||
$sortOrder = $this->property('sortOrder');
|
||||
|
|
@ -82,52 +114,40 @@ class Offers extends ComponentBase
|
|||
}
|
||||
|
||||
$cSlug = $this->property('categorySlug');
|
||||
$vendorId = $this->property('vendor_id');
|
||||
$perPage = $this->property('perPage');
|
||||
$productSlug = $this->property('productSlug');
|
||||
$offerId = $this->property('offerId');
|
||||
|
||||
$query = Product::where('status', 'approved')
|
||||
// ->where('ends_at','>=',\Carbon\Carbon::now())
|
||||
->orderBy('ends_at', $sortOrder);
|
||||
|
||||
if($cSlug != '') { //fetch offers by the category of the product
|
||||
if($cSlug != '') {
|
||||
$category = Category::transWhere('slug', $cSlug, Session::get('rainlab.translate.locale'))->first();
|
||||
if($category) {
|
||||
// $offersIds = array();
|
||||
|
||||
$query = $category->products()
|
||||
->where('status','approved')
|
||||
// ->where('ends_at','>=',\Carbon\Carbon::now())
|
||||
->orderBy('updated_at', $sortOrder); //categories have many products
|
||||
|
||||
// foreach($productsOfOneCategory as $p) {
|
||||
// foreach($p->offers as $of) { //but only one product can have many offers and one offer can have just one product
|
||||
// $offersIds[] = $of->id;
|
||||
// }
|
||||
// }
|
||||
// $query = Offer::whereIn('id',$offersIds)->where('status','approved')->where('ends_at','>=',\Carbon\Carbon::now())->orderBy('created_at', $sortOrder)->paginate($perPage);
|
||||
} else {
|
||||
$query = null;
|
||||
}
|
||||
}
|
||||
|
||||
if($productSlug != '' && $offerId != '') { // fetch offers with similar products
|
||||
$product = Product::transWhere('slug', $productSlug, Session::get('rainlab.translate.locale'))->first();
|
||||
if($product) {
|
||||
$category = $product->categories->first();
|
||||
|
||||
$query = $category->products()
|
||||
->where('id','!=',$offerId)
|
||||
->where('status','approved')
|
||||
// ->where('ends_at','>=',\Carbon\Carbon::now())
|
||||
->orderBy('updated_at', $sortOrder);
|
||||
} else {
|
||||
$query = null;
|
||||
}
|
||||
}
|
||||
if($productSlug != '' && $offerId != '') { // fetch offers with similar products
|
||||
$product = Product::transWhere('slug', $productSlug, Session::get('rainlab.translate.locale'))->first();
|
||||
if($product) {
|
||||
$category = $product->categories->first();
|
||||
$query = $category->products()
|
||||
->where('id','!=',$offerId)
|
||||
->where('status','approved')
|
||||
->orderBy('updated_at', $sortOrder);
|
||||
} else {
|
||||
$query = null;
|
||||
}
|
||||
}
|
||||
if($vendorId != '') {
|
||||
$query = Product::where('vendor_id', $vendorId)->where('status', 'approved')->orderBy('updated_at', $sortOrder);
|
||||
}
|
||||
|
||||
return $query ? $query->paginate($perPage) : null;
|
||||
}
|
||||
|
||||
public $offers;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,92 @@
|
|||
<?php namespace TPS\Birzha\Components;
|
||||
|
||||
use Cms\Classes\ComponentBase;
|
||||
use TPS\Birzha\Models\Product;
|
||||
use Input;
|
||||
use Flash;
|
||||
use RainLab\User\Models\User;
|
||||
|
||||
class SearchOffers extends ComponentBase
|
||||
{
|
||||
/**
|
||||
* @var Collection A collection of user's posts
|
||||
*/
|
||||
public $products;
|
||||
public $params;
|
||||
public $keyword;
|
||||
|
||||
public function componentDetails()
|
||||
{
|
||||
return [
|
||||
'name' => 'Search offers List',
|
||||
'description' => 'List of searched offers'
|
||||
];
|
||||
}
|
||||
|
||||
public function defineProperties()
|
||||
{
|
||||
return [
|
||||
'perPage' => [
|
||||
'title' => 'Number of offers',
|
||||
'description' => 'How many offers do you want to display',
|
||||
'default' => 12,
|
||||
'validationPattern' => '^[0-9]+$',
|
||||
'validationMessage' => 'Only numbers allowed'
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
|
||||
public function onRun() {
|
||||
$allParams = \Input::all();
|
||||
|
||||
$params = '';
|
||||
|
||||
foreach ($allParams as $key => $item) {
|
||||
if($key != 'page'){
|
||||
$params .= '&'.$key.'='.$item;
|
||||
}
|
||||
}
|
||||
|
||||
$this->keyword = \Input::get('name');
|
||||
$this->params = $params;
|
||||
$this->products = $this->loadProducts();
|
||||
}
|
||||
|
||||
protected function loadProducts() {
|
||||
$perPage = $this->property('perPage');
|
||||
$sort = \Input::get('sort');
|
||||
$products = Product::query();
|
||||
$title = \Input::get('name');
|
||||
|
||||
if (isset($sort) && $sort != '') {
|
||||
$sort = self::getSort($sort);
|
||||
$products = $products->where('name', 'like', '%'.$title.'%')->withCount("images")->orderBy( $sort[0], $sort[1]);
|
||||
}else{
|
||||
$products = $products->where('name', 'like', '%'.$title.'%')->withCount("images");
|
||||
}
|
||||
|
||||
$products = $products->paginate($perPage);
|
||||
return $products;
|
||||
}
|
||||
|
||||
private static function getSort($sort): array
|
||||
{
|
||||
$sort_key = trim($sort, '-');
|
||||
|
||||
if (str_contains($sort, '-') && strpos($sort, '-') == 0) {
|
||||
$sort_direction = 'desc';
|
||||
}
|
||||
|
||||
return [
|
||||
$sort_key,
|
||||
$sort_direction ?? 'asc'
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -35,20 +35,16 @@ class Singleoffer extends ComponentBase
|
|||
$this->offer = $this->loadOffer();
|
||||
}
|
||||
|
||||
|
||||
|
||||
protected function loadOffer() {
|
||||
|
||||
$product = Product::find($this->property('offerId'));
|
||||
|
||||
if($product && $product->status == 'approved' /*&& $product->ends_at >= \Carbon\Carbon::now()*/) {
|
||||
|
||||
// todo increment number of views
|
||||
$product = Product::withCount("comments")->find($this->property('offerId'));
|
||||
if($product && $product->status == 'approved') {
|
||||
$product->number_of_views = $product->number_of_views + 1;
|
||||
$product->save();
|
||||
|
||||
return $product;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public $offer;
|
||||
}
|
||||
|
|
@ -0,0 +1,128 @@
|
|||
<?php namespace TPS\Birzha\Components;
|
||||
|
||||
use Cms\Classes\ComponentBase;
|
||||
use TPS\Birzha\Models\Product;
|
||||
use TPS\Birzha\Models\Category;
|
||||
use Input;
|
||||
use Flash;
|
||||
use RainLab\User\Models\User;
|
||||
|
||||
class UserOffers extends ComponentBase
|
||||
{
|
||||
/**
|
||||
* @var Collection A collection of user's posts
|
||||
*/
|
||||
public $userProducts;
|
||||
public $userCategories;
|
||||
public $user;
|
||||
public $params;
|
||||
|
||||
public function componentDetails()
|
||||
{
|
||||
return [
|
||||
'name' => 'User offers List',
|
||||
'description' => 'List of users offers'
|
||||
];
|
||||
}
|
||||
|
||||
public function defineProperties()
|
||||
{
|
||||
return [
|
||||
'perPage' => [
|
||||
'title' => 'Number of offers',
|
||||
'description' => 'How many offers do you want to display',
|
||||
'default' => 12,
|
||||
'validationPattern' => '^[0-9]+$',
|
||||
'validationMessage' => 'Only numbers allowed'
|
||||
],
|
||||
'slug' => [
|
||||
'title' => 'Select by category :slug',
|
||||
'description' => 'Select by category',
|
||||
'type' => 'string',
|
||||
'default' => ''
|
||||
],
|
||||
'id' => [
|
||||
'title' => 'Select by vendor :id',
|
||||
'description' => 'Select by vendor',
|
||||
'type' => 'string',
|
||||
'default' => ''
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
|
||||
public function onRun() {
|
||||
$allParams = \Input::all();
|
||||
|
||||
$params = '';
|
||||
|
||||
foreach ($allParams as $key => $item) {
|
||||
if($key != 'page'){
|
||||
$params .= '&'.$key.'='.$item;
|
||||
}
|
||||
}
|
||||
|
||||
$this->params = $params;
|
||||
$this->userCategories = $this->loadCategories();
|
||||
$this->user = $this->loadUser();
|
||||
$this->userProducts = $this->loadProducts();
|
||||
}
|
||||
|
||||
protected function loadProducts() {
|
||||
|
||||
$perPage = $this->property('perPage');
|
||||
$sort = \Input::get('sort');
|
||||
$vendor_id = $this->property('id');
|
||||
$categorySlug = $this->property('slug');
|
||||
|
||||
$category = Category::where('slug', $categorySlug)->first();
|
||||
$products = Product::query();
|
||||
|
||||
if($category){
|
||||
if (isset($sort) && $sort != '') {
|
||||
$sort = self::getSort($sort);
|
||||
$products = $category->products()->where('vendor_id', $vendor_id)->withCount("images")->orderBy( $sort[0], $sort[1]);
|
||||
}else{
|
||||
$products = $category->products()->where('vendor_id', $vendor_id)->withCount("images");
|
||||
}
|
||||
}else{
|
||||
if (isset($sort) && $sort != '') {
|
||||
$sort = self::getSort($sort);
|
||||
$products = $products->where("vendor_id", $vendor_id)->withCount("images")->orderBy( $sort[0], $sort[1]);
|
||||
}
|
||||
}
|
||||
$products = $products->paginate($perPage);
|
||||
return $products;
|
||||
}
|
||||
|
||||
private static function getSort($sort): array
|
||||
{
|
||||
// dd($sort);
|
||||
$sort_key = trim($sort, '-');
|
||||
|
||||
if (str_contains($sort, '-') && strpos($sort, '-') == 0) {
|
||||
$sort_direction = 'desc';
|
||||
}
|
||||
|
||||
return [
|
||||
$sort_key,
|
||||
$sort_direction ?? 'asc'
|
||||
];
|
||||
}
|
||||
|
||||
protected function loadCategories(){
|
||||
$user = User::find($this->property('id'));
|
||||
$categories = $user->categories()->get();
|
||||
return $categories;
|
||||
}
|
||||
|
||||
protected function loadUser(){
|
||||
$user = User::find($this->property('id'));
|
||||
return $user;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -1,108 +1,58 @@
|
|||
<!--Contact ========================================================= -->
|
||||
<section class="contact">
|
||||
<div class="auto_container">
|
||||
<div class="contact_wrap">
|
||||
<div class="contact_body">
|
||||
<div class="contact_content" id="form-steps">
|
||||
<div class="contact_title">
|
||||
{{'page.contact_us'|_}}
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<form action="#" data-request="onSend" data-request-validate data-request-flash class="contact_form">
|
||||
<div class="contact_input">
|
||||
<label for="name">{{'page.your_firstname'|_}}</label>
|
||||
<input type="text" id="name" name="name" placeholder="{{'page.example'|_}}: {{'page.example_firstname'|_}}" required>
|
||||
<span class="error_txt" data-validate-for="name" style="color: red;"></span>
|
||||
</div>
|
||||
<div class="contact_input">
|
||||
<label for="surname">{{'page.your_lastname'|_}}</label>
|
||||
<input type="text" id="surname" name="surname" placeholder="{{'page.example'|_}}: {{'page.example_lastname'|_}}" required>
|
||||
<span class="error_txt" data-validate-for="surname" style="color: red;"></span>
|
||||
</div>
|
||||
<div class="contact_input">
|
||||
<label for="mobile">{{'auth.phone'|_}}</label>
|
||||
<input type="tel" id="mobile" name="mobile" placeholder="{{'page.example'|_}}: +993 65 656565" required>
|
||||
<span class="error_txt" data-validate-for="mobile" style="color: red;"></span>
|
||||
</div>
|
||||
<div class="contact_input">
|
||||
<label for="mail">{{'auth.email'|_}}</label>
|
||||
<input type="email" id="email" name="email" placeholder="{{'page.example'|_}}: amanamanov@mail.ru" required>
|
||||
<span class="error_txt" data-validate-for="email" style="color: red;"></span>
|
||||
</div>
|
||||
<div class="contact_comment">
|
||||
<label for="comment">{{'page.message'|_}}</label>
|
||||
<textarea id="message" name="content" placeholder="{{'page.describe_your_problem'|_}}" required></textarea>
|
||||
<span class="error_txt" data-validate-for="content" style="color: red;"></span>
|
||||
</div>
|
||||
<button type="submit" class="btn btn--blue" data-attach-loading>
|
||||
{{'account.send'|_}}
|
||||
</button>
|
||||
</form>
|
||||
</div>
|
||||
<div class="contact_info">
|
||||
<div class="contact_title">
|
||||
{{'footer.contacts'|_}}
|
||||
</div>
|
||||
<div class="contact_box">
|
||||
<div class="contact_row">
|
||||
<div class="contact_icon">
|
||||
<img src="{{'assets/images/svg/phone-contact.svg'|theme}}" alt="">
|
||||
</div>
|
||||
<div class="row_content">
|
||||
<div class="contact_sub_title">
|
||||
{{'footer.tel'|_}}:
|
||||
</div>
|
||||
<div class="contact_text">
|
||||
{{ phone }}
|
||||
</div>
|
||||
<div class="contact_text">
|
||||
{{ phone_2 }}
|
||||
</div>
|
||||
<div class="contact_text">
|
||||
{{ phone_3 }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contact_row">
|
||||
<div class="contact_icon">
|
||||
<img src="{{'assets/images/svg/mail-contact.svg'|theme}}" alt="">
|
||||
</div>
|
||||
<div class="row_content">
|
||||
<div class="contact_sub_title">
|
||||
E-mail:
|
||||
</div>
|
||||
<a href="#" class="contact_text">
|
||||
{{ email }}
|
||||
</a>
|
||||
<a href="#" class="contact_text">
|
||||
{{ email_2 }}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contact_row">
|
||||
<div class="contact_icon">
|
||||
<img src="{{'assets/images/svg/map.svg'|theme}}" alt="">
|
||||
</div>
|
||||
<div class="row_content">
|
||||
<div class="contact_sub_title">
|
||||
{{'footer.address'|_}}:
|
||||
</div>
|
||||
<div class="contact_text">
|
||||
{{ address|raw }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contact_map">
|
||||
<iframe
|
||||
src="https://www.google.com/maps/embed?pb=!1m14!1m12!1m3!1d4717.752912640435!2d58.3471755851883!3d37.89018758608436!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!5e0!3m2!1sru!2s!4v1618775798801!5m2!1sru!2s"
|
||||
width="100%" height="450" style="border:0;" allowfullscreen="" loading="lazy"></iframe>
|
||||
<!-- Breadcumb Area -->
|
||||
<div class="breadcumb_area">
|
||||
<div class="container h-100">
|
||||
<div class="row h-100 align-items-center">
|
||||
<div class="col-12">
|
||||
<h5>Habarlaşmak</h5>
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="{{ 'index'|page }}">Esasy sahypa</a></li>
|
||||
<li class="breadcrumb-item active">Habarlaşmak</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!--Contact end ==================================================== -->
|
||||
</div>
|
||||
<!-- Breadcumb Area -->
|
||||
|
||||
<!-- addProducts Area -->
|
||||
<div class="bigshop_reg_log_area section_padding_100_50">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-12 col-md-12">
|
||||
<div class="login_form mb-50">
|
||||
<h5 class="mb-3">Habarlaşmak</h5>
|
||||
<div class="shortcodes_content">
|
||||
<form action="#" data-request="onSend" data-request-validate data-request-flash class="contact_form">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6 mb-3">
|
||||
<label for="name">Ady</label>
|
||||
<input type="text" class="form-control" id="name" placeholder="Ady" name="name" required>
|
||||
</div>
|
||||
<div class="col-md-6 mb-3">
|
||||
<label for="price">Familiýasy</label>
|
||||
<input type="text" class="form-control" id="price" name="surname" min="0" required>
|
||||
</div>
|
||||
<div class="col-md-6 mb-3">
|
||||
<label for="phone">Telefon belgisi</label>
|
||||
<input type="text" class="form-control" id="mobile" name="mobile" required>
|
||||
</div>
|
||||
<div class="col-md-6 mb-3">
|
||||
<label for="email">Email</label>
|
||||
<input type="email" class="form-control" id="email" name="email" required>
|
||||
</div>
|
||||
|
||||
<div class="col-md-12 mb-3">
|
||||
<label for="order-notes">Hat</label>
|
||||
<textarea class="form-control" id="content" cols="30" rows="20" name="content" placeholder="Hat"></textarea>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<button type="submit" class="btn btn-primary btn-sm mt-3">Ugratmak</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,105 @@
|
|||
<!--Contact ========================================================= -->
|
||||
<section class="contact">
|
||||
<div class="auto_container">
|
||||
<div class="contact_wrap">
|
||||
<div class="contact_body">
|
||||
<div class="contact_content" id="form-steps">
|
||||
<div class="contact_title">
|
||||
{{'page.contact_us'|_}}
|
||||
</div>
|
||||
<form action="#" data-request="onSend" data-request-validate data-request-flash class="contact_form">
|
||||
<div class="contact_input">
|
||||
<label for="name">{{'page.your_firstname'|_}}</label>
|
||||
<input type="text" id="name" name="name" placeholder="{{'page.example'|_}}: {{'page.example_firstname'|_}}" required>
|
||||
<span class="error_txt" data-validate-for="name" style="color: red;"></span>
|
||||
</div>
|
||||
<div class="contact_input">
|
||||
<label for="surname">{{'page.your_lastname'|_}}</label>
|
||||
<input type="text" id="surname" name="surname" placeholder="{{'page.example'|_}}: {{'page.example_lastname'|_}}" required>
|
||||
<span class="error_txt" data-validate-for="surname" style="color: red;"></span>
|
||||
</div>
|
||||
<div class="contact_input">
|
||||
<label for="mobile">{{'auth.phone'|_}}</label>
|
||||
<input type="tel" id="mobile" name="mobile" placeholder="{{'page.example'|_}}: +993 65 656565" required>
|
||||
<span class="error_txt" data-validate-for="mobile" style="color: red;"></span>
|
||||
</div>
|
||||
<div class="contact_input">
|
||||
<label for="mail">{{'auth.email'|_}}</label>
|
||||
<input type="email" id="email" name="email" placeholder="{{'page.example'|_}}: amanamanov@mail.ru" required>
|
||||
<span class="error_txt" data-validate-for="email" style="color: red;"></span>
|
||||
</div>
|
||||
<div class="contact_comment">
|
||||
<label for="comment">{{'page.message'|_}}</label>
|
||||
<textarea id="message" name="content" placeholder="{{'page.describe_your_problem'|_}}" required></textarea>
|
||||
<span class="error_txt" data-validate-for="content" style="color: red;"></span>
|
||||
</div>
|
||||
<button type="submit" class="btn btn--blue" data-attach-loading>
|
||||
{{'account.send'|_}}
|
||||
</button>
|
||||
</form>
|
||||
</div>
|
||||
<div class="contact_info">
|
||||
<div class="contact_title">
|
||||
{{'footer.contacts'|_}}
|
||||
</div>
|
||||
<div class="contact_box">
|
||||
<div class="contact_row">
|
||||
<div class="contact_icon">
|
||||
<img src="{{'assets/images/svg/phone-contact.svg'|theme}}" alt="">
|
||||
</div>
|
||||
<div class="row_content">
|
||||
<div class="contact_sub_title">
|
||||
{{'footer.tel'|_}}:
|
||||
</div>
|
||||
<div class="contact_text">
|
||||
{{ phone }}
|
||||
</div>
|
||||
<div class="contact_text">
|
||||
{{ phone_2 }}
|
||||
</div>
|
||||
<div class="contact_text">
|
||||
{{ phone_3 }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contact_row">
|
||||
<div class="contact_icon">
|
||||
<img src="{{'assets/images/svg/mail-contact.svg'|theme}}" alt="">
|
||||
</div>
|
||||
<div class="row_content">
|
||||
<div class="contact_sub_title">
|
||||
E-mail:
|
||||
</div>
|
||||
<a href="#" class="contact_text">
|
||||
{{ email }}
|
||||
</a>
|
||||
<a href="#" class="contact_text">
|
||||
{{ email_2 }}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contact_row">
|
||||
<div class="contact_icon">
|
||||
<img src="{{'assets/images/svg/map.svg'|theme}}" alt="">
|
||||
</div>
|
||||
<div class="row_content">
|
||||
<div class="contact_sub_title">
|
||||
{{'footer.address'|_}}:
|
||||
</div>
|
||||
<div class="contact_text">
|
||||
{{ address|raw }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contact_map">
|
||||
<iframe
|
||||
src="https://www.google.com/maps/embed?pb=!1m14!1m12!1m3!1d4717.752912640435!2d58.3471755851883!3d37.89018758608436!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!5e0!3m2!1sru!2s!4v1618775798801!5m2!1sru!2s"
|
||||
width="100%" height="450" style="border:0;" allowfullscreen="" loading="lazy"></iframe>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!--Contact end ==================================================== -->
|
||||
|
|
@ -1,17 +1,3 @@
|
|||
<section class="thanks">
|
||||
<div class="auto_container">
|
||||
<div class="thanks_wrap">
|
||||
|
||||
<div class="thanks_text">
|
||||
{{'page.message_sent'|_}}
|
||||
</div>
|
||||
|
||||
<div class="link">
|
||||
<a href="{{'index'|page}}" class="home_link">
|
||||
<span>OK</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<div class="alert alert-success" role="alert">
|
||||
Hatyňyz ugradyldy
|
||||
</div>
|
||||
|
|
@ -0,0 +1,256 @@
|
|||
{% set products = __SELF__.products %}
|
||||
{% set category = __SELF__.category %}
|
||||
{% set categories = __SELF__.categories %}
|
||||
{% set cities = __SELF__.cities %}
|
||||
{% set params = __SELF__.params %}
|
||||
|
||||
<!-- Breadcumb Area -->
|
||||
<div class="breadcumb_area">
|
||||
<div class="container h-100">
|
||||
<div class="row h-100 align-items-center">
|
||||
<div class="col-12">
|
||||
<h5>Harytlar</h5>
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="{{ 'index'|page }}">Esasy sahypa</a></li>
|
||||
<li class="breadcrumb-item active">Harytlar</li>
|
||||
<li class="breadcrumb-item active">{{ category.name }}</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Breadcumb Area -->
|
||||
|
||||
<section class="shop_grid_area section_padding_100">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-12 col-sm-5 col-md-4 col-lg-3">
|
||||
<div class="shop_sidebar_area">
|
||||
<form action="{{ 'filter-products'|page }}" method="GET" id="filter_form">
|
||||
{% if category.subs|length > 0 %}
|
||||
<div class="widget catagory mb-30">
|
||||
<h6 class="widget-title">Sub kategoriýalar</h6>
|
||||
<div class="widget-desc">
|
||||
<select name="category" class="form-control" >
|
||||
{% for item in category.subs %}
|
||||
<option value="{{ item.slug }}" {{ item.id == category.id ? 'selected' : '' }}>{{ item.name }} </option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div class="widget brands mb-30">
|
||||
<h6 class="widget-title">Şäherler</h6>
|
||||
<div class="widget-desc">
|
||||
<select name="city" class="form-control">
|
||||
<option value="">Şäher saýla</option>
|
||||
{% for city in cities %}
|
||||
<option value="{{ city.id }}" {% if input('city') == city.id %} selected {% endif %}>{{ city.name }} </option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Single Widget -->
|
||||
<div class="widget price mb-30">
|
||||
<h6 class="widget-title">Baha</h6>
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<input class="form-control" type="number" name="min_price"
|
||||
placeholder="0" value="{{input('min_price') ? input('min_price') : null}}">
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<input class="form-control" type="number" name="max_price"
|
||||
placeholder="1350" value="{{input('max_price') ? input('max_price') : null}}">
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="widget-desc">-->
|
||||
<!-- <div class="slider-range">-->
|
||||
<!-- <div data-min="0" data-max="1350" data-unit=" TMT" class="slider-range-price ui-slider ui-slider-horizontal ui-widget ui-widget-content ui-corner-all" data-value-min="0" data-value-max="1350" data-label-result="Baha:">-->
|
||||
<!-- <div class="ui-slider-range ui-widget-header ui-corner-all"></div>-->
|
||||
<!-- <span class="ui-slider-handle ui-state-default ui-corner-all" tabindex="0"></span>-->
|
||||
<!-- <span class="ui-slider-handle ui-state-default ui-corner-all" tabindex="0"></span>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="range-price">Baha: 0 - 1350</div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
</div>
|
||||
<button type="submit" class="btn btn-primary" style="width: 100%"> Filterle </button>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 col-sm-7 col-md-8 col-lg-9">
|
||||
<!-- Shop Top Sidebar -->
|
||||
<div class="shop_top_sidebar_area d-flex flex-wrap align-items-center justify-content-between">
|
||||
<div class="row" style="width: 100%">
|
||||
<div class="col-8">
|
||||
</div>
|
||||
<div class="col-4">
|
||||
<select class="form-control" onchange="sortHandle()" id="sort_input">
|
||||
<option value="">Saýlanmadyk</option>
|
||||
<option value="-price" {% if input('sort') == '-price' %} selected {% endif %}>Gymmatdan arzana</option>
|
||||
<option value="price" {% if input('sort') == 'price' %} selected {% endif %}>Arzandan gymmada</option>
|
||||
<option value="-created_at" {% if input('sort') == '-created_at' %} selected {% endif %}>Täzeden könä</option>
|
||||
<option value="created_at" {% if input('sort') == 'created_at' %} selected {% endif %}>Köneden täzä</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
{% for product in products %}
|
||||
<!-- Quick View Modal Area -->
|
||||
<div class="modal fade" id="quickview{{product.id}}" tabindex="-1" role="dialog" aria-labelledby="quickview" aria-hidden="true">
|
||||
<div class="modal-dialog modal-lg modal-dialog-centered" role="document">
|
||||
<div class="modal-content">
|
||||
<button type="button" class="close btn" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
<div class="modal-body">
|
||||
<div class="quickview_body">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-12 col-lg-5">
|
||||
<div class="quickview_pro_img">
|
||||
<img class="first_img" src="{{ product.images[0].path }}" alt="">
|
||||
<img class="hover_img" src="{{ product.images[1].path }}" alt="">
|
||||
<!-- Product Badge -->
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 col-lg-7">
|
||||
<div class="quickview_pro_des">
|
||||
<h4 class="title">{{ product.name }}</h4>
|
||||
<div class="top_seller_product_rating mb-15">
|
||||
<i class="fa fa-star" aria-hidden="true"></i>
|
||||
<i class="fa fa-star" aria-hidden="true"></i>
|
||||
<i class="fa fa-star" aria-hidden="true"></i>
|
||||
<i class="fa fa-star" aria-hidden="true"></i>
|
||||
<i class="fa fa-star" aria-hidden="true"></i>
|
||||
</div>
|
||||
<h5 class="price">{{ product.price }} TMT</h5>
|
||||
<p>{{ html_limit(product.description, 100) }}</p>
|
||||
<a href="{{ 'product'|page({id: product.id}) }}">Giňişleýin maglumat</a>
|
||||
</div>
|
||||
<!-- Add to Cart Form -->
|
||||
<form class="cart" method="post">
|
||||
<div class="quantity">
|
||||
<input type="number" class="qty-text" id="qty" step="1" min="1" max="12" name="quantity" value="1">
|
||||
</div>
|
||||
<button type="submit" name="addtocart" value="5" class="cart-submit">Sebede goş</button>
|
||||
<!-- Wishlist -->
|
||||
<div class="modal_pro_wishlist">
|
||||
{% if user %}
|
||||
<a href="wishlist.html"><i class="icofont-heart"></i></a>
|
||||
{% else %}
|
||||
<a href="{{ 'login'|page }}"><i class="icofont-heart"></i></a>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
</form>
|
||||
<!-- Share -->
|
||||
<div class="share_wf mt-30">
|
||||
<p>Paýlaşmak</p>
|
||||
<div class="_icon">
|
||||
<a href="#"><i class="fa fa-facebook" aria-hidden="true"></i></a>
|
||||
<a href="#"><i class="fa fa-twitter" aria-hidden="true"></i></a>
|
||||
<a href="#"><i class="fa fa-pinterest" aria-hidden="true"></i></a>
|
||||
<a href="#"><i class="fa fa-linkedin" aria-hidden="true"></i></a>
|
||||
<a href="#"><i class="fa fa-instagram" aria-hidden="true"></i></a>
|
||||
<a href="#"><i class="fa fa-envelope-o" aria-hidden="true"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Quick View Modal Area -->
|
||||
{% endfor %}
|
||||
<div class="shop_grid_product_area">
|
||||
<div class="row justify-content-center">
|
||||
{% for product in products %}
|
||||
<!-- Single Product -->
|
||||
<div class="col-9 col-sm-12 col-md-6 col-lg-4">
|
||||
<div class="single-product-area mb-30">
|
||||
<div class="product_image">
|
||||
<!-- Product Image -->
|
||||
<img class="normal_img" src="{{ product.images[0].path }}" alt="{{ product.name }}">
|
||||
<img class="hover_img" src="{{ product.images[1].path }}" alt="{{ product.name }}">
|
||||
<!-- Wishlist -->
|
||||
<div class="product_wishlist">
|
||||
<a href="wishlist.html"><i class="icofont-heart"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Product Description -->
|
||||
<div class="product_description">
|
||||
<!-- Add to cart -->
|
||||
<div class="product_add_to_cart">
|
||||
<a href="#"><i class="icofont-shopping-cart"></i> Sebede goş</a>
|
||||
</div>
|
||||
<!-- Quick View -->
|
||||
<div class="product_quick_view">
|
||||
<a href="#" data-toggle="modal" data-target="#quickview{{product.id}}"><i class="icofont-eye-alt"></i> Doly maglumat</a>
|
||||
</div>
|
||||
<p class="brand_name"></p>
|
||||
<a href="#">{{ product.name }}</a>
|
||||
<h6 class="product-price">{{ product.price }} TMT</h6>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% if products.hasPages %}
|
||||
<div class="shop_pagination_area mt-30">
|
||||
<nav aria-label="Page navigation">
|
||||
<ul class="pagination pagination-sm justify-content-center">
|
||||
{% if products.currentPage > 1 %}
|
||||
<li class="page-item"><a class="page-link" href="{{ products.previousPageUrl }}{{params}}">Öňki</a></li>
|
||||
{% endif %}
|
||||
|
||||
{% for page in range(1, products.lastPage) %}
|
||||
<li class="page-item"><a class="page-link" href="{{ products.url(page) }}{{params}}">{{ page }}</a></li>
|
||||
{% endfor %}
|
||||
|
||||
{% if products.lastPage > products.currentPage %}
|
||||
|
||||
<li class="page-item"><a class="page-link" href="{{ products.nextPageUrl }}{{params}}">Indiki</a></li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{% put scripts %}
|
||||
<script>
|
||||
function sortHandle() {
|
||||
event.preventDefault();
|
||||
let sort = document.getElementById("sort_input");
|
||||
let value = sort.value;
|
||||
submitForm(value);
|
||||
}
|
||||
|
||||
function submitForm(value) {
|
||||
let form = document.getElementById("filter_form");
|
||||
let sort = document.createElement("input");
|
||||
sort.name = "sort";
|
||||
sort.type = "hidden";
|
||||
sort.value = value;
|
||||
form.appendChild(sort);
|
||||
form.submit()
|
||||
}
|
||||
</script>
|
||||
{% endput %}
|
||||
|
|
@ -1,234 +1,59 @@
|
|||
{% set offers = __SELF__.offers %}
|
||||
{% set deleteConfirm = __SELF__.wantToDelete %}
|
||||
|
||||
<!-- This message is shawn when a post is succesfully published. -->
|
||||
{% flash success %}
|
||||
<p data-control="flash-message" data-interval="5" class="success">
|
||||
{{ message }}
|
||||
</p>
|
||||
{% endflash %}
|
||||
|
||||
<!-- My post ========================================================= -->
|
||||
<section class="library">
|
||||
<div class="auto_container">
|
||||
<div class="library_wrap">
|
||||
<div class="product_head">
|
||||
<div class="product_title">
|
||||
{{'auth.my_announces'|_}}
|
||||
</div>
|
||||
<div class="product_head-row">
|
||||
<a href="{{ 'kabinet/add_offer'|page }}" class="add_post_btn">
|
||||
<div class="post_icon">
|
||||
<img src="{{'assets/images/svg/add.svg'|theme}}" alt="">
|
||||
</div>
|
||||
<div class="post_text">
|
||||
{{ 'auth.add_announce'|_ }}
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
{% set products = __SELF__.offers %}
|
||||
<!-- Breadcumb Area -->
|
||||
<div class="breadcumb_area">
|
||||
<div class="container h-100">
|
||||
<div class="row h-100 align-items-center">
|
||||
<div class="col-12">
|
||||
<h5>Harytlarym</h5>
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="{{ 'index'|page }}">Esasy sahypa</a></li>
|
||||
<li class="breadcrumb-item active">Harytlarym</li>
|
||||
</ol>
|
||||
</div>
|
||||
|
||||
{% if offers is empty %}
|
||||
<div class="my_advert-bg">
|
||||
<div class="chat_wall">
|
||||
<div class="chat_wall_img">
|
||||
<img src="{{'assets/images/big_logo.png'|theme}}" alt="logo">
|
||||
</div>
|
||||
<div class="chat_wall_text">
|
||||
{{'auth.no_my_announces'|_}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mobile_add-btn">
|
||||
<a href="{{ 'kabinet/add_offer'|page }}" class="add_post_btn">
|
||||
<div class="post_icon">
|
||||
<img src="{{'assets/images/svg/add.svg'|theme}}" alt="">
|
||||
</div>
|
||||
<div class="post_text">
|
||||
{{ 'auth.add_announce'|_ }}
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
|
||||
<div class="product_box">
|
||||
{% for offer in offers %}
|
||||
<div class="product_item wow bounceInUp"
|
||||
|
||||
data-wow-duration="1s"
|
||||
|
||||
{% if loop.index > 4 %}
|
||||
{% if loop.index - 3 < 10 %}
|
||||
data-wow-delay=".{{ loop.index - 3 }}s"
|
||||
{% else %}
|
||||
data-wow-delay="{{ (loop.index - 3) / 10 }}s"
|
||||
{% endif %}
|
||||
{% else %}
|
||||
{% if loop.index < 10 %}
|
||||
data-wow-delay=".{{ loop.index }}s"
|
||||
{% else %}
|
||||
data-wow-delay="{{ loop.index / 10 }}s"
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
>
|
||||
<div class="item_head">
|
||||
<div class="item_lot">
|
||||
{{ 'page.prod_id'|_ }} №:
|
||||
</div>
|
||||
<div class="item_num">
|
||||
№ {{offer.id}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="inline_num">
|
||||
№ {{offer.id}}
|
||||
</div>
|
||||
<div class="item_photo">
|
||||
{% if offer.images[0] %}
|
||||
<img src="{{ offer.images[0].thumb(308,180,{'mode':'crop'}) }}" alt="">
|
||||
{% else %}
|
||||
<img src="{{'assets/images/big_logo.png'|theme}}" alt="">
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="item_group">
|
||||
<div class="item_title">
|
||||
{{ offer.name }}
|
||||
</div>
|
||||
<div class="item_sub_title">
|
||||
{{ offer.description }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="item_group">
|
||||
<div class="item_sub_name">
|
||||
{{ 'page.prod_amount'|_ }}:
|
||||
</div>
|
||||
<div class="item_name">
|
||||
{{ offer.quantity }} {{ offer.measure.code }}.
|
||||
</div>
|
||||
</div>
|
||||
<div class="item_group">
|
||||
<div class="item_sub_name">
|
||||
{{ 'page.prod_price'|_ }}:
|
||||
</div>
|
||||
<div class="item_name">
|
||||
{{ offer.price }} {{offer.currency.code}} / 1 {{ offer.measure.code }}.
|
||||
</div>
|
||||
</div>
|
||||
<div class="item_group">
|
||||
<div class="item_sub_name">
|
||||
{{ 'page.prod_finishdate'|_ }}:
|
||||
</div>
|
||||
<div class="item_name">
|
||||
{{ offer.ends_at ? offer.ends_at|date('d.m.Y') : '' }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
{% if offer.status == "approved" and offer.ends_at >= __SELF__.today %}
|
||||
<span class="show_span" style="color:green">{{ 'status_approved'|_ }}</span>
|
||||
<div class="new_group">
|
||||
<a href="{{ 'offer'|page({ slug: offer.slug, id: offer.id }) }}" class="item_btn">
|
||||
{{'account.on_site'|_}}
|
||||
</a>
|
||||
<!--
|
||||
data-request="onDeleteOffer"
|
||||
data-request-data="deleting_product_id: {{offer.id}}"
|
||||
-->
|
||||
<a href="#"
|
||||
class="item_btn delete_item_btn approved-post-delete-btn"
|
||||
onclick="deletePostHandler({{ offer.id }})">
|
||||
{{'account_delete'|_}}
|
||||
</a>
|
||||
</div>
|
||||
{% elseif offer.status == "approved" and offer.ends_at < __SELF__.today %}
|
||||
<span class="show_span" style="color:rgb(61, 58, 58)">{{ 'status_expired'|_ }}</span>
|
||||
<div class="new_group">
|
||||
<a href="{{ 'kabinet/edit_post'|page({ id: offer.id }) }}" class="item_btn">
|
||||
{{'account.prolong'|_}}
|
||||
</a>
|
||||
<a href="#"
|
||||
data-request="onDeleteOffer"
|
||||
data-request-data="deleting_product_id: {{offer.id}}"
|
||||
class="item_btn delete_item_btn">
|
||||
{{'account_delete'|_}}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
{% elseif offer.status == "denied" %}
|
||||
<span class="show_span" style="color:red">{{ 'status_denied'|_ }}</span> <br>
|
||||
<span class="show_span" style="color:red">{{ offer.status_note }}</span>
|
||||
<div class="new_group">
|
||||
<a href="{{ 'kabinet/edit_post'|page({ id: offer.id }) }}" class="item_btn">
|
||||
{{'account.edit'|_}}
|
||||
</a>
|
||||
<a href="#"
|
||||
data-request="onDeleteOffer"
|
||||
data-request-data="deleting_product_id: {{offer.id}}"
|
||||
class="item_btn delete_item_btn">
|
||||
{{'account_delete'|_}}
|
||||
</a>
|
||||
</div>
|
||||
{% elseif offer.status == "draft" %}
|
||||
<span class="show_span" style="color:#ff9800">{{ 'status_draft'|_ }}</span>
|
||||
<div class="new_group">
|
||||
<a href="{{ 'kabinet/edit_post'|page({ id: offer.id }) }}" class="item_btn">
|
||||
{{'account.complete'|_}}
|
||||
</a>
|
||||
<a href="#"
|
||||
data-request="onDeleteOffer"
|
||||
data-request-data="deleting_product_id: {{offer.id}}"
|
||||
class="item_btn delete_item_btn">
|
||||
{{'account_delete'|_}}
|
||||
</a>
|
||||
</div>
|
||||
{% elseif offer.status == "new" %}
|
||||
<span class="show_span" style="color:blue">{{ 'status_new'|_ }}</span>
|
||||
<a href="#" style="pointer-events: none; background-color: cornflowerblue;" class="item_btn full_btn">
|
||||
{{'account.admin_checking'|_}}
|
||||
</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
{% if offers.total > offers.perPage %}
|
||||
|
||||
<div class="cat_end">
|
||||
<a href="{{ offers.previousPageUrl|default('#') }}" class="cat_arrow left">
|
||||
<img src="{{ 'assets/images/svg/arrow-right.svg'|theme }}" alt="">
|
||||
</a>
|
||||
<form method="get" class="cat_form">
|
||||
<input type="text" value="{{offers.currentPage|default('1')}}" name="page">
|
||||
</form>
|
||||
<a href="{{ offers.nextPageUrl|default('#') }}" class="cat_arrow ">
|
||||
<img src="{{ 'assets/images/svg/arrow-right.svg'|theme }}" alt="">
|
||||
</a>
|
||||
<div class="cat_page">
|
||||
{{ (offers.total / offers.perPage)|round(0,'ceil') }} {{ 'page.pages'|_ }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!-- My post end ===================================================== -->
|
||||
</div>
|
||||
<!-- Breadcumb Area -->
|
||||
|
||||
<script>
|
||||
function deletePostHandler(offerId) {
|
||||
<!-- Wishlist Table Area -->
|
||||
<div class="wishlist-table section_padding_100 clearfix">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="cart-table wishlist-table">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-bordered mb-30">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">Surat</th>
|
||||
<th scope="col">Haryt ady</th>
|
||||
<th scope="col">Bahasy</th>
|
||||
<th scope="col"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
let answer = confirm('{{ deleteConfirm }}');
|
||||
|
||||
if(answer) {
|
||||
|
||||
$(this).request('onDeleteOffer',{
|
||||
data: {
|
||||
deleting_product_id: offerId
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
event.preventDefault()
|
||||
}
|
||||
</script>
|
||||
{% for product in products %}
|
||||
<tr>
|
||||
<td>
|
||||
<img src="{{ product.images[0].thumb(60,60, { mode: 'crop' }) }}" alt="Product">
|
||||
</td>
|
||||
<td>
|
||||
<a href="{{ 'product'|page({id: product.id}) }}">{{ product.name }}</a>
|
||||
</td>
|
||||
<td>{{ product.price }} TMT</td>
|
||||
<td><button
|
||||
data-request="onDeleteOffer"
|
||||
data-request-data="id: {{product.id}}"
|
||||
data-request-flash
|
||||
class="btn btn-primary btn-sm">Pozmak</button></td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,230 @@
|
|||
{% set offers = __SELF__.offers %}
|
||||
{% set deleteConfirm = __SELF__.wantToDelete %}
|
||||
|
||||
<!-- This message is shawn when a post is succesfully published. -->
|
||||
{% flash success %}
|
||||
<p data-control="flash-message" data-interval="5" class="success">
|
||||
{{ message }}
|
||||
</p>
|
||||
{% endflash %}
|
||||
|
||||
<!-- My post ========================================================= -->
|
||||
<section class="library">
|
||||
<div class="auto_container">
|
||||
<div class="library_wrap">
|
||||
<div class="product_head">
|
||||
<div class="product_title">
|
||||
{{'auth.my_announces'|_}}
|
||||
</div>
|
||||
<div class="product_head-row">
|
||||
<a href="{{ 'kabinet/add_offer'|page }}" class="add_post_btn">
|
||||
<div class="post_icon">
|
||||
<img src="{{'assets/images/svg/add.svg'|theme}}" alt="">
|
||||
</div>
|
||||
<div class="post_text">
|
||||
{{ 'auth.add_announce'|_ }}
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% if offers is empty %}
|
||||
<div class="my_advert-bg">
|
||||
<div class="chat_wall">
|
||||
<div class="chat_wall_img">
|
||||
<img src="{{'assets/images/big_logo.png'|theme}}" alt="logo">
|
||||
</div>
|
||||
<div class="chat_wall_text">
|
||||
{{'auth.no_my_announces'|_}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mobile_add-btn">
|
||||
<a href="{{ 'kabinet/add_offer'|page }}" class="add_post_btn">
|
||||
<div class="post_icon">
|
||||
<img src="{{'assets/images/svg/add.svg'|theme}}" alt="">
|
||||
</div>
|
||||
<div class="post_text">
|
||||
{{ 'auth.add_announce'|_ }}
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
|
||||
<div class="product_box">
|
||||
{% for offer in offers %}
|
||||
<div class="product_item wow bounceInUp"
|
||||
|
||||
data-wow-duration="1s"
|
||||
|
||||
{% if loop.index > 4 %}
|
||||
{% if loop.index - 3 < 10 %}
|
||||
data-wow-delay=".{{ loop.index - 3 }}s"
|
||||
{% else %}
|
||||
data-wow-delay="{{ (loop.index - 3) / 10 }}s"
|
||||
{% endif %}
|
||||
{% else %}
|
||||
{% if loop.index < 10 %}
|
||||
data-wow-delay=".{{ loop.index }}s"
|
||||
{% else %}
|
||||
data-wow-delay="{{ loop.index / 10 }}s"
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
>
|
||||
<div class="item_head">
|
||||
<div class="item_lot">
|
||||
{{ 'page.prod_id'|_ }} №:
|
||||
</div>
|
||||
<div class="item_num">
|
||||
№ {{offer.id}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="inline_num">
|
||||
№ {{offer.id}}
|
||||
</div>
|
||||
<div class="item_photo">
|
||||
{% if offer.images[0] %}
|
||||
<img src="{{ offer.images[0].thumb(308,180,{'mode':'crop'}) }}" alt="">
|
||||
{% else %}
|
||||
<img src="{{'assets/images/big_logo.png'|theme}}" alt="">
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="item_group">
|
||||
<div class="item_title">
|
||||
{{ offer.name }}
|
||||
</div>
|
||||
<div class="item_sub_title">
|
||||
{{ offer.description }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="item_group">
|
||||
<div class="item_sub_name">
|
||||
{{ 'page.prod_amount'|_ }}:
|
||||
</div>
|
||||
<div class="item_name">
|
||||
{{ offer.quantity }} {{ offer.measure.code }}.
|
||||
</div>
|
||||
</div>
|
||||
<div class="item_group">
|
||||
<div class="item_sub_name">
|
||||
{{ 'page.prod_price'|_ }}:
|
||||
</div>
|
||||
<div class="item_name">
|
||||
{{ offer.price }} {{offer.currency.code}} / 1 {{ offer.measure.code }}.
|
||||
</div>
|
||||
</div>
|
||||
<div class="item_group">
|
||||
<div class="item_sub_name">
|
||||
{{ 'page.prod_finishdate'|_ }}:
|
||||
</div>
|
||||
<div class="item_name">
|
||||
{{ offer.ends_at ? offer.ends_at|date('d.m.Y') : '' }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
{% if offer.status == "approved" and offer.ends_at >= __SELF__.today %}
|
||||
<span class="show_span" style="color:green">{{ 'status_approved'|_ }}</span>
|
||||
<div class="new_group">
|
||||
<a href="{{ 'offer'|page({ slug: offer.slug, id: offer.id }) }}" class="item_btn">
|
||||
{{'account.on_site'|_}}
|
||||
</a>
|
||||
<!--
|
||||
data-request="onDeleteOffer"
|
||||
data-request-data="deleting_product_id: {{offer.id}}"
|
||||
-->
|
||||
<a href="#"
|
||||
class="item_btn delete_item_btn approved-post-delete-btn"
|
||||
onclick="deletePostHandler({{ offer.id }})">
|
||||
{{'account_delete'|_}}
|
||||
</a>
|
||||
</div>
|
||||
{% elseif offer.status == "approved" and offer.ends_at < __SELF__.today %}
|
||||
<span class="show_span" style="color:rgb(61, 58, 58)">{{ 'status_expired'|_ }}</span>
|
||||
<div class="new_group">
|
||||
<a href="{{ 'kabinet/edit_post'|page({ id: offer.id }) }}" class="item_btn">
|
||||
{{'account.prolong'|_}}
|
||||
</a>
|
||||
<a href="#"
|
||||
data-request="onDeleteOffer"
|
||||
data-request-data="deleting_product_id: {{offer.id}}"
|
||||
class="item_btn delete_item_btn">
|
||||
{{'account_delete'|_}}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
{% elseif offer.status == "denied" %}
|
||||
<span class="show_span" style="color:red">{{ 'status_denied'|_ }}</span> <br>
|
||||
<span class="show_span" style="color:red">{{ offer.status_note }}</span>
|
||||
<div class="new_group">
|
||||
<a href="{{ 'kabinet/edit_post'|page({ id: offer.id }) }}" class="item_btn">
|
||||
{{'account.edit'|_}}
|
||||
</a>
|
||||
<a href="#"
|
||||
data-request="onDeleteOffer"
|
||||
data-request-data="deleting_product_id: {{offer.id}}"
|
||||
class="item_btn delete_item_btn">
|
||||
{{'account_delete'|_}}
|
||||
</a>
|
||||
</div>
|
||||
{% elseif offer.status == "draft" %}
|
||||
<span class="show_span" style="color:#ff9800">{{ 'status_draft'|_ }}</span>
|
||||
<div class="new_group">
|
||||
<a href="{{ 'kabinet/edit_post'|page({ id: offer.id }) }}" class="item_btn">
|
||||
{{'account.complete'|_}}
|
||||
</a>
|
||||
<a href="#"
|
||||
data-request="onDeleteOffer"
|
||||
data-request-data="deleting_product_id: {{offer.id}}"
|
||||
class="item_btn delete_item_btn">
|
||||
{{'account_delete'|_}}
|
||||
</a>
|
||||
</div>
|
||||
{% elseif offer.status == "new" %}
|
||||
<span class="show_span" style="color:blue">{{ 'status_new'|_ }}</span>
|
||||
<a href="#" style="pointer-events: none; background-color: cornflowerblue;" class="item_btn full_btn">
|
||||
{{'account.admin_checking'|_}}
|
||||
</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
{% if offers.total > offers.perPage %}
|
||||
|
||||
<div class="cat_end">
|
||||
<a href="{{ offers.previousPageUrl|default('#') }}" class="cat_arrow left">
|
||||
<img src="{{ 'assets/images/svg/arrow-right.svg'|theme }}" alt="">
|
||||
</a>
|
||||
<form method="get" class="cat_form">
|
||||
<input type="text" value="{{offers.currentPage|default('1')}}" name="page">
|
||||
</form>
|
||||
<a href="{{ offers.nextPageUrl|default('#') }}" class="cat_arrow ">
|
||||
<img src="{{ 'assets/images/svg/arrow-right.svg'|theme }}" alt="">
|
||||
</a>
|
||||
<div class="cat_page">
|
||||
{{ (offers.total / offers.perPage)|round(0,'ceil') }} {{ 'page.pages'|_ }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!-- My post end ===================================================== -->
|
||||
|
||||
<script>
|
||||
function deletePostHandler(offerId) {
|
||||
let answer = confirm('{{ deleteConfirm }}');
|
||||
if(answer) {
|
||||
$(this).request('onDeleteOffer',{
|
||||
data: {
|
||||
deleting_product_id: offerId
|
||||
}
|
||||
});
|
||||
}
|
||||
event.preventDefault()
|
||||
}
|
||||
</script>
|
||||
|
|
@ -1,147 +1,135 @@
|
|||
|
||||
{% set categories = __SELF__.categories %}
|
||||
{% set countries = __SELF__.countries %}
|
||||
{% set productForEditing = __SELF__.productForEditing %}
|
||||
{% set subcategories = __SELF__.subcategories %}
|
||||
{% set states = __SELF__.states %}
|
||||
{% set cities = __SELF__.cities %}
|
||||
{% set productIdOption = __SELF__.productIdOption %}
|
||||
|
||||
<!-- Add post ============================================================= -->
|
||||
<section class="post">
|
||||
<div class="auto_container">
|
||||
{% if user.is_activated %}
|
||||
<div class="post_wrap" id="form-steps">
|
||||
<div class="contact_title">
|
||||
{{'account.add_post'|_({ step_number: 1 })}} {{productForEditing.name}}
|
||||
</div>
|
||||
|
||||
<form action="#"
|
||||
data-request="onSave"
|
||||
data-request-validate
|
||||
data-request-flash
|
||||
class="post_form post_form-2 first-step-form">
|
||||
|
||||
{% if productForEditing %}
|
||||
<input type="hidden" name="productForEditing" value="{{productForEditing.id}}">
|
||||
{% endif %}
|
||||
|
||||
<!-- ru name -->
|
||||
<div class="post_input">
|
||||
<label>{{'account.lot_title'|_}} (RU) <span>*</span></label>
|
||||
<input type="text" name="name_ru" data-belongsto="product" placeholder="{{'page.example'|_}}: Гидравлическое масло"
|
||||
{% if productForEditing %}
|
||||
value="{{ productForEditing.lang('ru').name }}"
|
||||
{% endif %}
|
||||
>
|
||||
<span class="error_txt" data-validate-for="name_ru"></span>
|
||||
</div>
|
||||
<!-- en name -->
|
||||
<div class="post_input">
|
||||
<label>{{'account.lot_title'|_}} (EN) <span>*</span></label>
|
||||
<input type="text" name="name_en" data-belongsto="product" placeholder="{{'page.example'|_}}: Hydraulic oil"
|
||||
{% if productForEditing %}
|
||||
value="{{ productForEditing.lang('en').name }}"
|
||||
{% endif %}
|
||||
>
|
||||
<span class="error_txt" data-validate-for="name_en"></span>
|
||||
</div>
|
||||
<!-- tm name -->
|
||||
<div class="post_input">
|
||||
<label>{{'account.lot_title'|_}} (TM) <span>*</span></label>
|
||||
<input type="text" name="name_tm" data-belongsto="product" placeholder="{{'page.example'|_}}: Gidrawlika ýagy"
|
||||
{% if productForEditing %}
|
||||
value="{{ productForEditing.lang('tm').name }}"
|
||||
{% endif %}
|
||||
>
|
||||
<span class="error_txt" data-validate-for="name_tm"></span>
|
||||
</div>
|
||||
|
||||
<div class="post_input">
|
||||
<label for="mark-goods">{{'page.prod_mark'|_}} <span>*</span></label>
|
||||
<input type="text" name="mark" data-belongsto="product" placeholder="{{'page.example'|_}}: {{'account.mark_example'|_}}" id="mark-goods"
|
||||
{% if productForEditing %}
|
||||
value="{{ productForEditing.mark }}"
|
||||
{% endif %}
|
||||
>
|
||||
<span class="error_txt" data-validate-for="mark"></span>
|
||||
</div>
|
||||
|
||||
<div class="post_input">
|
||||
<label for="owner">{{'page.prod_vendor'|_}} <span>*</span></label>
|
||||
<input type="text" name="manufacturer" data-belongsto="product" placeholder="{{'page.example'|_}}: {{'account.mark_example'|_}}" id="owner"
|
||||
{% if productForEditing %}
|
||||
value="{{ productForEditing.manufacturer }}"
|
||||
{% endif %}
|
||||
>
|
||||
<span class="error_txt" data-validate-for="manufacturer"></span>
|
||||
</div>
|
||||
|
||||
<div class="post_input p-b">
|
||||
<label>{{'account.category'|_}} <span>*</span> </label>
|
||||
<div class="my-select">
|
||||
<select class="category-select" data-belongsto="product" name="category_id">
|
||||
<option value="0">{{'account.category'|_}}</option>
|
||||
{% for c in categories %}
|
||||
<option value="{{ c.id }}"
|
||||
{% if productForEditing and productForEditing.categories.first.id == c.id %}
|
||||
selected
|
||||
{% endif %}
|
||||
>{{ c.name }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
<span class="error_txt" data-validate-for="category_id"></span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="post_input">
|
||||
<label>{{'page.prod_vendor_country'|_}} <span>*</span></label>
|
||||
<input type="text" name="country" data-belongsto="product" placeholder="{{'page.example'|_}}: Türkmenistan"
|
||||
{% if productForEditing %}
|
||||
value="{{ productForEditing.country }}"
|
||||
{% endif %}
|
||||
>
|
||||
<span class="error_txt" data-validate-for="country"></span>
|
||||
</div>
|
||||
|
||||
<div class="post_input p-b">
|
||||
<label>{{'page.market_type'|_}} <span>*</span> </label>
|
||||
<div class="my-select">
|
||||
<select name="market_type" data-belongsto="product">
|
||||
<option value="0">{{'page.market_type'|_}}</option>
|
||||
<option value="in"
|
||||
{% if productForEditing and productForEditing.market_type == 'in' %}
|
||||
selected
|
||||
{% endif %}
|
||||
>{{'page.market_type_option_in'|_}}</option>
|
||||
<option value="out"
|
||||
{% if productForEditing and productForEditing.market_type == 'out' %}
|
||||
selected
|
||||
{% endif %}
|
||||
>{{'page.market_type_option_out'|_}}</option>
|
||||
</select>
|
||||
<span class="error_txt" data-validate-for="market_type"></span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="btn_bg">
|
||||
<button class="post_btn" type="submit" data-attach-loading>
|
||||
{{'account.step'|_({ step_number: 2 })}}
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="add_post_text">
|
||||
{{'account.required_fields'|_}}
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="post_wrap">
|
||||
<div class="contact_title">
|
||||
{{'account.activation_required'|_}}
|
||||
<!-- Breadcumb Area -->
|
||||
<div class="breadcumb_area">
|
||||
<div class="container h-100">
|
||||
<div class="row h-100 align-items-center">
|
||||
<div class="col-12">
|
||||
<h5>Haryt goşmak üýtgetmek</h5>
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="{{ 'index'|page }}">Esasy sahypa</a></li>
|
||||
<li class="breadcrumb-item active">Haryt goşmak/üýtgetmek</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</section>
|
||||
<!-- Add post end ========================================================= -->
|
||||
</div>
|
||||
<!-- Breadcumb Area -->
|
||||
|
||||
<!-- addProducts Area -->
|
||||
<div class="bigshop_reg_log_area section_padding_100_50">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-12 col-md-12">
|
||||
<div class="login_form mb-50">
|
||||
<h5 class="mb-3">Haryt maglumatlary</h5>
|
||||
<div class="shortcodes_content">
|
||||
<form id="addForm" action="#"
|
||||
data-request="onSave"
|
||||
data-request-flash
|
||||
data-request-validate
|
||||
data-request-files
|
||||
enctype="multipart/form-data">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6 mb-3">
|
||||
<label for="category">Kategoriýa</label>
|
||||
<select class="custom-select d-block w-100 form-control" id="category" data-belongsto="product" name="category_id" required>
|
||||
<option value="">Kategoriýa saýla</option>
|
||||
{% for category in categories %}
|
||||
<option value="{{ category.id }}" data-file="{{ category.is_file_category }}">{{ category.name }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-md-6 mb-3">
|
||||
<label for="subcategory">Ikinji kategoriýa</label>
|
||||
<select class="custom-select d-block w-100 form-control" id="subcategory" name="subcategory_id" required>
|
||||
<option value=null>Subkategoriýa saýla</option>
|
||||
{% for sub in subcategories %}
|
||||
<option value="{{ sub.id }}" data-file="{{ sub.is_file_category }}">{{ sub.name }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-md-6 mb-3">
|
||||
<label for="city">Welaýat</label>
|
||||
<select class="custom-select d-block w-100 form-control" id="city" name="state_id">
|
||||
<option value=null>Welaýat saýla</option>
|
||||
{% for state in states %}
|
||||
<option value="{{ state.id }}">{{ state.name }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-md-6 mb-3">
|
||||
<label for="subCity">Şäher</label>
|
||||
<select class="custom-select d-block w-100 form-control" id="subCity" name="city_id">
|
||||
<option value="">Şäher saýla</option>
|
||||
{% for city in cities %}
|
||||
<option value="{{ city.id }}">{{ city.name }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 mb-3">
|
||||
<label for="name">Harydyň ady</label>
|
||||
<input type="text" class="form-control" id="name" placeholder="Harydyň ady" name="name" required>
|
||||
</div>
|
||||
<div class="col-md-6 mb-3">
|
||||
<label for="price">Bahasy</label>
|
||||
<input type="number" class="form-control" id="price" name="price" min="0" required>
|
||||
</div>
|
||||
<div class="col-md-12 mb-3">
|
||||
<label for="order-notes">Gysga beýany</label>
|
||||
<textarea class="form-control" id="shortDescription" cols="30" name="short_description" rows="10" placeholder="Gysga beýany" required></textarea>
|
||||
</div>
|
||||
<div class="col-md-12 mb-3">
|
||||
<label for="order-notes">Giňişleýin beýany</label>
|
||||
<textarea class="form-control" id="description" cols="30" rows="20" name="description" placeholder="Giňişleýin beýany" required></textarea>
|
||||
</div>
|
||||
<div class="col-md-6 mb-3">
|
||||
<label for="phone">Telefon belgisi</label>
|
||||
<input type="number" class="form-control" id="phone" name="phone" required>
|
||||
</div>
|
||||
<div class="col-md-6 mb-3">
|
||||
<label for="images">Suratlar</label>
|
||||
<input type="file" class="form-control" id="new_img" name="new_img[]" multiple required>
|
||||
<input type="hidden" value="0" name="is_file" id="isFile">
|
||||
</div>
|
||||
<div class="col-md-6 mb-3 d-none" id="newFileDiv">
|
||||
<label for="files">Faýl goşmak</label>
|
||||
<input type="file" class="form-control" id="new_file" name="new_file" multiple>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<button type="submit" class="btn btn-primary btn-sm mt-3">Haryt goşmak</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% put scripts %}
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$("#category").on("change", function() {
|
||||
var selectedValue = $(this).val();
|
||||
var isFile = $(this).find(':selected').data('file');
|
||||
if (isFile > 0){
|
||||
$("#isFile").val(1);
|
||||
$("#newFileDiv").removeClass("d-none");
|
||||
}else{
|
||||
$("#isFile").val(0);
|
||||
$("#newFileDiv").addClass("d-none");
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
{% endput %}
|
||||
|
|
@ -0,0 +1,149 @@
|
|||
|
||||
{% set categories = __SELF__.categories %}
|
||||
{% set subcategories = __SELF__.subcategories %}
|
||||
{% set states = __SELF__.states %}
|
||||
{% set cities = __SELF__.cities %}
|
||||
{% set productIdOption = __SELF__.productIdOption %}
|
||||
|
||||
<!-- Add post ============================================================= -->
|
||||
<section class="post">
|
||||
<div class="auto_container">
|
||||
{% if user.is_activated %}
|
||||
<div class="post_wrap" id="form-steps">
|
||||
<div class="contact_title">
|
||||
{{'account.add_post'|_({ step_number: 1 })}} {{productForEditing.name}}
|
||||
</div>
|
||||
|
||||
<form action="#"
|
||||
data-request="onSave"
|
||||
data-request-validate
|
||||
data-request-flash
|
||||
class="post_form post_form-2 first-step-form">
|
||||
|
||||
{% if productForEditing %}
|
||||
<input type="hidden" name="productForEditing" value="{{productForEditing.id}}">
|
||||
{% endif %}
|
||||
|
||||
<!-- ru name -->
|
||||
<div class="post_input">
|
||||
<label>{{'account.lot_title'|_}} (RU) <span>*</span></label>
|
||||
<input type="text" name="name_ru" data-belongsto="product" placeholder="{{'page.example'|_}}: Гидравлическое масло"
|
||||
{% if productForEditing %}
|
||||
value="{{ productForEditing.lang('ru').name }}"
|
||||
{% endif %}
|
||||
>
|
||||
<span class="error_txt" data-validate-for="name_ru"></span>
|
||||
</div>
|
||||
<!-- en name -->
|
||||
<div class="post_input">
|
||||
<label>{{'account.lot_title'|_}} (EN) <span>*</span></label>
|
||||
<input type="text" name="name_en" data-belongsto="product" placeholder="{{'page.example'|_}}: Hydraulic oil"
|
||||
{% if productForEditing %}
|
||||
value="{{ productForEditing.lang('en').name }}"
|
||||
{% endif %}
|
||||
>
|
||||
<span class="error_txt" data-validate-for="name_en"></span>
|
||||
</div>
|
||||
<!-- tm name -->
|
||||
<div class="post_input">
|
||||
<label>{{'account.lot_title'|_}} (TM) <span>*</span></label>
|
||||
<input type="text" name="name_tm" data-belongsto="product" placeholder="{{'page.example'|_}}: Gidrawlika ýagy"
|
||||
{% if productForEditing %}
|
||||
value="{{ productForEditing.lang('tm').name }}"
|
||||
{% endif %}
|
||||
>
|
||||
<span class="error_txt" data-validate-for="name_tm"></span>
|
||||
</div>
|
||||
|
||||
<div class="post_input">
|
||||
<label for="mark-goods">{{'page.prod_mark'|_}} <span>*</span></label>
|
||||
<input type="text" name="mark" data-belongsto="product" placeholder="{{'page.example'|_}}: {{'account.mark_example'|_}}" id="mark-goods"
|
||||
{% if productForEditing %}
|
||||
value="{{ productForEditing.mark }}"
|
||||
{% endif %}
|
||||
>
|
||||
<span class="error_txt" data-validate-for="mark"></span>
|
||||
</div>
|
||||
|
||||
<div class="post_input">
|
||||
<label for="owner">{{'page.prod_vendor'|_}} <span>*</span></label>
|
||||
<input type="text" name="manufacturer" data-belongsto="product" placeholder="{{'page.example'|_}}: {{'account.mark_example'|_}}" id="owner"
|
||||
{% if productForEditing %}
|
||||
value="{{ productForEditing.manufacturer }}"
|
||||
{% endif %}
|
||||
>
|
||||
<span class="error_txt" data-validate-for="manufacturer"></span>
|
||||
</div>
|
||||
|
||||
<div class="post_input p-b">
|
||||
<label>{{'account.category'|_}} <span>*</span> </label>
|
||||
<div class="my-select">
|
||||
<select class="category-select" data-belongsto="product" name="category_id">
|
||||
<option value="0">{{'account.category'|_}}</option>
|
||||
{% for c in categories %}
|
||||
<option value="{{ c.id }}"
|
||||
{% if productForEditing and productForEditing.categories.first.id == c.id %}
|
||||
selected
|
||||
{% endif %}
|
||||
>{{ c.name }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
<span class="error_txt" data-validate-for="category_id"></span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="post_input">
|
||||
<label>{{'page.prod_vendor_country'|_}} <span>*</span></label>
|
||||
<input type="text" name="country" data-belongsto="product" placeholder="{{'page.example'|_}}: Türkmenistan"
|
||||
{% if productForEditing %}
|
||||
value="{{ productForEditing.country }}"
|
||||
{% endif %}
|
||||
>
|
||||
<span class="error_txt" data-validate-for="country"></span>
|
||||
</div>
|
||||
|
||||
<div class="post_input p-b">
|
||||
<label>{{'page.market_type'|_}} <span>*</span> </label>
|
||||
<div class="my-select">
|
||||
<select name="market_type" data-belongsto="product">
|
||||
<option value="0">{{'page.market_type'|_}}</option>
|
||||
<option value="in"
|
||||
{% if productForEditing and productForEditing.market_type == 'in' %}
|
||||
selected
|
||||
{% endif %}
|
||||
>{{'page.market_type_option_in'|_}}</option>
|
||||
<option value="out"
|
||||
{% if productForEditing and productForEditing.market_type == 'out' %}
|
||||
selected
|
||||
{% endif %}
|
||||
>{{'page.market_type_option_out'|_}}</option>
|
||||
</select>
|
||||
<span class="error_txt" data-validate-for="market_type"></span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="btn_bg">
|
||||
<button class="post_btn" type="submit" data-attach-loading>
|
||||
{{'account.step'|_({ step_number: 2 })}}
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="add_post_text">
|
||||
{{'account.required_fields'|_}}
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="post_wrap">
|
||||
<div class="contact_title">
|
||||
{{'account.activation_required'|_}}
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</section>
|
||||
<!-- Add post end ========================================================= -->
|
||||
|
||||
|
||||
|
|
@ -1,109 +1,249 @@
|
|||
{% set offers = __SELF__.offers %}
|
||||
{% set products = __SELF__.offers %}
|
||||
{% set category = __SELF__.category %}
|
||||
{% set categories = __SELF__.categories %}
|
||||
{% set cities = __SELF__.cities %}
|
||||
|
||||
<div class="product_box">
|
||||
{% for offer in offers %}
|
||||
<div class="product_item wow bounceInUp"
|
||||
|
||||
data-wow-duration="1s"
|
||||
{% for product in products %}
|
||||
<!-- Quick View Modal Area -->
|
||||
<div class="modal fade" id="quickview{{product.id}}" tabindex="-1" role="dialog" aria-labelledby="quickview" aria-hidden="true">
|
||||
<div class="modal-dialog modal-lg modal-dialog-centered" role="document">
|
||||
<div class="modal-content">
|
||||
<button type="button" class="close btn" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
<div class="modal-body">
|
||||
<div class="quickview_body">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-12 col-lg-5">
|
||||
<div class="quickview_pro_img">
|
||||
<img class="first_img" src="{{ product.images[0].path }}" alt="">
|
||||
<img class="hover_img" src="{{ product.images[1].path }}" alt="">
|
||||
<!-- Product Badge -->
|
||||
|
||||
{% if loop.index > 4 %}
|
||||
{% if loop.index - 3 < 10 %}
|
||||
data-wow-delay=".{{ loop.index - 3 }}s"
|
||||
{% else %}
|
||||
data-wow-delay="{{ (loop.index - 3) / 10 }}s"
|
||||
{% endif %}
|
||||
{% else %}
|
||||
{% if loop.index < 10 %}
|
||||
data-wow-delay=".{{ loop.index }}s"
|
||||
{% else %}
|
||||
data-wow-delay="{{ loop.index / 10 }}s"
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
>
|
||||
<div class="item_head">
|
||||
<div class="item_lot">
|
||||
{{ 'page.prod_id'|_ }} №:
|
||||
</div>
|
||||
<div class="item_num">
|
||||
№ {{offer.id}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="inline_num">
|
||||
№ {{offer.id}}
|
||||
</div>
|
||||
<div class="item_photo">
|
||||
<img src="{{ offer.images[0].thumb(308,180,{'mode':'crop'}) }}" alt="">
|
||||
</div>
|
||||
<div class="item_group">
|
||||
<div class="item_title">
|
||||
{{ offer.name }}
|
||||
</div>
|
||||
<div class="item_sub_title">
|
||||
{{ offer.description }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="item_group">
|
||||
<div class="item_sub_name">
|
||||
{{ 'page.prod_amount'|_ }}:
|
||||
</div>
|
||||
<div class="item_name">
|
||||
{{ offer.quantity }} {{ offer.measure.code }}.
|
||||
</div>
|
||||
</div>
|
||||
<div class="item_group">
|
||||
<div class="item_sub_name">
|
||||
{{ 'page.prod_price'|_ }}:
|
||||
</div>
|
||||
<div class="item_name">
|
||||
{{ offer.price }} {{offer.currency.code}} / 1 {{ offer.measure.code }}.
|
||||
</div>
|
||||
</div>
|
||||
<div class="item_group">
|
||||
<div class="item_sub_name">
|
||||
{{ 'page.prod_finishdate'|_ }}:
|
||||
</div>
|
||||
<div class="item_name">
|
||||
{{ offer.ends_at|date('d.m.Y') }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="item_row">
|
||||
<a href="{{ 'offer'|page({ slug: offer.slug, id: offer.id }) }}" class="item_btn">
|
||||
{{ 'page.more'|_ }}
|
||||
</a>
|
||||
<div class="views">
|
||||
<span>
|
||||
<img src="{{ 'assets/images/svg/watched.svg'|theme }}" alt="eye-icon">
|
||||
</span>
|
||||
<p>
|
||||
{{ offer.number_of_views }}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 col-lg-7">
|
||||
<div class="quickview_pro_des">
|
||||
<h4 class="title">{{ product.name }}</h4>
|
||||
<div class="top_seller_product_rating mb-15">
|
||||
<i class="fa fa-star" aria-hidden="true"></i>
|
||||
<i class="fa fa-star" aria-hidden="true"></i>
|
||||
<i class="fa fa-star" aria-hidden="true"></i>
|
||||
<i class="fa fa-star" aria-hidden="true"></i>
|
||||
<i class="fa fa-star" aria-hidden="true"></i>
|
||||
</div>
|
||||
<h5 class="price">{{ product.price }} TMT</h5>
|
||||
<p>{{ html_limit(product.description, 100) }}</p>
|
||||
<a href="{{ 'product'|page({id: product.id}) }}">Giňişleýin maglumat</a>
|
||||
</div>
|
||||
<!-- Add to Cart Form -->
|
||||
<form class="cart" method="post">
|
||||
<div class="quantity">
|
||||
<input type="number" class="qty-text" id="qty" step="1" min="1" max="12" name="quantity" value="1">
|
||||
</div>
|
||||
<button type="submit" name="addtocart" value="5" class="cart-submit">Sebede goş</button>
|
||||
<!-- Wishlist -->
|
||||
<div class="modal_pro_wishlist">
|
||||
{% if user %}
|
||||
<a href="wishlist.html"><i class="icofont-heart"></i></a>
|
||||
{% else %}
|
||||
<a href="{{ 'login'|page }}"><i class="icofont-heart"></i></a>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
</form>
|
||||
<!-- Share -->
|
||||
<div class="share_wf mt-30">
|
||||
<p>Paýlaşmak</p>
|
||||
<div class="_icon">
|
||||
<a href="#"><i class="fa fa-facebook" aria-hidden="true"></i></a>
|
||||
<a href="#"><i class="fa fa-twitter" aria-hidden="true"></i></a>
|
||||
<a href="#"><i class="fa fa-pinterest" aria-hidden="true"></i></a>
|
||||
<a href="#"><i class="fa fa-linkedin" aria-hidden="true"></i></a>
|
||||
<a href="#"><i class="fa fa-instagram" aria-hidden="true"></i></a>
|
||||
<a href="#"><i class="fa fa-envelope-o" aria-hidden="true"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
<!-- Quick View Modal Area -->
|
||||
{% endfor %}
|
||||
|
||||
{% if this.page.id != 'index' %}
|
||||
|
||||
{% if offers.total > offers.perPage %}
|
||||
|
||||
<div class="cat_end">
|
||||
<a href="{{ offers.previousPageUrl|default('#') }}&sort_order={{ __SELF__.sortParam }}" class="cat_arrow left">
|
||||
<img src="{{ 'assets/images/svg/arrow-right.svg'|theme }}" alt="">
|
||||
</a>
|
||||
<form method="get" class="cat_form">
|
||||
<input type="text" value="{{offers.currentPage|default('1')}}" name="page">
|
||||
</form>
|
||||
<a href="{{ offers.nextPageUrl|default('#') }}&sort_order={{ __SELF__.sortParam }}" class="cat_arrow ">
|
||||
<img src="{{ 'assets/images/svg/arrow-right.svg'|theme }}" alt="">
|
||||
</a>
|
||||
<div class="cat_page">
|
||||
{{ (offers.total / offers.perPage)|round(0,'ceil') }} {{ 'page.pages'|_ }}
|
||||
|
||||
<!-- Breadcumb Area -->
|
||||
<div class="breadcumb_area">
|
||||
<div class="container h-100">
|
||||
<div class="row h-100 align-items-center">
|
||||
<div class="col-12">
|
||||
<h5>Harytlar</h5>
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="{{ 'index'|page }}">Esasy sahypa</a></li>
|
||||
<li class="breadcrumb-item active">Harytlar</li>
|
||||
<li class="breadcrumb-item active">{{ category.name }}</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Breadcumb Area -->
|
||||
|
||||
{% endif %}
|
||||
<section class="shop_grid_area section_padding_100">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-12 col-sm-5 col-md-4 col-lg-3">
|
||||
<div class="shop_sidebar_area">
|
||||
<form action="{{ 'filter-products'|page }}" method="GET">
|
||||
{% if category.subs|length > 0 %}
|
||||
<div class="widget catagory mb-30">
|
||||
<h6 class="widget-title">Sub kategoriýalar</h6>
|
||||
<div class="widget-desc">
|
||||
<select name="subcategory" class="form-control">
|
||||
<option value="">Kategoriýa saýla</option>
|
||||
{% for item in category.subs %}
|
||||
<option value="{{ item.slug }}" {{ item.id == category.id ? 'selected' : '' }}>{{ item.name }} </option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% endif %}
|
||||
<div class="widget brands mb-30">
|
||||
<h6 class="widget-title">Şäherler</h6>
|
||||
<div class="widget-desc">
|
||||
<select name="city" class="form-control">
|
||||
<option value="">Şäher saýla</option>
|
||||
{% for city in cities %}
|
||||
<option value="{{ city.id }}">{{ city.name }} </option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Single Widget -->
|
||||
<div class="widget price mb-30">
|
||||
<h6 class="widget-title">Baha</h6>
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<input class="form-control" type="number" name="min_price"
|
||||
placeholder="0" value="{{input('min_price') ? input('min_price') : null}}">
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<input class="form-control" type="number" name="max_price"
|
||||
placeholder="1350" value="{{input('max_price') ? input('max_price') : null}}">
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="widget-desc">-->
|
||||
<!-- <div class="slider-range">-->
|
||||
<!-- <div data-min="0" data-max="1350" data-unit=" TMT" class="slider-range-price ui-slider ui-slider-horizontal ui-widget ui-widget-content ui-corner-all" data-value-min="0" data-value-max="1350" data-label-result="Baha:">-->
|
||||
<!-- <div class="ui-slider-range ui-widget-header ui-corner-all"></div>-->
|
||||
<!-- <span class="ui-slider-handle ui-state-default ui-corner-all" tabindex="0"></span>-->
|
||||
<!-- <span class="ui-slider-handle ui-state-default ui-corner-all" tabindex="0"></span>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="range-price">Baha: 0 - 1350</div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
</div>
|
||||
<button type="submit" class="btn btn-primary" style="width: 100%"> Filterle </button>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 col-sm-7 col-md-8 col-lg-9">
|
||||
<!-- Shop Top Sidebar -->
|
||||
<div class="shop_top_sidebar_area d-flex flex-wrap align-items-center justify-content-between">
|
||||
<div class="row" style="width: 100%">
|
||||
<div class="col-8">
|
||||
</div>
|
||||
<div class="col-4">
|
||||
<select class="form-control" id="sort">
|
||||
<option selected>Gymmatdan arzana</option>
|
||||
<option value="&sortDate=asc">Täzeden könä</option>
|
||||
<option value="2">Köneden täzä</option>
|
||||
<option value="3">Arzandan gymmada</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="shop_grid_product_area">
|
||||
<div class="row justify-content-center">
|
||||
{% for product in products %}
|
||||
<!-- Single Product -->
|
||||
<div class="col-9 col-sm-12 col-md-6 col-lg-4">
|
||||
<div class="single-product-area mb-30">
|
||||
<div class="product_image">
|
||||
<!-- Product Image -->
|
||||
<img class="normal_img" src="{{ product.images[0].path }}" alt="{{ product.name }}">
|
||||
<img class="hover_img" src="{{ product.images[1].path }}" alt="{{ product.name }}">
|
||||
<!-- Wishlist -->
|
||||
<div class="product_wishlist">
|
||||
{% if user %}
|
||||
<a href="wishlist.html"><i class="icofont-heart"></i></a>
|
||||
{% else %}
|
||||
<a href="{{ 'login'|page }}"><i class="icofont-heart"></i></a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Product Description -->
|
||||
<div class="product_description">
|
||||
<!-- Add to cart -->
|
||||
<div class="product_add_to_cart">
|
||||
{% if user %}
|
||||
<a href="#"><i class="icofont-shopping-cart"></i> Sebede goş</a>
|
||||
{% else %}
|
||||
<a href="{{ 'login'|page }}"><i class="icofont-shopping-cart"></i> Sebede goş</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
<!-- Quick View -->
|
||||
<div class="product_quick_view">
|
||||
<a href="#" data-toggle="modal" data-target="#quickview{{product.id}}"><i class="icofont-eye-alt"></i> Doly maglumat</a>
|
||||
</div>
|
||||
<p class="brand_name"></p>
|
||||
<a href="#">{{ product.name }}</a>
|
||||
<h6 class="product-price">{{ product.price }} TMT</h6>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
{% if products.hasPages %}
|
||||
<div class="shop_pagination_area mt-30">
|
||||
<nav aria-label="Page navigation">
|
||||
<ul class="pagination pagination-sm justify-content-center">
|
||||
{% if products.currentPage > 1 %}
|
||||
<li class="page-item"><a class="page-link" href="{{ products.previousPageUrl }}">Öňki</a></li>
|
||||
{% endif %}
|
||||
|
||||
{% for page in range(1, products.lastPage) %}
|
||||
<li class="page-item"><a class="page-link" href="{{ products.url(page) }}">{{ page }}</a></li>
|
||||
{% endfor %}
|
||||
|
||||
{% if products.lastPage > products.currentPage %}
|
||||
<li class="page-item"><a class="page-link" href="{{ products.nextPageUrl }}">Indiki</a></li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
|
@ -0,0 +1,216 @@
|
|||
{% set products = __SELF__.products %}
|
||||
{% set params = __SELF__.params %}
|
||||
{% set keyword = __SELF__.keyword %}
|
||||
|
||||
|
||||
{% for product in products %}
|
||||
<!-- Quick View Modal Area -->
|
||||
<div class="modal fade" id="quickview{{product.id}}" tabindex="-1" role="dialog" aria-labelledby="quickview" aria-hidden="true">
|
||||
<div class="modal-dialog modal-lg modal-dialog-centered" role="document">
|
||||
<div class="modal-content">
|
||||
<button type="button" class="close btn" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
<div class="modal-body">
|
||||
<div class="quickview_body">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-12 col-lg-5">
|
||||
<div class="quickview_pro_img">
|
||||
<img class="first_img" src="{{ product.images[0].path }}" alt="">
|
||||
|
||||
<img class="hover_img" src="{{ product.images[1].path }}" alt="">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 col-lg-7">
|
||||
<div class="quickview_pro_des">
|
||||
<h4 class="title">{{ product.name }}</h4>
|
||||
<div class="top_seller_product_rating mb-15">
|
||||
<i class="fa fa-star" aria-hidden="true"></i>
|
||||
<i class="fa fa-star" aria-hidden="true"></i>
|
||||
<i class="fa fa-star" aria-hidden="true"></i>
|
||||
<i class="fa fa-star" aria-hidden="true"></i>
|
||||
<i class="fa fa-star" aria-hidden="true"></i>
|
||||
</div>
|
||||
<h5 class="price">{{ product.price }} TMT</h5>
|
||||
<p>{{ html_limit(product.description, 100) }}</p>
|
||||
<a href="{{ 'product'|page({id: product.id}) }}">Giňişleýin maglumat</a>
|
||||
</div>
|
||||
<!-- Add to Cart Form -->
|
||||
<form class="cart" method="post">
|
||||
<div class="quantity">
|
||||
<input type="number" class="qty-text" id="qty" step="1" min="1" max="12" name="quantity" value="1">
|
||||
</div>
|
||||
<button type="submit" name="addtocart" value="5" class="cart-submit">Sebede goş</button>
|
||||
<!-- Wishlist -->
|
||||
<div class="modal_pro_wishlist">
|
||||
{% if user %}
|
||||
<a href="wishlist.html"><i class="icofont-heart"></i></a>
|
||||
{% else %}
|
||||
<a href="{{ 'login'|page }}"><i class="icofont-heart"></i></a>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
</form>
|
||||
<!-- Share -->
|
||||
<div class="share_wf mt-30">
|
||||
<p>Paýlaşmak</p>
|
||||
<div class="_icon">
|
||||
<a href="#"><i class="fa fa-facebook" aria-hidden="true"></i></a>
|
||||
<a href="#"><i class="fa fa-twitter" aria-hidden="true"></i></a>
|
||||
<a href="#"><i class="fa fa-pinterest" aria-hidden="true"></i></a>
|
||||
<a href="#"><i class="fa fa-linkedin" aria-hidden="true"></i></a>
|
||||
<a href="#"><i class="fa fa-instagram" aria-hidden="true"></i></a>
|
||||
<a href="#"><i class="fa fa-envelope-o" aria-hidden="true"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Quick View Modal Area -->
|
||||
{% endfor %}
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Breadcumb Area -->
|
||||
<div class="breadcumb_area">
|
||||
<div class="container h-100">
|
||||
<div class="row h-100 align-items-center">
|
||||
<div class="col-12">
|
||||
<h5>Harytlar</h5>
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="{{ 'index'|page }}">Esasy sahypa</a></li>
|
||||
<li class="breadcrumb-item active">Haryt gözleg</li>
|
||||
<li class="breadcrumb-item active">{{ keyword }}</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Breadcumb Area -->
|
||||
|
||||
<section class="shop_grid_area section_padding_50">
|
||||
<div class="container">
|
||||
|
||||
<div class="row mt-50">
|
||||
<div class="col-12">
|
||||
<!-- Shop Top Sidebar -->
|
||||
<div class="shop_top_sidebar_area d-flex flex-wrap align-items-center justify-content-between">
|
||||
<div class="row" style="width: 100%">
|
||||
<div class="col-8">
|
||||
</div>
|
||||
<div class="col-4">
|
||||
<form id="sortOptionUserProfile" method="GET">
|
||||
<input type="hidden" name="name" value="{{ keyword }}">
|
||||
</form>
|
||||
|
||||
<select class="form-control" onchange="sortHandle()" id="sort_input">
|
||||
<option value="">Saýlanmadyk</option>
|
||||
<option value="-price" {% if input('sort') == '-price' %} selected {% endif %}>Gymmatdan arzana</option>
|
||||
<option value="price" {% if input('sort') == 'price' %} selected {% endif %}>Arzandan gymmada</option>
|
||||
<option value="-created_at" {% if input('sort') == '-created_at' %} selected {% endif %}>Täzeden könä</option>
|
||||
<option value="created_at" {% if input('sort') == 'created_at' %} selected {% endif %}>Köneden täzä</option>
|
||||
</select>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="shop_grid_product_area">
|
||||
<div class="row justify-content-center">
|
||||
{% for product in products %}
|
||||
<!-- Single Product -->
|
||||
<div class="col-9 col-sm-12 col-md-6 col-lg-4">
|
||||
<div class="single-product-area mb-30">
|
||||
<div class="product_image">
|
||||
<!-- Product Image -->
|
||||
<img class="normal_img" src="{{ product.images[0].path }}" alt="{{ product.name }}">
|
||||
{% if product.images_count > 1 %}
|
||||
<img class="hover_img" src="{{ product.images[1].path }}" alt="{{ product.name }}">
|
||||
{% endif %}
|
||||
<!-- Wishlist -->
|
||||
<div class="product_wishlist">
|
||||
{% if user %}
|
||||
<a href="wishlist.html"><i class="icofont-heart"></i></a>
|
||||
{% else %}
|
||||
<a href="{{ 'login'|page }}"><i class="icofont-heart"></i></a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Product Description -->
|
||||
<div class="product_description">
|
||||
<!-- Add to cart -->
|
||||
<div class="product_add_to_cart">
|
||||
{% if user %}
|
||||
<a href="#"><i class="icofont-shopping-cart"></i> Sebede goş</a>
|
||||
{% else %}
|
||||
<a href="{{ 'login'|page }}"><i class="icofont-shopping-cart"></i> Sebede goş</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
<!-- Quick View -->
|
||||
<div class="product_quick_view">
|
||||
<a href="#" data-toggle="modal" data-target="#quickview{{product.id}}"><i class="icofont-eye-alt"></i> Doly maglumat</a>
|
||||
</div>
|
||||
<p class="brand_name"></p>
|
||||
<a href="#">{{ product.name }}</a>
|
||||
<h6 class="product-price">{{ product.price }} TMT</h6>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
{% if products.hasPages %}
|
||||
<div class="shop_pagination_area mt-30">
|
||||
<nav aria-label="Page navigation">
|
||||
<ul class="pagination pagination-sm justify-content-center">
|
||||
{% if products.currentPage > 1 %}
|
||||
<li class="page-item"><a class="page-link" href="{{ products.previousPageUrl }}{{params}}">Öňki</a></li>
|
||||
{% endif %}
|
||||
|
||||
{% for page in range(1, products.lastPage) %}
|
||||
<li class="page-item"><a class="page-link" href="{{ products.url(page) }}{{params}}">{{ page }}</a></li>
|
||||
{% endfor %}
|
||||
|
||||
{% if products.lastPage > products.currentPage %}
|
||||
<li class="page-item"><a class="page-link" href="{{ products.nextPageUrl }}{{params}}">Indiki</a></li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{% put scripts %}
|
||||
<script>
|
||||
function sortHandle() {
|
||||
event.preventDefault();
|
||||
let sort = document.getElementById("sort_input");
|
||||
let value = sort.value;
|
||||
submitForm(value);
|
||||
}
|
||||
|
||||
function submitForm(value) {
|
||||
let form = document.getElementById("sortOptionUserProfile");
|
||||
let sort = document.createElement("input");
|
||||
sort.name = "sort";
|
||||
sort.type = "hidden";
|
||||
sort.value = value;
|
||||
form.appendChild(sort);
|
||||
form.submit()
|
||||
}
|
||||
</script>
|
||||
{% endput %}
|
||||
|
|
@ -1,228 +1,226 @@
|
|||
{% set offer = __SELF__.offer %}
|
||||
{% set product = __SELF__.offer %}
|
||||
<!-- Breadcumb Area -->
|
||||
<div class="breadcumb_area">
|
||||
<div class="container h-100">
|
||||
<div class="row h-100 align-items-center">
|
||||
<div class="col-12">
|
||||
<h5>Haryt barada giňişleýin maglumat</h5>
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="{{ 'index'|page }}">Esasy sahypa</a></li>
|
||||
<li class="breadcrumb-item"><a href="#">Harytlar</a></li>
|
||||
<li class="breadcrumb-item active">{{ product.name }}</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Breadcumb Area -->
|
||||
|
||||
{% if offer %}
|
||||
<div class="detail_body">
|
||||
<div class="detail_gallery">
|
||||
<div class="detail_photo_box">
|
||||
{% if offer.images[0] %}
|
||||
{% for image in offer.images %}
|
||||
<div class="detail_photo fancybox" href="{{ image.path }}" data-fancybox="images-preview-1"
|
||||
data-width="1500" data-height="1000">
|
||||
<!-- Single Product Details Area -->
|
||||
<section class="single_product_details_area section_padding_100">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-12 col-lg-6">
|
||||
<div class="single_product_thumb">
|
||||
<div id="product_details_slider" class="carousel slide" data-ride="carousel">
|
||||
|
||||
<img src="{{ image.thumb(575,290,{'mode':'crop'}) }}" alt="">
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="detail_for_navs">
|
||||
{% if offer.images[0] %}
|
||||
{% for image in offer.images %}
|
||||
<div class="detail_photo_nav">
|
||||
<img src="{{ image.thumb(98,60,{'mode':'crop'}) }}" alt="">
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail_info">
|
||||
<div class="detail_title">
|
||||
{{offer.name}}
|
||||
</div>
|
||||
<div class="detail_info-inner">
|
||||
<div class="detail_about">
|
||||
<div class="detail_row">
|
||||
<div class="detail_name">
|
||||
{{'page.prod_no'|_}}:
|
||||
</div>
|
||||
<div class="detail_value">
|
||||
№ {{offer.id}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail_row">
|
||||
<div class="detail_name">
|
||||
{{'page.prod_amount_2'|_}} :
|
||||
</div>
|
||||
<div class="detail_value">
|
||||
{{offer.quantity}} {{offer.measure.code}}.
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail_row">
|
||||
<div class="detail_name">
|
||||
{{'page.prod_price_2'|_}}:
|
||||
</div>
|
||||
<div class="detail_value">
|
||||
{{offer.price}} {{offer.currency.code}} / 1 {{offer.measure.code}}.
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail_row">
|
||||
<div class="detail_name">
|
||||
{{'page.prod_startdate'|_}}:
|
||||
</div>
|
||||
<div class="detail_value green">
|
||||
{{offer.created_at|date('d/m/Y')}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail_row">
|
||||
<div class="detail_name">
|
||||
{{'page.prod_finishdate'|_}}:
|
||||
</div>
|
||||
<div class="detail_value red">
|
||||
{{offer.ends_at|date('d/m/Y')}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail_other">
|
||||
<div class="detail_row">
|
||||
<div class="detail_name">
|
||||
{{'page.prod_mark'|_}}:
|
||||
</div>
|
||||
<div class="detail_value">
|
||||
{{offer.mark}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail_row">
|
||||
<div class="detail_name">
|
||||
{{'page.prod_vendor'|_}}:
|
||||
</div>
|
||||
<div class="detail_value">
|
||||
{{offer.manufacturer}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail_row">
|
||||
<div class="detail_name">
|
||||
{{'page.prod_vendor_country'|_}} :
|
||||
</div>
|
||||
<div class="detail_value">
|
||||
{{offer.country}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail_row">
|
||||
<div class="detail_name">
|
||||
{{'page.market_type'|_}}
|
||||
</div>
|
||||
<div class="detail_value">
|
||||
{% if offer.market_type == 'in' %}
|
||||
{{'page.market_type_option_in'|_}}
|
||||
{% endif %}
|
||||
{% if offer.market_type == 'out' %}
|
||||
{{'page.market_type_option_out'|_}}
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail_description">
|
||||
<div class="description_title">
|
||||
{{'page.prod_desc'|_}}:
|
||||
</div>
|
||||
<div class="detail_text">
|
||||
{{offer.description}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail_table">
|
||||
<div class="table_group">
|
||||
<div class="title_item">
|
||||
{{'page.measure'|_}}
|
||||
</div>
|
||||
<div class="table_item">
|
||||
{{offer.measure.name}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="table_group">
|
||||
<div class="title_item">
|
||||
{{'page.payment_cond'|_}}
|
||||
</div>
|
||||
<div class="table_item">
|
||||
{{offer.payment_term.name}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="table_group">
|
||||
<div class="title_item">
|
||||
{{'page.delivery_cond'|_}}
|
||||
</div>
|
||||
<div class="table_item">
|
||||
{{offer.delivery_term.name}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="table_group">
|
||||
<div class="title_item">
|
||||
{{'page.delivery_point'|_}}
|
||||
</div>
|
||||
<div class="table_item">
|
||||
{{offer.place}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="table_group">
|
||||
<div class="title_item">
|
||||
{{'page.packaging'|_}}
|
||||
</div>
|
||||
<div class="table_item">
|
||||
{{offer.packaging ? (offer.packaging == 'yes' ? 'Есть' : 'Нет') : ''}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail_buttons">
|
||||
<a href="#" class="btn btn--green seller_btn">
|
||||
{{'page.seller_cont'|_}}
|
||||
</a>
|
||||
<div class="btn_group">
|
||||
{% if account.user and account.user.id != offer.vendor.id %}
|
||||
<a href="{{ 'kabinet/messages'|page }}?seller_id={{offer.vendor.id}}" class="btn btn--blue">
|
||||
{{'page.message_to_seller'|_}}
|
||||
</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<!-- Carousel Inner -->
|
||||
<div class="carousel-inner">
|
||||
|
||||
{% for key, image in product.images %}
|
||||
<div class="carousel-item {{ key == 0 ? 'active' : '' }}">
|
||||
<a class="gallery_img" href="{{ image.path }}" title="{{ product.name }}">
|
||||
<img class="d-block w-100" src="{{ image.path }}" alt="{{ product.name }}">
|
||||
</a>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
<div class="seller_info">
|
||||
<div class="seller_inner">
|
||||
<div class="seller_title">
|
||||
{{'page.seller_cont'|_}}
|
||||
</div>
|
||||
<div class="sller_box">
|
||||
<div class="seller_row">
|
||||
<div class="seller_icon">
|
||||
<img src="{{'assets/images/svg/seller-profile.svg'|theme}}" alt="icon">
|
||||
</div>
|
||||
<div class="seller_group">
|
||||
<div class="seller_label">
|
||||
{{'page.fio'|_}}
|
||||
</div>
|
||||
<div class="seller_text">
|
||||
{{offer.vendor.name}} {{offer.vendor.surname}}
|
||||
<!-- Carosel Indicators -->
|
||||
<ol class="carousel-indicators">
|
||||
{% for key, image in product.images %}
|
||||
<li class="{{ key == 0 ? 'active' : '' }}" data-target="#product_details_slider" data-slide-to="{{key}}" style="background-image: url({{ image.path }});"></li>
|
||||
{% endfor %}
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="seller_row">
|
||||
<div class="seller_icon">
|
||||
<img src="{{'assets/images/svg/seller-phone.svg'|theme}}" alt="icon">
|
||||
</div>
|
||||
<div class="seller_group">
|
||||
<div class="seller_label">
|
||||
{{'footer.tel'|_}}:
|
||||
</div>
|
||||
<div class="seller_text">
|
||||
{{offer.vendor.username}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="seller_row">
|
||||
<div class="seller_icon">
|
||||
<img src="{{'assets/images/svg/seller-mail.svg'|theme}}" alt="icon">
|
||||
</div>
|
||||
<div class="seller_group">
|
||||
<div class="seller_label">
|
||||
E-mail:
|
||||
</div>
|
||||
<div class="seller_text">
|
||||
{{offer.vendor.email}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endif %}
|
||||
<!-- Single Product Description -->
|
||||
<div class="col-12 col-lg-6">
|
||||
<div class="single_product_desc">
|
||||
<h4 class="title mb-2">{{ product.name }}</h4>
|
||||
<div class="single_product_ratings mb-2">
|
||||
{% if(product.comments_count > 0) %}
|
||||
{% for comment in product.comments %}
|
||||
<i class="fa fa-star {{ (comment.rating == 1 or comment.rating > 1) ? 'colorYellow' : '' }}" aria-hidden="true"></i>
|
||||
<i class="fa fa-star {{ (comment.rating == 2 or comment.rating > 1) ? 'colorYellow' : '' }}" aria-hidden="true"></i>
|
||||
<i class="fa fa-star {{ (comment.rating == 3 or comment.rating > 2) ? 'colorYellow' : '' }}" aria-hidden="true"></i>
|
||||
<i class="fa fa-star {{ (comment.rating == 4 or comment.rating > 3) ? 'colorYellow' : '' }}" aria-hidden="true"></i>
|
||||
<i class="fa fa-star {{ (comment.rating == 5 or comment.rating > 4) ? 'colorYellow' : '' }}" aria-hidden="true"></i>
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
<i class="fa fa-star" aria-hidden="true"></i>
|
||||
<i class="fa fa-star" aria-hidden="true"></i>
|
||||
<i class="fa fa-star" aria-hidden="true"></i>
|
||||
<i class="fa fa-star" aria-hidden="true"></i>
|
||||
<i class="fa fa-star" aria-hidden="true"></i>
|
||||
{% endif %}
|
||||
<span class="text-muted">({{ product.comments_count }} teswir)</span>
|
||||
</div>
|
||||
<h4 class="price mb-4">{{ product.price }} TMT</h4>
|
||||
|
||||
<!-- Overview -->
|
||||
<div class="short_overview mb-4">
|
||||
<h6>Maglumat</h6>
|
||||
<p>{{ product.description|raw }}</p>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Add to Cart Form -->
|
||||
<form class="cart clearfix my-5 d-flex flex-wrap align-items-center" method="post">
|
||||
<div class="quantity">
|
||||
<input type="number" class="qty-text form-control" id="qty2" step="1" min="1" max="12" name="quantity" value="1">
|
||||
</div>
|
||||
<button type="submit" name="addtocart" value="5" class="btn btn-primary mt-1 mt-md-0 ml-1 ml-md-3">Sebede goş</button>
|
||||
</form>
|
||||
|
||||
<!-- Others Info -->
|
||||
<div class="others_info_area mb-3 d-flex flex-wrap">
|
||||
{% if user %}
|
||||
<a class="add_to_wishlist" href="wishlist.html"><i class="fa fa-heart" aria-hidden="true"></i> Halanlarym</a>
|
||||
{% else %}
|
||||
<a class="add_to_wishlist" href="{{ 'login'|page }}"><i class="fa fa-heart" aria-hidden="true"></i> Halanlarym</a>
|
||||
{% endif %}
|
||||
<a class="share_with_friend" href="#"><i class="fa fa-share" aria-hidden="true"></i> Paýlaşmak</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="product_details_tab section_padding_100_0 clearfix">
|
||||
<!-- Tabs -->
|
||||
<ul class="nav nav-tabs" role="tablist" id="product-details-tab">
|
||||
<li class="nav-item">
|
||||
<a href="#description" class="nav-link active" data-toggle="tab" role="tab">Giňişleýin maglumat</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="#reviews" class="nav-link" data-toggle="tab" role="tab">Teswirler <span class="text-muted">({{ product.comments_count }})</span></a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="#addi-info" class="nav-link" data-toggle="tab" role="tab">Goşmaça maglumat</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="#refund" class="nav-link" data-toggle="tab" role="tab">Yzyna tabşyrmak & Zakazy ýatyrmak</a>
|
||||
</li>
|
||||
</ul>
|
||||
<!-- Tab Content -->
|
||||
<div class="tab-content">
|
||||
<div role="tabpanel" class="tab-pane fade show active" id="description">
|
||||
<div class="description_area">
|
||||
<h5>Giňişleýin maglumat</h5>
|
||||
<p>{{ product.description|raw }}</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div role="tabpanel" class="tab-pane fade" id="reviews">
|
||||
<div class="reviews_area">
|
||||
<ul>
|
||||
<li>
|
||||
{% for comment in product.comments %}
|
||||
<div class="single_user_review mb-15">
|
||||
<div class="review-rating">
|
||||
<i class="fa fa-star {{ (comment.rating == 1 or comment.rating > 1) ? 'colorYellow' : '' }}" aria-hidden="true"></i>
|
||||
<i class="fa fa-star {{ (comment.rating == 2 or comment.rating > 1) ? 'colorYellow' : '' }}" aria-hidden="true"></i>
|
||||
<i class="fa fa-star {{ (comment.rating == 3 or comment.rating > 2) ? 'colorYellow' : '' }}" aria-hidden="true"></i>
|
||||
<i class="fa fa-star {{ (comment.rating == 4 or comment.rating > 3) ? 'colorYellow' : '' }}" aria-hidden="true"></i>
|
||||
<i class="fa fa-star {{ (comment.rating == 5 or comment.rating > 4) ? 'colorYellow' : '' }}" aria-hidden="true"></i>
|
||||
<span>{{ comment.comment }}</span>
|
||||
</div>
|
||||
<div class="review-details">
|
||||
<p><a href="#">{{ comment.user.name }}</a> <span>{{ comment.created_at|date('d.m.Y') }}</span></p>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="submit_a_review_area mt-20">
|
||||
<h4>Teswir ýazmak</h4>
|
||||
<form action="#" method="post">
|
||||
<div class="form-group">
|
||||
<div class="stars">
|
||||
<input type="radio" name="star" class="star-1" id="star-1">
|
||||
<label class="star-1" for="star-1">1</label>
|
||||
<input type="radio" name="star" class="star-2" id="star-2">
|
||||
<label class="star-2" for="star-2">2</label>
|
||||
<input type="radio" name="star" class="star-3" id="star-3">
|
||||
<label class="star-3" for="star-3">3</label>
|
||||
<input type="radio" name="star" class="star-4" id="star-4">
|
||||
<label class="star-4" for="star-4">4</label>
|
||||
<input type="radio" name="star" class="star-5" id="star-5">
|
||||
<label class="star-5" for="star-5">5</label>
|
||||
<span></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="name">Ulanyjy adyňyz</label>
|
||||
<input type="email" class="form-control" id="name" placeholder="Ulanyjy ady">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="comments">Teswirler</label>
|
||||
<textarea class="form-control" id="comments" rows="5" data-max-length="150"></textarea>
|
||||
</div>
|
||||
<button type="submit" class="btn btn-primary">Teswiri ugratmak</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div role="tabpanel" class="tab-pane fade" id="addi-info">
|
||||
<div class="additional_info_area">
|
||||
<h5>Goşmaça maglumatlar</h5>
|
||||
<p>Gelen harydyň hili pes bolan ýagdaýynda näme edip bilerin?
|
||||
<br> <span>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Reprehenderit impedit similique qui, itaque delectus labore.</span></p>
|
||||
<p>Zakaz eden harydym gelmedi, onuň ýerine başga zat geldi.
|
||||
<br> <span>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Facilis quam voluptatum beatae harum tempore, ab?</span></p>
|
||||
<p class="mb-0">Zakazy nädip ýatyryp bilerin?
|
||||
<br> <span>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nostrum eius eum, minima!</span></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div role="tabpanel" class="tab-pane fade" id="refund">
|
||||
<div class="refund_area">
|
||||
<h6>Harydy yzyna gaýtarmak</h6>
|
||||
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Culpa quidem, eos eius laboriosam voluptates totam mollitia repellat rem voluptate obcaecati quas fuga similique impedit cupiditate vitae repudiandae. Rem, tenetur placeat!</p>
|
||||
|
||||
<h6>Näme sebäpden yzyna gaýtarmakçy</h6>
|
||||
<ul class="mb-30 ml-30">
|
||||
<li><i class="icofont-check"></i> Hili pes</li>
|
||||
<li><i class="icofont-check"></i> Dostawka haýal</li>
|
||||
<li><i class="icofont-check"></i> Başga haryt geldi</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h6>Sorag. Gelen harydyň hili pes bolan ýagdaýynda näme edip bilerin?</h6>
|
||||
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Reprehenderit impedit similique qui, itaque delectus labore.</p>
|
||||
|
||||
<h6>Sorag. Zakaz eden harydym gelmedi, onuň ýerine başga zat geldi Näme edip bilerin?.</h6>
|
||||
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Facilis quam voluptatum beatae harum tempore, ab?</p>
|
||||
|
||||
<h6>Sorag. Nädip zakazy ýatyryp bilerin?</h6>
|
||||
<p class="mb-0">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nostrum eius eum, minima!</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!-- Single Product Details Area End -->
|
||||
|
|
@ -0,0 +1,250 @@
|
|||
{% set products = __SELF__.userProducts %}
|
||||
{% set categories = __SELF__.userCategories %}
|
||||
{% set user = __SELF__.user %}
|
||||
{% set params = __SELF__.params %}
|
||||
|
||||
|
||||
{% for product in products %}
|
||||
<!-- Quick View Modal Area -->
|
||||
<div class="modal fade" id="quickview{{product.id}}" tabindex="-1" role="dialog" aria-labelledby="quickview" aria-hidden="true">
|
||||
<div class="modal-dialog modal-lg modal-dialog-centered" role="document">
|
||||
<div class="modal-content">
|
||||
<button type="button" class="close btn" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
<div class="modal-body">
|
||||
<div class="quickview_body">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-12 col-lg-5">
|
||||
<div class="quickview_pro_img">
|
||||
<img class="first_img" src="{{ product.images[0].path }}" alt="">
|
||||
<img class="hover_img" src="{{ product.images[1].path }}" alt="">
|
||||
<!-- Product Badge -->
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 col-lg-7">
|
||||
<div class="quickview_pro_des">
|
||||
<h4 class="title">{{ product.name }}</h4>
|
||||
<div class="top_seller_product_rating mb-15">
|
||||
<i class="fa fa-star" aria-hidden="true"></i>
|
||||
<i class="fa fa-star" aria-hidden="true"></i>
|
||||
<i class="fa fa-star" aria-hidden="true"></i>
|
||||
<i class="fa fa-star" aria-hidden="true"></i>
|
||||
<i class="fa fa-star" aria-hidden="true"></i>
|
||||
</div>
|
||||
<h5 class="price">{{ product.price }} TMT</h5>
|
||||
<p>{{ html_limit(product.description, 100) }}</p>
|
||||
<a href="{{ 'product'|page({id: product.id}) }}">Giňişleýin maglumat</a>
|
||||
</div>
|
||||
<!-- Add to Cart Form -->
|
||||
<form class="cart" method="post">
|
||||
<div class="quantity">
|
||||
<input type="number" class="qty-text" id="qty" step="1" min="1" max="12" name="quantity" value="1">
|
||||
</div>
|
||||
<button type="submit" name="addtocart" value="5" class="cart-submit">Sebede goş</button>
|
||||
<!-- Wishlist -->
|
||||
<div class="modal_pro_wishlist">
|
||||
{% if user %}
|
||||
<a href="wishlist.html"><i class="icofont-heart"></i></a>
|
||||
{% else %}
|
||||
<a href="{{ 'login'|page }}"><i class="icofont-heart"></i></a>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
</form>
|
||||
<!-- Share -->
|
||||
<div class="share_wf mt-30">
|
||||
<p>Paýlaşmak</p>
|
||||
<div class="_icon">
|
||||
<a href="#"><i class="fa fa-facebook" aria-hidden="true"></i></a>
|
||||
<a href="#"><i class="fa fa-twitter" aria-hidden="true"></i></a>
|
||||
<a href="#"><i class="fa fa-pinterest" aria-hidden="true"></i></a>
|
||||
<a href="#"><i class="fa fa-linkedin" aria-hidden="true"></i></a>
|
||||
<a href="#"><i class="fa fa-instagram" aria-hidden="true"></i></a>
|
||||
<a href="#"><i class="fa fa-envelope-o" aria-hidden="true"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Quick View Modal Area -->
|
||||
{% endfor %}
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Breadcumb Area -->
|
||||
<div class="breadcumb_area">
|
||||
<div class="container h-100">
|
||||
<div class="row h-100 align-items-center">
|
||||
<div class="col-12">
|
||||
<h5>Harytlar</h5>
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="{{ 'index'|page }}">Esasy sahypa</a></li>
|
||||
<li class="breadcrumb-item active">Satyjy harytlar</li>
|
||||
<li class="breadcrumb-item active">{{ user.name }}</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Breadcumb Area -->
|
||||
|
||||
<section class="shop_grid_area section_padding_50">
|
||||
<div class="container">
|
||||
|
||||
|
||||
<div class="col-12 col-lg-12">
|
||||
<div class="my-account-content mb-50">
|
||||
|
||||
<div class="single_catagory_slide">
|
||||
<a href="{{ 'user-profile'|page({id: user.id}) }}" style="display: inline;">
|
||||
<img src="{{ user.logo|media|resize(127, 127, { mode: 'crop' }) }}" alt="{{ user.name }}">
|
||||
</a>
|
||||
<p class="mt-3">{{ user.slogan }}</p>
|
||||
</div>
|
||||
|
||||
|
||||
<p>{{ user.description|raw }}</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="shop_by_catagory_slides owl-carousel">
|
||||
|
||||
{% for category in categories %}
|
||||
<div class="single_catagory_slide">
|
||||
<a href="{{ 'user-profile'|page({id: user.id, slug: category.slug}) }}">
|
||||
<img src="{{ category.icon|media|resize(127, 127, { mode: 'crop' }) }}" alt="{{ category.name }}">
|
||||
</a>
|
||||
<p>{{ category.name }}</p>
|
||||
</div>
|
||||
{% endfor %}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mt-50">
|
||||
<div class="col-12">
|
||||
<!-- Shop Top Sidebar -->
|
||||
<div class="shop_top_sidebar_area d-flex flex-wrap align-items-center justify-content-between">
|
||||
<div class="row" style="width: 100%">
|
||||
<div class="col-8">
|
||||
</div>
|
||||
<div class="col-4">
|
||||
<form id="sortOptionUserProfile" method="GET"></form>
|
||||
<select class="form-control" onchange="sortHandle()" id="sort_input">
|
||||
<option value="">Saýlanmadyk</option>
|
||||
<option value="-price" {% if input('sort') == '-price' %} selected {% endif %}>Gymmatdan arzana</option>
|
||||
<option value="price" {% if input('sort') == 'price' %} selected {% endif %}>Arzandan gymmada</option>
|
||||
<option value="-created_at" {% if input('sort') == '-created_at' %} selected {% endif %}>Täzeden könä</option>
|
||||
<option value="created_at" {% if input('sort') == 'created_at' %} selected {% endif %}>Köneden täzä</option>
|
||||
</select>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="shop_grid_product_area">
|
||||
<div class="row justify-content-center">
|
||||
{% for product in products %}
|
||||
<!-- Single Product -->
|
||||
<div class="col-9 col-sm-12 col-md-6 col-lg-4">
|
||||
<div class="single-product-area mb-30">
|
||||
<div class="product_image">
|
||||
<!-- Product Image -->
|
||||
<img class="normal_img" src="{{ product.images[0].path }}" alt="{{ product.name }}">
|
||||
{% if product.images_count > 1 %}
|
||||
<img class="hover_img" src="{{ product.images[1].path }}" alt="{{ product.name }}">
|
||||
{% endif %}
|
||||
<!-- Wishlist -->
|
||||
<div class="product_wishlist">
|
||||
{% if user %}
|
||||
<a href="wishlist.html"><i class="icofont-heart"></i></a>
|
||||
{% else %}
|
||||
<a href="{{ 'login'|page }}"><i class="icofont-heart"></i></a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Product Description -->
|
||||
<div class="product_description">
|
||||
<!-- Add to cart -->
|
||||
<div class="product_add_to_cart">
|
||||
{% if user %}
|
||||
<a href="#"><i class="icofont-shopping-cart"></i> Sebede goş</a>
|
||||
{% else %}
|
||||
<a href="{{ 'login'|page }}"><i class="icofont-shopping-cart"></i> Sebede goş</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
<!-- Quick View -->
|
||||
<div class="product_quick_view">
|
||||
<a href="#" data-toggle="modal" data-target="#quickview{{product.id}}"><i class="icofont-eye-alt"></i> Doly maglumat</a>
|
||||
</div>
|
||||
<p class="brand_name"></p>
|
||||
<a href="#">{{ product.name }}</a>
|
||||
<h6 class="product-price">{{ product.price }} TMT</h6>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
{% if products.hasPages %}
|
||||
<div class="shop_pagination_area mt-30">
|
||||
<nav aria-label="Page navigation">
|
||||
<ul class="pagination pagination-sm justify-content-center">
|
||||
{% if products.currentPage > 1 %}
|
||||
<li class="page-item"><a class="page-link" href="{{ products.previousPageUrl }}{{params}}">Öňki</a></li>
|
||||
{% endif %}
|
||||
|
||||
{% for page in range(1, products.lastPage) %}
|
||||
<li class="page-item"><a class="page-link" href="{{ products.url(page) }}{{params}}">{{ page }}</a></li>
|
||||
{% endfor %}
|
||||
|
||||
{% if products.lastPage > products.currentPage %}
|
||||
<li class="page-item"><a class="page-link" href="{{ products.nextPageUrl }}{{params}}">Indiki</a></li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{% put scripts %}
|
||||
<script>
|
||||
function sortHandle() {
|
||||
event.preventDefault();
|
||||
let sort = document.getElementById("sort_input");
|
||||
let value = sort.value;
|
||||
submitForm(value);
|
||||
}
|
||||
|
||||
function submitForm(value) {
|
||||
let form = document.getElementById("sortOptionUserProfile");
|
||||
let sort = document.createElement("input");
|
||||
sort.name = "sort";
|
||||
sort.type = "hidden";
|
||||
sort.value = value;
|
||||
form.appendChild(sort);
|
||||
form.submit()
|
||||
}
|
||||
</script>
|
||||
{% endput %}
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
<!DOCTYPE html>
|
||||
<html style="height:100%">
|
||||
<head>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
|
||||
<title> 404 Not Found
|
||||
</title></head>
|
||||
<body style="color: #444; margin:0;font: normal 14px/20px Arial, Helvetica, sans-serif; height:100%; background-color: #fff;">
|
||||
<div style="height:auto; min-height:100%; "> <div style="text-align: center; width:800px; margin-left: -400px; position:absolute; top: 30%; left:50%;">
|
||||
<h1 style="margin:0; font-size:150px; line-height:150px; font-weight:bold;">404</h1>
|
||||
<h2 style="margin-top:20px;font-size: 30px;">Not Found
|
||||
</h2>
|
||||
<p>The resource requested could not be found on this server!</p>
|
||||
</div></div><div style="color:#f0f0f0; font-size:12px;margin:auto;padding:0px 30px 0px 30px;position:relative;clear:both;height:100px;margin-top:-101px;background-color:#474747;border-top: 1px solid rgba(0,0,0,0.15);box-shadow: 0 1px 0 rgba(255, 255, 255, 0.3) inset;">
|
||||
<br>Proudly powered by <a style="color:#fff;" href="http://www.litespeedtech.com/error-page">LiteSpeed Web Server</a><p>Please be advised that LiteSpeed Technologies Inc. is not a web hosting company and, as such, has no control over content found on this site.</p></div></body></html>
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
<!DOCTYPE html>
|
||||
<html style="height:100%">
|
||||
<head>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
|
||||
<title> 404 Not Found
|
||||
</title></head>
|
||||
<body style="color: #444; margin:0;font: normal 14px/20px Arial, Helvetica, sans-serif; height:100%; background-color: #fff;">
|
||||
<div style="height:auto; min-height:100%; "> <div style="text-align: center; width:800px; margin-left: -400px; position:absolute; top: 30%; left:50%;">
|
||||
<h1 style="margin:0; font-size:150px; line-height:150px; font-weight:bold;">404</h1>
|
||||
<h2 style="margin-top:20px;font-size: 30px;">Not Found
|
||||
</h2>
|
||||
<p>The resource requested could not be found on this server!</p>
|
||||
</div></div><div style="color:#f0f0f0; font-size:12px;margin:auto;padding:0px 30px 0px 30px;position:relative;clear:both;height:100px;margin-top:-101px;background-color:#474747;border-top: 1px solid rgba(0,0,0,0.15);box-shadow: 0 1px 0 rgba(255, 255, 255, 0.3) inset;">
|
||||
<br>Proudly powered by <a style="color:#fff;" href="http://www.litespeedtech.com/error-page">LiteSpeed Web Server</a><p>Please be advised that LiteSpeed Technologies Inc. is not a web hosting company and, as such, has no control over content found on this site.</p></div></body></html>
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
<!DOCTYPE html>
|
||||
<html style="height:100%">
|
||||
<head>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
|
||||
<title> 404 Not Found
|
||||
</title></head>
|
||||
<body style="color: #444; margin:0;font: normal 14px/20px Arial, Helvetica, sans-serif; height:100%; background-color: #fff;">
|
||||
<div style="height:auto; min-height:100%; "> <div style="text-align: center; width:800px; margin-left: -400px; position:absolute; top: 30%; left:50%;">
|
||||
<h1 style="margin:0; font-size:150px; line-height:150px; font-weight:bold;">404</h1>
|
||||
<h2 style="margin-top:20px;font-size: 30px;">Not Found
|
||||
</h2>
|
||||
<p>The resource requested could not be found on this server!</p>
|
||||
</div></div><div style="color:#f0f0f0; font-size:12px;margin:auto;padding:0px 30px 0px 30px;position:relative;clear:both;height:100px;margin-top:-101px;background-color:#474747;border-top: 1px solid rgba(0,0,0,0.15);box-shadow: 0 1px 0 rgba(255, 255, 255, 0.3) inset;">
|
||||
<br>Proudly powered by <a style="color:#fff;" href="http://www.litespeedtech.com/error-page">LiteSpeed Web Server</a><p>Please be advised that LiteSpeed Technologies Inc. is not a web hosting company and, as such, has no control over content found on this site.</p></div></body></html>
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
<!DOCTYPE html>
|
||||
<html style="height:100%">
|
||||
<head>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
|
||||
<title> 404 Not Found
|
||||
</title></head>
|
||||
<body style="color: #444; margin:0;font: normal 14px/20px Arial, Helvetica, sans-serif; height:100%; background-color: #fff;">
|
||||
<div style="height:auto; min-height:100%; "> <div style="text-align: center; width:800px; margin-left: -400px; position:absolute; top: 30%; left:50%;">
|
||||
<h1 style="margin:0; font-size:150px; line-height:150px; font-weight:bold;">404</h1>
|
||||
<h2 style="margin-top:20px;font-size: 30px;">Not Found
|
||||
</h2>
|
||||
<p>The resource requested could not be found on this server!</p>
|
||||
</div></div><div style="color:#f0f0f0; font-size:12px;margin:auto;padding:0px 30px 0px 30px;position:relative;clear:both;height:100px;margin-top:-101px;background-color:#474747;border-top: 1px solid rgba(0,0,0,0.15);box-shadow: 0 1px 0 rgba(255, 255, 255, 0.3) inset;">
|
||||
<br>Proudly powered by <a style="color:#fff;" href="http://www.litespeedtech.com/error-page">LiteSpeed Web Server</a><p>Please be advised that LiteSpeed Technologies Inc. is not a web hosting company and, as such, has no control over content found on this site.</p></div></body></html>
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
<!DOCTYPE html>
|
||||
<html style="height:100%">
|
||||
<head>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
|
||||
<title> 404 Not Found
|
||||
</title></head>
|
||||
<body style="color: #444; margin:0;font: normal 14px/20px Arial, Helvetica, sans-serif; height:100%; background-color: #fff;">
|
||||
<div style="height:auto; min-height:100%; "> <div style="text-align: center; width:800px; margin-left: -400px; position:absolute; top: 30%; left:50%;">
|
||||
<h1 style="margin:0; font-size:150px; line-height:150px; font-weight:bold;">404</h1>
|
||||
<h2 style="margin-top:20px;font-size: 30px;">Not Found
|
||||
</h2>
|
||||
<p>The resource requested could not be found on this server!</p>
|
||||
</div></div><div style="color:#f0f0f0; font-size:12px;margin:auto;padding:0px 30px 0px 30px;position:relative;clear:both;height:100px;margin-top:-101px;background-color:#474747;border-top: 1px solid rgba(0,0,0,0.15);box-shadow: 0 1px 0 rgba(255, 255, 255, 0.3) inset;">
|
||||
<br>Proudly powered by <a style="color:#fff;" href="http://www.litespeedtech.com/error-page">LiteSpeed Web Server</a><p>Please be advised that LiteSpeed Technologies Inc. is not a web hosting company and, as such, has no control over content found on this site.</p></div></body></html>
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
<!DOCTYPE html>
|
||||
<html style="height:100%">
|
||||
<head>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
|
||||
<title> 404 Not Found
|
||||
</title></head>
|
||||
<body style="color: #444; margin:0;font: normal 14px/20px Arial, Helvetica, sans-serif; height:100%; background-color: #fff;">
|
||||
<div style="height:auto; min-height:100%; "> <div style="text-align: center; width:800px; margin-left: -400px; position:absolute; top: 30%; left:50%;">
|
||||
<h1 style="margin:0; font-size:150px; line-height:150px; font-weight:bold;">404</h1>
|
||||
<h2 style="margin-top:20px;font-size: 30px;">Not Found
|
||||
</h2>
|
||||
<p>The resource requested could not be found on this server!</p>
|
||||
</div></div><div style="color:#f0f0f0; font-size:12px;margin:auto;padding:0px 30px 0px 30px;position:relative;clear:both;height:100px;margin-top:-101px;background-color:#474747;border-top: 1px solid rgba(0,0,0,0.15);box-shadow: 0 1px 0 rgba(255, 255, 255, 0.3) inset;">
|
||||
<br>Proudly powered by <a style="color:#fff;" href="http://www.litespeedtech.com/error-page">LiteSpeed Web Server</a><p>Please be advised that LiteSpeed Technologies Inc. is not a web hosting company and, as such, has no control over content found on this site.</p></div></body></html>
|
||||
|
|
@ -0,0 +1,351 @@
|
|||
/* Magnific Popup CSS */
|
||||
.mfp-bg {
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: 1042;
|
||||
overflow: hidden;
|
||||
position: fixed;
|
||||
background: #0b0b0b;
|
||||
opacity: 0.8; }
|
||||
|
||||
.mfp-wrap {
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: 1043;
|
||||
position: fixed;
|
||||
outline: none !important;
|
||||
-webkit-backface-visibility: hidden; }
|
||||
|
||||
.mfp-container {
|
||||
text-align: center;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
left: 0;
|
||||
top: 0;
|
||||
padding: 0 8px;
|
||||
box-sizing: border-box; }
|
||||
|
||||
.mfp-container:before {
|
||||
content: '';
|
||||
display: inline-block;
|
||||
height: 100%;
|
||||
vertical-align: middle; }
|
||||
|
||||
.mfp-align-top .mfp-container:before {
|
||||
display: none; }
|
||||
|
||||
.mfp-content {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
margin: 0 auto;
|
||||
text-align: left;
|
||||
z-index: 1045; }
|
||||
|
||||
.mfp-inline-holder .mfp-content,
|
||||
.mfp-ajax-holder .mfp-content {
|
||||
width: 100%;
|
||||
cursor: auto; }
|
||||
|
||||
.mfp-ajax-cur {
|
||||
cursor: progress; }
|
||||
|
||||
.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
|
||||
cursor: -moz-zoom-out;
|
||||
cursor: -webkit-zoom-out;
|
||||
cursor: zoom-out; }
|
||||
|
||||
.mfp-zoom {
|
||||
cursor: pointer;
|
||||
cursor: -webkit-zoom-in;
|
||||
cursor: -moz-zoom-in;
|
||||
cursor: zoom-in; }
|
||||
|
||||
.mfp-auto-cursor .mfp-content {
|
||||
cursor: auto; }
|
||||
|
||||
.mfp-close,
|
||||
.mfp-arrow,
|
||||
.mfp-preloader,
|
||||
.mfp-counter {
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none; }
|
||||
|
||||
.mfp-loading.mfp-figure {
|
||||
display: none; }
|
||||
|
||||
.mfp-hide {
|
||||
display: none !important; }
|
||||
|
||||
.mfp-preloader {
|
||||
color: #CCC;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
width: auto;
|
||||
text-align: center;
|
||||
margin-top: -0.8em;
|
||||
left: 8px;
|
||||
right: 8px;
|
||||
z-index: 1044; }
|
||||
.mfp-preloader a {
|
||||
color: #CCC; }
|
||||
.mfp-preloader a:hover {
|
||||
color: #FFF; }
|
||||
|
||||
.mfp-s-ready .mfp-preloader {
|
||||
display: none; }
|
||||
|
||||
.mfp-s-error .mfp-content {
|
||||
display: none; }
|
||||
|
||||
button.mfp-close,
|
||||
button.mfp-arrow {
|
||||
overflow: visible;
|
||||
cursor: pointer;
|
||||
background: transparent;
|
||||
border: 0;
|
||||
-webkit-appearance: none;
|
||||
display: block;
|
||||
outline: none;
|
||||
padding: 0;
|
||||
z-index: 1046;
|
||||
box-shadow: none;
|
||||
touch-action: manipulation; }
|
||||
|
||||
button::-moz-focus-inner {
|
||||
padding: 0;
|
||||
border: 0; }
|
||||
|
||||
.mfp-close {
|
||||
width: 44px;
|
||||
height: 44px;
|
||||
line-height: 44px;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
text-decoration: none;
|
||||
text-align: center;
|
||||
opacity: 0.65;
|
||||
padding: 0 0 18px 10px;
|
||||
color: #FFF;
|
||||
font-style: normal;
|
||||
font-size: 28px;
|
||||
font-family: Arial, Baskerville, monospace; }
|
||||
.mfp-close:hover,
|
||||
.mfp-close:focus {
|
||||
opacity: 1; }
|
||||
.mfp-close:active {
|
||||
top: 1px; }
|
||||
|
||||
.mfp-close-btn-in .mfp-close {
|
||||
color: #333; }
|
||||
|
||||
.mfp-image-holder .mfp-close,
|
||||
.mfp-iframe-holder .mfp-close {
|
||||
color: #FFF;
|
||||
right: -6px;
|
||||
text-align: right;
|
||||
padding-right: 6px;
|
||||
width: 100%; }
|
||||
|
||||
.mfp-counter {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
color: #CCC;
|
||||
font-size: 12px;
|
||||
line-height: 18px;
|
||||
white-space: nowrap; }
|
||||
|
||||
.mfp-arrow {
|
||||
position: absolute;
|
||||
opacity: 0.65;
|
||||
margin: 0;
|
||||
top: 50%;
|
||||
margin-top: -55px;
|
||||
padding: 0;
|
||||
width: 90px;
|
||||
height: 110px;
|
||||
-webkit-tap-highlight-color: transparent; }
|
||||
.mfp-arrow:active {
|
||||
margin-top: -54px; }
|
||||
.mfp-arrow:hover,
|
||||
.mfp-arrow:focus {
|
||||
opacity: 1; }
|
||||
.mfp-arrow:before,
|
||||
.mfp-arrow:after {
|
||||
content: '';
|
||||
display: block;
|
||||
width: 0;
|
||||
height: 0;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
margin-top: 35px;
|
||||
margin-left: 35px;
|
||||
border: medium inset transparent; }
|
||||
.mfp-arrow:after {
|
||||
border-top-width: 13px;
|
||||
border-bottom-width: 13px;
|
||||
top: 8px; }
|
||||
.mfp-arrow:before {
|
||||
border-top-width: 21px;
|
||||
border-bottom-width: 21px;
|
||||
opacity: 0.7; }
|
||||
|
||||
.mfp-arrow-left {
|
||||
left: 0; }
|
||||
.mfp-arrow-left:after {
|
||||
border-right: 17px solid #FFF;
|
||||
margin-left: 31px; }
|
||||
.mfp-arrow-left:before {
|
||||
margin-left: 25px;
|
||||
border-right: 27px solid #3F3F3F; }
|
||||
|
||||
.mfp-arrow-right {
|
||||
right: 0; }
|
||||
.mfp-arrow-right:after {
|
||||
border-left: 17px solid #FFF;
|
||||
margin-left: 39px; }
|
||||
.mfp-arrow-right:before {
|
||||
border-left: 27px solid #3F3F3F; }
|
||||
|
||||
.mfp-iframe-holder {
|
||||
padding-top: 40px;
|
||||
padding-bottom: 40px; }
|
||||
.mfp-iframe-holder .mfp-content {
|
||||
line-height: 0;
|
||||
width: 100%;
|
||||
max-width: 900px; }
|
||||
.mfp-iframe-holder .mfp-close {
|
||||
top: -40px; }
|
||||
|
||||
.mfp-iframe-scaler {
|
||||
width: 100%;
|
||||
height: 0;
|
||||
overflow: hidden;
|
||||
padding-top: 56.25%; }
|
||||
.mfp-iframe-scaler iframe {
|
||||
position: absolute;
|
||||
display: block;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
|
||||
background: #000; }
|
||||
|
||||
/* Main image in popup */
|
||||
img.mfp-img {
|
||||
width: auto;
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
display: block;
|
||||
line-height: 0;
|
||||
box-sizing: border-box;
|
||||
padding: 40px 0 40px;
|
||||
margin: 0 auto; }
|
||||
|
||||
/* The shadow behind the image */
|
||||
.mfp-figure {
|
||||
line-height: 0; }
|
||||
.mfp-figure:after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 40px;
|
||||
bottom: 40px;
|
||||
display: block;
|
||||
right: 0;
|
||||
width: auto;
|
||||
height: auto;
|
||||
z-index: -1;
|
||||
box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
|
||||
background: #444; }
|
||||
.mfp-figure small {
|
||||
color: #BDBDBD;
|
||||
display: block;
|
||||
font-size: 12px;
|
||||
line-height: 14px; }
|
||||
.mfp-figure figure {
|
||||
margin: 0; }
|
||||
|
||||
.mfp-bottom-bar {
|
||||
margin-top: -36px;
|
||||
position: absolute;
|
||||
top: 100%;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
cursor: auto; }
|
||||
|
||||
.mfp-title {
|
||||
text-align: left;
|
||||
line-height: 18px;
|
||||
color: #F3F3F3;
|
||||
word-wrap: break-word;
|
||||
padding-right: 36px; }
|
||||
|
||||
.mfp-image-holder .mfp-content {
|
||||
max-width: 100%; }
|
||||
|
||||
.mfp-gallery .mfp-image-holder .mfp-figure {
|
||||
cursor: pointer; }
|
||||
|
||||
@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
|
||||
/**
|
||||
* Remove all paddings around the image on small screen
|
||||
*/
|
||||
.mfp-img-mobile .mfp-image-holder {
|
||||
padding-left: 0;
|
||||
padding-right: 0; }
|
||||
.mfp-img-mobile img.mfp-img {
|
||||
padding: 0; }
|
||||
.mfp-img-mobile .mfp-figure:after {
|
||||
top: 0;
|
||||
bottom: 0; }
|
||||
.mfp-img-mobile .mfp-figure small {
|
||||
display: inline;
|
||||
margin-left: 5px; }
|
||||
.mfp-img-mobile .mfp-bottom-bar {
|
||||
background: rgba(0, 0, 0, 0.6);
|
||||
bottom: 0;
|
||||
margin: 0;
|
||||
top: auto;
|
||||
padding: 3px 5px;
|
||||
position: fixed;
|
||||
box-sizing: border-box; }
|
||||
.mfp-img-mobile .mfp-bottom-bar:empty {
|
||||
padding: 0; }
|
||||
.mfp-img-mobile .mfp-counter {
|
||||
right: 5px;
|
||||
top: 3px; }
|
||||
.mfp-img-mobile .mfp-close {
|
||||
top: 0;
|
||||
right: 0;
|
||||
width: 35px;
|
||||
height: 35px;
|
||||
line-height: 35px;
|
||||
background: rgba(0, 0, 0, 0.6);
|
||||
position: fixed;
|
||||
text-align: center;
|
||||
padding: 0; } }
|
||||
|
||||
@media all and (max-width: 900px) {
|
||||
.mfp-arrow {
|
||||
-webkit-transform: scale(0.75);
|
||||
transform: scale(0.75); }
|
||||
.mfp-arrow-left {
|
||||
-webkit-transform-origin: 0;
|
||||
transform-origin: 0; }
|
||||
.mfp-arrow-right {
|
||||
-webkit-transform-origin: 100%;
|
||||
transform-origin: 100%; }
|
||||
.mfp-container {
|
||||
padding-left: 6px;
|
||||
padding-right: 6px; } }
|
||||
|
|
@ -0,0 +1,138 @@
|
|||
.nice-select {
|
||||
-webkit-tap-highlight-color: transparent;
|
||||
background-color: #fff;
|
||||
border-radius: 5px;
|
||||
border: solid 1px #e8e8e8;
|
||||
box-sizing: border-box;
|
||||
clear: both;
|
||||
cursor: pointer;
|
||||
display: block;
|
||||
float: left;
|
||||
font-family: inherit;
|
||||
font-size: 14px;
|
||||
font-weight: normal;
|
||||
height: 42px;
|
||||
line-height: 40px;
|
||||
outline: none;
|
||||
padding-left: 18px;
|
||||
padding-right: 30px;
|
||||
position: relative;
|
||||
text-align: left !important;
|
||||
-webkit-transition: all 0.2s ease-in-out;
|
||||
transition: all 0.2s ease-in-out;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
white-space: nowrap;
|
||||
width: auto; }
|
||||
.nice-select:hover {
|
||||
border-color: #dbdbdb; }
|
||||
.nice-select:active, .nice-select.open, .nice-select:focus {
|
||||
border-color: #999; }
|
||||
.nice-select:after {
|
||||
border-bottom: 2px solid #999;
|
||||
border-right: 2px solid #999;
|
||||
content: '';
|
||||
display: block;
|
||||
height: 5px;
|
||||
margin-top: -4px;
|
||||
pointer-events: none;
|
||||
position: absolute;
|
||||
right: 12px;
|
||||
top: 50%;
|
||||
-webkit-transform-origin: 66% 66%;
|
||||
-ms-transform-origin: 66% 66%;
|
||||
transform-origin: 66% 66%;
|
||||
-webkit-transform: rotate(45deg);
|
||||
-ms-transform: rotate(45deg);
|
||||
transform: rotate(45deg);
|
||||
-webkit-transition: all 0.15s ease-in-out;
|
||||
transition: all 0.15s ease-in-out;
|
||||
width: 5px; }
|
||||
.nice-select.open:after {
|
||||
-webkit-transform: rotate(-135deg);
|
||||
-ms-transform: rotate(-135deg);
|
||||
transform: rotate(-135deg); }
|
||||
.nice-select.open .list {
|
||||
opacity: 1;
|
||||
pointer-events: auto;
|
||||
-webkit-transform: scale(1) translateY(0);
|
||||
-ms-transform: scale(1) translateY(0);
|
||||
transform: scale(1) translateY(0); }
|
||||
.nice-select.disabled {
|
||||
border-color: #ededed;
|
||||
color: #999;
|
||||
pointer-events: none; }
|
||||
.nice-select.disabled:after {
|
||||
border-color: #cccccc; }
|
||||
.nice-select.wide {
|
||||
width: 100%; }
|
||||
.nice-select.wide .list {
|
||||
left: 0 !important;
|
||||
right: 0 !important; }
|
||||
.nice-select.right {
|
||||
float: right; }
|
||||
.nice-select.right .list {
|
||||
left: auto;
|
||||
right: 0; }
|
||||
.nice-select.small {
|
||||
font-size: 12px;
|
||||
height: 36px;
|
||||
line-height: 34px; }
|
||||
.nice-select.small:after {
|
||||
height: 4px;
|
||||
width: 4px; }
|
||||
.nice-select.small .option {
|
||||
line-height: 34px;
|
||||
min-height: 34px; }
|
||||
.nice-select .list {
|
||||
background-color: #fff;
|
||||
border-radius: 5px;
|
||||
box-shadow: 0 0 0 1px rgba(68, 68, 68, 0.11);
|
||||
box-sizing: border-box;
|
||||
margin-top: 4px;
|
||||
opacity: 0;
|
||||
overflow: hidden;
|
||||
padding: 0;
|
||||
pointer-events: none;
|
||||
position: absolute;
|
||||
top: 100%;
|
||||
left: 0;
|
||||
-webkit-transform-origin: 50% 0;
|
||||
-ms-transform-origin: 50% 0;
|
||||
transform-origin: 50% 0;
|
||||
-webkit-transform: scale(0.75) translateY(-21px);
|
||||
-ms-transform: scale(0.75) translateY(-21px);
|
||||
transform: scale(0.75) translateY(-21px);
|
||||
-webkit-transition: all 0.2s cubic-bezier(0.5, 0, 0, 1.25), opacity 0.15s ease-out;
|
||||
transition: all 0.2s cubic-bezier(0.5, 0, 0, 1.25), opacity 0.15s ease-out;
|
||||
z-index: 9; }
|
||||
.nice-select .list:hover .option:not(:hover) {
|
||||
background-color: transparent !important; }
|
||||
.nice-select .option {
|
||||
cursor: pointer;
|
||||
font-weight: 400;
|
||||
line-height: 40px;
|
||||
list-style: none;
|
||||
min-height: 40px;
|
||||
outline: none;
|
||||
padding-left: 18px;
|
||||
padding-right: 29px;
|
||||
text-align: left;
|
||||
-webkit-transition: all 0.2s;
|
||||
transition: all 0.2s; }
|
||||
.nice-select .option:hover, .nice-select .option.focus, .nice-select .option.selected.focus {
|
||||
background-color: #f6f6f6; }
|
||||
.nice-select .option.selected {
|
||||
font-weight: bold; }
|
||||
.nice-select .option.disabled {
|
||||
background-color: transparent;
|
||||
color: #999;
|
||||
cursor: default; }
|
||||
|
||||
.no-csspointerevents .nice-select .list {
|
||||
display: none; }
|
||||
|
||||
.no-csspointerevents .nice-select.open .list {
|
||||
display: block; }
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
/**
|
||||
* Owl Carousel v2.2.1
|
||||
* Copyright 2013-2017 Saurabh Sharma
|
||||
* Licensed under ()
|
||||
*/
|
||||
.owl-carousel,.owl-carousel .owl-item{-webkit-tap-highlight-color:transparent;position:relative}.owl-carousel{display:none;width:100%;z-index:1}.owl-carousel .owl-stage{position:relative;-ms-touch-action:pan-Y;-moz-backface-visibility:hidden}.owl-carousel .owl-stage:after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.owl-carousel .owl-stage-outer{position:relative;overflow:hidden;-webkit-transform:translate3d(0,0,0)}.owl-carousel .owl-item,.owl-carousel .owl-wrapper{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0)}.owl-carousel .owl-item{min-height:1px;float:left;-webkit-backface-visibility:hidden;-webkit-touch-callout:none}.owl-carousel .owl-item img{display:block;width:100%}.owl-carousel .owl-dots.disabled,.owl-carousel .owl-nav.disabled{display:none}.no-js .owl-carousel,.owl-carousel.owl-loaded{display:block}.owl-carousel .owl-dot,.owl-carousel .owl-nav .owl-next,.owl-carousel .owl-nav .owl-prev{cursor:pointer;cursor:hand;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel.owl-loading{opacity:0;display:block}.owl-carousel.owl-hidden{opacity:0}.owl-carousel.owl-refresh .owl-item{visibility:hidden}.owl-carousel.owl-drag .owl-item{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel.owl-grab{cursor:move;cursor:grab}.owl-carousel.owl-rtl{direction:rtl}.owl-carousel.owl-rtl .owl-item{float:right}.owl-carousel .animated{animation-duration:1s;animation-fill-mode:both}.owl-carousel .owl-animated-in{z-index:0}.owl-carousel .owl-animated-out{z-index:1}.owl-carousel .fadeOut{animation-name:fadeOut}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.owl-height{transition:height .5s ease-in-out}.owl-carousel .owl-item .owl-lazy{opacity:0;transition:opacity .4s ease}.owl-carousel .owl-item img.owl-lazy{transform-style:preserve-3d}.owl-carousel .owl-video-wrapper{position:relative;height:100%;background:#000}.owl-carousel .owl-video-play-icon{position:absolute;height:80px;width:80px;left:50%;top:50%;margin-left:-40px;margin-top:-40px;background:url(owl.video.play.html) no-repeat;cursor:pointer;z-index:1;-webkit-backface-visibility:hidden;transition:transform .1s ease}.owl-carousel .owl-video-play-icon:hover{-ms-transform:scale(1.3,1.3);transform:scale(1.3,1.3)}.owl-carousel .owl-video-playing .owl-video-play-icon,.owl-carousel .owl-video-playing .owl-video-tn{display:none}.owl-carousel .owl-video-tn{opacity:0;height:100%;background-position:center center;background-repeat:no-repeat;background-size:contain;transition:opacity .4s ease}.owl-carousel .owl-video-frame{position:relative;z-index:1;height:100%;width:100%}
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
<!DOCTYPE html>
|
||||
<html style="height:100%">
|
||||
<head>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
|
||||
<title> 404 Not Found
|
||||
</title></head>
|
||||
<body style="color: #444; margin:0;font: normal 14px/20px Arial, Helvetica, sans-serif; height:100%; background-color: #fff;">
|
||||
<div style="height:auto; min-height:100%; "> <div style="text-align: center; width:800px; margin-left: -400px; position:absolute; top: 30%; left:50%;">
|
||||
<h1 style="margin:0; font-size:150px; line-height:150px; font-weight:bold;">404</h1>
|
||||
<h2 style="margin-top:20px;font-size: 30px;">Not Found
|
||||
</h2>
|
||||
<p>The resource requested could not be found on this server!</p>
|
||||
</div></div><div style="color:#f0f0f0; font-size:12px;margin:auto;padding:0px 30px 0px 30px;position:relative;clear:both;height:100px;margin-top:-101px;background-color:#474747;border-top: 1px solid rgba(0,0,0,0.15);box-shadow: 0 1px 0 rgba(255, 255, 255, 0.3) inset;">
|
||||
<br>Proudly powered by <a style="color:#fff;" href="http://www.litespeedtech.com/error-page">LiteSpeed Web Server</a><p>Please be advised that LiteSpeed Technologies Inc. is not a web hosting company and, as such, has no control over content found on this site.</p></div></body></html>
|
||||
|
|
@ -1,280 +0,0 @@
|
|||
@charset 'UTF-8';
|
||||
/* Slider */
|
||||
/* .slick-loading .slick-list
|
||||
{
|
||||
background: #fff url('./ajax-loader.gif') center center no-repeat;
|
||||
} */
|
||||
|
||||
/* Icons */
|
||||
/* @font-face
|
||||
{
|
||||
font-family: 'slick';
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
|
||||
src: url('./fonts/slick.eot');
|
||||
src: url('./fonts/slick.eot?#iefix') format('embedded-opentype'), url('./fonts/slick.woff') format('woff'), url('./fonts/slick.ttf') format('truetype'), url('./fonts/slick.svg#slick') format('svg');
|
||||
} */
|
||||
/* Arrows */
|
||||
.slick-prev,
|
||||
.slick-next {
|
||||
font-size: 0;
|
||||
line-height: 0;
|
||||
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
|
||||
display: block;
|
||||
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
padding: 0;
|
||||
-webkit-transform: translate(0, -50%);
|
||||
-ms-transform: translate(0, -50%);
|
||||
transform: translate(0, -50%);
|
||||
|
||||
cursor: pointer;
|
||||
|
||||
color: transparent;
|
||||
border: none;
|
||||
outline: none;
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.slick-prev:hover,
|
||||
.slick-prev:focus,
|
||||
.slick-next:hover,
|
||||
.slick-next:focus {
|
||||
color: transparent;
|
||||
outline: none;
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.slick-prev:hover:before,
|
||||
.slick-prev:focus:before,
|
||||
.slick-next:hover:before,
|
||||
.slick-next:focus:before {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.slick-prev.slick-disabled:before,
|
||||
.slick-next.slick-disabled:before {
|
||||
opacity: .25;
|
||||
}
|
||||
|
||||
.slick-prev:before,
|
||||
.slick-next:before {
|
||||
font-family: 'slick';
|
||||
font-size: 20px;
|
||||
line-height: 1;
|
||||
|
||||
opacity: .75;
|
||||
color: white;
|
||||
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
.slick-prev {
|
||||
left: 25px;
|
||||
}
|
||||
|
||||
/* ============================================================ */
|
||||
.intro_slider .slick-prev {
|
||||
background: rgba(250, 250, 250, .5);
|
||||
width: 40px;
|
||||
height: 60px;
|
||||
border-radius: 10px;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
/* ============================================================ */
|
||||
|
||||
[dir='rtl'] .slick-prev {
|
||||
right: -25px;
|
||||
left: auto;
|
||||
}
|
||||
|
||||
.slick-prev:before {
|
||||
content: url("../images/svg/arrow-prev.svg");
|
||||
}
|
||||
|
||||
[dir='rtl'] .slick-prev:before {
|
||||
content: '→';
|
||||
}
|
||||
|
||||
.slick-next {
|
||||
right: 25px;
|
||||
}
|
||||
|
||||
/* ============================================================ */
|
||||
.intro_slider .slick-next {
|
||||
background: rgba(250, 250, 250, .5);
|
||||
width: 40px;
|
||||
height: 60px;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
/* ============================================================ */
|
||||
|
||||
[dir='rtl'] .slick-next {
|
||||
right: auto;
|
||||
left: -25px;
|
||||
}
|
||||
|
||||
.slick-next:before {
|
||||
content: url("../images/svg/arrow-next.svg");
|
||||
}
|
||||
|
||||
[dir='rtl'] .slick-next:before {
|
||||
content: '←';
|
||||
}
|
||||
|
||||
/* Dots */
|
||||
.slick-dotted.slick-slider {
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
.slick-dots {
|
||||
position: absolute;
|
||||
bottom: -25px;
|
||||
|
||||
display: block;
|
||||
|
||||
width: 100%;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
|
||||
list-style: none;
|
||||
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/* ======================================== */
|
||||
|
||||
.intro_slider .slick-dots {
|
||||
background: rgba(250, 250, 250, .5);
|
||||
border-radius: 10px;
|
||||
|
||||
width: 110px;
|
||||
height: 30px;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
bottom: 20px;
|
||||
}
|
||||
|
||||
/* ======================================== */
|
||||
|
||||
/* ======================================== */
|
||||
.advert .slick-dots {
|
||||
background: rgba(0, 49, 151, .5);
|
||||
border-radius: 10px;
|
||||
|
||||
width: 110px;
|
||||
height: 30px;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
bottom: 25px;
|
||||
}
|
||||
|
||||
/* ======================================== */
|
||||
|
||||
|
||||
|
||||
.slick-dots li {
|
||||
position: relative;
|
||||
|
||||
display: inline-block;
|
||||
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
margin: 0 5px;
|
||||
padding: 0;
|
||||
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.slick-dots li button {
|
||||
font-size: 0;
|
||||
line-height: 0;
|
||||
|
||||
display: block;
|
||||
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
padding: 5px;
|
||||
|
||||
cursor: pointer;
|
||||
|
||||
color: transparent;
|
||||
border: 0;
|
||||
outline: none;
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.slick-dots li button:hover,
|
||||
.slick-dots li button:focus {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.slick-dots li button:hover:before,
|
||||
.slick-dots li button:focus:before {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.slick-dots li button:before {
|
||||
font-family: 'slick';
|
||||
font-size: 6px;
|
||||
line-height: 20px;
|
||||
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
|
||||
content: '';
|
||||
text-align: center;
|
||||
|
||||
opacity: .25;
|
||||
color: #fff;
|
||||
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
/* ======================================== */
|
||||
.intro_slider .slick-dots li button:before,
|
||||
.advert .slick-dots li button:before {
|
||||
border-radius: 10px;
|
||||
background: #fff;
|
||||
|
||||
opacity: .4;
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
}
|
||||
|
||||
/* ======================================== */
|
||||
|
||||
.slick-dots li.slick-active button:before {
|
||||
opacity: 1;
|
||||
color: black;
|
||||
}
|
||||
|
||||
/* ======================================== */
|
||||
.intro_slider .slick-.slick-active li button:before,
|
||||
.advert .slick-.slick-active li button:before {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
/* ======================================== */
|
||||
|
||||
@media(max-width: 800px) {
|
||||
|
||||
.intro_slider .slick-next,
|
||||
.intro_slider .slick-prev {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,119 +0,0 @@
|
|||
/* Slider */
|
||||
.slick-slider
|
||||
{
|
||||
position: relative;
|
||||
|
||||
display: block;
|
||||
box-sizing: border-box;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
|
||||
-webkit-touch-callout: none;
|
||||
-khtml-user-select: none;
|
||||
-ms-touch-action: pan-y;
|
||||
touch-action: pan-y;
|
||||
-webkit-tap-highlight-color: transparent;
|
||||
}
|
||||
|
||||
.slick-list
|
||||
{
|
||||
position: relative;
|
||||
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
.slick-list:focus
|
||||
{
|
||||
outline: none;
|
||||
}
|
||||
.slick-list.dragging
|
||||
{
|
||||
cursor: pointer;
|
||||
cursor: hand;
|
||||
}
|
||||
|
||||
.slick-slider .slick-track,
|
||||
.slick-slider .slick-list
|
||||
{
|
||||
-webkit-transform: translate3d(0, 0, 0);
|
||||
-moz-transform: translate3d(0, 0, 0);
|
||||
-ms-transform: translate3d(0, 0, 0);
|
||||
-o-transform: translate3d(0, 0, 0);
|
||||
transform: translate3d(0, 0, 0);
|
||||
}
|
||||
|
||||
.slick-track
|
||||
{
|
||||
position: relative;
|
||||
top: 0;
|
||||
left: 0;
|
||||
|
||||
display: block;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
.slick-track:before,
|
||||
.slick-track:after
|
||||
{
|
||||
display: table;
|
||||
|
||||
content: '';
|
||||
}
|
||||
.slick-track:after
|
||||
{
|
||||
clear: both;
|
||||
}
|
||||
.slick-loading .slick-track
|
||||
{
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.slick-slide
|
||||
{
|
||||
display: none;
|
||||
float: left;
|
||||
|
||||
height: 100%;
|
||||
min-height: 1px;
|
||||
}
|
||||
[dir='rtl'] .slick-slide
|
||||
{
|
||||
float: right;
|
||||
}
|
||||
.slick-slide img
|
||||
{
|
||||
display: block;
|
||||
}
|
||||
.slick-slide.slick-loading img
|
||||
{
|
||||
display: none;
|
||||
}
|
||||
.slick-slide.dragging img
|
||||
{
|
||||
pointer-events: none;
|
||||
}
|
||||
.slick-initialized .slick-slide
|
||||
{
|
||||
display: block;
|
||||
}
|
||||
.slick-loading .slick-slide
|
||||
{
|
||||
visibility: hidden;
|
||||
}
|
||||
.slick-vertical .slick-slide
|
||||
{
|
||||
display: block;
|
||||
|
||||
height: auto;
|
||||
|
||||
border: 1px solid transparent;
|
||||
}
|
||||
.slick-arrow.slick-hidden {
|
||||
display: none;
|
||||
}
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
||||
<svg xmlns="http://www.w3.org/2000/svg">
|
||||
<metadata>Generated by IcoMoon</metadata>
|
||||
<defs>
|
||||
<font id="classyfonts" horiz-adv-x="1024">
|
||||
<font-face units-per-em="1024" ascent="960" descent="-64" />
|
||||
<missing-glyph horiz-adv-x="1024" />
|
||||
<glyph unicode=" " horiz-adv-x="512" d="" />
|
||||
<glyph unicode="" glyph-name="down-arrow" d="M962.878 685.346c-12.701 12.701-33.34 12.701-46.040 0l-404.837-405.631-405.631 405.631c-12.701 12.701-33.34 12.701-46.040 0s-12.701-33.34 0-46.040l427.857-427.857c6.35-6.35 14.288-9.526 23.020-9.526 7.938 0 16.67 3.175 23.020 9.526l427.857 427.857c13.495 12.701 13.495 33.34 0.794 46.040z" />
|
||||
</font></defs></svg>
|
||||
|
After Width: | Height: | Size: 785 B |
|
After Width: | Height: | Size: 434 KiB |
|
Before Width: | Height: | Size: 194 KiB |
|
Before Width: | Height: | Size: 2.9 MiB |
|
Before Width: | Height: | Size: 249 KiB |
|
Before Width: | Height: | Size: 68 KiB |
|
Before Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 6.1 KiB |
|
Before Width: | Height: | Size: 8.7 KiB |
|
Before Width: | Height: | Size: 6.5 KiB |
|
Before Width: | Height: | Size: 5.5 KiB |
|
Before Width: | Height: | Size: 69 KiB |
|
Before Width: | Height: | Size: 170 KiB |
|
Before Width: | Height: | Size: 8.3 KiB |
|
Before Width: | Height: | Size: 60 KiB |
|
Before Width: | Height: | Size: 96 KiB |
|
Before Width: | Height: | Size: 9.0 KiB |
|
Before Width: | Height: | Size: 78 KiB |
|
Before Width: | Height: | Size: 68 KiB |
|
Before Width: | Height: | Size: 7.7 KiB |
|
Before Width: | Height: | Size: 900 B |
|
Before Width: | Height: | Size: 3.8 KiB |
|
Before Width: | Height: | Size: 868 KiB |
|
|
@ -1,3 +0,0 @@
|
|||
<svg id="Group_118" data-name="Group 118" xmlns="http://www.w3.org/2000/svg" width="21.617" height="23" viewBox="0 0 21.617 23">
|
||||
<path id="Path_3272" data-name="Path 3272" d="M35.728,7.375a.958.958,0,0,0-1.355,0L22.853,18.961a3.833,3.833,0,0,1-5.419-5.423L29.295,1.614A2.4,2.4,0,0,1,32.681,5L22.854,14.83l0,0A.958.958,0,0,1,21.5,13.476l4.743-4.744a.958.958,0,1,0-1.355-1.355L20.144,12.12a2.875,2.875,0,0,0,4.066,4.065l0,0L34.036,6.36a4.312,4.312,0,0,0-6.1-6.1L16.076,12.184a5.75,5.75,0,0,0,8.134,8.13L35.732,8.73A.958.958,0,0,0,35.728,7.375Z" transform="translate(-14.394 1.002)" fill="#003197"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 606 B |
|
|
@ -1,10 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
|
||||
<g id="Group_116" data-name="Group 116" transform="translate(-1539 -105)">
|
||||
<g id="Ellipse_31" data-name="Ellipse 31" transform="translate(1539 105)" fill="rgba(255,255,255,0)" stroke="#003197" stroke-width="2">
|
||||
<circle cx="10" cy="10" r="10" stroke="none" />
|
||||
<circle cx="10" cy="10" r="9" fill="none" />
|
||||
</g>
|
||||
<rect id="Rectangle_95" data-name="Rectangle 95" width="2" height="10" rx="1" transform="translate(1548 110)" fill="#003197" />
|
||||
<rect id="Rectangle_96" data-name="Rectangle 96" width="2" height="10" rx="1" transform="translate(1544 116) rotate(-90)" fill="#003197" />
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 689 B |
|
|
@ -1,10 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
|
||||
<g id="Group_116" data-name="Group 116" transform="translate(-1539 -105)">
|
||||
<g id="Ellipse_31" data-name="Ellipse 31" transform="translate(1539 105)" fill="rgba(255,255,255,0)" stroke="#fff" stroke-width="2">
|
||||
<circle cx="10" cy="10" r="10" stroke="none" />
|
||||
<circle cx="10" cy="10" r="9" fill="none" />
|
||||
</g>
|
||||
<rect id="Rectangle_95" data-name="Rectangle 95" width="2" height="10" rx="1" transform="translate(1548 110)" fill="#fff" />
|
||||
<rect id="Rectangle_96" data-name="Rectangle 96" width="2" height="10" rx="1" transform="translate(1544 116) rotate(-90)" fill="#fff" />
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 680 B |
|
|
@ -1,3 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="10" height="6" viewBox="0 0 10 6">
|
||||
<path id="Union_1" data-name="Union 1" d="M-10288.26-97.869l-4.048-4.076a.968.968,0,0,1,0-1.36.949.949,0,0,1,1.349,0l3.373,3.4,3.371-3.4a.949.949,0,0,1,1.349,0,.968.968,0,0,1,0,1.36l-4.045,4.076a.946.946,0,0,1-.675.283A.945.945,0,0,1-10288.26-97.869Z" transform="translate(10292.587 103.586)" fill="#fff"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 398 B |
|
|
@ -1,3 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="10" height="6" viewBox="0 0 10 6">
|
||||
<path id="Union_1" data-name="Union 1" d="M-10288.26-97.869l-4.048-4.076a.968.968,0,0,1,0-1.36.949.949,0,0,1,1.349,0l3.373,3.4,3.371-3.4a.949.949,0,0,1,1.349,0,.968.968,0,0,1,0,1.36l-4.045,4.076a.946.946,0,0,1-.675.283A.945.945,0,0,1-10288.26-97.869Z" transform="translate(10292.587 103.586)" fill="#003197"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 401 B |
|
|
@ -1,5 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="9.414" height="16.828" viewBox="0 0 9.414 16.828">
|
||||
<g id="arrow-down" transform="translate(-10.586 20.414) rotate(-90)">
|
||||
<path id="Контур_123" data-name="Контур 123" d="M19,12l-7,7L5,12" fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 358 B |
|
|
@ -1,5 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="9.414" height="16.828" viewBox="0 0 9.414 16.828">
|
||||
<g id="arrow-down" transform="translate(1 15.414) rotate(-90)">
|
||||
<path id="Контур_123" data-name="Контур 123" d="M14,7,7,0,0,7" fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 349 B |
|
|
@ -1,6 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="10.004" height="10.832" viewBox="0 0 10.004 10.832">
|
||||
<g id="arrow-right" transform="translate(-4 -3.586)">
|
||||
<line id="Линия_55" data-name="Линия 55" x2="8" transform="translate(5 9.004)" fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
<path id="Контур_1" data-name="Контур 1" d="M12,5l4,4-4,4" transform="translate(-2.998)" fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 552 B |
|
|
@ -1,6 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="16.403" height="18" viewBox="0 0 16.403 18">
|
||||
<g id="bell" transform="translate(-2 -1)">
|
||||
<path id="Path_3283" data-name="Path 3283" d="M15,6.8a4.8,4.8,0,1,0-9.6,0C5.4,12.4,3,14,3,14H17.4S15,12.4,15,6.8" fill="none" stroke="#003197" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
<path id="Path_3284" data-name="Path 3284" d="M13.039,21a1.6,1.6,0,0,1-2.769,0" transform="translate(-1.453 -3.797)" fill="none" stroke="#003197" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 580 B |
|
|
@ -1,6 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="16.403" height="18" viewBox="0 0 16.403 18">
|
||||
<g id="bell" transform="translate(-2 -1)">
|
||||
<path id="Path_3283" data-name="Path 3283" d="M15,6.8a4.8,4.8,0,1,0-9.6,0C5.4,12.4,3,14,3,14H17.4S15,12.4,15,6.8" fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
<path id="Path_3284" data-name="Path 3284" d="M13.039,21a1.6,1.6,0,0,1-2.769,0" transform="translate(-1.453 -3.797)" fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 574 B |
|
|
@ -1,3 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="22" height="16" viewBox="0 0 22 16">
|
||||
<path id="Контур_3190" data-name="Контур 3190" d="M25.29,33.238A3.34,3.34,0,0,1,28.5,31.246H43.449a3.39,3.39,0,0,1,3.215,1.911.566.566,0,0,1,.081.527.591.591,0,0,1-.4.368l-9.913,5.021a.849.849,0,0,1-.822,0L25.567,34.01a.516.516,0,0,1-.34-.318A.5.5,0,0,1,25.29,33.238Zm.655,3.2q4.684,2.376,9.359,4.735a1.4,1.4,0,0,0,1.385,0q4.653-2.367,9.319-4.692a1.094,1.094,0,0,1,.29-.107.536.536,0,0,1,.494.082.5.5,0,0,1,.2.447v6.027a9.215,9.215,0,0,1-.057,1.561,3.323,3.323,0,0,1-3.36,2.747H28.487a3.382,3.382,0,0,1-3.36-2.453A3.251,3.251,0,0,1,25,43.936q0-3.481,0-6.966C25,36.386,25.387,36.164,25.946,36.442Z" transform="translate(-25 -31.243)" fill="#003197"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 755 B |
|
|
@ -1,9 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
|
||||
<title />
|
||||
<g data-name="menu " id="menu_">
|
||||
<path d="M29,6H3A1,1,0,0,0,3,8H29a1,1,0,0,0,0-2Z" />
|
||||
<path d="M3,17H16a1,1,0,0,0,0-2H3a1,1,0,0,0,0,2Z" />
|
||||
<path d="M25,24H3a1,1,0,0,0,0,2H25a1,1,0,0,0,0-2Z" />
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 307 B |
|
|
@ -1,6 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="22" viewBox="0 0 18 22">
|
||||
<g id="clipboard" transform="translate(-3 -1)">
|
||||
<path id="Path_3269" data-name="Path 3269" d="M16,4h2a2,2,0,0,1,2,2V20a2,2,0,0,1-2,2H6a2,2,0,0,1-2-2V6A2,2,0,0,1,6,4H8" fill="none" stroke="#003197" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
<rect id="Rectangle_111" data-name="Rectangle 111" width="8" height="4" rx="1" transform="translate(8 2)" fill="none" stroke="#003197" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 572 B |
|
|
@ -1,7 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18">
|
||||
<g id="coins" transform="translate(0 0)">
|
||||
<g id="Group_433" data-name="Group 433" transform="translate(0 0)">
|
||||
<path id="Path_987" data-name="Path 987" d="M10.636,3.419v-1.4C10.636-.673,0-.673,0,2.017v8.2c0,1.058,1.655,1.717,3.647,1.951-.728.327-1.192.768-1.192,1.327v2.459C2.455,17.3,5.13,18,7.773,18s5.318-.7,5.318-2.049V14.715c2.5-.069,4.909-.767,4.909-2.042V5.3C18,3.6,13.762,2.973,10.636,3.419ZM5.318.818c2.912,0,4.5.811,4.5,1.227S8.23,3.272,5.318,3.272s-4.5-.811-4.5-1.227S2.407.818,5.318.818ZM.818,3.184a9.6,9.6,0,0,0,4.5.907,9.6,9.6,0,0,0,4.5-.907V3.59c-1.422.315-2.455.891-2.455,1.728V5.56a12.976,12.976,0,0,1-2.045.167c-2.912,0-4.5-.811-4.5-1.227V3.184Zm7.364,8.182c.078.047.159.092.246.136l-.246-.009ZM.818,5.638a9.6,9.6,0,0,0,4.5.907,13.868,13.868,0,0,0,2.045-.161V8.424a12.976,12.976,0,0,1-2.045.167c-2.912,0-4.5-.811-4.5-1.227V5.638Zm0,4.589V8.5a9.6,9.6,0,0,0,4.5.907,13.868,13.868,0,0,0,2.045-.161v2.039a12.976,12.976,0,0,1-2.045.167C2.407,11.454.818,10.644.818,10.227Zm11.455,5.727c0,.417-1.588,1.227-4.5,1.227s-4.5-.811-4.5-1.227V14.638a9.6,9.6,0,0,0,4.5.907,10.007,10.007,0,0,0,4.371-.831l.129,0v1.237Zm-4.5-1.227c-2.912,0-4.5-.811-4.5-1.227s1.588-1.227,4.5-1.227,4.5.811,4.5,1.227S10.684,14.727,7.773,14.727Zm9.409-2.045c0,.4-1.45,1.139-4.091,1.213V13.5c0-.511-.387-.924-1.011-1.241.2.008.4.014.6.014a9.6,9.6,0,0,0,4.5-.907v1.316Zm0-2.455c0,.417-1.588,1.227-4.5,1.227s-4.5-.811-4.5-1.227V8.911a9.6,9.6,0,0,0,4.5.907,9.6,9.6,0,0,0,4.5-.907Zm0-2.455c0,.417-1.588,1.227-4.5,1.227s-4.5-.811-4.5-1.227V6.456a9.6,9.6,0,0,0,4.5.907,9.6,9.6,0,0,0,4.5-.907Zm-4.5-1.227c-2.912,0-4.5-.811-4.5-1.227s1.588-1.227,4.5-1.227,4.5.811,4.5,1.227S15.593,6.545,12.682,6.545Z" transform="translate(0 0)" fill="#003197"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.8 KiB |
|
|
@ -1,3 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40">
|
||||
<path id="Иконка_Стиль_1_" data-name="Иконка (Стиль 1)" d="M-169-64a2,2,0,0,1-2-2V-80a2,2,0,0,1,2-2h14a2,2,0,0,1,2,2v14a2,2,0,0,1-2,2Zm-22,0a2,2,0,0,1-2-2V-80a2,2,0,0,1,2-2h14a2,2,0,0,1,2,2v14a2,2,0,0,1-2,2Zm22-22a2,2,0,0,1-2-2v-14a2,2,0,0,1,2-2h14a2,2,0,0,1,2,2v14a2,2,0,0,1-2,2Zm-22,0a2,2,0,0,1-2-2v-14a2,2,0,0,1,2-2h14a2,2,0,0,1,2,2v14a2,2,0,0,1-2,2Z" transform="translate(193 104)" fill="#003197"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 518 B |
|
|
@ -1,7 +0,0 @@
|
|||
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M15.8333 15H4.16665C3.70641 15 3.33331 15.3731 3.33331 15.8333C3.33331 16.2936 3.70641 16.6667 4.16665 16.6667H15.8333C16.2935 16.6667 16.6666 16.2936 16.6666 15.8333C16.6666 15.3731 16.2935 15 15.8333 15Z" fill="#003197"/>
|
||||
<path d="M3.33331 14.1667V15.8334C3.33331 16.2936 3.70641 16.6667 4.16665 16.6667C4.62688 16.6667 4.99998 16.2936 4.99998 15.8334V14.1667C4.99998 13.7064 4.62688 13.3334 4.16665 13.3334C3.70641 13.3334 3.33331 13.7064 3.33331 14.1667Z" fill="#003197"/>
|
||||
<path d="M15 14.1667V15.8334C15 16.2936 15.3731 16.6667 15.8333 16.6667C16.2936 16.6667 16.6667 16.2936 16.6667 15.8334V14.1667C16.6667 13.7064 16.2936 13.3334 15.8333 13.3334C15.3731 13.3334 15 13.7064 15 14.1667Z" fill="#003197"/>
|
||||
<path d="M10 12.5C9.82723 12.5013 9.65833 12.4489 9.51667 12.35L6.18333 9.99998C6.00368 9.87254 5.88179 9.67915 5.84431 9.46209C5.80683 9.24503 5.85681 9.02196 5.98333 8.84165C6.04649 8.75152 6.12687 8.6748 6.21984 8.6159C6.31281 8.55701 6.41652 8.51712 6.52499 8.49852C6.63346 8.47993 6.74454 8.483 6.85181 8.50757C6.95909 8.53213 7.06043 8.5777 7.15 8.64165L10 10.6333L12.8333 8.49998C13.0101 8.36737 13.2324 8.31044 13.4512 8.34169C13.67 8.37295 13.8674 8.48984 14 8.66665C14.1326 8.84346 14.1895 9.06571 14.1583 9.2845C14.127 9.50329 14.0101 9.70071 13.8333 9.83332L10.5 12.3333C10.3558 12.4415 10.1803 12.5 10 12.5Z" fill="#003197"/>
|
||||
<path d="M10 10.8333C9.77901 10.8333 9.56705 10.7455 9.41076 10.5893C9.25448 10.433 9.16669 10.221 9.16669 10V3.33333C9.16669 3.11232 9.25448 2.90036 9.41076 2.74408C9.56705 2.5878 9.77901 2.5 10 2.5C10.221 2.5 10.433 2.5878 10.5893 2.74408C10.7456 2.90036 10.8334 3.11232 10.8334 3.33333V10C10.8334 10.221 10.7456 10.433 10.5893 10.5893C10.433 10.7455 10.221 10.8333 10 10.8333Z" fill="#003197"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.8 KiB |
|
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-eye-off"><path d="M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24"></path><line x1="1" y1="1" x2="23" y2="23"></line></svg>
|
||||
|
Before Width: | Height: | Size: 460 B |
|
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-eye"><path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"></path><circle cx="12" cy="12" r="3"></circle></svg>
|
||||
|
Before Width: | Height: | Size: 316 B |
|
|
@ -1,10 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="119.999" height="120" viewBox="0 0 119.999 120">
|
||||
<g id="Logo" transform="translate(-29.062 -59.996)">
|
||||
<g id="Logo-2" data-name="Logo" transform="translate(29.061 59.996)">
|
||||
<path id="Path_2130" data-name="Path 2130" d="M12616.765,7727.4l24.631-24.623v-11.128h11.115l4.074-4.072-19.664-19.666h-19.254v25.03l-17.693,17.682Z" transform="translate(-12599.974 -7650.213)" fill="#003197" fill-rule="evenodd"/>
|
||||
<path id="Path_2131" data-name="Path 2131" d="M14264.733,7065.507l19.662-19.663V7026.59h-25.043l-17.668-17.693-16.781,16.776,24.633,24.646h11.133v11.126Z" transform="translate(-14182.1 -7008.896)" fill="#aba17d" fill-rule="evenodd"/>
|
||||
<path id="Path_2132" data-name="Path 2132" d="M13318.561,9440.119l-24.639-24.637H13282.8v-11.135l-4.074-4.055-19.662,19.664v19.254h25.018l17.7,17.691Z" transform="translate(-13241.381 -9336.902)" fill="#0056ff" fill-rule="evenodd"/>
|
||||
<path id="Path_2133" data-name="Path 2133" d="M15011.035,8693.6h19.252v-25.043l17.691-17.664-16.783-16.775-24.639,24.627v11.131h-11.125l-4.061,4.072Z" transform="translate(-14927.979 -8591.292)" fill="#003197" fill-rule="evenodd"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.2 KiB |
|
|
@ -1,7 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="19.407" height="24.001" viewBox="0 0 19.407 24.001">
|
||||
<g id="garbage-can_1_" data-name="garbage-can (1)" transform="translate(-49)">
|
||||
<path id="Path_3275" data-name="Path 3275" d="M63.954,3.047H63.09A3.733,3.733,0,0,0,59.453,0h-1.5a3.734,3.734,0,0,0-3.637,3.047h-.863A4.458,4.458,0,0,0,49,7.5a.7.7,0,0,0,.7.7h1.22l.985,13.838a2.117,2.117,0,0,0,2.1,1.96h9.381a2.117,2.117,0,0,0,2.1-1.96L66.483,8.2H67.7a.7.7,0,0,0,.7-.7,4.458,4.458,0,0,0-4.453-4.453Zm-6-1.641h1.5a2.307,2.307,0,0,1,2.191,1.641H55.762A2.307,2.307,0,0,1,57.953,1.406ZM64.1,21.941a.706.706,0,0,1-.7.653H54.013a.706.706,0,0,1-.7-.653L52.333,8.2h12.74ZM50.488,6.8a3.052,3.052,0,0,1,2.965-2.344h10.5A3.052,3.052,0,0,1,66.919,6.8H50.488Z" fill="red" />
|
||||
<path id="Path_3276" data-name="Path 3276" d="M289.668,249.9a.7.7,0,0,0,.737-.667l.375-7.5a.7.7,0,1,0-1.4-.07l-.375,7.5A.7.7,0,0,0,289.668,249.9Z" transform="translate(-228.75 -229.702)" fill="red" />
|
||||
<path id="Path_3277" data-name="Path 3277" d="M186.077,249.906a.7.7,0,0,0,.7-.738l-.375-7.5a.7.7,0,1,0-1.4.07l.375,7.5A.7.7,0,0,0,186.077,249.906Z" transform="translate(-129.625 -229.703)" fill="red" />
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.2 KiB |
|
|
@ -1,6 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="22" height="18" viewBox="0 0 22 18">
|
||||
<g id="inbox" transform="translate(-1 -3)">
|
||||
<path id="Path_3266" data-name="Path 3266" d="M22,12H16l-2,3H10L8,12H2" fill="none" stroke="#003197" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
<path id="Path_3267" data-name="Path 3267" d="M5.45,5.11,2,12v6a2,2,0,0,0,2,2H20a2,2,0,0,0,2-2V12L18.55,5.11A2,2,0,0,0,16.76,4H7.24A2,2,0,0,0,5.45,5.11Z" fill="none" stroke="#003197" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 568 B |
|
|
@ -1,3 +0,0 @@
|
|||
<svg id="Иконка_Стиль_2_" data-name="Иконка (Стиль 2)" xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40">
|
||||
<path id="Иконка_Стиль_2_2" data-name="Иконка (Стиль 2)" d="M-177-64a2,2,0,0,1-2-2v-6a2,2,0,0,1,2-2h22a2,2,0,0,1,2,2v6a2,2,0,0,1-2,2Zm-14,0a2,2,0,0,1-2-2v-6a2,2,0,0,1,2-2h6a2,2,0,0,1,2,2v6a2,2,0,0,1-2,2Zm14-15a2,2,0,0,1-2-2v-6a2,2,0,0,1,2-2h22a2,2,0,0,1,2,2v6a2,2,0,0,1-2,2Zm-14,0a2,2,0,0,1-2-2v-6a2,2,0,0,1,2-2h6a2,2,0,0,1,2,2v6a2,2,0,0,1-2,2Zm14-15a2,2,0,0,1-2-2v-6a2,2,0,0,1,2-2h22a2,2,0,0,1,2,2v6a2,2,0,0,1-2,2Zm-14,0a2,2,0,0,1-2-2v-6a2,2,0,0,1,2-2h6a2,2,0,0,1,2,2v6a2,2,0,0,1-2,2Z" transform="translate(193 104)" fill="#003197" opacity="0.5"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 736 B |
|
|
@ -1,7 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
|
||||
<g id="log-in" transform="translate(-2 -2)">
|
||||
<path id="Контур_118" data-name="Контур 118" d="M15,3h4.873a2.44,2.44,0,0,1,2.436,2.444V22.556A2.44,2.44,0,0,1,19.873,25H15" transform="translate(2.691 0)" fill="none" stroke="#003197" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
<path id="Контур_119" data-name="Контур 119" d="M10,19.255l6.091-6.127L10,7" transform="translate(1.566 0.873)" fill="none" stroke="#003197" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
<line id="Линия_3" data-name="Линия 3" x1="14.3" transform="translate(3 13.964)" fill="none" stroke="#003197" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 825 B |
|
|
@ -1,7 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18">
|
||||
<g id="log-in" transform="translate(-2 -2)">
|
||||
<path id="Контур_118" data-name="Контур 118" d="M15,3h3.536A1.773,1.773,0,0,1,20.3,4.778V17.222A1.773,1.773,0,0,1,18.536,19H15" transform="translate(-1.304)" fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
<path id="Контур_119" data-name="Контур 119" d="M10,15.929l4.42-4.464L10,7" transform="translate(-0.764 -0.464)" fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
<line id="Линия_3" data-name="Линия 3" x1="10.376" transform="translate(3 10.973)" fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 821 B |
|
|
@ -1,7 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
|
||||
<g id="log-out" transform="translate(-2 -2)">
|
||||
<path id="Path_3264" data-name="Path 3264" d="M9,21H5a2,2,0,0,1-2-2V5A2,2,0,0,1,5,3H9" fill="none" stroke="red" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
<path id="Path_3265" data-name="Path 3265" d="M16,17l5-5L16,7" fill="none" stroke="red" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
<line id="Line_74" data-name="Line 74" x1="12" transform="translate(9 12)" fill="none" stroke="red" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 656 B |