> ## Documentation Index
> Fetch the complete documentation index at: https://docs.appminis.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Flashsale

> Hướng dẫn cấu hình component FlashSale: chọn bố cục, quản lý chương trình, và tùy chỉnh hiển thị bộ đếm giờ, thẻ sản phẩm.

## **6.3. FlashSale**

**Bố cục**\
Người dùng có thể lựa chọn các bố cục hiển thị danh mục, bao gồm: Đơn giản, Danh sách, Cá tính.

<Frame caption="Bố cục Flashsale">
  <img
    src="https://aimini-upload.sgp1.digitaloceanspaces.com/image79_46cff84d22.png"
    alt="Screenshot of a deployment confirmation message that says All checks have passed."
    style={{
  borderRadius: "0.5rem",
  width: "100%",
  height: "auto",
  objectFit: "cover",
  objectPosition: "0 -38px" 
}}
    title=""
  />
</Frame>

**Chương trình áp dụng**

**Thêm dữ liệu mới**

<Steps>
  <Step title="Nhấn vào nút Thêm dữ liệu mới">
    Người dùng nhấn vào nút **"Thêm dữ liệu mới"** để bắt đầu thêm chương trình flashsale.

    <Frame caption="Nút thêm dữ liệu">
      <img
        src="https://aimini-upload.sgp1.digitaloceanspaces.com/image30_6567c89508.png"
        alt="Nút thêm dữ liệu mới trong giao diện Flashsale"
        style={{
  borderRadius: "0.5rem",
  width: "100%",
  height: "auto",
  objectFit: "cover",
  objectPosition: "0 -38px" 
}}
        title="Nút thêm dữ liệu Flashsale"
      />
    </Frame>
  </Step>

  <Step title="Nhập thông tin chương trình Flashsale">
    * Nhập **tên chương trình**
    * Nhấn **“Tải ảnh lên hoặc chọn ảnh từ thư viện”** để thêm hình ảnh banner
    * Chọn **chương trình sử dụng**

    <Frame caption="Thêm dữ liệu Flashsale">
      <img
        src="https://aimini-upload.sgp1.digitaloceanspaces.com/image194_63f0013b9a.png"
        alt="Giao diện thêm dữ liệu Flashsale"
        style={{
  borderRadius: "0.5rem",
  width: "100%",
  height: "auto",
  objectFit: "cover",
  objectPosition: "0 -38px" 
}}
        title="Thêm dữ liệu Flashsale"
      />
    </Frame>
  </Step>

  <Step title="Xác nhận thêm dữ liệu">
    Người dùng nhấn **“Thêm dữ liệu”** để hoàn tất việc thêm chương trình,\
    hoặc nhấn **“Hủy bỏ”** để hủy thao tác.
  </Step>
</Steps>

**Chỉnh sửa:**

<Steps>
  <Step title="Nhấn vào nút chỉnh sửa">
    Người dùng nhấn vào nút <Icon icon="pencil" color="#cfcfcf" size={15} /> để mở trang chỉnh sửa chương trình flashsale.

    <Frame caption="Nút chỉnh sửa">
      <img
        src="https://aimini-upload.sgp1.digitaloceanspaces.com/image22_4538fa35d5.png"
        alt="Nút chỉnh sửa chương trình Flashsale trong giao diện quản lý"
        style={{
  borderRadius: "0.5rem",
  width: "100%",
  height: "auto",
  objectFit: "cover",
  objectPosition: "0 -38px" 
}}
        title="Nút chỉnh sửa Flashsale"
      />
    </Frame>
  </Step>

  <Step title="Chỉnh sửa thông tin chương trình">
    * Nhập **tên chương trình**
    * Nhấn **“Tải ảnh lên hoặc chọn ảnh từ thư viện”** để thay đổi hình ảnh banner
    * Chọn **chương trình áp dụng**

    <Frame caption="Trang chỉnh sửa dữ liệu">
      <img
        src="https://aimini-upload.sgp1.digitaloceanspaces.com/image119_37596fa0f5.png"
        alt="Giao diện chỉnh sửa chương trình Flashsale"
        style={{
  borderRadius: "0.5rem",
  width: "100%",
  height: "auto",
  objectFit: "cover",
  objectPosition: "0 -38px" 
}}
        title="Trang chỉnh sửa Flashsale"
      />
    </Frame>
  </Step>

  <Step title="Lưu chỉnh sửa hoặc hủy thao tác">
    Người dùng nhấn **“Lưu chỉnh sửa”** để hoàn tất cập nhật chương trình,\
    hoặc nhấn **“Hủy bỏ”** để hủy thao tác chỉnh sửa.
  </Step>
