This commit is contained in:
Shohrat 2023-11-09 10:04:25 +00:00
parent ad75efd4a4
commit 2f8aff3430
18 changed files with 338 additions and 41 deletions

View File

@ -20,6 +20,7 @@ use TPS\Birzha\Models\Comment;
use TPS\Birzha\Models\Sections; use TPS\Birzha\Models\Sections;
use TPS\Birzha\Models\Category; use TPS\Birzha\Models\Category;
use RainLab\User\Models\User; use RainLab\User\Models\User;
use ToughDeveloper\ImageResizer\Classes\Image;
class BlogPostsApiController extends Controller class BlogPostsApiController extends Controller
{ {
@ -101,6 +102,7 @@ class BlogPostsApiController extends Controller
->with([ ->with([
'translations:locale,model_id,attribute_data', 'translations:locale,model_id,attribute_data',
'images:attachment_id,attachment_type,disk_name,file_name', 'images:attachment_id,attachment_type,disk_name,file_name',
'vendor:id,name,email,type,logo,banner,shop_title,slogan,is_instagram,web2',
'place' 'place'
]) ])
->withCount(['comments as rating_avg' => function($query) { ->withCount(['comments as rating_avg' => function($query) {
@ -110,6 +112,19 @@ class BlogPostsApiController extends Controller
->orderBy("id", "DESC") ->orderBy("id", "DESC")
->paginate(12); ->paginate(12);
$products->map(function ($product) {
$image = new Image($product->images[0]->path);
$product->images[0]->compressed_image = $image->resize([ 'quality' => 50])->getCachedImagePath(true);
return $product;
//foreach($product->images as $compressImage){
// $image = new Image($compressImage->path);
// $compressImage->compressed_image = $image->resize([ 'quality' => 50])->getCachedImagePath(true);
//}
});
return response()->json(array("data"=>$products), 200); return response()->json(array("data"=>$products), 200);
} }
@ -180,7 +195,7 @@ class BlogPostsApiController extends Controller
$modified = $dataq->sections[$i]->section_type::where('type', $dataq->sections[$i]->product_type)->select('id', 'name', 'price', 'description', 'place_id', 'vendor_id', 'number_of_views', 'is_home', 'short_description', 'type')->with("place")->with([ $modified = $dataq->sections[$i]->section_type::where('type', $dataq->sections[$i]->product_type)->select('id', 'name', 'price', 'description', 'place_id', 'vendor_id', 'number_of_views', 'is_home', 'short_description', 'type')->with("place")->with([
'translations:locale,model_id,attribute_data', 'translations:locale,model_id,attribute_data',
'images:attachment_id,attachment_type,disk_name,file_name', 'images:attachment_id,attachment_type,disk_name,file_name',
'vendor:id,name,email,type,logo,banner,shop_title,slogan,is_instagram', 'vendor:id,name,email,type,logo,banner,shop_title,slogan,is_instagram,web2',
])->limit(10)->get(); ])->limit(10)->get();
// $modified->makeHidden(['created_at', 'updated_at', 'deleted_at']); // $modified->makeHidden(['created_at', 'updated_at', 'deleted_at']);
$product_section = array( $product_section = array(
@ -349,10 +364,18 @@ class BlogPostsApiController extends Controller
$favourite = $this->Favourites::where('user_id', $currentUser->id) $favourite = $this->Favourites::where('user_id', $currentUser->id)
->with(['product' => function($q){ ->with(['product' => function($q){
$q->approved()->withTrashed()->with(['images', 'place', 'files', 'translations:locale,model_id,attribute_data']); $q->approved()->withTrashed()->with(['images:attachment_id,attachment_type,disk_name,file_name', 'place', 'files', 'translations:locale,model_id,attribute_data', 'vendor:id,name,email,type,logo,banner,shop_title,slogan,is_instagram,web2',]);
}])->paginate(9); }])->paginate(9);
//dd($favourite); //dd($favourite);
$favourite->map(function ($fav) {
$image = new Image($fav->product->images[0]->path);
$fav->product->images[0]->compressed_image = $image->resize([ 'quality' => 50])->getCachedImagePath(true);
return $fav;
});
return response()->json($favourite, 200); return response()->json($favourite, 200);
} }
@ -379,6 +402,19 @@ class BlogPostsApiController extends Controller
->approved() ->approved()
->paginate(9); ->paginate(9);
$data->map(function ($product) {
$image = new Image($product->images[0]->path);
$product->images[0]->compressed_image = $image->resize([ 'quality' => 50])->getCachedImagePath(true);
return $product;
//foreach($product->images as $compressImage){
// $image = new Image($compressImage->path);
// $compressImage->compressed_image = $image->resize([ 'quality' => 50])->getCachedImagePath(true);
//}
});
return response()->json($data, 200); return response()->json($data, 200);
} }
@ -422,7 +458,7 @@ class BlogPostsApiController extends Controller
//$data = User::find($id)->first; //$data = User::find($id)->first;
$data = User::where('id', $id)->select('id', 'name', 'email', 'username', 'type', 'logo', 'shop_title', 'slogan', 'work_time', 'short_description', 'description', 'map', 'banner', 'is_instagram', 'tiktok', 'instagram', 'site', 'qr') $data = User::where('id', $id)
->with(['categories' => function($q){ ->with(['categories' => function($q){
$q->with('translations:locale,model_id,attribute_data'); $q->with('translations:locale,model_id,attribute_data');
}]) }])

View File

@ -121,7 +121,7 @@ class OrderApiController extends Controller
$orders[$i]->products = Product::whereIn("id", $productsCollectId) $orders[$i]->products = Product::whereIn("id", $productsCollectId)
->with(['translations:locale,model_id,attribute_data', ->with(['translations:locale,model_id,attribute_data',
'images:attachment_id,attachment_type,disk_name,file_name', 'images:attachment_id,attachment_type,disk_name,file_name',
'vendor:id,name,email,type,logo,banner,shop_title,slogan,is_instagram', 'vendor:id,name,email,type,logo,banner,shop_title,slogan,is_instagram,web2',
'place',]) 'place',])
->withTrashed() ->withTrashed()
->get(); ->get();

View File

@ -48,20 +48,16 @@ class ProductsAPIController extends Controller
$perPage = intval(input('custom_per_page')); // intval protects from injection $perPage = intval(input('custom_per_page')); // intval protects from injection
try { try {
$products = Product::where('keyword', 'like', "%".$data["key"]."%")->orWhere('name', 'like', "%".$data["key"]."%")->orWhere('slug','LIKE','%'.$data["key"].'%')->with(['translations:locale,model_id,attribute_data', $products = Product::where('keyword', 'like', "%".(string)$data["key"]."%")->orWhere('name', 'like', "%".$data["key"]."%")->orWhere('slug','LIKE','%'.$data["key"].'%')->with(['translations:locale,model_id,attribute_data',
'images:attachment_id,attachment_type,disk_name,file_name', 'images:attachment_id,attachment_type,disk_name,file_name',
'vendor:id,name,email,type,logo,banner,shop_title,slogan,is_instagram', 'vendor:id,name,email,type,logo,banner,shop_title,slogan,is_instagram,web2',
'place',])->where('status', 'approved')->get(); 'place',])->where('status', 'approved')->paginate(15);
$products = $products->map(function ($product) {
$products->map(function ($product) {
$image = new Image($product->images[0]->path); $image = new Image($product->images[0]->path);
$imageResized = $image->resize(200,200)->getCachedImagePath(true); $product->images[0]->compressed_image = $image->resize([ 'quality' => 50])->getCachedImagePath(true);
$product->images[0]->path2 = $imageResized;
$product->images[0]->path = $imageResized;
return $product; return $product;
}); });
// foreach($products as $product) { // foreach($products as $product) {
@ -110,7 +106,7 @@ class ProductsAPIController extends Controller
$query = Product::with([ $query = Product::with([
'translations:locale,model_id,attribute_data', 'translations:locale,model_id,attribute_data',
'images:attachment_id,attachment_type,disk_name,file_name', 'images:attachment_id,attachment_type,disk_name,file_name',
'vendor:id,name,email,type,logo,banner,shop_title,slogan,is_instagram', 'vendor:id,name,email,type,logo,banner,shop_title,slogan,is_instagram,web2',
'place', 'place',
]) ])
->withCount(['comments as rating_avg' => function($query) { ->withCount(['comments as rating_avg' => function($query) {
@ -155,7 +151,7 @@ class ProductsAPIController extends Controller
$query = Product::with([ $query = Product::with([
'translations:locale,model_id,attribute_data', 'translations:locale,model_id,attribute_data',
'images:attachment_id,attachment_type,disk_name,file_name', 'images:attachment_id,attachment_type,disk_name,file_name',
'vendor:id,name,email,type,logo,banner,shop_title,slogan,is_instagram', 'vendor:id,name,email,type,logo,banner,shop_title,slogan,is_instagram,web2',
'place', 'place',
]) ])
->withCount(['comments as rating_avg' => function($query) { ->withCount(['comments as rating_avg' => function($query) {
@ -179,7 +175,7 @@ class ProductsAPIController extends Controller
->with([ ->with([
'translations:locale,model_id,attribute_data', 'translations:locale,model_id,attribute_data',
'images:attachment_id,attachment_type,disk_name,file_name', 'images:attachment_id,attachment_type,disk_name,file_name',
'vendor:id,name,email,type,logo,banner,shop_title,slogan,is_instagram', 'vendor:id,name,email,type,logo,banner,shop_title,slogan,is_instagram,web2',
'place', 'place',
])->approved()->orderBy('id', $sortOrder); ])->approved()->orderBy('id', $sortOrder);
@ -190,7 +186,7 @@ class ProductsAPIController extends Controller
->with([ ->with([
'translations:locale,model_id,attribute_data', 'translations:locale,model_id,attribute_data',
'images:attachment_id,attachment_type,disk_name,file_name', 'images:attachment_id,attachment_type,disk_name,file_name',
'vendor:id,name,email,type,logo,banner,shop_title,slogan,is_instagram', 'vendor:id,name,email,type,logo,banner,shop_title,slogan,is_instagram,web2',
'place', 'place',
]) ])
->withCount(['comments as rating_avg' => function($query) { ->withCount(['comments as rating_avg' => function($query) {
@ -219,6 +215,7 @@ class ProductsAPIController extends Controller
->with([ ->with([
'translations:locale,model_id,attribute_data', 'translations:locale,model_id,attribute_data',
'images:attachment_id,attachment_type,disk_name,file_name', 'images:attachment_id,attachment_type,disk_name,file_name',
'vendor:id,name,email,type,logo,banner,shop_title,slogan,is_instagram,web2',
'place' 'place'
]) ])
->withCount(['comments as rating_avg' => function($query) { ->withCount(['comments as rating_avg' => function($query) {
@ -258,7 +255,7 @@ class ProductsAPIController extends Controller
'translations:locale,model_id,attribute_data', 'translations:locale,model_id,attribute_data',
'images:attachment_id,attachment_type,disk_name,file_name', 'images:attachment_id,attachment_type,disk_name,file_name',
'place', 'place',
'vendor:id,name,email,type,logo,banner,shop_title,slogan,is_instagram' 'vendor:id,name,email,type,logo,banner,shop_title,slogan,is_instagram,web2'
]) ])
->withCount(['comments as rating_avg' => function($query) { ->withCount(['comments as rating_avg' => function($query) {
$query->select(DB::raw('avg(rating)')); $query->select(DB::raw('avg(rating)'));
@ -309,6 +306,19 @@ class ProductsAPIController extends Controller
$data = $query ? $query->orderBy('id', "DESC")->orderBy('ends_at', $sortOrder)->paginate($perPage) : null; $data = $query ? $query->orderBy('id', "DESC")->orderBy('ends_at', $sortOrder)->paginate($perPage) : null;
$data->map(function ($product) {
$image = new Image($product->images[0]->path);
$product->images[0]->compressed_image = $image->resize(500)->getCachedImagePath(true);
return $product;
//foreach($product->images as $compressImage){
// $image = new Image($compressImage->path);
// $compressImage->compressed_image = $image->resize([ 'quality' => 50])->getCachedImagePath(true);
//}
});
return response()->json($data, 200); return response()->json($data, 200);
} }
@ -323,7 +333,7 @@ class ProductsAPIController extends Controller
$data = $this->Product::with([ $data = $this->Product::with([
'translations:locale,model_id,attribute_data', 'translations:locale,model_id,attribute_data',
'images:id,attachment_id,attachment_type,disk_name,file_name', 'images:id,attachment_id,attachment_type,disk_name,file_name',
'vendor:id,name,surname,email,username,logo,banner,type', 'vendor:id,name,surname,email,username,logo,banner,type,web2',
'files', 'place', 'categories:id,name,slug,primary_key,icon' 'files', 'place', 'categories:id,name,slug,primary_key,icon'
]) ])
//->withCount('comments')->withAvg('comments', 'rating') //->withCount('comments')->withAvg('comments', 'rating')

View File

@ -62,7 +62,10 @@ class VendorApiController extends Controller
} }
//dd($data); //dd($data);
$currentUser = \JWTAuth::parseToken()->authenticate(); $currentUser = \JWTAuth::parseToken()->authenticate();
$vendor = Vendor::find($currentUser->id)->first(); $vendor = Vendor::where("id", $currentUser->id)->with(['categories' => function($q){
$q->with('translations:locale,model_id,attribute_data');
}])
->with('sliders')->first();
//dd($vendor->type); //dd($vendor->type);
@ -72,9 +75,25 @@ class VendorApiController extends Controller
$vendor->slogan = $data["slogan"]; $vendor->slogan = $data["slogan"];
$vendor->work_time = $data["work_time"]; $vendor->work_time = $data["work_time"];
$vendor->description = $data["description"]; $vendor->description = $data["description"];
$vendor->short_description = $data["short_description"] ?? "";
$vendor->web2 = (int) $data["discount"];
$vendor->tiktok = $data["tiktok"];
$vendor->instagram = $data["instagram"];
$vendor->site = $data["site"];
$vendor->save(); $vendor->save();
return $this->helpers->apiArrayResponseBuilder(200, 'ok', [$vendor]); $vendor->pathUrl = 'https://gurlushyk.com.tm' . \Config::get('cms.storage.media.path');
$all = array(
"id" => 0,
"name"=> "Hemmesi",
);
$vendor->categories->prepend($all);
return response()->json($vendor, 200);
}else{ }else{

View File

@ -73,21 +73,22 @@ class CategoryProfile extends ComponentBase
protected function getSubs(){ protected function getSubs(){
$cSlug = $this->property('categorySlug'); $cSlug = $this->property('categorySlug');
$category = Category::transWhere('slug', $cSlug, Session::get('rainlab.translate.locale'))->with('users')->first(); $category = Category::transWhere('slug', $cSlug, Session::get('rainlab.translate.locale'))->with('users')->first();
$subs = Category::where("primary_key", $category->id)->get(); $subs = $category ? Category::where("primary_key", $category->id)->get() : null;
if($subs){
foreach ($subs as $subcategory) { foreach ($subs as $subcategory) {
$page = input('page', 1); $page = input('page', 1);
$products = $subcategory->products()->paginate(12, $page); $products = $subcategory->products()->paginate(12, $page);
$subcategory->setRelation('products', $products); $subcategory->setRelation('products', $products);
} }
}
return $subs; return $subs;
} }
protected function getCategoryUsers(){ protected function getCategoryUsers(){
$cSlug = $this->property('categorySlug'); $cSlug = $this->property('categorySlug');
$category = Category::where('slug', $cSlug)->first(); $category = Category::where('slug', $cSlug)->first();
$users = $category->users()->get(); $users = $category ? $category->users()->get() : null;
return $users; return $users;
} }

View File

@ -24,7 +24,7 @@ class ShopSettings extends ComponentBase
public function onRun() { public function onRun() {
$this->user = $this->loadShopSettings(); //$this->user = $this->loadShopSettings();
} }
@ -33,6 +33,13 @@ class ShopSettings extends ComponentBase
return $user; return $user;
} }
public function onDelete(){
$user = User::find(\Auth::user()->id);
$user->delete();
Flash::success('Hasabyňyz pozuldy');
return \Redirect::back();
}
public function onSave(){ public function onSave(){
$data = post(); $data = post();
@ -48,14 +55,19 @@ class ShopSettings extends ComponentBase
$user = User::find(\Auth::user()->id); $user = User::find(\Auth::user()->id);
$user->instagram = $data['instagram'];
$user->tiktok = $data['tiktok'];
$user->site = $data['website'];
$user->shop_title = $data['vendorName']; $user->shop_title = $data['vendorName'];
$user->slogan = $data['slogan']; $user->slogan = $data['slogan'];
$user->short_description = $data['short_description'];
$user->description = $data['description']; $user->description = $data['description'];
$user->work_time = $data['workTime']; $user->work_time = $data['workTime'];
$user->web2 = $data['discount'] ? number_format($data['discount'], 2, '.', '') : null; $user->web2 = $data['discount'] ? number_format($data['discount'], 2, '.', '') : null;
$user->save(); $user->save();
Flash::success('Maglumatlar üýtgedildi'); Flash::success('Maglumatlar üýtgedildi');
return \Redirect::back();
} }
protected function validateForm($data, $rules) { protected function validateForm($data, $rules) {

View File

@ -1,4 +1,3 @@
{% set user = __SELF__.user %}
<!-- Breadcumb Area --> <!-- Breadcumb Area -->
<div class="breadcumb_area"> <div class="breadcumb_area">
<div class="container h-100"> <div class="container h-100">
@ -39,38 +38,61 @@
data-request-flash data-request-flash
data-request-validate data-request-validate
data-request-files data-request-files
data-request-success="resetForm()"
data-request-error="resetForm()"
> >
<div class="row"> <div class="row">
<div class="col-12 col-lg-6"> <div class="col-12 col-lg-6">
<div class="form-group"> <div class="form-group">
<label for="firstName">{{ 'shop.DukanynAdy'|_ }}</label> <label for="firstName">{{ 'shop.DukanynAdy'|_ }}</label>
<input type="text" class="form-control" name="vendorName" id="vendorName" value="{{ user.shop_title }}" placeholder="{{ 'shop.DukanynAdy'|_ }}" required> <input type="text" class="form-control" name="vendorName" id="vendorName" value="{{ user.shop_title }}" required>
</div> </div>
</div> </div>
<div class="col-12 col-lg-6"> <div class="col-12 col-lg-6">
<div class="form-group"> <div class="form-group">
<label for="lastName">{{ 'shop.Slogan'|_ }}</label> <label for="lastName">{{ 'shop.Slogan'|_ }}</label>
<input type="text" class="form-control" name="slogan" id="slogan" value="{{ user.slogan }}" placeholder="{{ 'shop.Slogan'|_ }}" required> <input type="text" class="form-control" name="slogan" id="slogan" value="{{ user.slogan }}" required>
</div> </div>
</div> </div>
<div class="col-12 col-lg-6"> <div class="col-12 col-lg-6">
<div class="form-group"> <div class="form-group">
<label for="displayName">{{ 'shop.IsWagty'|_ }}</label> <label for="displayName">{{ 'shop.IsWagty'|_ }}</label>
<input type="text" class="form-control" name="workTime" id="workTime" value="{{ user.work_time }}" placeholder="{{ 'shop.IsWagty'|_ }}" required> <input type="text" class="form-control" name="workTime" id="workTime" value="{{ user.work_time }}" required>
</div> </div>
</div> </div>
<div class="col-12 col-lg-6"> <div class="col-12 col-lg-6">
<div class="form-group"> <div class="form-group">
<label for="discount">{{ 'shop.Arzanladys'|_ }}</label> <label for="discount">{{ 'shop.Arzanladys'|_ }}</label>
<input type="decimal" class="form-control" name="discount" id="discount" value="{{ user.web2 }}" placeholder="{{ 'shop.Arzanladys'|_ }}"> <input type="decimal" class="form-control" name="discount" id="discount" value="{{ user.web2 }}">
</div>
</div>
<div class="col-12 col-lg-6">
<div class="form-group">
<label for="instagram">Instagram</label>
<input type="text" class="form-control" name="instagram" id="instagram" value="{{ user.instagram }}">
</div>
</div>
<div class="col-12 col-lg-6">
<div class="form-group">
<label for="instagram">Tik-Tok</label>
<input type="text" class="form-control" name="tiktok" id="tiktok" value="{{ user.tiktok }}">
</div>
</div>
<div class="col-12 col-lg-6">
<div class="form-group">
<label for="instagram">Web sahypa</label>
<input type="text" class="form-control" name="website" id="website" value="{{ user.site }}">
</div>
</div>
<div class="col-12">
<div class="form-group">
<label for="short_description">{{ 'shop.GysgaBeyan'|_ }}</label>
<textarea class="form-control" id="short_description" cols="30" name="short_description" rows="10" style="height: 50px;" required>{{ user.short_description|striptags|raw }}</textarea>
</div> </div>
</div> </div>
<div class="col-12"> <div class="col-12">
<div class="form-group"> <div class="form-group">
<label for="description">{{ 'shop.Beyan'|_ }}</label> <label for="description">{{ 'shop.Beyan'|_ }}</label>
<textarea class="form-control" id="description" cols="30" name="description" rows="10" placeholder="{{ 'shop.Beyan'|_ }}" style="height: 160px;" required>{{ user.description|striptags|raw }}</textarea> <textarea class="form-control" id="description" cols="30" name="description" rows="10" style="height: 160px;" required>{{ user.description|striptags|raw }}</textarea>
</div> </div>
</div> </div>

View File

@ -110,6 +110,14 @@
<div class="col-2">{{ 'product.Satyjy'|_ }}:</div> <div class="col-2">{{ 'product.Satyjy'|_ }}:</div>
<div class="col-10"><a href="{{ 'user-profile'|page({id: product.vendor.id}) }}">{{ product.vendor.shop_title ? product.vendor.shop_title: product.vendor.name }}</a></div> <div class="col-10"><a href="{{ 'user-profile'|page({id: product.vendor.id}) }}">{{ product.vendor.shop_title ? product.vendor.shop_title: product.vendor.name }}</a></div>
</div> </div>
<div class="row mt-2">
<div class="col-4">{{ 'product.TelefonBelgisi'|_ }}:</div>
<div class="col-8">+993 {{ product.vendor.username }}</div>
</div>
<div class="row mt-2">
<div class="col-4">{{ 'product.GoyulanSenesi'|_ }}:</div>
<div class="col-8">{{ product.created_at.format('d.m.Y') }}</div>
</div>
<p>{{ product.description|raw }}</p> <p>{{ product.description|raw }}</p>
</div> </div>

View File

@ -19,4 +19,14 @@ class Categories extends Controller
parent::__construct(); parent::__construct();
BackendMenu::setContext('TPS.Birzha', 'birzha-menu', 'categories'); BackendMenu::setContext('TPS.Birzha', 'birzha-menu', 'categories');
} }
public function listExtendQuery($query)
{
$query->withTrashed();
}
public function formExtendQuery($query)
{
$query->withTrashed();
}
} }

View File

@ -36,3 +36,6 @@ columns:
label: Esasy label: Esasy
type: number type: number
sortable: true sortable: true
deleted_at:
label: 'POZULAN SENE'
type: datetime

View File

@ -48,3 +48,10 @@ tabs:
span: auto span: auto
type: number type: number
tab: Image tab: Image
deleted_at:
label: 'Pozulanmy?'
span: auto
mode: date
type: datepicker
comment: 'Pozulan bolsa icindaki chislony poz'
tab: POZULANMY

View File

@ -87,6 +87,11 @@ tabs:
required: 1 required: 1
type: relation type: relation
tab: Categories tab: Categories
phone:
label: 'Goshmaca Telefon'
span: auto
type: text
tab: Categories
status: status:
label: Status label: Status
options: options:

View File

@ -604,7 +604,7 @@ textarea:focus,
.breakpoint-on .classynav ul li.has-down.active > .dd-trigger, .breakpoint-on .classynav ul li.has-down.active > .dd-trigger,
.breakpoint-on .classynav ul li.megamenu-item.active > .dd-trigger { .breakpoint-on .classynav ul li.megamenu-item.active > .dd-trigger {
background-color: #0f99f3; } background-color: #f37b1c; }
.hero_meta_area { .hero_meta_area {
position: relative; position: relative;
@ -4359,6 +4359,113 @@ button.mfp-arrow {
} }
/* Custom file-input ============================ */ /* Custom file-input ============================ */
/* Chat end ======================================= */ /* Chat end ======================================= */
.chat-wrapper-section {
position: fixed;
right: 40px;
bottom: 182px;
width: 335px;
background-color: #fff;
border-radius: 5px;
transition: all 0.4s;
box-shadow: 1px 2px 11px #44444469;
z-index:99999;
height: 600px;
}
.message_input2 {
width: 100%;
height: 100px;
padding: 30px;
background-color: rgba(0, 0, 0, 0.03);
}
.message_form {
position: absolute;
bottom: 0px;
left: 50%;
transform: translateX(-50%);
width: calc(100% - 60px);
border: 1px solid #e2e2e2;
border-radius: 10px;
overflow: hidden;
background: #fff;
}
.friend_message2 {
width: 60%;
border-bottom-right-radius: 10px;
border-top-left-radius: 10px;
border-top-right-radius: 10px;
padding: 10px;
margin-bottom: 30px;
background: #f5f5f5;
overflow-x: hidden;
}
.my_message2 {
width: 60%;
border-bottom-left-radius: 10px;
border-top-left-radius: 10px;
border-top-right-radius: 10px;
padding: 10px;
margin: 0 0 30px auto;
background: #F37B1C;
color: #fff;
overflow-x: hidden;
}
.message_form2 {
position: absolute;
bottom: 19px;
left: 50%;
transform: translateX(-50%);
width: calc(100% - 60px);
border: 0px;
/* border-radius: 10px; */
overflow: hidden;
background: #fff;
}
.chat_area2 {
width: 100%;
height: 620px;
position: relative;
padding-bottom: 100px;
}
.display-block{
display: block;
opacity: 1;
transition: opacity 1s;
}
.display-none{
display: none;
opacity: 0;
}
.message_btn2 {
position: absolute;
top: 40px;
right: 35px;
background: none;
border: none;
cursor: pointer;
width: 20px;
height: 20px;
z-index: 1;
}

View File

@ -9,6 +9,8 @@ code = "top-menu"
[session] [session]
security = "all" security = "all"
redirect = "login" redirect = "login"
[shopsettings]
== ==
<html lang="{{activeLocale}}"> <html lang="{{activeLocale}}">

View File

@ -378,4 +378,43 @@ items:
isHidden: '0' isHidden: '0'
cssClass: '' cssClass: ''
isExternal: '0' isExternal: '0'
-
title: 'Ownuk harytlar'
type: url
url: /category-profile/ownuk-harytlar
code: ''
viewBag:
locale:
ru:
title: ''
url: ''
isHidden: '0'
cssClass: ''
isExternal: '0'
-
title: 'El gurallary'
type: url
url: /category-profile/el-gurallary
code: ''
viewBag:
locale:
ru:
title: ''
url: ''
isHidden: '0'
cssClass: ''
isExternal: '0'
-
title: 'Elektro enjamlar'
type: url
url: /category-profile/elektro-enjamlar
code: ''
viewBag:
locale:
ru:
title: ''
url: ''
isHidden: '0'
cssClass: ''
isExternal: '0'
name: top-menu name: top-menu

View File

@ -245,6 +245,12 @@ p {
} }
@media (max-width: 1200px) { @media (max-width: 1200px) {
.chat_area2{
height: 448px;
}
.chat-wrapper-section{
height: 435px;
}
.section_padding_100 { .section_padding_100 {
padding: 15px 0; padding: 15px 0;
} }
@ -332,6 +338,12 @@ p {
} }
@media (max-width: 992px) { @media (max-width: 992px) {
.chat_area2{
height: 448px;
}
.chat-wrapper-section{
height: 435px;
}
.section_padding_100 { .section_padding_100 {
padding: 15px 0; padding: 15px 0;
} }

View File

@ -32,6 +32,8 @@ noRecordsMessage = "No records found"
detailsPage = "-" detailsPage = "-"
detailsUrlParameter = "id" detailsUrlParameter = "id"
pageNumber = "{{ :page }}" pageNumber = "{{ :page }}"
[shopsettings]
== ==
{% set firstFourCategories = builderList.records %} {% set firstFourCategories = builderList.records %}
{% set lastFourCategories = builderList2.records %} {% set lastFourCategories = builderList2.records %}
@ -152,6 +154,7 @@ pageNumber = "{{ :page }}"
<li><a href="{{ 'vendor-settings'|page }}">{{ 'profileDropdown.DukanSazlamalary'|_ }}</a></li> <li><a href="{{ 'vendor-settings'|page }}">{{ 'profileDropdown.DukanSazlamalary'|_ }}</a></li>
<li><a href="{{ 'my-comments'|page }}">{{ 'profileDropdown.Kammentarialar'|_ }}</a></li> <li><a href="{{ 'my-comments'|page }}">{{ 'profileDropdown.Kammentarialar'|_ }}</a></li>
<li><a href="{{ 'vendor-sales'|page }}">{{ 'profileDropdown.GelenSargytlar'|_ }}</a></li> <li><a href="{{ 'vendor-sales'|page }}">{{ 'profileDropdown.GelenSargytlar'|_ }}</a></li>
<li><a href="#" data-request="onDelete" data-request-confirm="{{ 'profileDropdown.PozmakIsleyanizmi'|_ }}" data-request-flash><span style="color:red;">{{ 'profileDropdown.HasabyPozmak'|_ }}</span></a></li>
</ul> </ul>
{% endif %} {% endif %}
</div> </div>

View File

@ -9,6 +9,7 @@
<li><a href="{{ 'vendor-settings'|page }}">{{ 'profileDropdown.DukanSazlamalary'|_ }}</a></li> <li><a href="{{ 'vendor-settings'|page }}">{{ 'profileDropdown.DukanSazlamalary'|_ }}</a></li>
<li><a href="{{ 'my-comments'|page }}">{{ 'profileDropdown.Kammentarialar'|_ }}</a></li> <li><a href="{{ 'my-comments'|page }}">{{ 'profileDropdown.Kammentarialar'|_ }}</a></li>
<li><a href="{{ 'vendor-sales'|page }}">{{ 'profileDropdown.GelenSargytlar'|_ }}</a></li> <li><a href="{{ 'vendor-sales'|page }}">{{ 'profileDropdown.GelenSargytlar'|_ }}</a></li>
<li><a href="#" data-request="onDelete" data-request-confirm="{{ 'profileDropdown.PozmakIsleyanizmi'|_ }}" data-request-flash><span style="color:red;">{{ 'profileDropdown.HasabyPozmak'|_ }}</span></a></li>
</ul> </ul>
</div> </div>
</div> </div>