diff --git a/public/file.svg b/public/file.svg
deleted file mode 100644
index 004145c..0000000
--- a/public/file.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/globe.svg b/public/globe.svg
deleted file mode 100644
index 567f17b..0000000
--- a/public/globe.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/images/Chùa Thái Lạc/Chính Diện Cổng Chùa.jpg b/public/images/chua-thai-lac/01.jpg
similarity index 100%
rename from public/images/Chùa Thái Lạc/Chính Diện Cổng Chùa.jpg
rename to public/images/chua-thai-lac/01.jpg
diff --git a/public/images/Chùa Thái Lạc/Cổng Hữu.jpg b/public/images/chua-thai-lac/02.jpg
similarity index 100%
rename from public/images/Chùa Thái Lạc/Cổng Hữu.jpg
rename to public/images/chua-thai-lac/02.jpg
diff --git a/public/images/Chùa Thái Lạc/Cổng Bên Trái.jpg b/public/images/chua-thai-lac/03.jpg
similarity index 100%
rename from public/images/Chùa Thái Lạc/Cổng Bên Trái.jpg
rename to public/images/chua-thai-lac/03.jpg
diff --git a/public/images/Chùa Thái Lạc/Lối Vào Been Trái.jpg b/public/images/chua-thai-lac/04.jpg
similarity index 100%
rename from public/images/Chùa Thái Lạc/Lối Vào Been Trái.jpg
rename to public/images/chua-thai-lac/04.jpg
diff --git a/public/images/Chùa Thái Lạc/Đường Hữu.jpg b/public/images/chua-thai-lac/05.jpg
similarity index 100%
rename from public/images/Chùa Thái Lạc/Đường Hữu.jpg
rename to public/images/chua-thai-lac/05.jpg
diff --git a/public/images/Chùa Thái Lạc/Đường Tả Qua Vòm.jpg b/public/images/chua-thai-lac/06.jpg
similarity index 100%
rename from public/images/Chùa Thái Lạc/Đường Tả Qua Vòm.jpg
rename to public/images/chua-thai-lac/06.jpg
diff --git a/public/images/Chùa Thái Lạc/Duong Tả Vòm.jpg b/public/images/chua-thai-lac/07.jpg
similarity index 100%
rename from public/images/Chùa Thái Lạc/Duong Tả Vòm.jpg
rename to public/images/chua-thai-lac/07.jpg
diff --git a/public/images/Chùa Thái Lạc/Chính Sảnh.jpg b/public/images/chua-thai-lac/08.jpg
similarity index 100%
rename from public/images/Chùa Thái Lạc/Chính Sảnh.jpg
rename to public/images/chua-thai-lac/08.jpg
diff --git a/public/images/Chùa Thái Lạc/Chính.jpg b/public/images/chua-thai-lac/09.jpg
similarity index 100%
rename from public/images/Chùa Thái Lạc/Chính.jpg
rename to public/images/chua-thai-lac/09.jpg
diff --git a/public/images/Chùa Thái Lạc/Giuawx.jpg b/public/images/chua-thai-lac/10.jpg
similarity index 100%
rename from public/images/Chùa Thái Lạc/Giuawx.jpg
rename to public/images/chua-thai-lac/10.jpg
diff --git a/public/images/Chùa Thái Lạc/Chính Điện 3.jpg b/public/images/chua-thai-lac/11.jpg
similarity index 100%
rename from public/images/Chùa Thái Lạc/Chính Điện 3.jpg
rename to public/images/chua-thai-lac/11.jpg
diff --git a/public/images/Chùa Thái Lạc/4.jpg b/public/images/chua-thai-lac/12.jpg
similarity index 100%
rename from public/images/Chùa Thái Lạc/4.jpg
rename to public/images/chua-thai-lac/12.jpg
diff --git a/public/images/Chùa Thái Lạc/Chùa 1 Tả.jpg b/public/images/chua-thai-lac/13.jpg
similarity index 100%
rename from public/images/Chùa Thái Lạc/Chùa 1 Tả.jpg
rename to public/images/chua-thai-lac/13.jpg
diff --git a/public/images/Chùa Thái Lạc/Chùa 1 Giữa.jpg b/public/images/chua-thai-lac/14.jpg
similarity index 100%
rename from public/images/Chùa Thái Lạc/Chùa 1 Giữa.jpg
rename to public/images/chua-thai-lac/14.jpg
diff --git a/public/images/Chùa Thái Lạc/Chùa 1 Hữu.jpg b/public/images/chua-thai-lac/15.jpg
similarity index 100%
rename from public/images/Chùa Thái Lạc/Chùa 1 Hữu.jpg
rename to public/images/chua-thai-lac/15.jpg
diff --git a/public/images/Chùa Thái Lạc/Chùa 1 Trong - Giữa.jpg b/public/images/chua-thai-lac/16.jpg
similarity index 100%
rename from public/images/Chùa Thái Lạc/Chùa 1 Trong - Giữa.jpg
rename to public/images/chua-thai-lac/16.jpg
diff --git a/public/images/Chùa Thái Lạc/Chùa 1 Trong Tả.jpg b/public/images/chua-thai-lac/17.jpg
similarity index 100%
rename from public/images/Chùa Thái Lạc/Chùa 1 Trong Tả.jpg
rename to public/images/chua-thai-lac/17.jpg
diff --git a/public/images/Chùa Thái Lạc/Hữu 2.jpg b/public/images/chua-thai-lac/18.jpg
similarity index 100%
rename from public/images/Chùa Thái Lạc/Hữu 2.jpg
rename to public/images/chua-thai-lac/18.jpg
diff --git a/public/images/Chùa Thái Lạc/Hữu 3.jpg b/public/images/chua-thai-lac/19.jpg
similarity index 100%
rename from public/images/Chùa Thái Lạc/Hữu 3.jpg
rename to public/images/chua-thai-lac/19.jpg
diff --git a/public/images/Chùa Thái Lạc/Tượng Quan Âm.jpg b/public/images/chua-thai-lac/20.jpg
similarity index 100%
rename from public/images/Chùa Thái Lạc/Tượng Quan Âm.jpg
rename to public/images/chua-thai-lac/20.jpg
diff --git a/public/images/Chùa Thái Lạc/La Hán Tả.jpg b/public/images/chua-thai-lac/21.jpg
similarity index 100%
rename from public/images/Chùa Thái Lạc/La Hán Tả.jpg
rename to public/images/chua-thai-lac/21.jpg
diff --git a/public/images/Chùa Thái Lạc/Nhà Phật Hữu.jpg b/public/images/chua-thai-lac/22.jpg
similarity index 100%
rename from public/images/Chùa Thái Lạc/Nhà Phật Hữu.jpg
rename to public/images/chua-thai-lac/22.jpg
diff --git a/public/images/Chùa Thái Lạc/Ao Cá Koi.jpg b/public/images/chua-thai-lac/23.jpg
similarity index 100%
rename from public/images/Chùa Thái Lạc/Ao Cá Koi.jpg
rename to public/images/chua-thai-lac/23.jpg
diff --git a/public/images/Chùa Thái Lạc/Gốc Ngoã Tả.jpg b/public/images/chua-thai-lac/24.jpg
similarity index 100%
rename from public/images/Chùa Thái Lạc/Gốc Ngoã Tả.jpg
rename to public/images/chua-thai-lac/24.jpg
diff --git a/public/images/Chùa Thái Lạc/Gốc Ngoã Hữu.jpg b/public/images/chua-thai-lac/25.jpg
similarity index 100%
rename from public/images/Chùa Thái Lạc/Gốc Ngoã Hữu.jpg
rename to public/images/chua-thai-lac/25.jpg
diff --git a/public/images/Chùa Thái Lạc/Sau Chùa.jpg b/public/images/chua-thai-lac/26.jpg
similarity index 100%
rename from public/images/Chùa Thái Lạc/Sau Chùa.jpg
rename to public/images/chua-thai-lac/26.jpg
diff --git a/public/next.svg b/public/next.svg
deleted file mode 100644
index 5174b28..0000000
--- a/public/next.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/vercel.svg b/public/vercel.svg
deleted file mode 100644
index 7705396..0000000
--- a/public/vercel.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/window.svg b/public/window.svg
deleted file mode 100644
index b2b2a44..0000000
--- a/public/window.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/src/app/content.ts b/src/app/content.ts
index 9f00bde..8426c88 100644
--- a/src/app/content.ts
+++ b/src/app/content.ts
@@ -1,4 +1,4 @@
-const imgBase = "/images/Đình Thái Lạc"; // thư mục chứa 26 ảnh Chùa Thái Lạc
+const imgBase = "/images/chua-thai-lac"; // 26 ảnh panorama Chùa Thái Lạc, đặt tên 01..26.jpg
export const img = (file: string) => encodeURI(`${imgBase}/${file}`);
export const commune = {
@@ -13,10 +13,10 @@ export const activeTour = {
title: "Chùa Thái Lạc (Pháp Vân tự)",
subtitle: "Di tích quốc gia — chạm khắc gỗ thời Trần",
href: "/tour/chua-thai-lac",
- heroImage: img("Chính Diện Cổng Chùa.jpg"),
- coverImage: img("Chính Sảnh.jpg"),
- gateImage: img("Chính Diện Cổng Chùa.jpg"),
- shrineImage: img("Chính Điện 3.jpg"),
+ heroImage: img("01.jpg"), // Chính diện cổng chùa
+ coverImage: img("08.jpg"), // Chính sảnh
+ gateImage: img("01.jpg"), // Chính diện cổng chùa
+ shrineImage: img("11.jpg"), // Chính điện
sceneCount: "26",
duration: "15-20 phút",
};
@@ -60,7 +60,7 @@ function stub(id: string, name: string, type: string, level: HeritageLevel, desc
level,
status: "Đang bổ sung tư liệu",
shortDescription: desc,
- image: img("Chính Sảnh.jpg"), // ảnh tạm dùng chung cho các di tích chưa có tư liệu
+ image: img("08.jpg"), // ảnh tạm (Chính sảnh) dùng chung cho các di tích chưa có tư liệu
detailUrl: `/di-tich/${id}`,
isAvailable: false,
location: "Xã Như Quỳnh, tỉnh Hưng Yên",
@@ -81,7 +81,7 @@ export const heritageSites: HeritageSite[] = [
"Giá trị đặc biệt của di tích nằm ở hệ thống ván chạm khắc gỗ có niên đại thời Trần (thế kỷ 14), khắc họa các nhạc công, vũ nữ, hình tượng Phật giáo với kỹ thuật điêu luyện — nguồn tư liệu quý cho nghiên cứu mỹ thuật cổ Việt Nam.",
"Không gian chùa gồm cổng, sân, tiền đường, thượng điện cùng các ban thờ và cảnh quan vườn, ao, được số hóa đầy đủ trong tour VR360.",
],
- image: img("Chính Diện Cổng Chùa.jpg"),
+ image: img("01.jpg"), // Chính diện cổng chùa
vrUrl: "/tour/chua-thai-lac",
detailUrl: "/di-tich/chua-thai-lac",
isAvailable: true,
diff --git a/src/app/tours/chua-thai-lac.ts b/src/app/tours/chua-thai-lac.ts
index 1c326a8..792ea7b 100644
--- a/src/app/tours/chua-thai-lac.ts
+++ b/src/app/tours/chua-thai-lac.ts
@@ -1,26 +1,29 @@
// Cấu hình tour VR360 Chùa Thái Lạc (Pháp Vân tự) — Xã Như Quỳnh, Hưng Yên.
// File chỉ chứa DỮ LIỆU (type-only import từ engine để tránh circular import runtime).
// Engine `VirtualTour.tsx` import `chuaThaiLacTour` rồi bọc qua createTourConfig().
+//
+// Ảnh panorama đặt tại public/images/chua-thai-lac/01.jpg … 26.jpg
+// (đặt tên ASCII theo thứ tự cảnh để tránh lỗi mã hóa Unicode/đường dẫn khi triển khai).
import type { TourConfig, TourScene, InfoMarker } from "@/app/components/VirtualTour";
-const base = "/images/Đình Thái Lạc";
-const p = (file: string) => encodeURI(`${base}/${file}`);
+const base = "/images/chua-thai-lac";
+// Ảnh theo số thứ tự cảnh: scene-1 → 01.jpg, scene-2 → 02.jpg, …
+const imageFor = (index: number) => `${base}/${String(index + 1).padStart(2, "0")}.jpg`;
type SceneSeed = {
title: string;
location: string;
- file: string;
initialYaw?: number;
infoMarkers?: InfoMarker[];
};
// Tuyến tham quan: cổng → đường/vòm → tiền đường & chính điện → khu thờ → ban tượng → cảnh quan.
-// yaw/pitch của hotspot để mặc định (tiến: 0, lùi: 180); tinh chỉnh trực quan ở bước chạy dev.
+// Thứ tự mảng = thứ tự ảnh (01..26). yaw/pitch hotspot để mặc định (tiến: 0, lùi: 180);
+// tinh chỉnh trực quan khi chạy dev.
const seeds: SceneSeed[] = [
{
title: "Chính diện cổng chùa",
location: "Khu cổng",
- file: "Chính Diện Cổng Chùa.jpg",
infoMarkers: [
{
id: "gioi-thieu",
@@ -36,19 +39,18 @@ const seeds: SceneSeed[] = [
},
],
},
- { title: "Cổng bên phải", location: "Khu cổng", file: "Cổng Hữu.jpg" },
- { title: "Cổng bên trái", location: "Khu cổng", file: "Cổng Bên Trái.jpg" },
- { title: "Lối vào bên trái", location: "Khu cổng", file: "Lối Vào Been Trái.jpg" },
- { title: "Đường bên phải", location: "Đường vào", file: "Đường Hữu.jpg" },
- { title: "Đường bên trái qua vòm", location: "Đường vào", file: "Đường Tả Qua Vòm.jpg" },
- { title: "Đường tả qua vòm", location: "Đường vào", file: "Duong Tả Vòm.jpg" },
- { title: "Chính sảnh", location: "Tiền đường & Chính điện", file: "Chính Sảnh.jpg" },
- { title: "Gian giữa", location: "Tiền đường & Chính điện", file: "Chính.jpg" },
- { title: "Trung tâm chính điện", location: "Tiền đường & Chính điện", file: "Giuawx.jpg" },
+ { title: "Cổng bên phải", location: "Khu cổng" },
+ { title: "Cổng bên trái", location: "Khu cổng" },
+ { title: "Lối vào bên trái", location: "Khu cổng" },
+ { title: "Đường bên phải", location: "Đường vào" },
+ { title: "Đường bên trái qua vòm", location: "Đường vào" },
+ { title: "Đường tả qua vòm", location: "Đường vào" },
+ { title: "Chính sảnh", location: "Tiền đường & Chính điện" },
+ { title: "Gian giữa", location: "Tiền đường & Chính điện" },
+ { title: "Trung tâm chính điện", location: "Tiền đường & Chính điện" },
{
title: "Chính điện",
location: "Tiền đường & Chính điện",
- file: "Chính Điện 3.jpg",
infoMarkers: [
{
id: "cham-khac-go",
@@ -64,18 +66,17 @@ const seeds: SceneSeed[] = [
},
],
},
- { title: "Gian trong chính điện", location: "Tiền đường & Chính điện", file: "4.jpg" },
- { title: "Ban thờ bên trái", location: "Khu thờ trong chùa", file: "Chùa 1 Tả.jpg" },
- { title: "Ban thờ chính giữa", location: "Khu thờ trong chùa", file: "Chùa 1 Giữa.jpg" },
- { title: "Ban thờ bên phải", location: "Khu thờ trong chùa", file: "Chùa 1 Hữu.jpg" },
- { title: "Gian trong - giữa", location: "Khu thờ trong chùa", file: "Chùa 1 Trong - Giữa.jpg" },
- { title: "Gian trong bên trái", location: "Khu thờ trong chùa", file: "Chùa 1 Trong Tả.jpg" },
- { title: "Hành lang bên phải", location: "Khu thờ trong chùa", file: "Hữu 2.jpg" },
- { title: "Hành lang bên phải (tiếp)", location: "Khu thờ trong chùa", file: "Hữu 3.jpg" },
+ { title: "Gian trong chính điện", location: "Tiền đường & Chính điện" },
+ { title: "Ban thờ bên trái", location: "Khu thờ trong chùa" },
+ { title: "Ban thờ chính giữa", location: "Khu thờ trong chùa" },
+ { title: "Ban thờ bên phải", location: "Khu thờ trong chùa" },
+ { title: "Gian trong - giữa", location: "Khu thờ trong chùa" },
+ { title: "Gian trong bên trái", location: "Khu thờ trong chùa" },
+ { title: "Hành lang bên phải", location: "Khu thờ trong chùa" },
+ { title: "Hành lang bên phải (tiếp)", location: "Khu thờ trong chùa" },
{
title: "Tượng Quan Âm",
location: "Ban thờ tượng",
- file: "Tượng Quan Âm.jpg",
infoMarkers: [
{
id: "dai-quan-am",
@@ -90,12 +91,12 @@ const seeds: SceneSeed[] = [
},
],
},
- { title: "Tượng La Hán bên trái", location: "Ban thờ tượng", file: "La Hán Tả.jpg" },
- { title: "Nhà thờ Phật bên phải", location: "Ban thờ tượng", file: "Nhà Phật Hữu.jpg" },
- { title: "Ao cá Koi", location: "Cảnh quan", file: "Ao Cá Koi.jpg" },
- { title: "Gốc ngõa bên trái", location: "Cảnh quan", file: "Gốc Ngoã Tả.jpg" },
- { title: "Gốc ngõa bên phải", location: "Cảnh quan", file: "Gốc Ngoã Hữu.jpg" },
- { title: "Phía sau chùa", location: "Cảnh quan", file: "Sau Chùa.jpg" },
+ { title: "Tượng La Hán bên trái", location: "Ban thờ tượng" },
+ { title: "Nhà thờ Phật bên phải", location: "Ban thờ tượng" },
+ { title: "Ao cá Koi", location: "Cảnh quan" },
+ { title: "Gốc ngõa bên trái", location: "Cảnh quan" },
+ { title: "Gốc ngõa bên phải", location: "Cảnh quan" },
+ { title: "Phía sau chùa", location: "Cảnh quan" },
];
const sceneId = (index: number) => `scene-${index + 1}`;
@@ -131,7 +132,7 @@ const scenes: TourScene[] = seeds.map((seed, index) => {
order: String(index + 1).padStart(2, "0"),
title: seed.title,
location: seed.location,
- image: p(seed.file),
+ image: imageFor(index),
initialYaw: seed.initialYaw ?? 0,
mapPosition,
hotspots,
@@ -151,10 +152,10 @@ export const chuaThaiLacTour: Omit =
welcomeAccent: "Pháp Vân tự",
welcomeSubtitle:
"Tham quan 360° ngôi chùa cổ thờ Pháp Vân, nổi tiếng với mảng chạm khắc gỗ thời Trần.",
- welcomeBackgroundImage: p("Chính Sảnh.jpg"),
+ welcomeBackgroundImage: imageFor(7), // 08.jpg — Chính sảnh
welcomeCards: [
- { image: p("Chính Diện Cổng Chùa.jpg"), label: "Cổng chùa", rotate: "-rotate-6", sceneId: "scene-1" },
- { image: p("Tượng Quan Âm.jpg"), label: "Đài Quan Âm", rotate: "rotate-5", sceneId: "scene-20" },
+ { image: imageFor(0), label: "Cổng chùa", rotate: "-rotate-6", sceneId: "scene-1" },
+ { image: imageFor(19), label: "Đài Quan Âm", rotate: "rotate-5", sceneId: "scene-20" },
],
backgroundAudio: "", // chưa có nhạc nền; engine bỏ qua chuỗi rỗng (không render thẻ audio)
practicalInfo: {