</Steps>

**Xóa:**

<Steps>
  <Step title="Nhấn vào nút xóa dữ liệu">
    Người dùng nhấn vào nút <Icon icon="minus" color="#cfcfcf" size={15} /> để xóa chương trình flashsale.

    <Frame caption="Nút xóa">
      <img
        src="https://aimini-upload.sgp1.digitaloceanspaces.com/image199_72108dc338.png"
        alt="Nút xóa chương trình Flashsale trong giao diện quản lý"
        style={{
  borderRadius: "0.5rem",
  width: "100%",
  height: "auto",
  objectFit: "cover",
  objectPosition: "0 -38px" 
}}
        title="Nút xóa Flashsale"
      />
    </Frame>
  </Step>

  <Step title="Xác nhận thao tác xóa">
    Khi hộp thoại xuất hiện, người dùng chọn **“Xóa ngay”** để tiến hành xóa chương trình,\
    hoặc chọn **“Hủy”** nếu không muốn thực hiện thao tác này.
  </Step>
</Steps>

**Tiêu đề**

**Nền**

* Chọn màu nền cho các thẻ bằng cách nhấn ô vuông sau đó chọn màu

<Frame caption>
  <img
    src="https://aimini-upload.sgp1.digitaloceanspaces.com/image291_b940e413f3.png"
    alt="Screenshot of a deployment confirmation message that says All checks have passed."
    style={{
  borderRadius: "0.5rem",
  width: "100%",
  height: "auto",
  objectFit: "cover",
  objectPosition: "0 -38px" 
}}
    title=""
  />
</Frame>

* Chuyển đổi qua lại giữa 2 trạng thái có màu nền và không có màu nền bằng cách nhấn nút <Icon icon="eye" color="#cfcfcf" size={15} />
* Xóa màu nền bằng cách nhấn nút <Icon icon="minus" color="#cfcfcf" size={15} />
* **Hiển thị tiêu đề:**
  * Người dùng nhấn nút <Icon icon="toggle-large-on" color="#0a06e4" size={15} /> để chuyển đổi qua lại giữa 2 trạng thái có tiêu đề và không có tiêu đề, ngoài ra người dùng có thể nhập tiêu đề cho phần tử danh mục. Ví dụ, nếu tiêu đề là "F⚡ash Sale" thì phần tử danh mục sẽ như thế này

<Frame caption="Tiêu đề Flashsale">
  <img
    src="https://aimini-upload.sgp1.digitaloceanspaces.com/image95_4af11967a4.png"
    alt="Screenshot of a deployment confirmation message that says All checks have passed."
    style={{
  borderRadius: "0.5rem",
  width: "100%",
  height: "auto",
  objectFit: "cover",
  objectPosition: "0 -38px" 
}}
    title=""
  />
</Frame>

* **Kích thước/ Màu sắc:**
  * Người dùng có thể điều chỉnh kích thước và màu sắc cho tiêu đề của flashsale tại

<Frame caption="Tiêu đề Flashsale">
  <img
    src="https://aimini-upload.sgp1.digitaloceanspaces.com/image292_9b3d97694a.png"
    alt="Screenshot of a deployment confirmation message that says All checks have passed."
    style={{
  borderRadius: "0.5rem",
  width: "100%",
  height: "auto",
  objectFit: "cover",
  objectPosition: "0 -38px" 
}}
    title=""
  />
</Frame>

**Bộ đếm giờ**

**Hiển thị bộ đếm giờ:**

* Người dùng nhấn nút <Icon icon="toggle-large-on" color="#0a06e4" size={15} /> để chuyển đổi qua lại giữa 2 trạng thái có bộ đếm giờ và không có bộ đếm giờ
  * **Nền:**
    * Người dùng có thể điều chỉnh màu sắc cho nền bộ đếm giờ của flashsale tại

<Frame caption="">
  <img
    src="https://aimini-upload.sgp1.digitaloceanspaces.com/image293_2c33190cae.png"
    alt="Screenshot of a deployment confirmation message that says All checks have passed."
    style={{
  borderRadius: "0.5rem",
  width: "100%",
  height: "auto",
  objectFit: "cover",
  objectPosition: "0 -38px" 
}}
    title=""
  />
</Frame>

* **Kích thước/ Màu sắc:**
  * Người dùng có thể điều chỉnh kích thước và màu sắc cho bộ đếm giờ của flashsale tại

