popsite-ui 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/App.jsx +95 -0
- package/README.md +92 -0
- package/components/layout/PortalHeader.jsx +18 -0
- package/components/layout/SystemSidebar.jsx +33 -0
- package/components/modules/AnalyticsDashboardModule.jsx +17 -0
- package/components/modules/ChatMessagingModule.jsx +17 -0
- package/components/modules/EcommerceStoreModule.jsx +17 -0
- package/components/modules/EventTicketBookingModule.jsx +17 -0
- package/components/modules/FlightBookingModule.jsx +17 -0
- package/components/modules/FoodOrderingModule.jsx +17 -0
- package/components/modules/HospitalAppointmentModule.jsx +17 -0
- package/components/modules/HotelBookingModule.jsx +17 -0
- package/components/modules/InvoiceBillingModule.jsx +17 -0
- package/components/modules/LibraryManagementModule.jsx +17 -0
- package/components/modules/ModuleContentDeck.jsx +44 -0
- package/components/modules/MovieBookingModule.jsx +17 -0
- package/components/modules/QuizExamModule.jsx +17 -0
- package/components/modules/StudentRegistrationModule.jsx +17 -0
- package/components/modules/SystemModuleRenderer.jsx +19 -0
- package/components/modules/SystemModuleTemplate.jsx +62 -0
- package/components/modules/SystemVisualWidget.jsx +123 -0
- package/components/modules/moduleContentMap.js +238 -0
- package/components/modules/moduleEnhancementsMap.js +439 -0
- package/components/modules/systemModuleMap.js +31 -0
- package/components/system/DynamicSystemForm.jsx +154 -0
- package/components/system/SystemHero.jsx +21 -0
- package/components/system/SystemSummaryCard.jsx +53 -0
- package/data/systems/analyticsDashboard.js +48 -0
- package/data/systems/chatMessaging.js +43 -0
- package/data/systems/ecommerceStore.js +50 -0
- package/data/systems/eventTicketBooking.js +50 -0
- package/data/systems/flightBooking.js +38 -0
- package/data/systems/foodOrdering.js +48 -0
- package/data/systems/hospitalAppointment.js +50 -0
- package/data/systems/hotelBooking.js +38 -0
- package/data/systems/index.js +31 -0
- package/data/systems/invoiceBilling.js +50 -0
- package/data/systems/libraryManagement.js +43 -0
- package/data/systems/movieBooking.js +48 -0
- package/data/systems/quizExam.js +38 -0
- package/data/systems/studentRegistration.js +43 -0
- package/dist/popsite-ui.es.js +4368 -0
- package/dist/popsite-ui.umd.js +60 -0
- package/dist/style.css +1 -0
- package/index.html +13 -0
- package/library/index.js +20 -0
- package/main.jsx +15 -0
- package/package.json +40 -0
- package/src/App.jsx +12 -0
- package/src/components/modules/AnalyticsDashboardModule.jsx +224 -0
- package/src/components/modules/ChatMessagingModule.jsx +294 -0
- package/src/components/modules/EcommerceStoreModule.jsx +405 -0
- package/src/components/modules/EventTicketBookingModule.jsx +253 -0
- package/src/components/modules/FlightBookingModule.jsx +399 -0
- package/src/components/modules/FoodOrderingModule.jsx +316 -0
- package/src/components/modules/HospitalAppointmentModule.jsx +267 -0
- package/src/components/modules/HotelBookingModule.jsx +317 -0
- package/src/components/modules/InvoiceBillingModule.jsx +302 -0
- package/src/components/modules/LandingPageModule.jsx +185 -0
- package/src/components/modules/LibraryManagementModule.jsx +189 -0
- package/src/components/modules/MovieBookingModule.jsx +337 -0
- package/src/components/modules/QuizExamModule.jsx +255 -0
- package/src/components/modules/StudentRegistrationModule.jsx +292 -0
- package/src/components/system/SystemHero.jsx +44 -0
- package/src/components/system/SystemSummaryCard.jsx +29 -0
- package/src/components/system/Toast.jsx +69 -0
- package/src/data/systems/analyticsDashboard.js +32 -0
- package/src/data/systems/chatMessaging.js +59 -0
- package/src/data/systems/ecommerceStore.js +84 -0
- package/src/data/systems/eventBooking.js +33 -0
- package/src/data/systems/flightBooking.js +59 -0
- package/src/data/systems/foodOrdering.js +48 -0
- package/src/data/systems/hospitalAppointment.js +48 -0
- package/src/data/systems/hotelBooking.js +59 -0
- package/src/data/systems/invoiceBilling.js +19 -0
- package/src/data/systems/landingPage.js +29 -0
- package/src/data/systems/libraryManagement.js +17 -0
- package/src/data/systems/movieBooking.js +49 -0
- package/src/data/systems/quizExam.js +31 -0
- package/src/data/systems/studentRegistration.js +9 -0
- package/src/index.js +22 -0
- package/src/main.jsx +10 -0
- package/src/styles.css +296 -0
- package/styles.css +820 -0
- package/utils/systemEngine.js +128 -0
- package/vite.config.js +8 -0
- package/vite.lib.config.js +27 -0
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
export const flightBookingMockData = {
|
|
2
|
+
airlineName: "Skyward Wings",
|
|
3
|
+
airports: ["JFK (New York)", "LAX (Los Angeles)", "LHR (London)", "HND (Tokyo)", "SYD (Sydney)", "DXB (Dubai)"],
|
|
4
|
+
flights: [
|
|
5
|
+
{
|
|
6
|
+
id: "f1",
|
|
7
|
+
flightNumber: "SW-402",
|
|
8
|
+
from: "JFK (New York)",
|
|
9
|
+
to: "LHR (London)",
|
|
10
|
+
departureTime: "08:00 AM",
|
|
11
|
+
arrivalTime: "08:00 PM",
|
|
12
|
+
duration: "7h 00m",
|
|
13
|
+
price: 450,
|
|
14
|
+
businessPrice: 1200,
|
|
15
|
+
image: "https://images.unsplash.com/photo-1436491865332-7a61a109cc05?auto=format&fit=crop&w=800&q=80"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
id: "f2",
|
|
19
|
+
flightNumber: "SW-819",
|
|
20
|
+
from: "LAX (Los Angeles)",
|
|
21
|
+
to: "HND (Tokyo)",
|
|
22
|
+
departureTime: "11:30 AM",
|
|
23
|
+
arrivalTime: "03:15 PM (+1)",
|
|
24
|
+
duration: "11h 45m",
|
|
25
|
+
price: 780,
|
|
26
|
+
businessPrice: 2100,
|
|
27
|
+
image: "https://images.unsplash.com/photo-1542296332-2e4473faf563?auto=format&fit=crop&w=800&q=80"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
id: "f3",
|
|
31
|
+
flightNumber: "SW-211",
|
|
32
|
+
from: "LHR (London)",
|
|
33
|
+
to: "DXB (Dubai)",
|
|
34
|
+
departureTime: "10:15 PM",
|
|
35
|
+
arrivalTime: "08:10 AM (+1)",
|
|
36
|
+
duration: "6h 55m",
|
|
37
|
+
price: 320,
|
|
38
|
+
businessPrice: 850,
|
|
39
|
+
image: "https://images.unsplash.com/photo-1512453979798-5ea266f8880c?auto=format&fit=crop&w=800&q=80"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
id: "f4",
|
|
43
|
+
flightNumber: "SW-505",
|
|
44
|
+
from: "JFK (New York)",
|
|
45
|
+
to: "LAX (Los Angeles)",
|
|
46
|
+
departureTime: "06:00 AM",
|
|
47
|
+
arrivalTime: "09:15 AM",
|
|
48
|
+
duration: "6h 15m",
|
|
49
|
+
price: 199,
|
|
50
|
+
businessPrice: 600,
|
|
51
|
+
image: "https://images.unsplash.com/photo-1499591934245-40b55745b905?auto=format&fit=crop&w=800&q=80"
|
|
52
|
+
}
|
|
53
|
+
],
|
|
54
|
+
addOns: {
|
|
55
|
+
checkedBag: 50,
|
|
56
|
+
priorityBoarding: 35,
|
|
57
|
+
wifi: 15
|
|
58
|
+
}
|
|
59
|
+
};
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
export const foodOrderingMockData = {
|
|
2
|
+
platformName: "PopBites Delivery",
|
|
3
|
+
categories: ["All", "Pizza", "Sushi", "Healthy", "Burgers", "Vegan"],
|
|
4
|
+
restaurants: [
|
|
5
|
+
{
|
|
6
|
+
id: "r1",
|
|
7
|
+
name: "Truffle & Crust",
|
|
8
|
+
category: "Pizza",
|
|
9
|
+
rating: 4.8,
|
|
10
|
+
deliveryTime: "25-40 min",
|
|
11
|
+
deliveryFee: 2.99,
|
|
12
|
+
image: "https://images.unsplash.com/photo-1513104890138-7c749659a591?auto=format&fit=crop&w=800&q=80",
|
|
13
|
+
menu: [
|
|
14
|
+
{ id: "m1", name: "Margherita Truffle", description: "Fresh mozzarella, truffle oil, basil.", price: 18.00, dietary: ["Vegetarian"] },
|
|
15
|
+
{ id: "m2", name: "Spicy Soppressata", description: "Hot honey, chili flakes, cured meats.", price: 21.00, dietary: [] },
|
|
16
|
+
{ id: "m3", name: "Garlic Knots", description: "Oven-baked with pesto dip.", price: 6.50, dietary: ["Vegetarian"] }
|
|
17
|
+
]
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
id: "r2",
|
|
21
|
+
name: "Ocean Zen",
|
|
22
|
+
category: "Sushi",
|
|
23
|
+
rating: 4.9,
|
|
24
|
+
deliveryTime: "30-45 min",
|
|
25
|
+
deliveryFee: 4.99,
|
|
26
|
+
image: "https://images.unsplash.com/photo-1579871494447-9811cf80d66c?auto=format&fit=crop&w=800&q=80",
|
|
27
|
+
menu: [
|
|
28
|
+
{ id: "m4", name: "Spicy Tuna Roll", description: "Fresh tuna, spicy mayo, crispy tempura bits.", price: 14.00, dietary: ["Pescatarian", "Gluten-Free"] },
|
|
29
|
+
{ id: "m5", name: "Dragon Roll", description: "Eel, cucumber, topped with avocado.", price: 16.00, dietary: [] },
|
|
30
|
+
{ id: "m6", name: "Edamame", description: "Steamed soybeans with sea salt.", price: 5.00, dietary: ["Vegan", "Gluten-Free"] }
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
id: "r3",
|
|
35
|
+
name: "Green Machine",
|
|
36
|
+
category: "Vegan",
|
|
37
|
+
rating: 4.6,
|
|
38
|
+
deliveryTime: "15-25 min",
|
|
39
|
+
deliveryFee: 1.99,
|
|
40
|
+
image: "https://images.unsplash.com/photo-1512621776951-a57141f2eefd?auto=format&fit=crop&w=800&q=80",
|
|
41
|
+
menu: [
|
|
42
|
+
{ id: "m7", name: "Buddha Bowl", description: "Quinoa, roasted sweet potato, kale, tahini.", price: 15.00, dietary: ["Vegan", "Gluten-Free"] },
|
|
43
|
+
{ id: "m8", name: "Beyond Burger", description: "Plant-based patty with vegan cheddar.", price: 16.00, dietary: ["Vegan"] },
|
|
44
|
+
{ id: "m9", name: "Acai Smoothie", description: "Mixed berries, banana, oat milk.", price: 8.00, dietary: ["Vegan", "Gluten-Free"] }
|
|
45
|
+
]
|
|
46
|
+
}
|
|
47
|
+
]
|
|
48
|
+
};
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
export const hospitalAppointmentMockData = {
|
|
2
|
+
hospitalName: "PopSite Medical Center",
|
|
3
|
+
specialties: ["All", "Cardiology", "Pediatrics", "Neurology", "Orthopedics", "General Practice"],
|
|
4
|
+
doctors: [
|
|
5
|
+
{
|
|
6
|
+
id: "dr1",
|
|
7
|
+
name: "Dr. Sarah Chen",
|
|
8
|
+
specialty: "Cardiology",
|
|
9
|
+
rating: 4.9,
|
|
10
|
+
image: "https://images.unsplash.com/photo-1559839734-2b71ea197ec2?auto=format&fit=crop&w=300&q=80",
|
|
11
|
+
availableTimeSlots: ["09:00 AM", "10:30 AM", "01:00 PM", "03:00 PM"]
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
id: "dr2",
|
|
15
|
+
name: "Dr. James Miller",
|
|
16
|
+
specialty: "Pediatrics",
|
|
17
|
+
rating: 4.8,
|
|
18
|
+
image: "https://images.unsplash.com/photo-1612349317150-e413f6a5b16d?auto=format&fit=crop&w=300&q=80",
|
|
19
|
+
availableTimeSlots: ["08:30 AM", "09:00 AM", "11:00 AM", "02:15 PM", "04:00 PM"]
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
id: "dr3",
|
|
23
|
+
name: "Dr. Elena Rodriguez",
|
|
24
|
+
specialty: "Neurology",
|
|
25
|
+
rating: 4.7,
|
|
26
|
+
image: "https://images.unsplash.com/photo-1594824432258-297ebce5b326?auto=format&fit=crop&w=300&q=80",
|
|
27
|
+
availableTimeSlots: ["10:00 AM", "11:30 AM"]
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
id: "dr4",
|
|
31
|
+
name: "Dr. William Foster",
|
|
32
|
+
specialty: "Orthopedics",
|
|
33
|
+
rating: 4.9,
|
|
34
|
+
image: "https://images.unsplash.com/photo-1537368910025-7028a609b183?auto=format&fit=crop&w=300&q=80",
|
|
35
|
+
availableTimeSlots: ["01:00 PM", "02:30 PM", "04:45 PM"]
|
|
36
|
+
}
|
|
37
|
+
],
|
|
38
|
+
patientHistory: [
|
|
39
|
+
{
|
|
40
|
+
id: "APT-882",
|
|
41
|
+
doctorName: "Dr. Sarah Chen",
|
|
42
|
+
date: "2025-11-15",
|
|
43
|
+
time: "10:30 AM",
|
|
44
|
+
status: "Completed",
|
|
45
|
+
diagnosis: "Routine checkup. All healthy."
|
|
46
|
+
}
|
|
47
|
+
] // Real-time booked slots will go here
|
|
48
|
+
};
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
export const hotelBookingMockData = {
|
|
2
|
+
platformName: "Voyager Lodgings",
|
|
3
|
+
amenities: ["WiFi", "Pool", "Gym", "Spa", "Restaurant", "Parking"],
|
|
4
|
+
hotels: [
|
|
5
|
+
{
|
|
6
|
+
id: "h1",
|
|
7
|
+
name: "The Obsidian Resort",
|
|
8
|
+
destination: "Maldives",
|
|
9
|
+
rating: 5,
|
|
10
|
+
pricePerNight: 450,
|
|
11
|
+
amenities: ["WiFi", "Pool", "Spa", "Restaurant"],
|
|
12
|
+
image: "https://images.unsplash.com/photo-1566073771259-6a8506099945?auto=format&fit=crop&w=800&q=80",
|
|
13
|
+
description: "Experience luxury in crystal clear waters. Wake up to ocean views.",
|
|
14
|
+
gallery: [
|
|
15
|
+
"https://images.unsplash.com/photo-1582719508461-905c673771fd?auto=format&fit=crop&w=800&q=80",
|
|
16
|
+
"https://images.unsplash.com/photo-1571896349842-33c89424de2d?auto=format&fit=crop&w=800&q=80"
|
|
17
|
+
]
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
id: "h2",
|
|
21
|
+
name: "Alpine Retreat",
|
|
22
|
+
destination: "Swiss Alps",
|
|
23
|
+
rating: 4,
|
|
24
|
+
pricePerNight: 280,
|
|
25
|
+
amenities: ["WiFi", "Gym", "Restaurant", "Parking"],
|
|
26
|
+
image: "https://images.unsplash.com/photo-1520250497591-112f2f40a3f4?auto=format&fit=crop&w=800&q=80",
|
|
27
|
+
description: "Cozy cabin living with ski-in, ski-out access and a roaring fireplace.",
|
|
28
|
+
gallery: [
|
|
29
|
+
"https://images.unsplash.com/photo-1621293954908-907159247fc8?auto=format&fit=crop&w=800&q=80"
|
|
30
|
+
]
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
id: "h3",
|
|
34
|
+
name: "Neon Towers Hotel",
|
|
35
|
+
destination: "Tokyo",
|
|
36
|
+
rating: 5,
|
|
37
|
+
pricePerNight: 350,
|
|
38
|
+
amenities: ["WiFi", "Gym", "Restaurant"],
|
|
39
|
+
image: "https://images.unsplash.com/photo-1503899036084-c55cdd92da26?auto=format&fit=crop&w=800&q=80",
|
|
40
|
+
description: "Ultra-modern rooms suspended above the neon-drenched city streets.",
|
|
41
|
+
gallery: [
|
|
42
|
+
"https://images.unsplash.com/photo-1518548419970-58e3b4079ab2?auto=format&fit=crop&w=800&q=80"
|
|
43
|
+
]
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
id: "h4",
|
|
47
|
+
name: "Hacienda Horizon",
|
|
48
|
+
destination: "Tulum",
|
|
49
|
+
rating: 3,
|
|
50
|
+
pricePerNight: 120,
|
|
51
|
+
amenities: ["WiFi", "Pool", "Parking"],
|
|
52
|
+
image: "https://images.unsplash.com/photo-1510798831971-661eb04b3739?auto=format&fit=crop&w=800&q=80",
|
|
53
|
+
description: "Boutique eco-resort nestled deeply in the Mayan jungle.",
|
|
54
|
+
gallery: [
|
|
55
|
+
"https://images.unsplash.com/photo-1590073844006-33379778ae09?auto=format&fit=crop&w=800&q=80"
|
|
56
|
+
]
|
|
57
|
+
}
|
|
58
|
+
]
|
|
59
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export const invoiceBillingMockData = {
|
|
2
|
+
companyInfo: {
|
|
3
|
+
name: "PopSite Agency",
|
|
4
|
+
address: "123 Creative Blvd, Tech District",
|
|
5
|
+
email: "billing@popsite.com",
|
|
6
|
+
taxRate: 8.5
|
|
7
|
+
},
|
|
8
|
+
clients: [
|
|
9
|
+
{ id: "cli_1", name: "Acme Corp", email: "finance@acme.inc", phone: "+1 555-0100" },
|
|
10
|
+
{ id: "cli_2", name: "Stark Industries", email: "accounts@stark.com", phone: "+1 555-0101" },
|
|
11
|
+
{ id: "cli_3", name: "Wayne Enterprises", email: "billing@wayne.ent", phone: "+1 555-0102" },
|
|
12
|
+
{ id: "cli_4", name: "Umbrella Corp", email: "finance@umbrella.com", phone: "+1 555-0103" }
|
|
13
|
+
],
|
|
14
|
+
recentInvoices: [
|
|
15
|
+
{ id: "INV-2026-001", client: "Acme Corp", date: "2026-04-01", amount: 4500.00, status: "Paid" },
|
|
16
|
+
{ id: "INV-2026-002", client: "Stark Industries", date: "2026-04-05", amount: 12500.00, status: "Pending" },
|
|
17
|
+
{ id: "INV-2026-003", client: "Wayne Enterprises", date: "2026-04-07", amount: 8000.00, status: "Overdue" }
|
|
18
|
+
]
|
|
19
|
+
};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export const landingPageMockData = {
|
|
2
|
+
hero: {
|
|
3
|
+
title: "Build Faster, Ship Better.",
|
|
4
|
+
subtitle: "The ultimate zero-config React component architecture designed for the future of the web.",
|
|
5
|
+
cta1: "Get Started Free",
|
|
6
|
+
cta2: "View Documentation"
|
|
7
|
+
},
|
|
8
|
+
stats: {
|
|
9
|
+
users: 15400,
|
|
10
|
+
deployments: 89000,
|
|
11
|
+
uptime: 99.9
|
|
12
|
+
},
|
|
13
|
+
features: [
|
|
14
|
+
{ id: "f1", title: "Zero Configuration", description: "No complex webpack or babel setups. Just import and go.", icon: "⚡" },
|
|
15
|
+
{ id: "f2", title: "Vanilla CSS Engine", description: "Powered entirely by native CSS variables for maximum portability.", icon: "🎨" },
|
|
16
|
+
{ id: "f3", title: "State Perseverance", description: "Built-in localStorage binding keeps user sessions active instantly.", icon: "💾" },
|
|
17
|
+
{ id: "f4", title: "Glassmorphism UI", description: "Premium, frosted-glass aesthetics out of the box.", icon: "🔍" }
|
|
18
|
+
],
|
|
19
|
+
testimonials: [
|
|
20
|
+
{ id: "t1", name: "Sarah Jenkins", role: "Frontend Lead at Acme", avatar: "https://images.unsplash.com/photo-1494790108377-be9c29b29330?auto=format&fit=crop&w=150&q=80", text: "PopSite UI completely changed how we prototype apps. The modules are instantly plug-and-play." },
|
|
21
|
+
{ id: "t2", name: "David Chen", role: "Fullstack Developer", avatar: "https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?auto=format&fit=crop&w=150&q=80", text: "I love the anti-Tailwind philosophy. The pure CSS approach feels so clean and blazing fast." },
|
|
22
|
+
{ id: "t3", name: "Elena Rostova", role: "Product Designer", avatar: "https://images.unsplash.com/photo-1438761681033-6461ffad8d80?auto=format&fit=crop&w=150&q=80", text: "The default drop shadows and glass effects give it a distinct 2026 enterprise feel. Absolutely stunning." }
|
|
23
|
+
],
|
|
24
|
+
pricing: [
|
|
25
|
+
{ id: "p1", tier: "Hobby", price: "$0", features: ["1 Project", "Basic Modules", "Community Discord"], cta: "Start Free" },
|
|
26
|
+
{ id: "p2", tier: "Pro", price: "$29/mo", featured: true, features: ["Unlimited Projects", "All Pro Modules", "Premium Support", "Priority Updates"], cta: "Upgrade to Pro" },
|
|
27
|
+
{ id: "p3", tier: "Enterprise", price: "Custom", features: ["Dedicated Account Manager", "Custom SLA", "Source Code Access"], cta: "Contact Sales" }
|
|
28
|
+
]
|
|
29
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export const libraryManagementMockData = {
|
|
2
|
+
libraryName: "PopSite Central Library",
|
|
3
|
+
catalog: [
|
|
4
|
+
{ id: "b1", title: "The Pragmatic Programmer", author: "David Thomas", cover: "https://images.unsplash.com/photo-1544947950-fa07a98d237f?auto=format&fit=crop&w=400&q=80", genre: "Technology", available: true },
|
|
5
|
+
{ id: "b2", title: "Clean Architecture", author: "Robert C. Martin", cover: "https://images.unsplash.com/photo-1589829085413-56de8ae18c73?auto=format&fit=crop&w=400&q=80", genre: "Technology", available: true },
|
|
6
|
+
{ id: "b3", title: "Dune", author: "Frank Herbert", cover: "https://images.unsplash.com/photo-1616422285623-13ff0162193c?auto=format&fit=crop&w=400&q=80", genre: "Science Fiction", available: false },
|
|
7
|
+
{ id: "b4", title: "The Martian", author: "Andy Weir", cover: "https://images.unsplash.com/photo-1451187580459-43490279c0fa?auto=format&fit=crop&w=400&q=80", genre: "Science Fiction", available: true },
|
|
8
|
+
{ id: "b5", title: "Thinking, Fast and Slow", author: "Daniel Kahneman", cover: "https://images.unsplash.com/photo-1532012197267-da84d127e765?auto=format&fit=crop&w=400&q=80", genre: "Psychology", available: true }
|
|
9
|
+
],
|
|
10
|
+
myBooks: [
|
|
11
|
+
{
|
|
12
|
+
book: { id: "bX", title: "1984", author: "George Orwell", cover: "https://images.unsplash.com/photo-1541963463532-d68292c34b19?auto=format&fit=crop&w=400&q=80", genre: "Dystopian" },
|
|
13
|
+
borrowDate: "2026-03-01",
|
|
14
|
+
dueDate: "2026-03-15" // Purposefully in the past to trigger "Overdue" flag
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
export const movieBookingMockData = {
|
|
2
|
+
cinemaName: "Starlight Cinemas",
|
|
3
|
+
movies: [
|
|
4
|
+
{
|
|
5
|
+
id: "m1",
|
|
6
|
+
title: "Neon Horizon",
|
|
7
|
+
genre: "Sci-Fi / Cyberpunk",
|
|
8
|
+
runtime: "2h 15m",
|
|
9
|
+
rating: "PG-13",
|
|
10
|
+
image: "https://images.unsplash.com/photo-1536440136628-849c177e76a1?auto=format&fit=crop&w=800&q=80",
|
|
11
|
+
synopsis: "In a dystopian cyberpunk future, a rogue hacker discovers a code that could alter reality itself.",
|
|
12
|
+
showtimes: ["14:00", "17:30", "20:00", "22:45"]
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
id: "m2",
|
|
16
|
+
title: "The Silent Peak",
|
|
17
|
+
genre: "Thriller / Mystery",
|
|
18
|
+
runtime: "1h 50m",
|
|
19
|
+
rating: "R",
|
|
20
|
+
image: "https://images.unsplash.com/photo-1478720568477-152d9b164e26?auto=format&fit=crop&w=800&q=80",
|
|
21
|
+
synopsis: "A group of mountaineers gets trapped during a blizzard, only to realize they are not alone on the mountain.",
|
|
22
|
+
showtimes: ["15:15", "18:45", "21:30"]
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
id: "m3",
|
|
26
|
+
title: "Echoes of Eternity",
|
|
27
|
+
genre: "Romance / Drama",
|
|
28
|
+
runtime: "2h 05m",
|
|
29
|
+
rating: "PG",
|
|
30
|
+
image: "https://images.unsplash.com/photo-1485846234645-a62644f84728?auto=format&fit=crop&w=800&q=80",
|
|
31
|
+
synopsis: "Two lovers from different centuries communicate through an ancient artifact, fighting time to be together.",
|
|
32
|
+
showtimes: ["13:00", "16:00", "19:00"]
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
id: "m4",
|
|
36
|
+
title: "Galactic Drift",
|
|
37
|
+
genre: "Action / Adventure",
|
|
38
|
+
runtime: "2h 30m",
|
|
39
|
+
rating: "PG-13",
|
|
40
|
+
image: "https://images.unsplash.com/photo-1451187580459-43490279c0fa?auto=format&fit=crop&w=800&q=80",
|
|
41
|
+
synopsis: "An epic space opera following a band of smugglers trying to outrun a massive intergalactic empire.",
|
|
42
|
+
showtimes: ["12:00", "16:30", "20:15", "23:00"]
|
|
43
|
+
}
|
|
44
|
+
],
|
|
45
|
+
pricing: {
|
|
46
|
+
standard: 12.00,
|
|
47
|
+
vip: 25.00
|
|
48
|
+
}
|
|
49
|
+
};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export const quizExamMockData = {
|
|
2
|
+
institutionName: "PopSite Academy",
|
|
3
|
+
subjects: [
|
|
4
|
+
{
|
|
5
|
+
id: "sub_1",
|
|
6
|
+
title: "Advanced React Patterns",
|
|
7
|
+
duration: 15, // in minutes
|
|
8
|
+
passingScore: 70, // percentage
|
|
9
|
+
icon: "⚛️",
|
|
10
|
+
questions: [
|
|
11
|
+
{ id: "q1", text: "Which hook should be used to memoize an expensive calculation?", type: "multiple-choice", options: ["useMemo", "useCallback", "useEffect", "useState"], correct: "useMemo" },
|
|
12
|
+
{ id: "q2", text: "What is the primary purpose of useCallback?", type: "multiple-choice", options: ["Memoizing a value", "Memoizing a function", "Managing side effects", "Accessing DOM nodes"], correct: "Memoizing a function" },
|
|
13
|
+
{ id: "q3", text: "React components must return a single outer element.", type: "true-false", options: ["True", "False"], correct: "True" },
|
|
14
|
+
{ id: "q4", text: "Which method is completely forbidden in modern React 'State' arrays to avoid mutation?", type: "multiple-choice", options: ["concat", "filter", "map", "push"], correct: "push" },
|
|
15
|
+
{ id: "q5", text: "useEffect cleanup functions run BEFORE the component unmounts.", type: "true-false", options: ["True", "False"], correct: "True" }
|
|
16
|
+
]
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
id: "sub_2",
|
|
20
|
+
title: "Modern CSS Mastery",
|
|
21
|
+
duration: 10,
|
|
22
|
+
passingScore: 80,
|
|
23
|
+
icon: "🎨",
|
|
24
|
+
questions: [
|
|
25
|
+
{ id: "q1", text: "What property is used to create glassmorphism?", type: "multiple-choice", options: ["opacity", "backdrop-filter", "background-blend-mode", "filter"], correct: "backdrop-filter" },
|
|
26
|
+
{ id: "q2", text: "Which display type enables a 2D layout matrix?", type: "multiple-choice", options: ["flex", "block", "grid", "inline-block"], correct: "grid" },
|
|
27
|
+
{ id: "q3", text: "Variables defined in :root have global scope.", type: "true-false", options: ["True", "False"], correct: "True" }
|
|
28
|
+
]
|
|
29
|
+
}
|
|
30
|
+
]
|
|
31
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export const studentRegistrationMockData = {
|
|
2
|
+
schoolName: "PopSite University",
|
|
3
|
+
departments: ["Computer Science", "Design", "Business Administration", "Engineering"],
|
|
4
|
+
enrolledStudents: [
|
|
5
|
+
{ id: "STU-2026-001", firstName: "Alice", lastName: "Johnson", email: "alice.j@popsite.edu", phone: "555-0101", department: "Computer Science", year: "Freshman", gpa: 3.8 },
|
|
6
|
+
{ id: "STU-2026-002", firstName: "Bob", lastName: "Smith", email: "bob.s@popsite.edu", phone: "555-0102", department: "Design", year: "Sophomore", gpa: 3.5 },
|
|
7
|
+
{ id: "STU-2026-003", firstName: "Charlie", lastName: "Brown", email: "charlie.b@popsite.edu", phone: "555-0103", department: "Engineering", year: "Senior", gpa: 3.9 }
|
|
8
|
+
]
|
|
9
|
+
};
|
package/src/index.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import './styles.css';
|
|
2
|
+
|
|
3
|
+
export { EcommerceStoreModule } from './components/modules/EcommerceStoreModule';
|
|
4
|
+
export { MovieBookingModule } from './components/modules/MovieBookingModule';
|
|
5
|
+
export { ChatMessagingModule } from './components/modules/ChatMessagingModule';
|
|
6
|
+
export { FlightBookingModule } from './components/modules/FlightBookingModule';
|
|
7
|
+
export { AnalyticsDashboardModule } from './components/modules/AnalyticsDashboardModule';
|
|
8
|
+
export { InvoiceBillingModule } from './components/modules/InvoiceBillingModule';
|
|
9
|
+
export { FoodOrderingModule } from './components/modules/FoodOrderingModule';
|
|
10
|
+
export { QuizExamModule } from './components/modules/QuizExamModule';
|
|
11
|
+
export { StudentRegistrationModule } from './components/modules/StudentRegistrationModule';
|
|
12
|
+
export { HospitalAppointmentModule } from './components/modules/HospitalAppointmentModule';
|
|
13
|
+
|
|
14
|
+
// Phase 5 modules
|
|
15
|
+
export { LandingPageModule } from './components/modules/LandingPageModule';
|
|
16
|
+
export { HotelBookingModule } from './components/modules/HotelBookingModule';
|
|
17
|
+
export { LibraryManagementModule } from './components/modules/LibraryManagementModule';
|
|
18
|
+
export { EventTicketBookingModule } from './components/modules/EventTicketBookingModule';
|
|
19
|
+
|
|
20
|
+
export { SystemHero } from './components/system/SystemHero';
|
|
21
|
+
export { SystemSummaryCard } from './components/system/SystemSummaryCard';
|
|
22
|
+
export { Toast, useToast } from './components/system/Toast';
|
package/src/main.jsx
ADDED