38 lines
2.2 KiB
JavaScript
38 lines
2.2 KiB
JavaScript
// src/stores/landingPageView.js
|
|
import { defineStore } from 'pinia';
|
|
|
|
const IMAGE_BASE_URL = ''; // ให้เป็น string ว่างเปล่าเพื่อใช้ Path สัมพัทธ์กับ Public folder
|
|
|
|
export const useLandingPageViewStore = defineStore('landingPageView', {
|
|
state: () => ({
|
|
// ข้อมูล Mock สำหรับ Main Banner (จาก app.js เดิม)
|
|
mainBanner: {
|
|
url: '/images/MainBanner.jpg', // Path รูปภาพ Main Banner
|
|
link: 'www.google.com', // ลิงก์สำหรับรูป
|
|
startDate: '01/01/2025', // ต้องเป็น MM/DD/YYYY
|
|
endDate: '12/31/2025', // ต้องเป็น MM/DD/YYYY (กำหนดให้แสดงตลอดปี)
|
|
},
|
|
// ถ้ามีข้อมูลอื่นๆ ที่เกี่ยวข้องกับ Landing Page โดยเฉพาะ ก็สามารถเพิ่มที่นี่ได้
|
|
// เช่น backgroundImage, logoImage, text
|
|
backgroundImage: { url: '/images/moroccan-flower.png' }, // ตัวอย่าง
|
|
|
|
}),
|
|
getters: {
|
|
imageBaseUrl: (state) => IMAGE_BASE_URL,
|
|
// Getter สำหรับดึงข้อมูล Main Banner
|
|
mainBannerData: (state) => state.mainBanner,
|
|
|
|
// getters อื่นๆ สำหรับข้อมูลเฉพาะ Landing Page
|
|
getBackgroundImage: (state) => `${IMAGE_BASE_URL}${state.backgroundImage?.url || ''}`,
|
|
|
|
},
|
|
actions: {
|
|
// ถ้าในอนาคต Landing Page มีการดึงข้อมูลจาก API จริงๆ ค่อยมาใส่ใน Action นี้
|
|
async fetchLandingPageData() {
|
|
// จำลองการโหลดข้อมูล หรือดึงข้อมูลจาก API จริงๆ
|
|
await new Promise(resolve => setTimeout(resolve, 100));
|
|
console.log("Landing Page Data Loaded from dedicated store.");
|
|
// ในกรณีที่มี API จริง อาจจะมีการอัปเดต state ตรงนี้
|
|
},
|
|
},
|
|
}); |