<Frame caption="">
  <img
    src="https://aimini-upload.sgp1.digitaloceanspaces.com/image294_a7ad2155ab.png"
    alt="Screenshot of a deployment confirmation message that says All checks have passed."
    style={{
  borderRadius: "0.5rem",
  width: "100%",
  height: "auto",
  objectFit: "cover",
  objectPosition: "0 -38px" 
}}
    title=""
  />
</Frame>

**Thẻ sản phẩm**

* **Lề ngoài**
  * Người dùng điều chỉnh chung khoảng cách giữa lề trên và dưới giữa các thẻ sản phẩm với phần danh sách sản phẩm bằng nút

<Frame caption="">
  <img
    src="https://aimini-upload.sgp1.digitaloceanspaces.com/image295_f1f9ef9213.png"
    alt="Screenshot of a deployment confirmation message that says All checks have passed."
    style={{
  borderRadius: "0.5rem",
  width: "100%",
  height: "auto",
  objectFit: "cover",
  objectPosition: "0 -38px" 
}}
    title=""
  />
</Frame>

* Người dùng điều chỉnh khoảng cách giữa lề trái và phải giữa các thẻ sản phẩm với phần danh sách sản phẩm bằng nút

<Frame caption="">
  <img
    src="https://aimini-upload.sgp1.digitaloceanspaces.com/image296_8060b36901.png"
    alt="Screenshot of a deployment confirmation message that says All checks have passed."
    style={{
  borderRadius: "0.5rem",
  width: "100%",
  height: "auto",
  objectFit: "cover",
  objectPosition: "0 -38px" 
}}
    title=""
  />
</Frame>

* Người dùng có thể điều chỉnh riêng lề trên và lề dưới bằng cách nhấn vào nút

<Frame caption="">
  <img
    src="https://aimini-upload.sgp1.digitaloceanspaces.com/image297_4c5fb2f8a1.png"
    alt="Screenshot of a deployment confirmation message that says All checks have passed."
    style={{
  borderRadius: "0.5rem",
  width: "100%",
  height: "auto",
  objectFit: "cover",
  objectPosition: "0 -38px" 
}}
    title=""
  />
</Frame>

* **Lề trong**
  * Người dùng điều chỉnh chung khoảng cách giữa lề trên và dưới giữa các thẻ sản phẩm với các thành phần bên trong thẻ bằng nút

<Frame caption="">
  <img
    src="https://aimini-upload.sgp1.digitaloceanspaces.com/image298_38d81491c0.png"
    alt="Screenshot of a deployment confirmation message that says All checks have passed."
    style={{
  borderRadius: "0.5rem",
  width: "100%",
  height: "auto",
  objectFit: "cover",
  objectPosition: "0 -38px" 
}}
    title=""
  />
</Frame>

* Người dùng điều chỉnh khoảng cách giữa lề trái và phải giữa các thẻ sản phẩm với các thành phần bên trong thẻ bằng nút

<Frame caption="">
  <img
    src="https://aimini-upload.sgp1.digitaloceanspaces.com/image299_26093b1c7c.png"
    alt="Screenshot of a deployment confirmation message that says All checks have passed."
    style={{
  borderRadius: "0.5rem",
  width: "100%",
  height: "auto",
  objectFit: "cover",
  objectPosition: "0 -38px" 
}}
    title=""
  />
</Frame>

Người dùng có thể điều chỉnh riêng lề trên và lề dưới bằng cách nhấn vào nút

<Frame caption="">
  <img
    src="https://aimini-upload.sgp1.digitaloceanspaces.com/image300_c7162dd9a6.png"
    alt="Screenshot of a deployment confirmation message that says All checks have passed."
    style={{
  borderRadius: "0.5rem",
  width: "100%",
  height: "auto",
  objectFit: "cover",
  objectPosition: "0 -38px" 
}}
    title=""
  />
</Frame>

* **Kích thước**
  * Người dùng có thể chọn hoặc tăng/giảm kích thước của các thẻ sản phẩm tại

<Frame caption="">
  <img
    src="https://aimini-upload.sgp1.digitaloceanspaces.com/image301_d5c6ac9f93.png"
    alt="Screenshot of a deployment confirmation message that says All checks have passed."
    style={{
  borderRadius: "0.5rem",
  width: "100%",
  height: "auto",
  objectFit: "cover",
  objectPosition: "0 -38px" 
}}
    title=""
  />
</Frame>

**Kiểu hình ảnh** Người dùng có thể chọn kiểu hình ảnh các thẻ sản phẩm tại

