|
@@ -1,45 +1,26 @@
|
|
|
|
|
+import { getWithExpiry } from "../../logic/loigicUtils";
|
|
|
import { contentApi } from "../../apis/contentApi";
|
|
import { contentApi } from "../../apis/contentApi";
|
|
|
import { startLoading, stopLoading } from "../../features/loading/loadingSlice";
|
|
import { startLoading, stopLoading } from "../../features/loading/loadingSlice";
|
|
|
import { DataCacheKey, staleTime } from "../../global/constants";
|
|
import { DataCacheKey, staleTime } from "../../global/constants";
|
|
|
-import { Faq } from "../../services/content/types";
|
|
|
|
|
|
|
+import { Faq, FaqCategory } from "../../services/content/types";
|
|
|
import { useQuery } from "@tanstack/react-query";
|
|
import { useQuery } from "@tanstack/react-query";
|
|
|
-import React, { useState, useEffect } from "react";
|
|
|
|
|
|
|
+import React, { useState, useEffect, useMemo } from "react";
|
|
|
import { useTranslation } from "react-i18next";
|
|
import { useTranslation } from "react-i18next";
|
|
|
import { useDispatch } from "react-redux";
|
|
import { useDispatch } from "react-redux";
|
|
|
import { Link } from "react-router-dom";
|
|
import { Link } from "react-router-dom";
|
|
|
|
|
+import { text } from "stream/consumers";
|
|
|
|
|
|
|
|
const SupportView: React.FC = () => {
|
|
const SupportView: React.FC = () => {
|
|
|
const { t } = useTranslation();
|
|
const { t } = useTranslation();
|
|
|
const dispatch = useDispatch();
|
|
const dispatch = useDispatch();
|
|
|
|
|
+ const faqs = getWithExpiry<Faq[] | []>(DataCacheKey.FAQS_HEADER);
|
|
|
|
|
|
|
|
- const { data: loadFaqsData = [] } = useQuery<Faq[]>({
|
|
|
|
|
- queryKey: [DataCacheKey.FAQ_GUIDES],
|
|
|
|
|
- queryFn: async (): Promise<Faq[]> => {
|
|
|
|
|
- try {
|
|
|
|
|
- dispatch(startLoading({}));
|
|
|
|
|
- const res = await contentApi.LoadFaqGuide({
|
|
|
|
|
- pageNumber: 0,
|
|
|
|
|
- pageSize: 10,
|
|
|
|
|
- });
|
|
|
|
|
- return res.data.faqs as Faq[];
|
|
|
|
|
- } catch (error) {
|
|
|
|
|
- console.error(error);
|
|
|
|
|
- return []; // 🔴 bắt buộc
|
|
|
|
|
- } finally {
|
|
|
|
|
- dispatch(stopLoading());
|
|
|
|
|
- }
|
|
|
|
|
- },
|
|
|
|
|
- staleTime: staleTime,
|
|
|
|
|
- });
|
|
|
|
|
|
|
+ const [activeItem, setActiveItem] = useState(1.1);
|
|
|
|
|
|
|
|
- useEffect(() => {
|
|
|
|
|
- console.log("FAQ Guides Data:", loadFaqsData);
|
|
|
|
|
- }, [loadFaqsData]);
|
|
|
|
|
-
|
|
|
|
|
- const [activeItem, setActiveItem] = useState(t("travelEsimSim"));
|
|
|
|
|
const categories = [
|
|
const categories = [
|
|
|
{
|
|
{
|
|
|
- title: t("travelEsimSim"),
|
|
|
|
|
|
|
+ id: 1,
|
|
|
|
|
+ title: "1. GIỚI THIỆU CƠ BẢN VỀ ESIM ",
|
|
|
count: 3,
|
|
count: 3,
|
|
|
icon: (
|
|
icon: (
|
|
|
<svg
|
|
<svg
|
|
@@ -57,14 +38,148 @@ const SupportView: React.FC = () => {
|
|
|
</svg>
|
|
</svg>
|
|
|
),
|
|
),
|
|
|
items: [
|
|
items: [
|
|
|
- t("travelEsimSim"),
|
|
|
|
|
- t("physicalTravelSim"),
|
|
|
|
|
- t("howToBuyTravelEsimSim"),
|
|
|
|
|
|
|
+ {
|
|
|
|
|
+ childId: 1.1,
|
|
|
|
|
+ title: "eSIM là gì?",
|
|
|
|
|
+ content: `<p><strong>eSIM</strong> (viết tắt của <em>embedded SIM</em>) là một loại <strong>SIM điện tử được tích hợp trực tiếp vào bảng mạch của thiết bị di động, </strong>cho phép người dùng kích hoạt gói cước di động mà không cần sử dụng SIM vật lý truyền thống.</p>
|
|
|
|
|
+<p>Khác với SIM vật lý truyền thống (phải tháo lắp bằng tay), eSIM <strong>không cần khe cắm</strong>, không cần lắp đặt thủ công mà có thể được <strong>kích hoạt từ xa thông qua mã QR</strong> do nhà mạng cung cấp.</p>
|
|
|
|
|
+<p><strong>eSIM là xu hướng công nghệ viễn thông của hiện tại và tương lai</strong>, đặc biệt phù hợp với người dùng hiện đại cần sự nhanh gọn, linh hoạt và tối ưu trải nghiệm số.</p>`,
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ childId: 1.2,
|
|
|
|
|
+ title: "Lý do nên sử dụng eSIM và khi nào nên dùng?",
|
|
|
|
|
+ content: `<h3><strong><em>1.2.1. eSIM ngày càng được nhiều người dùng lựa chọn</em></strong><em> vì những ưu điểm vượt trội về tiện ích, tính linh hoạt và sự phù hợp với lối sống hiện đại:</em></h3>
|
|
|
|
|
+<ul>
|
|
|
|
|
+<li><strong>Kích hoạt nhanh, không cần đến cửa hàng:</strong> Người dùng có thể đăng ký và kích hoạt eSIM ngay trên điện thoại trong vài phút thông qua mã QR do nhà mạng cung cấp.</li>
|
|
|
|
|
+<li><strong>Không lo mất hoặc hỏng SIM:</strong> Vì được hàn trực tiếp vào thiết bị, eSIM loại bỏ nguy cơ rơi, gãy, cong hoặc hư chân tiếp xúc như SIM vật lý.</li>
|
|
|
|
|
+<li><strong>Tiết kiệm không gian thiết bị:</strong> Không cần khe SIM vật lý giúp thiết bị nhỏ gọn hơn, dễ thiết kế chống nước và chống bụi tốt hơn.</li>
|
|
|
|
|
+<li><strong>Hỗ trợ nhiều số trên một thiết bị:</strong> Một số dòng máy cho phép lưu trữ nhiều eSIM, giúp người dùng sử dụng song song số cá nhân và số công việc mà không cần dùng hai máy.</li>
|
|
|
|
|
+<li><strong>Dễ dàng chuyển đổi giữa các nhà mạng:</strong> Người dùng có thể chuyển đổi số hoặc đổi nhà mạng chỉ bằng vài thao tác đơn giản – không cần thay SIM, không phải tháo máy.</li>
|
|
|
|
|
+<li><strong>Linh hoạt khi đi nước ngoài:</strong> Với eSIM, bạn có thể mua gói cước quốc tế online và kích hoạt tức thì mà không cần tháo SIM chính – rất phù hợp cho người thường xuyên công tác hoặc du lịch.</li>
|
|
|
|
|
+</ul>
|
|
|
|
|
+<h3><strong><em>1.2.2. Nên dùng eSIM trong các trường hợp sau:</em></strong></h3>
|
|
|
|
|
+<ul>
|
|
|
|
|
+<li>Sở hữu thiết bị có hỗ trợ eSIM như iPhone XS trở lên, Samsung dòng Galaxy S hoặc Fold mới, Pixel, Apple Watch, iPad Cellular...</li>
|
|
|
|
|
+<li>Thường xuyên di chuyển hoặc đi công tác quốc tế và cần dùng eSIM du lịch ngắn hạn.</li>
|
|
|
|
|
+<li>Cần sử dụng song song 2 số điện thoại (ví dụ: một số công việc, một số cá nhân).</li>
|
|
|
|
|
+<li>Muốn tiết kiệm thời gian, hạn chế thao tác thủ công với SIM vật lý.</li>
|
|
|
|
|
+<li>Thiết bị không có khe cắm SIM (ví dụ: đồng hồ thông minh).</li>
|
|
|
|
|
+</ul>
|
|
|
|
|
+ <div class="w-full overflow-x-auto">
|
|
|
|
|
+ <table class="w-full border border-gray-300 border-collapse text-sm md:text-base">
|
|
|
|
|
+ <thead>
|
|
|
|
|
+ <tr class="bg-gray-100">
|
|
|
|
|
+ <th class="border border-gray-300 px-4 py-3 text-left font-semibold">
|
|
|
|
|
+ Tiêu chí
|
|
|
|
|
+ </th>
|
|
|
|
|
+ <th class="border border-gray-300 px-4 py-3 text-center font-semibold">
|
|
|
|
|
+ eSIM
|
|
|
|
|
+ </th>
|
|
|
|
|
+ <th class="border border-gray-300 px-4 py-3 text-center font-semibold">
|
|
|
|
|
+ SIM vật lý
|
|
|
|
|
+ </th>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ </thead>
|
|
|
|
|
+
|
|
|
|
|
+ <tbody>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td class="border px-4 py-3 font-medium">
|
|
|
|
|
+ Kích hoạt, đăng ký
|
|
|
|
|
+ </td>
|
|
|
|
|
+ <td class="border px-4 py-3">
|
|
|
|
|
+ Từ xa qua mã QR, thao tác nhanh chóng
|
|
|
|
|
+ </td>
|
|
|
|
|
+ <td class="border px-4 py-3">
|
|
|
|
|
+ Cần đến cửa hàng hoặc đợi giao SIM
|
|
|
|
|
+ </td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+
|
|
|
|
|
+ <tr class="bg-gray-50">
|
|
|
|
|
+ <td class="border px-4 py-3 font-medium">
|
|
|
|
|
+ Thay đổi nhà mạng / số
|
|
|
|
|
+ </td>
|
|
|
|
|
+ <td class="border px-4 py-3">
|
|
|
|
|
+ Dễ dàng, không cần tháo lắp
|
|
|
|
|
+ </td>
|
|
|
|
|
+ <td class="border px-4 py-3">
|
|
|
|
|
+ Phải tháo SIM, đổi SIM mới
|
|
|
|
|
+ </td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td class="border px-4 py-3 font-medium">
|
|
|
|
|
+ Dùng nhiều số cùng lúc
|
|
|
|
|
+ </td>
|
|
|
|
|
+ <td class="border px-4 py-3">
|
|
|
|
|
+ Lưu trữ nhiều eSIM trên máy, dễ chuyển đổi
|
|
|
|
|
+ </td>
|
|
|
|
|
+ <td class="border px-4 py-3">
|
|
|
|
|
+ Giới hạn khe SIM (thường 1–2 SIM vật lý)
|
|
|
|
|
+ </td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+
|
|
|
|
|
+ <tr class="bg-gray-50">
|
|
|
|
|
+ <td class="border px-4 py-3 font-medium">
|
|
|
|
|
+ Độ an toàn và bền bỉ
|
|
|
|
|
+ </td>
|
|
|
|
|
+ <td class="border px-4 py-3">
|
|
|
|
|
+ Không rơi, không hỏng vật lý
|
|
|
|
|
+ </td>
|
|
|
|
|
+ <td class="border px-4 py-3">
|
|
|
|
|
+ Dễ mất, dễ gãy hoặc lỗi tiếp xúc
|
|
|
|
|
+ </td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td class="border px-4 py-3 font-medium">
|
|
|
|
|
+ Khả năng tương thích
|
|
|
|
|
+ </td>
|
|
|
|
|
+ <td class="border px-4 py-3">
|
|
|
|
|
+ Phù hợp cho thiết bị hiện đại, nhỏ gọn
|
|
|
|
|
+ </td>
|
|
|
|
|
+ <td class="border px-4 py-3">
|
|
|
|
|
+ Không phù hợp với thiết bị không có khe SIM
|
|
|
|
|
+ </td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+
|
|
|
|
|
+ <tr class="bg-gray-50">
|
|
|
|
|
+ <td class="border px-4 py-3 font-medium">
|
|
|
|
|
+ Khi đi nước ngoài
|
|
|
|
|
+ </td>
|
|
|
|
|
+ <td class="border px-4 py-3">
|
|
|
|
|
+ Mua eSIM du lịch online, dùng ngay
|
|
|
|
|
+ </td>
|
|
|
|
|
+ <td class="border px-4 py-3">
|
|
|
|
|
+ Phải mua SIM mới, đổi thủ công
|
|
|
|
|
+ </td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td class="border px-4 py-3 font-medium">
|
|
|
|
|
+ Hỗ trợ chống nước, chống bụi
|
|
|
|
|
+ </td>
|
|
|
|
|
+ <td class="border px-4 py-3">
|
|
|
|
|
+ Tăng độ kín thiết bị (vì không cần khe SIM)
|
|
|
|
|
+ </td>
|
|
|
|
|
+ <td class="border px-4 py-3">
|
|
|
|
|
+ Có khe hở, dễ bụi, kém chống nước
|
|
|
|
|
+ </td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ </tbody>
|
|
|
|
|
+ </table>
|
|
|
|
|
+ </div>
|
|
|
|
|
+`,
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ childId: 1.3,
|
|
|
|
|
+ title: "Tiện ích nổi bật của eSIM so với SIM vật lý",
|
|
|
|
|
+ content: "",
|
|
|
|
|
+ },
|
|
|
],
|
|
],
|
|
|
color: "bg-red-500",
|
|
color: "bg-red-500",
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
- title: t("installationGuide"),
|
|
|
|
|
|
|
+ title: "2. HƯỚNG DẪN CÀI ĐẶT eSIM TRÊN CÁC THIẾT BỊ",
|
|
|
count: 3,
|
|
count: 3,
|
|
|
icon: (
|
|
icon: (
|
|
|
<svg
|
|
<svg
|
|
@@ -82,14 +197,312 @@ const SupportView: React.FC = () => {
|
|
|
</svg>
|
|
</svg>
|
|
|
),
|
|
),
|
|
|
items: [
|
|
items: [
|
|
|
- t("emailAndEsimQrCode"),
|
|
|
|
|
- t("installationGuideForIphoneIos"),
|
|
|
|
|
- t("installationGuideForAndroid"),
|
|
|
|
|
|
|
+ {
|
|
|
|
|
+ childId: 2.1,
|
|
|
|
|
+ title: "Hướng dẫn cài đặt eSIM trên các thiết bị",
|
|
|
|
|
+ content: `<p>Cài đặt eSIM trên các thiết bị tương thích (iPhone, Samsung, Google Pixel,…) rất đơn giản và nhanh chóng. Sau khi thanh toán, bạn sẽ nhận được email từ nhà cung cấp (như InfiGate) chứa thông tin gói eSIM và mã QR để kích hoạt.</p>
|
|
|
|
|
+<p>Toàn bộ quá trình cài đặt và kích hoạt eSIM được thực hiện <strong>hoàn toàn trực tuyến</strong>, chỉ mất khoảng <strong>3–5 phút</strong>.</p>`,
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ childId: 2.2,
|
|
|
|
|
+ title: "Chuẩn bị trước khi cài đặt eSIM",
|
|
|
|
|
+ content: `<p>Trước khi cài đặt, bạn cần đảm bảo:</p>
|
|
|
|
|
+<h3><strong>2.1.1. Thiết bị hỗ trợ eSIM</strong></h3>
|
|
|
|
|
+<p>Vào <strong>Cài đặt → Thông tin thiết bị (hoặc Giới thiệu về điện thoại)</strong> để kiểm tra.</p>
|
|
|
|
|
+<p>Một số dòng máy phổ biến hỗ trợ eSIM:</p>
|
|
|
|
|
+<ul>
|
|
|
|
|
+<li><strong>iPhone</strong>: Từ iPhone XS, XR trở lên<br /> </li>
|
|
|
|
|
+<li><strong>Samsung</strong>: Galaxy S20 trở lên, Z Fold/Flip, Note 20 Ultra, A54, A73...<br /> </li>
|
|
|
|
|
+<li><strong>Google Pixel</strong>: Từ Pixel 3 trở lên<br /> </li>
|
|
|
|
|
+<li><strong>Apple Watch</strong>, <strong>iPad Pro</strong> (bản Cellular)<br /> </li>
|
|
|
|
|
+</ul>
|
|
|
|
|
+<p><em>Lưu ý</em>: Lưu ý: Một số dòng máy xách tay có thể không bật được eSim. Tham khảo <a href="https://gigago.vn/thiet-bi-ho-tro-esim/">danh sách thiết bị hỗ trợ eSIM</a> của chúng tôi để xem liệu thiết bị của bạn có dùng được eSIM không.</p>
|
|
|
|
|
+<p> </p>
|
|
|
|
|
+<h3><strong>2.1.2. Email và mã QR eSIM</strong></h3>
|
|
|
|
|
+<ul>
|
|
|
|
|
+<li>Kiểm tra email để nhận <strong>mã QR</strong>, <strong>địa chỉ SM-DP+</strong>, và <strong>mã kích hoạt</strong> từ nhà cung cấp.</li>
|
|
|
|
|
+<li>Mã này có thể được in ra, chụp lại hoặc quét từ thiết bị khác.</li>
|
|
|
|
|
+</ul>
|
|
|
|
|
+<p><em>Mã QR có thời hạn kích hoạt 30 ngày kể từ khi nhận được email.</em></p>
|
|
|
|
|
+<h3><strong>2.1.3. Kết nối Wi-Fi ổn định</strong></h3>
|
|
|
|
|
+<ul>
|
|
|
|
|
+<li>Thiết bị cần có kết nối Internet (qua WiFi hoặc 3G/4G) trong suốt quá trình cài đặt.</li>
|
|
|
|
|
+</ul>
|
|
|
|
|
+<p><strong><em>Mẹo</em></strong>: iOS 17 và Samsung S20 trở lên đã hỗ trợ <strong>quét mã QR từ thư viện ảnh</strong>.</p>`,
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ childId: 2.3,
|
|
|
|
|
+ title: "Hướng dẫn cài đặt trên từng dòng thiết bị",
|
|
|
|
|
+ content: `<h3><strong>2.2.1. iPhone (iOS)</strong></h3>
|
|
|
|
|
+<h4><strong>2.2.1.1. Cách 1: Quét mã QR</strong></h4>
|
|
|
|
|
+<ol>
|
|
|
|
|
+<li>Mở thiết bị iOS của bạn, vào <strong>Settings</strong>/Cài đặt > <strong>Cellular/</strong>Di động > Add eSIM/Thêm gói cước di động > Use QR code/Dùng mã QR <em>(hoặc mở Camera và quét mã QR)</em></li>
|
|
|
|
|
+<li>Quét mã QR nhận từ email.</li>
|
|
|
|
|
+<li>Tại màn<strong> Activate eSIM/Kích hoạt eSIM</strong>, chọn<strong> Tiếp tục</strong>/<strong>Continue</strong>.</li>
|
|
|
|
|
+<li>Tại màn <strong>Cellular Setup Complete</strong>/<strong>Hoàn thành cài đặt di động</strong>, chọn <strong>Done</strong>.
|
|
|
|
|
+<img src="https://skysimhub.vn/assets/guide/2_1.png" alt="Activate eSIM on iOS"/></li>
|
|
|
|
|
+</ol>
|
|
|
|
|
+<h4><strong>2.2.1.2. Cách 2: Nhập thông tin thủ công</strong></h4>
|
|
|
|
|
+<ol>
|
|
|
|
|
+<li>Vào <strong>Settings</strong>/<strong>Cài đặt</strong><strong> > Cellular</strong>/<strong>Di động</strong><strong> > Add eSIM/Thêm eSIM </strong>(hoặc <strong>Set Up Cellular </strong>nếu không có <strong>Add eSIM</strong>)<strong>> </strong>chọn <strong>Enter Details Manually</strong>.</li>
|
|
|
|
|
+<li>Nhập địa chỉ <strong>SM-DP+</strong> và <strong>mã kích hoạt</strong>.</li>
|
|
|
|
|
+<li>Tại màn Activate eSIM/Kích hoạt eSIM, chọn Continue/Tiếp tục.</li>
|
|
|
|
|
+<li>Tại màn <strong>Cellular Setup Complete/Hoàn thành cài đặt di động</strong>, chọn Tại màn Activate eSIM/Kích hoạt eSIM, chọn<strong> Continue</strong>/<strong>Tiếp tục.</strong></li>
|
|
|
|
|
+<li>7. Tại màn<strong> Cellular Setup Complete</strong>/<strong>Hoàn thành cài đặt di động,</strong> chọn <strong>Done.</strong>
|
|
|
|
|
+<img src="https://skysimhub.vn/assets/guide/2_2.png" alt="Activate eSIM on iOS"/></li>
|
|
|
|
|
+</ol>
|
|
|
|
|
+<h4><strong>2.2.1.3. Cách 3: Sử dụng nút “Install Now/Cài đặt ngay” trên màn hình My eSIM trên app hoặc email InfiGate gửi.</strong></h4>
|
|
|
|
|
+<ol>
|
|
|
|
|
+<li>Truy cập app InfiGate > My eSIM hoặc mở email eSIM đã được InfiGate gửi.</li>
|
|
|
|
|
+<li>Bấm nút Instal Now/Cài đặt ngay trong màn hình hiển thị chi tiết</li>
|
|
|
|
|
+<li>Tại màn<strong> Activate eSIM/Kích hoạt eSIM</strong>, chọn<strong> Tiếp tục</strong>/<strong>Continue</strong>.</li>
|
|
|
|
|
+<li>Tại màn <strong>Cellular Setup Complete</strong>/<strong>Hoàn thành cài đặt di động</strong>, chọn <strong>Done</strong>.</li>
|
|
|
|
|
+</ol>
|
|
|
|
|
+<h4><strong>2.2.1.4. Kích hoạt eSIM du lịch trên iPhone</strong></h4>
|
|
|
|
|
+<ol>
|
|
|
|
|
+<li>Sau khi đến quốc gia sử dụng eSIM, vào <strong>Settings</strong>/<strong>Cài đặt</strong> > <strong>Cellular</strong>/<strong>Di động</strong>.</li>
|
|
|
|
|
+<li>Bật <strong>Turn on this line </strong>/ <strong>Bật dòng này </strong>và <strong>Data roaming </strong>/ <strong>Chuyển vùng dữ liệu</strong> cho dòng eSIM InfiGate.</li>
|
|
|
|
|
+<li>Vào <strong>Cellular</strong>/<strong>Di động</strong>, chọn <strong>Cellular Data</strong>/<strong>Dữ liệu di động</strong> > chọn <strong>InfiGate eSIM</strong> là kênh sử dụng dữ liệu di động chính.</li>
|
|
|
|
|
+</ol>
|
|
|
|
|
+<p> <em>Bạn đã có thể sử dụng eSIM để truy cập Internet.<br /> </em></p>
|
|
|
|
|
+<h4><strong>2.2.1.5. Xóa eSIM trên iPhone</strong></h4>
|
|
|
|
|
+<ol>
|
|
|
|
|
+<li>Vào<strong> Settings</strong>/Cài đặt <strong>> Cellular/Di động.</strong></li>
|
|
|
|
|
+<li>Chọn gói eSIM cần xóa → nhấn <strong>Remove Cellular Plan/Xóa gói di động</strong>. Sau đó, xác nhận lựa chọn của bạn.</li>
|
|
|
|
|
+</ol>
|
|
|
|
|
+<p><em>Lưu ý</em>: Một số eSIM chỉ kích hoạt được <strong>1 lần duy nhất</strong>. Nếu xóa, mã QR sẽ không dùng lại được. Bạn cần <strong>liên hệ lại nhà cung cấp để được cấp lại mã mới</strong> (phí: 25.000đ/lần).</p>
|
|
|
|
|
+<h3><strong>2.2.2. Android (Samsung, Google Pixel…)</strong></h3>
|
|
|
|
|
+<h4><strong>2.2.2.1. Cách 1: Quét mã QR</strong></h4>
|
|
|
|
|
+<ol>
|
|
|
|
|
+<li>Vào <strong>Cài đặt/Setting> Quản lý SIM/SIM Manager</strong></li>
|
|
|
|
|
+<li>Chọn <strong>Thêm eSIM/Add eSIM > Quét mã QR</strong></li>
|
|
|
|
|
+<li>Đưa mã QR vào khung quét, sau đó nhấn <strong>Thêm (Add) </strong>và đợi vài phút để eSIM được thêm vào thiết bị.</li>
|
|
|
|
|
+</ol>
|
|
|
|
|
+<p><strong><em>Lưu ý</em></strong>: <em>Tính năng tải lên ảnh mã QR chỉ áp dụng cho Samsung Galaxy S20, các dòng mới hơn của Samsung và một số dòng điện thoại Android khác.</em></p>
|
|
|
|
|
+<img src="https://skysimhub.vn/assets/guide/2_3.png" alt="Activate eSIM on Android"/>
|
|
|
|
|
+<h4><strong>2.2.2.2. Cách 2: Nhập thông tin thủ công</strong></h4>
|
|
|
|
|
+<ol>
|
|
|
|
|
+<li>Mở điện thoại, vào mục <strong>Cài đặt/Setting</strong></li>
|
|
|
|
|
+<li>Chọn Quản lý <strong>SIM/SIM Manage</strong></li>
|
|
|
|
|
+<li>Chọn Thêm <strong>eSIM/Add eSIM</strong></li>
|
|
|
|
|
+<li>Tại khung quét mã QR, chọn <strong>Enter activation code/Nhập mã kích hoạt</strong></li>
|
|
|
|
|
+<li>Nhập thông tin eSIM được gửi từ nhà cung cấp vào ô > bấm <strong>Connect/Kết nối</strong>.</li>
|
|
|
|
|
+<li>Khi được hỏi <strong>Add eSIM</strong>/<strong>Thêm eSIM</strong> không, bạn bấm <strong>Add</strong>/<strong>Thêm</strong> và đợi vài phút để điện thoại thêm eSIM vào máy để hoàn tất cài đặt.
|
|
|
|
|
+<img src="https://skysimhub.vn/assets/guide/2_4.png" alt="Activate eSIM on Android"/></li>
|
|
|
|
|
+</ol>
|
|
|
|
|
+<h4><strong>2.2.2.3. Kích hoạt eSIM du lịch trên Samsung</strong></h4>
|
|
|
|
|
+<ol>
|
|
|
|
|
+<li>Sau khi đến nơi, vào <strong>Settings</strong>/<strong>Cài đặt</strong> > <strong>Connections/Kết nối</strong>><strong> Mạng di động</strong>> bật <strong>Chuyển vùng dữ liệu/Data Roaming</strong></li>
|
|
|
|
|
+<li>Quay trở lại màn <strong>Connection/Kết nối</strong>> Vào <strong>SIM Manager/Quản lý SIM> </strong> bật <strong>eSIM InfiGate</strong></li>
|
|
|
|
|
+<li>Vào <strong>Mobile Data/Dữ liệu di dộng</strong>, chọn <strong>InfiGate eSIM</strong> là mạng chính</li>
|
|
|
|
|
+</ol>
|
|
|
|
|
+<p><em>eSIM sẵn sàng để dùng Internet.</em></p>
|
|
|
|
|
+<h4><strong>2.2.2.4. Xóa eSIM trên Android</strong></h4>
|
|
|
|
|
+<ol>
|
|
|
|
|
+<li>Vào <strong>Cài đặt > Connections/Kết nối > SIM manager</strong>/<strong>Trình quản lý SIM</strong></li>
|
|
|
|
|
+<li>Chọn eSIM cần xóa → Gạt sang <strong>“OFF”</strong> → nhấn <strong>Xóa (Remove) </strong>và xác nhận lựa chọn của bạn.</li>
|
|
|
|
|
+</ol>
|
|
|
|
|
+<p><strong><em>Lưu ý: </em></strong><em>Mỗi eSIM chỉ kích hoạt được 1 lần. Nếu cần dùng lại, bạn phải liên hệ nhà cung cấp để cấp lại mã QR. Phí cấp lại eSIM là 25.000đ/lần.</em></p>`,
|
|
|
|
|
+ },
|
|
|
|
|
+ ],
|
|
|
|
|
+ color: "bg-red-600",
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ title: "3. HƯỚNG DẪN BẬT CHUYỂN VÙNG DỮ LIỆU (Roaming)",
|
|
|
|
|
+ count: 1,
|
|
|
|
|
+ icon: (
|
|
|
|
|
+ <svg
|
|
|
|
|
+ className="w-6 h-6"
|
|
|
|
|
+ fill="none"
|
|
|
|
|
+ stroke="currentColor"
|
|
|
|
|
+ viewBox="0 0 24 24"
|
|
|
|
|
+ >
|
|
|
|
|
+ <path
|
|
|
|
|
+ strokeLinecap="round"
|
|
|
|
|
+ strokeLinejoin="round"
|
|
|
|
|
+ strokeWidth={2}
|
|
|
|
|
+ d="M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9a9 9 0 01-9-9m9 9c1.657 0 3-4.03 3-9s-1.343-9-3-9m0 18c-1.657 0-3-4.03-3-9s1.343-9 3-9m-9 9a9 9 0 019-9"
|
|
|
|
|
+ />
|
|
|
|
|
+ </svg>
|
|
|
|
|
+ ),
|
|
|
|
|
+ items: [
|
|
|
|
|
+ {
|
|
|
|
|
+ childId: 3.1,
|
|
|
|
|
+ title: "Hướng dẫn bật chuyển vùng dữ liệu (Roaming)",
|
|
|
|
|
+ content: `<p><em>*Vui lòng đảm bảo rằng bạn đang ở quốc gia đến để có thể sử dụng eSIM.</em></p>
|
|
|
|
|
+<ul>
|
|
|
|
|
+<li><strong>iOS</strong>: Cài đặt > Di động > Chọn eSIM > Bật “Chuyển vùng dữ liệu”</li>
|
|
|
|
|
+<img src="https://skysimhub.vn/assets/guide/3_1.png" alt="Enable Data Roaming on iOS"/>
|
|
|
|
|
+</ul>
|
|
|
|
|
+<ul>
|
|
|
|
|
+<li><strong>Android</strong>: Cài đặt > Kết nối > Mạng di động > Bật “Chuyển vùng dữ liệu”</li>
|
|
|
|
|
+<img src="https://skysimhub.vn/assets/guide/3_2.png" alt="Enable Data Roaming on Android"/>
|
|
|
|
|
+</ul>`,
|
|
|
|
|
+ },
|
|
|
|
|
+ ],
|
|
|
|
|
+ color: "bg-red-600",
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ title: "4. CÁCH KIỂM TRA DUNG LƯỢNG ĐÃ DÙNG",
|
|
|
|
|
+ count: 1,
|
|
|
|
|
+ icon: (
|
|
|
|
|
+ <svg
|
|
|
|
|
+ className="w-6 h-6"
|
|
|
|
|
+ fill="none"
|
|
|
|
|
+ stroke="currentColor"
|
|
|
|
|
+ viewBox="0 0 24 24"
|
|
|
|
|
+ >
|
|
|
|
|
+ <path
|
|
|
|
|
+ strokeLinecap="round"
|
|
|
|
|
+ strokeLinejoin="round"
|
|
|
|
|
+ strokeWidth={2}
|
|
|
|
|
+ d="M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9a9 9 0 01-9-9m9 9c1.657 0 3-4.03 3-9s-1.343-9-3-9m0 18c-1.657 0-3-4.03-3-9s1.343-9 3-9m-9 9a9 9 0 019-9"
|
|
|
|
|
+ />
|
|
|
|
|
+ </svg>
|
|
|
|
|
+ ),
|
|
|
|
|
+ items: [
|
|
|
|
|
+ {
|
|
|
|
|
+ childId: 4.1,
|
|
|
|
|
+ title: "Cách kiểm tra dung lượng đã dùng",
|
|
|
|
|
+ content: `<p>Lưu ý: Chuyển vùng thế giới hiện tại là tổng dung lượng một chu kỳ. Để biết chính xác dung lượng mỗi ngày đã dùng, bạn có thể làm mới bộ đếm mỗi cuối ngày bằng cách:</p>
|
|
|
|
|
+<p>Vào Cài đặt > Chọn Di động > Kéo đến cuối trang và chọn Reset Statistics</p>
|
|
|
|
|
+<p><strong>iOS:</strong></p>
|
|
|
|
|
+<p>Vào Cài đặt > Chọn Di động > Chọn Dữ liệu di động > Chọn eSIM cần kiểm tra > Quay lại màn hình Di động > Xem dung lượng đã dùng tại Chuyển vùng thế giới hiện tại</p>
|
|
|
|
|
+<img src="https://skysimhub.vn/assets/guide/4_1.png" alt="Check Data Usage on iOS"/>
|
|
|
|
|
+<p><strong>Android:</strong></p>
|
|
|
|
|
+<p>Vào Cài đặt > Chọn Kết nối > Chọn Quản lý SIM > Bật eSIM cần kiểm tra > Quay lại màn hình Kết nối > Chọn Sử dụng dữ liệu > Xem dung lượng đã dùng tại mục chứa tên eSIM</p>
|
|
|
|
|
+<img src="https://skysimhub.vn/assets/guide/4_2.png" alt="Check Data Usage on Android"/>`,
|
|
|
|
|
+ },
|
|
|
|
|
+ ],
|
|
|
|
|
+ color: "bg-red-600",
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ title: "5. CÁCH KIỂM TRA ESIM ĐANG SỬ DỤNG DỮ LIỆU",
|
|
|
|
|
+ count: 1,
|
|
|
|
|
+ icon: (
|
|
|
|
|
+ <svg
|
|
|
|
|
+ className="w-6 h-6"
|
|
|
|
|
+ fill="none"
|
|
|
|
|
+ stroke="currentColor"
|
|
|
|
|
+ viewBox="0 0 24 24"
|
|
|
|
|
+ >
|
|
|
|
|
+ <path
|
|
|
|
|
+ strokeLinecap="round"
|
|
|
|
|
+ strokeLinejoin="round"
|
|
|
|
|
+ strokeWidth={2}
|
|
|
|
|
+ d="M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9a9 9 0 01-9-9m9 9c1.657 0 3-4.03 3-9s-1.343-9-3-9m0 18c-1.657 0-3-4.03-3-9s1.343-9 3-9m-9 9a9 9 0 019-9"
|
|
|
|
|
+ />
|
|
|
|
|
+ </svg>
|
|
|
|
|
+ ),
|
|
|
|
|
+ items: [
|
|
|
|
|
+ {
|
|
|
|
|
+ childId: 5.1,
|
|
|
|
|
+ title: "Cách kiểm tra eSIM đang sử dụng dữ liệu",
|
|
|
|
|
+ content: `<p><strong>IOS:</strong></p>
|
|
|
|
|
+<p>Vào <strong>Cài đặt</strong> > Chọn <strong>Di động</strong> > Đảm bảo bạn đã bật eSIM > Chọn <strong>Dữ liệu di động</strong> > eSIM đánh dấu tick ✓ là eSIM đang dùng dữ liệu</p>
|
|
|
|
|
+<img src="https://skysimhub.vn/assets/guide/5_1.png" alt="Check eSIM using data on iOS"/>
|
|
|
|
|
+<p><strong>ANDROID:</strong></p>
|
|
|
|
|
+<p>Vào <strong>Cài đặt</strong> > Chọn <strong>Kết nối</strong> > Chọn <strong>Quản lý SIM</strong> > Đảm bảo bạn đã bật eSIM > Kéo xuống và kiểm tra eSIM đang dùng dữ liệu tại <strong>Dữ liệu di động</strong></p>
|
|
|
|
|
+<img src="https://skysimhub.vn/assets/guide/5_2.png" alt="Check eSIM using data on Android"/>`,
|
|
|
|
|
+ },
|
|
|
|
|
+ ],
|
|
|
|
|
+ color: "bg-red-600",
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ title: "6. CÁCH ƯỚC TÍNH DUNG LƯỢNG",
|
|
|
|
|
+ count: 1,
|
|
|
|
|
+ icon: (
|
|
|
|
|
+ <svg
|
|
|
|
|
+ className="w-6 h-6"
|
|
|
|
|
+ fill="none"
|
|
|
|
|
+ stroke="currentColor"
|
|
|
|
|
+ viewBox="0 0 24 24"
|
|
|
|
|
+ >
|
|
|
|
|
+ <path
|
|
|
|
|
+ strokeLinecap="round"
|
|
|
|
|
+ strokeLinejoin="round"
|
|
|
|
|
+ strokeWidth={2}
|
|
|
|
|
+ d="M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9a9 9 0 01-9-9m9 9c1.657 0 3-4.03 3-9s-1.343-9-3-9m0 18c-1.657 0-3-4.03-3-9s1.343-9 3-9m-9 9a9 9 0 019-9"
|
|
|
|
|
+ />
|
|
|
|
|
+ </svg>
|
|
|
|
|
+ ),
|
|
|
|
|
+ items: [
|
|
|
|
|
+ {
|
|
|
|
|
+ childId: 6.1,
|
|
|
|
|
+ title: "Cách ước tính dung lượng",
|
|
|
|
|
+ content: `<img src="https://skysimhub.vn/assets/guide/6_1.png" alt="Data Usage Estimation"/>`,
|
|
|
|
|
+ },
|
|
|
|
|
+ ],
|
|
|
|
|
+ color: "bg-red-600",
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ title: "7. CÁC SỰ CỐ ESIM PHỔ BIẾN",
|
|
|
|
|
+ count: 1,
|
|
|
|
|
+ icon: (
|
|
|
|
|
+ <svg
|
|
|
|
|
+ className="w-6 h-6"
|
|
|
|
|
+ fill="none"
|
|
|
|
|
+ stroke="currentColor"
|
|
|
|
|
+ viewBox="0 0 24 24"
|
|
|
|
|
+ >
|
|
|
|
|
+ <path
|
|
|
|
|
+ strokeLinecap="round"
|
|
|
|
|
+ strokeLinejoin="round"
|
|
|
|
|
+ strokeWidth={2}
|
|
|
|
|
+ d="M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9a9 9 0 01-9-9m9 9c1.657 0 3-4.03 3-9s-1.343-9-3-9m0 18c-1.657 0-3-4.03-3-9s1.343-9 3-9m-9 9a9 9 0 019-9"
|
|
|
|
|
+ />
|
|
|
|
|
+ </svg>
|
|
|
|
|
+ ),
|
|
|
|
|
+ items: [
|
|
|
|
|
+ {
|
|
|
|
|
+ childId: 7.1,
|
|
|
|
|
+ title: "Các sự cố eSIM phổ biến",
|
|
|
|
|
+ content: `<h3><strong><em>2.7.1. Tôi không nhận được email chứa mã eSIM?</em></strong></h3>
|
|
|
|
|
+<ul>
|
|
|
|
|
+<li>Email chứa thông tin eSIM, bao gồm mã QR và các thông tin của gói sẽ được gửi <strong>trong vòng 5–10 phút sau thanh toán</strong>.<br /> </li>
|
|
|
|
|
+<li>Nếu không có, hãy liên hệ:
|
|
|
|
|
+<ul>
|
|
|
|
|
+<li>Zalo/Hotline/Whatsapp: +84336548007</li>
|
|
|
|
|
+<li>Email: klinhnguyen@viettech.asia<br /> </li>
|
|
|
|
|
+</ul>
|
|
|
|
|
+</li>
|
|
|
|
|
+</ul>
|
|
|
|
|
+<h3><strong><em>2.7.2. Tôi không thể quét mã QR?</em></strong></h3>
|
|
|
|
|
+<p>Có nhiều lý do khiến bạn không thể quét (scan) mã QR thành công:</p>
|
|
|
|
|
+<ul>
|
|
|
|
|
+<li><strong>Không có kết nối Internet:</strong> để quét mã QR eSIM, bạn cần có kết nối Internet (qua WiFi hoặc dữ liệu di động). Vui lòng đảm bảo chất lượng Internet trong quá trình cài đặt eSIM.</li>
|
|
|
|
|
+<li><strong>Điện thoại không tương thích eSIM:</strong> Khi đó hãy kiểm tra lại Cài đặt (Settings) để chắc chắn rằng điện thoại của bạn có hỗ trợ eSIM.</li>
|
|
|
|
|
+<li><strong>Không quét mã QR bằng phần cài đặt eSIM:</strong> eSIM chỉ có thể cài đặt thành công bằng việc quét mã QR trong phần cài đặt eSIM, chứ không phải vào ứng dụng Camera của điện thoại hay ứng dụng khác để quét.</li>
|
|
|
|
|
+<li><strong>Mã QR hết hạn:</strong> ở một số trường hợp, mã QR có thể đã bị sử dụng rồi cũng là lý do khiến bạn không quét mã.</li>
|
|
|
|
|
+<li><strong>Mã QR không nằm trọn trong khung camera:</strong> vui lòng đặt điện thoại sao cho mã QR nằm trọn trong khung quét trước khi tiến hành quét mã.</li>
|
|
|
|
|
+</ul>
|
|
|
|
|
+<h3><strong><em>2.7.3 Tôi cần làm gì khi lỡ xóa eSIM?</em></strong></h3>
|
|
|
|
|
+<ul>
|
|
|
|
|
+<li>Thông thường, mỗi eSIM chỉ được cài đặt một lần duy nhất trên một thiết bị và bạn sẽ không thể quét lại mã QR của eSIM đó. Tuy nhiên, trong trường hợp cần thiết, bạn hãy liên hệ với bộ phận chăm sóc khách hàng của nhà cung cấp eSIM để được hỗ trợ nhé.</li>
|
|
|
|
|
+</ul>
|
|
|
|
|
+<h3><strong><em>2.7.4. eSIM đã cài nhưng không có sóng?</em></strong></h3>
|
|
|
|
|
+<p>*Vui lòng đảm bảo rằng bạn đang ở quốc gia đến để có thể sử dụng eSIM.</p>
|
|
|
|
|
+<p><strong>Cách 1:</strong> Vui lòng kiểm tra xem bạn đã bật chế độ Chuyển vùng dữ liệu và chế độ Dữ liệu di động trên điện thoại chưa.</p>
|
|
|
|
|
+<ul>
|
|
|
|
|
+<li><strong>iOS:</strong>
|
|
|
|
|
+<img src="https://skysimhub.vn/assets/guide/7_1.png" alt="Activate eSIM on Android"/></li>
|
|
|
|
|
+<li><strong>Android:</strong>
|
|
|
|
|
+<img src="https://skysimhub.vn/assets/guide/7_2.png" alt="Activate eSIM on Android"/>
|
|
|
|
|
+</li>
|
|
|
|
|
+</ul>
|
|
|
|
|
+<p><strong>Cách 2: Bạn thử Reset lại điện thoại hoặc chờ khoảng 5-10 phút vì một số mạng kích hoạt hơi lâu.</strong></p>
|
|
|
|
|
+<p><strong>Nếu bạn vẫn không thể khắc phục được sự cố, vui lòng liên hệ với chúng tôi càng sớm càng tốt qua<em> Zalo +84336548007</em> để được hỗ trợ</strong></p>`,
|
|
|
|
|
+ },
|
|
|
],
|
|
],
|
|
|
color: "bg-red-600",
|
|
color: "bg-red-600",
|
|
|
},
|
|
},
|
|
|
];
|
|
];
|
|
|
|
|
|
|
|
|
|
+ const [content, setContent] = useState<{ title: string; content: string }>({
|
|
|
|
|
+ title: categories[0].items[0].title,
|
|
|
|
|
+ content: categories[0].items[0].content,
|
|
|
|
|
+ });
|
|
|
|
|
+
|
|
|
return (
|
|
return (
|
|
|
<div className="bg-white min-h-screen">
|
|
<div className="bg-white min-h-screen">
|
|
|
<div className="max-w-7xl mx-auto px-4 py-6">
|
|
<div className="max-w-7xl mx-auto px-4 py-6">
|
|
@@ -127,7 +540,7 @@ const SupportView: React.FC = () => {
|
|
|
>
|
|
>
|
|
|
{cat.icon}
|
|
{cat.icon}
|
|
|
</div>
|
|
</div>
|
|
|
- <h3 className="text-[17px] font-black text-[#EE0434] leading-tight">
|
|
|
|
|
|
|
+ <h3 className="text-[17px] font-black leading-tight">
|
|
|
{cat.title}
|
|
{cat.title}
|
|
|
</h3>
|
|
</h3>
|
|
|
</div>
|
|
</div>
|
|
@@ -135,24 +548,30 @@ const SupportView: React.FC = () => {
|
|
|
{cat.items.map((item, i) => (
|
|
{cat.items.map((item, i) => (
|
|
|
<button
|
|
<button
|
|
|
key={i}
|
|
key={i}
|
|
|
- onClick={() => setActiveItem(item)}
|
|
|
|
|
|
|
+ onClick={() => {
|
|
|
|
|
+ setActiveItem(item.childId);
|
|
|
|
|
+ setContent({
|
|
|
|
|
+ title: item.title,
|
|
|
|
|
+ content: item.content,
|
|
|
|
|
+ });
|
|
|
|
|
+ }}
|
|
|
className="group flex items-center justify-between w-full text-left relative"
|
|
className="group flex items-center justify-between w-full text-left relative"
|
|
|
>
|
|
>
|
|
|
<div
|
|
<div
|
|
|
className={`absolute -left-[22px] w-2 h-2 rounded-full border-2 border-white ${
|
|
className={`absolute -left-[22px] w-2 h-2 rounded-full border-2 border-white ${
|
|
|
- activeItem === item
|
|
|
|
|
|
|
+ activeItem === item.childId
|
|
|
? "bg-[#EE0434] scale-125"
|
|
? "bg-[#EE0434] scale-125"
|
|
|
: "bg-slate-200"
|
|
: "bg-slate-200"
|
|
|
}`}
|
|
}`}
|
|
|
></div>
|
|
></div>
|
|
|
<span
|
|
<span
|
|
|
className={`text-[14px] font-bold transition-colors pl-4 ${
|
|
className={`text-[14px] font-bold transition-colors pl-4 ${
|
|
|
- activeItem === item
|
|
|
|
|
|
|
+ activeItem === item.childId
|
|
|
? "text-[#EE0434]"
|
|
? "text-[#EE0434]"
|
|
|
: "text-slate-500 group-hover:text-[#EE0434]"
|
|
: "text-slate-500 group-hover:text-[#EE0434]"
|
|
|
}`}
|
|
}`}
|
|
|
>
|
|
>
|
|
|
- {item}
|
|
|
|
|
|
|
+ {item.title}
|
|
|
</span>
|
|
</span>
|
|
|
</button>
|
|
</button>
|
|
|
))}
|
|
))}
|
|
@@ -162,11 +581,13 @@ const SupportView: React.FC = () => {
|
|
|
</aside>
|
|
</aside>
|
|
|
<main className="lg:col-span-8">
|
|
<main className="lg:col-span-8">
|
|
|
<h1 className="text-4xl md:text-5xl font-black text-[#EE0434] mb-10">
|
|
<h1 className="text-4xl md:text-5xl font-black text-[#EE0434] mb-10">
|
|
|
- {t("guideAndHelp")}
|
|
|
|
|
|
|
+ {content.title}
|
|
|
</h1>
|
|
</h1>
|
|
|
- <p className="text-lg leading-relaxed text-slate-600">
|
|
|
|
|
- {t("selectTopicInstructions")}
|
|
|
|
|
- </p>
|
|
|
|
|
|
|
+ <div
|
|
|
|
|
+ className="prose max-w-none text-gray-800"
|
|
|
|
|
+ style={{ lineHeight: "40px" }}
|
|
|
|
|
+ dangerouslySetInnerHTML={{ __html: content.content }}
|
|
|
|
|
+ />
|
|
|
</main>
|
|
</main>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|