update marketing page
This commit is contained in:
@@ -33,4 +33,12 @@
|
||||
localStorage.setItem(hideMenuBig ? 'menu_big' : 'menu_small', 'hidden');
|
||||
localStorage.removeItem(hideMenuBig ? 'menu_small' : 'menu_big');
|
||||
}
|
||||
|
||||
|
||||
function formatCurrency(a) {
|
||||
var b = parseFloat(a).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, "$1.").toString();
|
||||
var len = b.length;
|
||||
b = b.substring(0, len - 3);
|
||||
return b;
|
||||
}
|
||||
</script>
|
||||
@@ -1,69 +1,137 @@
|
||||
<script>
|
||||
function _get_list_category() {
|
||||
return {
|
||||
"list_category": [
|
||||
"list_product": [
|
||||
{
|
||||
'id': 1,
|
||||
'title': 'Màn hình máy tính',
|
||||
'url': '/?category=9&opt=product&parent=1',
|
||||
'parentId': 0,
|
||||
'isParent': 1,
|
||||
'children': [
|
||||
{
|
||||
'id': 10,
|
||||
'title': 'Màn hình theo khoảng giá',
|
||||
'url': '/?category=148&opt=product',
|
||||
'parentId': 1,
|
||||
'isParent': 0,
|
||||
'totalProduct': 0,
|
||||
'children': []
|
||||
},
|
||||
{
|
||||
'id': 11,
|
||||
'title': 'Màn Hình Theo Kích Thước',
|
||||
'url': '/?category=54&opt=product&parent=1',
|
||||
'parentId': 1,
|
||||
'isParent': 0,
|
||||
'totalProduct': 0,
|
||||
'children': [
|
||||
{
|
||||
'id': 148,
|
||||
'title': '17 inch - 21.5 inch',
|
||||
'url': '/?category=148&opt=product',
|
||||
'parentId': 11,
|
||||
'isParent': 0,
|
||||
'totalProduct': 5,
|
||||
},
|
||||
{
|
||||
'id': 66,
|
||||
'title': '22 inch - 24 inch',
|
||||
'url': '?category=66&opt=product',
|
||||
'parentId': 11,
|
||||
'isParent': 0,
|
||||
'totalProduct': 41,
|
||||
},
|
||||
{
|
||||
'id': 67,
|
||||
'title': '25 inch - 27 inch',
|
||||
'url': '/?category=67&opt=product',
|
||||
'parentId': 11,
|
||||
'isParent': 0,
|
||||
'totalProduct': 42,
|
||||
},
|
||||
{
|
||||
'id': 68,
|
||||
'title': '28 inch - 32 inch',
|
||||
'url': '/?category=68&opt=product',
|
||||
'parentId': 11,
|
||||
'isParent': 0,
|
||||
'totalProduct': 11,
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
'id': 2105,
|
||||
'title': 'Máy in mã vạch MH241',
|
||||
'request_path': '/may-in-ma-vach-mh241',
|
||||
'price': 0,
|
||||
'market_price': 0,
|
||||
'quantity': 1,
|
||||
'image': {
|
||||
'thumb': 'http://hura8.hurasoft.com/media/product/t-2105-2105_10_1.jpg',
|
||||
'small': 'http://hura8.hurasoft.com/media/product/s-2105-2105_10_1.jpg',
|
||||
'large': 'http://hura8.hurasoft.com/media/product/l-2105-2105_10_1.jpg',
|
||||
'original': 'http://hura8.hurasoft.com/media/product/2105-2105_10_1.jpg',
|
||||
}
|
||||
|
||||
},
|
||||
{
|
||||
'id': 2104,
|
||||
'title': '[Mới 100%] Dell Gaming G16 7620 (Intel core i7-12700H, 16GB, 1TB, RTX 3060 6GB, 16″ QHD+ 165Hz IPS)',
|
||||
'request_path': '/acer-gaming-predator-helios-neo-16-2023',
|
||||
'price': 28500000,
|
||||
'market_price': 0,
|
||||
'quantity': 1,
|
||||
'image':
|
||||
{
|
||||
'thumb': 'http://hura8.hurasoft.com/media/product/t-2104-2104_predator_16_2023_laptop_tcc_1_2.jpg',
|
||||
'small': 'http://hura8.hurasoft.com/media/product/s-2104-2104_predator_16_2023_laptop_tcc_1_2.jpg',
|
||||
'large': 'http://hura8.hurasoft.com/media/product/l-2104-2104_predator_16_2023_laptop_tcc_1_2.jpg',
|
||||
'original': 'http://hura8.hurasoft.com/media/product/2104-2104_predator_16_2023_laptop_tcc_1_2.jpg',
|
||||
}
|
||||
|
||||
},
|
||||
{
|
||||
'id': 2100,
|
||||
'title': 'Chăn hè đũi xơ đậu nành mã 32 Gấu xanh',
|
||||
'request_path': '/chan-he-dui-xo-dau-nanh-ma-32-gau-xanh',
|
||||
'price': 220000,
|
||||
'market_price': 340000,
|
||||
'quantity': 1,
|
||||
'image':
|
||||
{
|
||||
'thumb': 'http://hura8.hurasoft.com/media/product/t-2100-2100_8640_m32___g___u_xanh.jpg',
|
||||
'small': 'http://hura8.hurasoft.com/media/product/s-2100-2100_8640_m32___g___u_xanh.jpg',
|
||||
'large': 'http://hura8.hurasoft.com/media/product/l-2100-2100_8640_m32___g___u_xanh.jpg',
|
||||
'original': 'http://hura8.hurasoft.com/media/product/2100-2100_8640_m32___g___u_xanh.jpg',
|
||||
}
|
||||
|
||||
},
|
||||
{
|
||||
'id': 2098,
|
||||
'title': 'Chăn hè đũi xơ đậu nành mã 35 Tròn chấm pi',
|
||||
'request_path': '/bo-ga-goi-chun-chan-xo-dau-nanh-ma-36-tho-cherry-1',
|
||||
'price': 225000,
|
||||
'market_price': 350000,
|
||||
'quantity': 1,
|
||||
'image':
|
||||
{
|
||||
'thumb': 'http://hura8.hurasoft.com/media/product/t-2098-2098_8666_chan_he_dui_xo_dau_nanh_ma_35_tron_cham_.jpg',
|
||||
'small': 'http://hura8.hurasoft.com/media/product/s-2098-2098_8666_chan_he_dui_xo_dau_nanh_ma_35_tron_cham_.jpg',
|
||||
'large': 'http://hura8.hurasoft.com/media/product/l-2098-2098_8666_chan_he_dui_xo_dau_nanh_ma_35_tron_cham_.jpg',
|
||||
'original': 'http://hura8.hurasoft.com/media/product/2098-2098_8666_chan_he_dui_xo_dau_nanh_ma_35_tron_cham_.jpg',
|
||||
}
|
||||
|
||||
},
|
||||
{
|
||||
'id': 2097,
|
||||
'title': 'Bộ ga gối chun chần xơ đậu nành mã 36 Thỏ Cherry',
|
||||
'request_path': '/bo-ga-goi-chun-chan-xo-dau-nanh-ma-36-tho-cherry',
|
||||
'price': 280000,
|
||||
'market_price': 350000,
|
||||
'quantity': 1,
|
||||
'image':
|
||||
{
|
||||
'thumb': 'http://hura8.hurasoft.com/media/product/t-2097-2097_8695_m36___th____cherry.jpg',
|
||||
'small': 'http://hura8.hurasoft.com/media/product/s-2097-2097_8695_m36___th____cherry.jpg',
|
||||
'large': 'http://hura8.hurasoft.com/media/product/l-2097-2097_8695_m36___th____cherry.jpg',
|
||||
'original': ' http://hura8.hurasoft.com/media/product/2097-2097_8695_m36___th____cherry.jpg',
|
||||
}
|
||||
|
||||
}
|
||||
]
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
function displayProductList(products) {
|
||||
var productListElement = $("#js-show-search");
|
||||
var html = '';
|
||||
|
||||
$.each(products, function (index, product) {
|
||||
var price = product.price
|
||||
if (price > 0) {
|
||||
price = `<span class="price">` + formatCurrency(price) + ` đ</span>`;
|
||||
} else {
|
||||
price = '<span class="price">0</span>';
|
||||
}
|
||||
|
||||
html += `
|
||||
<a href="`+ product.request_path + `" class="flex items-center justify-between item">
|
||||
<span class="info">
|
||||
<span class="name">`+ product.title + `</span>
|
||||
`+ price + `
|
||||
</span>
|
||||
<img src="`+ product.image.thumb + `" alt="` + product.title + `">
|
||||
</a>
|
||||
`;
|
||||
});
|
||||
|
||||
productListElement.html(html);
|
||||
}
|
||||
|
||||
function searchProduct() {
|
||||
var searchTerm = $("#js-input-search").val().toLowerCase();
|
||||
var allProducts = _get_list_category().list_product;
|
||||
|
||||
// Filter products based on the search term
|
||||
var filteredProducts = $.grep(allProducts, function (product) {
|
||||
return product.title.toLowerCase().includes(searchTerm);
|
||||
});
|
||||
|
||||
// Display the filtered products
|
||||
displayProductList(filteredProducts);
|
||||
|
||||
if (filteredProducts.length > 0 && searchTerm !== "") {
|
||||
$("#js-show-search").show();
|
||||
displayProductList(filteredProducts);
|
||||
} else {
|
||||
$("#js-show-search").hide();
|
||||
}
|
||||
}
|
||||
|
||||
$(document).ready(function () {
|
||||
$("#js-input-search").on("input", searchProduct);
|
||||
})
|
||||
</script>
|
||||
54
template/product/category.html
Normal file
54
template/product/category.html
Normal file
@@ -0,0 +1,54 @@
|
||||
|
||||
<div id="action-links">
|
||||
<ul>
|
||||
<li id="add-prod"><a href="/admin/product/category-form">Thêm mới</a></li>
|
||||
<li><a href="/admin/product/category">Danh sách</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<style type="text/css">
|
||||
.tb-cat-row { width:100%;}
|
||||
.tb-cat-row td { padding:1px}
|
||||
</style>
|
||||
|
||||
<div style='padding-bottom:5px'><a href='javascript:;' onclick="RowExpand.open_all();"><span id='js-row-expand-all'>[+]</span> Xem hết</a></div>
|
||||
|
||||
<table id='tb_padding' cellpadding=2 cellspacing=0 width='100%' border=1 bordercolor='#CCCCCC'>
|
||||
<tr style="background-color:#EEE; font-weight:bold;">
|
||||
<td width=40px>ID</td>
|
||||
<td>Tên gọi</td>
|
||||
<td width=100px>Sản phẩm</td>
|
||||
<td width=100px>Web</td>
|
||||
<td width=100px>Thứ tự hiển thị</td>
|
||||
<td width=100px>Thuộc tính</td>
|
||||
<td width=200px>Sửa lại</td>
|
||||
</tr>
|
||||
|
||||
{{page.category_list}}
|
||||
|
||||
</table>
|
||||
|
||||
<p style="margin-top: 10px">
|
||||
<strong style="color: red">Lưu ý</strong>: Tổng sản phẩm ở danh mục mẹ được tính là tổng sản phẩm sản phẩm của các danh mục con và danh mục mẹ. Bộ đếm không loại trừ sản phẩm trùng nhau (v.d. trường hợp 1 sản phẩm thuộc cả 2 danh mục con thì sẽ được đếm 2 lần)
|
||||
</p>
|
||||
|
||||
|
||||
<input type="hidden" id="save_open_row" value="," />
|
||||
<input type="hidden" id="track_open_row" value="0" />
|
||||
|
||||
|
||||
<script src="{{ 'RowExpand.js' | asset_url }}"></script>
|
||||
|
||||
<script>
|
||||
function update_order(id, new_val){
|
||||
alert("todo");
|
||||
}
|
||||
|
||||
function update_status(id, status){
|
||||
alert("todo");
|
||||
}
|
||||
|
||||
function deleteThis(id) {
|
||||
alert("todo");
|
||||
}
|
||||
</script>
|
||||
131
template/product/category_form.html
Normal file
131
template/product/category_form.html
Normal file
@@ -0,0 +1,131 @@
|
||||
{if="$item_info.id > 0"}
|
||||
{$language_selector}
|
||||
<br />
|
||||
{/if}
|
||||
|
||||
<div id="action-links">
|
||||
<ul>
|
||||
<li id="add-prod"><a href="/admin/product/category-form">Thêm mới</a></li>
|
||||
<li class="csv"><a href="/admin/product/category">Xem danh sách</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
{if="$update_status == 'success'"}
|
||||
<p class="update-success">Cập nhật thành công</p>
|
||||
{/if}
|
||||
|
||||
|
||||
<form method="post" enctype="multipart/form-data">
|
||||
|
||||
<input type=hidden name='info[id]' value='{$item_info.id}' />
|
||||
|
||||
<div class="group">
|
||||
<div class="group-fields">
|
||||
<dl>
|
||||
<dt class="top"><label>Tên gọi</label></dt>
|
||||
<dd><input type="text" size="60" name="info[title]" id="title" value="{$item_info.title}"></dd>
|
||||
|
||||
<!-- <dt class="top"><label>API Key</label></dt>
|
||||
<dd><input type="text" size="40" name="info[api_key]" id="api_key" value="{$item_info.api_key}"></dd>-->
|
||||
|
||||
{if="$item_info.id > 0"}
|
||||
<dt><label>Url Index</label></dt>
|
||||
<dd><input type=text size=40 value='{$item_info.url_index}' name='info[url_index]' /> (* thay đổi giá trị này sẽ thay đổi link truy cập) </dd>
|
||||
{/if}
|
||||
|
||||
<dt><label>Thông tin tóm tắt</label> <span class="note">(nếu có)</span></dt>
|
||||
<dd style="margin-bottom: 0">
|
||||
<!-- editor -->
|
||||
<textarea name="info[summary]" cols="50" rows="5">{$item_info.summary}</textarea>
|
||||
<!-- editor -->
|
||||
</dd>
|
||||
|
||||
<dt><label>Là danh mục con của</label></dt>
|
||||
<dd>
|
||||
<select name="info[parent_id]" id="parentId">
|
||||
<option value="0">Danh mục gốc</option>
|
||||
{$categoryDropBox}
|
||||
</select>
|
||||
</dd>
|
||||
|
||||
<dt><label>Ảnh icon</label></dt>
|
||||
<dd>
|
||||
<span id="js-category-icon">
|
||||
{if="strlen($item_info.icon) > 3"}
|
||||
<img src="{$item_info.icon}?{#CURRENT_TIME#}" style="max-width: 80px; max-height: 80px" />
|
||||
{/if}
|
||||
</span>
|
||||
<input type="file" size="30" name="icon_file" />
|
||||
</dd>
|
||||
|
||||
<dt><label>Khoảng lọc giá</label></dt>
|
||||
<dd>
|
||||
<input type="text" size="60" name="info[price_range]" value="{$item_info.price_range}"/> (Nhập từng giá cách nhau dấu ;) <br />
|
||||
ví dụ: 300000;800000;1500000 có nghĩa là tạo ra 4 khoảng giá cho khách hàng lọc, đó là: <br />
|
||||
- Dưới 300.000,<br />
|
||||
- Từ 300.000 đến 800.000,<br />
|
||||
- Từ 800.000 đến 1.500.000 <br />
|
||||
- Trên 1.500.000
|
||||
</dd>
|
||||
|
||||
<div id="show_static_block" >
|
||||
<dt><label>Mô tả chi tiết (nếu có)</label></dt>
|
||||
<dd>
|
||||
<textarea name="info[description]" id="rich_text">{$item_info.description}</textarea>
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
<dt><label>Redirect tới URL (khi truy cập danh mục sẽ chuyển sang link này)</label></dt>
|
||||
<dd><input type="text" size="60" name="info[redirect_url]" value="{$item_info.redirect_url}"></dd>
|
||||
|
||||
<dt><label>Template File</label></dt>
|
||||
{$display_template = isset($item_info.settings.display_template) ? $item_info.settings.display_template : ''}
|
||||
<dd><input type="text" size="40" name="info[settings][display_template]" value="{$display_template}"> (v.d. landing_page/special_deal_11_2023 - cấu trúc file trong <a href="/admin/?opt=template" target="_blank">template</a>)</dd>
|
||||
|
||||
<dt><label>Số sản phẩm hiển thị</label></dt>
|
||||
{$number_display = isset($item_info.settings.number_display) ? $item_info.settings.number_display : 0}
|
||||
<dd><input type="text" size="10" name="info[settings][number_display]" value="{$number_display}"> (để = 0 nếu mặc định theo hệ thống cài đặt chung)</dd>
|
||||
|
||||
<dt><label>Thứ tự xuất hiện</label></dt>
|
||||
<dd><input type="text" size="10" name="info[ordering]" id="ordering" value="{$item_info.ordering}"> (cao xếp trước)</dd>
|
||||
|
||||
<dt><label>Dùng cho SEO</label></dt>
|
||||
<dd>
|
||||
<table id="tb_padding">
|
||||
<tr>
|
||||
<td>Url canonical</td>
|
||||
<td><input type="text" size="40" name="info[url_canonical]" value="{$item_info.url_canonical}" />
|
||||
<span class="note"> * để trống sẽ dùng link mặc định của hệ thống</span></td>
|
||||
</tr>
|
||||
<tr><td>Meta Title</td><td><input type="text" size="60" name="info[meta_title]" value="{$item_info.meta_title}" id="meta_title" maxlength="150" onkeyup="SuggestSEO.show_about(this.id)" /> <span id="note_meta_title"></span> <span class="note"> </span></td></tr>
|
||||
<tr><td>Meta Keywords</td><td><input type="text" size="60" name="info[meta_keyword]" value="{$item_info.meta_keyword}" id="meta_keyword" onkeyup="SuggestSEO.show_about(this.id)" /> <span id="note_meta_keyword"></span></td></tr>
|
||||
<tr>
|
||||
<td>Meta Description</td><td>
|
||||
<textarea cols="60" rows="6" name="info[meta_description]" onkeyup="SuggestSEO.show_about(this.id)" id="meta_description" >{$item_info.meta_description}</textarea>
|
||||
<br />
|
||||
<span id="note_meta_description"></span> (<strong>Khuyến nghị: 160 ký tự</strong>)
|
||||
<span class="note"> * nếu để trống sẽ dùng tóm tắt danh mục</span>
|
||||
</td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
|
||||
<dt><label>Hiển thị</label></dt>
|
||||
<dd>
|
||||
{$set_display = 1}
|
||||
{if="$item_info.id > 0"}
|
||||
{$set_display = $item_info.status}
|
||||
{/if}
|
||||
<label><input type="radio" name="info[status]" value="1" {if="$set_display == 1"}checked{/if} > Cho hiển thị</label>
|
||||
<label><input type="radio" name="info[status]" value="0" {if="$set_display == 0"}checked{/if} > Ẩn hiển thị</label>
|
||||
</dd>
|
||||
|
||||
</dl>
|
||||
|
||||
</div><!-- .group-fields -->
|
||||
<div class="group-actions">
|
||||
<input type="hidden" name="send" value="yes" />
|
||||
<input class="btn" id="submit-collection-btn" name="commit" type="submit" value="Cập nhật" /> hoặc <a href="/admin/product/category">Hủy bỏ</a>
|
||||
</div><!-- .group-actions -->
|
||||
</div>
|
||||
|
||||
</form>
|
||||
@@ -22,6 +22,7 @@
|
||||
<script src="https://cdn.jsdelivr.net/npm/jquery@3.3.1/dist/jquery.min.js"></script>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
{{ global|show_var }}
|
||||
{{ page|show_var }}
|
||||
@@ -36,7 +37,7 @@
|
||||
<a href="" class="menu-logo">
|
||||
<img src="{{ 'logo.png' | asset_url }}" />
|
||||
</a>
|
||||
|
||||
|
||||
<div class="menu-list">
|
||||
<a href="/" class="item">
|
||||
<i class="icons icon-home"></i>
|
||||
@@ -47,7 +48,7 @@
|
||||
{% assign _type = _category[0] %}
|
||||
{% assign _menuArray = _category[1].menu %}
|
||||
{% if _category[1].enable == 1 %}
|
||||
<details {% if _type == global.module %} open {% endif %}>
|
||||
<details {% if _type==global.module %} open {% endif %}>
|
||||
<summary class="item">
|
||||
<div class="flex items-center">
|
||||
|
||||
@@ -73,7 +74,7 @@
|
||||
|
||||
<div class="sub-menu">
|
||||
{% for _item in _menuArray %}
|
||||
<a href="{{ _item.url }}" {% if _item.view == global.view and _item.module == global.module %}
|
||||
<a href="{{ _item.url }}" {% if _item.view==global.view and _item.module==global.module %}
|
||||
class="current" {% endif %}> {{ _item.name }} </a>
|
||||
{% endfor %}
|
||||
</div>
|
||||
@@ -108,9 +109,11 @@
|
||||
</div>
|
||||
|
||||
<!-- Menu collapse -->
|
||||
<div class="admin-menu box-menu fixed top-0 bg-[#004E99] flex flex-col justify-between pb-[20px] min-h-[100vh]" id="js-menu-small">
|
||||
<div class="admin-menu box-menu fixed top-0 bg-[#004E99] flex flex-col justify-between pb-[20px] min-h-[100vh]"
|
||||
id="js-menu-small">
|
||||
<div>
|
||||
<div class="logo item items-center justify-center border-[rgba(255,255,255,0.15)] border-b p-[20px_0_!important]">
|
||||
<div
|
||||
class="logo item items-center justify-center border-[rgba(255,255,255,0.15)] border-b p-[20px_0_!important]">
|
||||
<a href="/" class="">
|
||||
<img src="{{ 'logo_small.png' | asset_url }}" alt="">
|
||||
</a>
|
||||
@@ -133,7 +136,8 @@
|
||||
{% assign _menuArray = _category[1].menu %}
|
||||
|
||||
{% if _category[1].enable == 1 %}
|
||||
<div class="item {% if _type == 'system' %} border-[rgba(255,255,255,0.15)] border-b{% endif %} {% if _type == global.module %} current {% endif %}">
|
||||
<div
|
||||
class="item {% if _type == 'system' %} border-[rgba(255,255,255,0.15)] border-b{% endif %} {% if _type == global.module %} current {% endif %}">
|
||||
{% if _type == 'order' %} <i class="icons icon-sell"> </i>
|
||||
{% elsif _type == 'product' %} <i class="icons icon-product"> </i>
|
||||
{% elsif _type == 'customer' %}<i class="icons icon-user"> </i>
|
||||
@@ -153,7 +157,7 @@
|
||||
|
||||
<div class="menu-list">
|
||||
{% for _item in _menuArray %}
|
||||
<a href="{{ _item.url }}" {% if _item.view == global.view %} class="current" {% endif %}>
|
||||
<a href="{{ _item.url }}" {% if _item.view==global.view %} class="current" {% endif %}>
|
||||
{{ _item.name }}
|
||||
</a>
|
||||
{% endfor %}
|
||||
@@ -176,7 +180,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="item">
|
||||
<a href="" class="icons icon-support"> </a>
|
||||
|
||||
@@ -216,16 +220,25 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="admin-content-container ml-[50px]" id="js-admin-content-container">
|
||||
<!-- Header -->
|
||||
<div class="admin-header-container flex items-center justify-between bg-white px-4 py-3">
|
||||
<form class="max-w-[420px] relative w-[100%] menu-hide" id="js-form-search">
|
||||
<div class="absolute inset-y-0 start-0 flex items-center ps-3 pointer-events-none">
|
||||
<i class="icons icon-search"></i>
|
||||
<div class="content w-[100%] flex items-center border rounded-[5px]">
|
||||
<div class="inset-y-0 start-0 flex items-center ps-3 pointer-events-none">
|
||||
<i class="icons icon-search"></i>
|
||||
</div>
|
||||
|
||||
<input type="search" class="block h-[36px] rounded w-full" id="js-input-search"
|
||||
placeholder="Tìm kiếm">
|
||||
</div>
|
||||
|
||||
<div class="autocomplete-suggestions absolute bg-white p-[5px] w-[100%] shadow-[0_2px_7px_0_rgb(177_177_177)] hidden"
|
||||
id="js-show-search">
|
||||
|
||||
</div>
|
||||
|
||||
<input type="search" class="block border h-[36px] ps-10 rounded w-full" placeholder="Tìm kiếm">
|
||||
</form>
|
||||
|
||||
<div class="admin-header-right flex items-center justify-end">
|
||||
|
||||
Reference in New Issue
Block a user