<Frame caption="">
  <img
    src="https://aimini-upload.sgp1.digitaloceanspaces.com/image302_ad617405bc.png"
    alt="Screenshot of a deployment confirmation message that says All checks have passed."
    style={{
  borderRadius: "0.5rem",
  width: "100%",
  height: "auto",
  objectFit: "cover",
  objectPosition: "0 -38px" 
}}
    title=""
  />
</Frame>

* **Nền**

* Chọn màu nền cho các thẻ bằng cách nhấn ô vuông sau đó chọn màu

<Frame caption="">
  <img
    src="https://aimini-upload.sgp1.digitaloceanspaces.com/image303_c9cd9d16ca.png"
    alt="Screenshot of a deployment confirmation message that says All checks have passed."
    style={{
  borderRadius: "0.5rem",
  width: "100%",
  height: "auto",
  objectFit: "cover",
  objectPosition: "0 -38px" 
}}
    title=""
  />
</Frame>

* Chuyển đổi qua lại giữa 2 trạng thái có màu nền và không có màu nền bằng cách nhấn nút <Icon icon="eye" color="#cfcfcf" size={15} />
* Xóa màu nền bằng cách nhấn nút <Icon icon="minus" color="#cfcfcf" size={15} />
* **Bo góc**
  * Người dùng có thể nhập hoặc tăng/giảm chung độ bo góc của 4 góc của thẻ sản phẩm tại ô nhập

<Frame caption="">
  <img
    src="https://aimini-upload.sgp1.digitaloceanspaces.com/image304_5ebc71f01d.png"
    alt="Screenshot of a deployment confirmation message that says All checks have passed."
    style={{
  borderRadius: "0.5rem",
  width: "100%",
  height: "auto",
  objectFit: "cover",
  objectPosition: "0 -38px" 
}}
    title=""
  />
</Frame>

hoặc điềù chỉnh riêng lẻ độ bo góc của từng góc bằng cách nhấn nút

<Frame caption="">
  <img
    src="https://aimini-upload.sgp1.digitaloceanspaces.com/image305_5a87aa1f09.png"
    alt="Screenshot of a deployment confirmation message that says All checks have passed."
    style={{
  borderRadius: "0.5rem",
  width: "100%",
  height: "auto",
  objectFit: "cover",
  objectPosition: "0 -38px" 
}}
    title=""
  />
</Frame>

* **Viền**
  * Người dùng có thể nhập hoặc tăng/giảm chung độ lớn viền của thẻ sản phẩm tại ô nhập

<Frame caption="">
  <img
    src="https://aimini-upload.sgp1.digitaloceanspaces.com/image306_4d403d53a5.png"
    alt="Screenshot of a deployment confirmation message that says All checks have passed."
    style={{
  borderRadius: "0.5rem",
  width: "100%",
  height: "auto",
  objectFit: "cover",
  objectPosition: "0 -38px" 
}}
    title=""
  />
</Frame>

* Chọn màu cho viền bằng cách nhấn ô vuông sau đó chọn màu

<Frame caption="">
  <img
    src="https://aimini-upload.sgp1.digitaloceanspaces.com/image307_6b9592d758.png"
    alt="Screenshot of a deployment confirmation message that says All checks have passed."
    style={{
  borderRadius: "0.5rem",
  width: "100%",
  height: "auto",
  objectFit: "cover",
  objectPosition: "0 -38px" 
}}
    title=""
  />
</Frame>

* Chuyển đổi qua lại giữa 2 trạng thái có viền và không viền bằng cách nhấn nút <Icon icon="eye" color="#cfcfcf" size={15} />
* Xóa viền bằng cách nhấn nút <Icon icon="minus" color="#cfcfcf" size={15} />
* **Đổ bóng**
  * Người dùng có thể chọn độ lớn đổ bóng của thẻ sản phẩm tại ô

<Frame caption="">
  <img
    src="https://aimini-upload.sgp1.digitaloceanspaces.com/image308_9a4dc856ba.png"
    alt="Screenshot of a deployment confirmation message that says All checks have passed."
    style={{
  borderRadius: "0.5rem",
  width: "100%",
  height: "auto",
  objectFit: "cover",
  objectPosition: "0 -38px" 
}}
    title=""
  />
</Frame>

* Chọn màu cho đổ bóng bằng cách nhấn ô vuông sau đó chọn màu

<Frame caption="">
  <img
    src="https://aimini-upload.sgp1.digitaloceanspaces.com/image309_2ecb89c606.png"
    alt="Screenshot of a deployment confirmation message that says All checks have passed."
    style={{
  borderRadius: "0.5rem",
  width: "100%",
  height: "auto",
  objectFit: "cover",
  objectPosition: "0 -38px" 
}}
    title=""
  />
</Frame>

* Chuyển đổi qua lại giữa 2 trạng thái có đổ bóng và không đổ bóng bằng cách nhấn nút <Icon icon="eye" color="#cfcfcf" size={15} />
* Xóa đổ bóng bằng cách nhấn nút <Icon icon="minus" color="#cfcfcf" size={15} />
* **Hiển thị tên sản phẩm:**
  * Người dùng nhấn nút <Icon icon="toggle-large-on" color="#0a06e4" size={15} /> để chuyển đổi qua lại giữa 2 trạng thái có tên sản phẩm và không có tên sản phẩm
* **Hiển thị danh mục:**
  * Người dùng nhấn nút <Icon icon="toggle-large-on" color="#0a06e4" size={15} /> để chuyển đổi qua lại giữa 2 trạng thái có danh mục và không có danh mục
* **Hiển thị giá tiền:**
  * Người dùng chọn không hiển thị giá, giá cơ bản, giá khuyến mãi hoặc tất cả tại

<Frame caption="">
  <img
    src="https://aimini-upload.sgp1.digitaloceanspaces.com/image310_65d80f7244.png"
    alt="Screenshot of a deployment confirmation message that says All checks have passed."
    style={{
  borderRadius: "0.5rem",
  width: "100%",
  height: "auto",
  objectFit: "cover",
  objectPosition: "0 -38px" 
}}
    title=""
  />
</Frame>

* **Hiển thị giá giảm:**
  * Người dùng chọn hiển thị giá giảm theo phần trăm hay giá gốc

<Frame caption="">
  <img
    src="https://aimini-upload.sgp1.digitaloceanspaces.com/image311_e577d11b00.png"
    alt="Screenshot of a deployment confirmation message that says All checks have passed."
    style={{
  borderRadius: "0.5rem",
  width: "100%",
  height: "auto",
  objectFit: "cover",
  objectPosition: "0 -38px" 
}}
    title=""
  />
</Frame>

* **Sản phẩm Sale:**
  * Người dùng nhấn nút <Icon icon="toggle-large-on" color="#0a06e4" size={15} /> để chuyển đổi qua lại giữa 2 trạng thái có sản phẩm sale và không có sản phẩm sale
* **Hiển thị nhãn:**
  * Người dùng chọn không hiển thị nhãn !\[]\[image113] hoặc chọn hiển thị nhãn flashsale, bán chạy, mới nhất.
* **Hiển thị yêu thích:**
  * Người dùng nhấn nút <Icon icon="toggle-large-on" color="#0a06e4" size={15} /> để chuyển đổi qua lại giữa 2 trạng thái có nút yêu thích và không có nút yêu thích
* **Hiển thị đánh giá:**
  * Người dùng nhấn nút <Icon icon="toggle-large-on" color="#0a06e4" size={15} /> để chuyển đổi qua lại giữa 2 trạng thái có số sao đánh giá và không có số sao đánh giá
* **Hiển thị số lượng yêu thích**
  * Người dùng nhấn nút <Icon icon="toggle-large-on" color="#0a06e4" size={15} /> để chuyển đổi qua lại giữa 2 trạng thái có số lượng yêu thích và không có số lượng yêu thích
* **Hiển thị số lượng đã bán:**
  * Người dùng nhấn nút <Icon icon="toggle-large-on" color="#0a06e4" size={15} /> để chuyển đổi qua lại giữa 2 trạng thái có số lượng đã bán và không có số lượng đã bán
* **Hiển thị nút giỏ hàng:**
  * Người dùng nhấn nút <Icon icon="toggle-large-on" color="#0a06e4" size={15} /> để chuyển đổi qua lại giữa 2 trạng thái có nút thêm vào giỏ hàng và không có nút thêm vào giỏ hàng

**Kiểu nút giỏ hàng**

Người dùng có thể chọn chuyển đổi hiển thị giỏ hàng giữa icon hoặc button

<Frame caption>
  <img
    src="https://aimini-upload.sgp1.digitaloceanspaces.com/image312_ddc56a614b.png"
    alt="Screenshot of a deployment confirmation message that says All checks have passed."
    style={{
  borderRadius: "0.5rem",
  width: "100%",
  height: "auto",
  objectFit: "cover",
  objectPosition: "0 -38px" 
}}
    title=""
  />
</Frame>
