Files
HKSingleParty/03_source/frontend/src/_mock/_overview.ts
2025-05-28 09:55:51 +08:00

347 lines
9.1 KiB
TypeScript

import { today } from 'src/utils/format-time';
import { CONFIG } from 'src/global-config';
import { _mock } from './_mock';
// APP
// ----------------------------------------------------------------------
export const _appRelated = [
'Microsoft office 365',
'Opera',
'Adobe acrobat reader DC',
'Joplin',
'Topaz photo AI',
].map((name, index) => ({
id: _mock.id(index),
name,
downloaded: _mock.number.nativeL(index),
ratingNumber: _mock.number.rating(index),
size: _mock.number.nativeL(index) * 1024,
totalReviews: _mock.number.nativeL(index),
shortcut: `${CONFIG.assetsDir}/assets/icons/apps/ic-app-${index + 1}.webp`,
price: [2, 4].includes(index) ? _mock.number.price(index) : 0,
}));
export const _appInstalled = ['Germany', 'England', 'France', 'Korean', 'USA'].map(
(country, index) => ({
id: _mock.id(index),
countryName: country,
android: _mock.number.nativeL(index),
windows: _mock.number.nativeL(index + 1),
apple: _mock.number.nativeL(index + 2),
countryCode: ['de', 'gb', 'fr', 'kr', 'us'][index],
})
);
export const _appAuthors = Array.from({ length: 3 }, (_, index) => ({
id: _mock.id(index),
name: _mock.fullName(index),
avatarUrl: _mock.image.avatar(index),
totalFavorites: _mock.number.nativeL(index),
}));
export const _appInvoices = Array.from({ length: 5 }, (_, index) => {
const category = ['Android', 'Mac', 'Windows', 'Android', 'Mac'][index];
const status = ['paid', 'out of date', 'progress', 'paid', 'paid'][index];
return {
id: _mock.id(index),
invoiceNumber: `INV-199${index}`,
price: _mock.number.price(index),
category,
status,
};
});
export const _appFeatured = Array.from({ length: 3 }, (_, index) => ({
id: _mock.id(index + 3),
title: _mock.postTitle(index + 3),
description: _mock.sentence(index + 3),
coverUrl: _mock.image.cover(index + 3),
}));
// ANALYTIC
// ----------------------------------------------------------------------
export const _analyticTasks = Array.from({ length: 5 }, (_, index) => ({
id: _mock.id(index),
name: _mock.taskNames(index),
}));
export const _analyticPosts = Array.from({ length: 5 }, (_, index) => ({
id: _mock.id(index),
postedAt: _mock.time(index),
title: _mock.postTitle(index),
coverUrl: _mock.image.cover(index),
description: _mock.sentence(index),
}));
export const _analyticOrderTimeline = Array.from({ length: 5 }, (_, index) => {
const title = [
'1983, orders, $4220',
'12 Invoices have been paid',
'Order #37745 from September',
'New order placed #XF-2356',
'New order placed #XF-2346',
][index];
return {
id: _mock.id(index),
title,
type: `order${index + 1}`,
time: _mock.time(index),
};
});
export const _analyticTraffic = [
{
value: 'facebook',
label: 'Facebook',
total: _mock.number.nativeL(1),
},
{
value: 'google',
label: 'Google',
total: _mock.number.nativeL(2),
},
{
value: 'linkedin',
label: 'Linkedin',
total: _mock.number.nativeL(3),
},
{
value: 'twitter',
label: 'Twitter',
total: _mock.number.nativeL(4),
},
];
// ECOMMERCE
// ----------------------------------------------------------------------
export const _ecommerceSalesOverview = ['Total profit', 'Total income', 'Total expenses'].map(
(label, index) => ({
label,
totalAmount: _mock.number.price(index) * 100,
value: _mock.number.percent(index),
})
);
export const _ecommerceBestSalesman = Array.from({ length: 5 }, (_, index) => {
const category = ['CAP', 'Branded shoes', 'Headphone', 'Cell phone', 'Earings'][index];
return {
id: _mock.id(index),
category,
rank: `Top ${index + 1}`,
email: _mock.email(index),
name: _mock.fullName(index),
totalAmount: _mock.number.price(index),
avatarUrl: _mock.image.avatar(index + 8),
countryCode: ['de', 'gb', 'fr', 'kr', 'us'][index],
};
});
export const _ecommerceLatestProducts = Array.from({ length: 5 }, (_, index) => {
const colors = (index === 0 && ['#2EC4B6', '#E71D36', '#FF9F1C', '#011627']) ||
(index === 1 && ['#92140C', '#FFCF99']) ||
(index === 2 && ['#0CECDD', '#FFF338', '#FF67E7', '#C400FF', '#52006A', '#046582']) ||
(index === 3 && ['#845EC2', '#E4007C', '#2A1A5E']) || ['#090088'];
return {
id: _mock.id(index),
colors,
name: _mock.productName(index),
price: _mock.number.price(index),
coverUrl: _mock.image.product(index),
priceSale: [1, 3].includes(index) ? _mock.number.price(index) : 0,
};
});
export const _ecommerceNewProducts = Array.from({ length: 4 }, (_, index) => ({
id: _mock.id(index),
name: _mock.productName(index),
coverUrl: _mock.image.product(index),
}));
// BANKING
// ----------------------------------------------------------------------
export const _bankingContacts = Array.from({ length: 12 }, (_, index) => ({
id: _mock.id(index),
name: _mock.fullName(index),
email: _mock.email(index),
avatarUrl: _mock.image.avatar(index),
}));
export const _bankingCreditCard = [
{
id: _mock.id(2),
balance: 23432.03,
cardType: 'mastercard',
cardHolder: _mock.fullName(2),
cardNumber: '**** **** **** 3640',
cardValid: '11/22',
},
{
id: _mock.id(3),
balance: 18000.23,
cardType: 'visa',
cardHolder: _mock.fullName(3),
cardNumber: '**** **** **** 8864',
cardValid: '11/25',
},
{
id: _mock.id(4),
balance: 2000.89,
cardType: 'mastercard',
cardHolder: _mock.fullName(4),
cardNumber: '**** **** **** 7755',
cardValid: '11/22',
},
];
export const _bankingRecentTransitions = [
{
id: _mock.id(2),
name: _mock.fullName(2),
avatarUrl: _mock.image.avatar(2),
type: 'Income',
message: 'Receive money from',
category: 'Annette black',
date: _mock.time(2),
status: 'progress',
amount: _mock.number.price(2),
},
{
id: _mock.id(3),
name: _mock.fullName(3),
avatarUrl: _mock.image.avatar(3),
type: 'Expenses',
message: 'Payment for',
category: 'Courtney henry',
date: _mock.time(3),
status: 'completed',
amount: _mock.number.price(3),
},
{
id: _mock.id(4),
name: _mock.fullName(4),
avatarUrl: _mock.image.avatar(4),
type: 'Receive',
message: 'Payment for',
category: 'Theresa webb',
date: _mock.time(4),
status: 'failed',
amount: _mock.number.price(4),
},
{
id: _mock.id(5),
name: null,
avatarUrl: null,
type: 'Expenses',
message: 'Payment for',
category: 'Fast food',
date: _mock.time(5),
status: 'completed',
amount: _mock.number.price(5),
},
{
id: _mock.id(6),
name: null,
avatarUrl: null,
type: 'Expenses',
message: 'Payment for',
category: 'Fitness',
date: _mock.time(6),
status: 'progress',
amount: _mock.number.price(6),
},
];
// BOOKING
// ----------------------------------------------------------------------
export const _bookings = Array.from({ length: 5 }, (_, index) => {
const status = ['Paid', 'Paid', 'Pending', 'Cancelled', 'Paid'][index];
const customer = {
avatarUrl: _mock.image.avatar(index),
name: _mock.fullName(index),
phoneNumber: _mock.phoneNumber(index),
};
const destination = Array.from({ length: 5 }, (__, _index) => ({
name: _mock.tourName(_index + 1),
coverUrl: _mock.image.travel(_index + 1),
}))[index];
return {
id: _mock.id(index),
destination,
status,
customer,
checkIn: _mock.time(index),
checkOut: _mock.time(index),
};
});
export const _bookingsOverview = Array.from({ length: 3 }, (_, index) => ({
status: ['Pending', 'Canceled', 'Sold'][index],
quantity: _mock.number.nativeL(index),
value: _mock.number.percent(index + 5),
}));
export const _bookingReview = Array.from({ length: 5 }, (_, index) => ({
id: _mock.id(index),
name: _mock.fullName(index),
postedAt: _mock.time(index),
rating: _mock.number.rating(index),
avatarUrl: _mock.image.avatar(index),
description: _mock.description(index),
tags: ['Great sevice', 'Recommended', 'Best price'],
}));
export const _bookingNew = Array.from({ length: 8 }, (_, index) => ({
guests: '3-5',
id: _mock.id(index),
bookedAt: _mock.time(index),
duration: '3 days 2 nights',
isHot: _mock.boolean(index),
name: _mock.fullName(index),
price: _mock.number.price(index),
avatarUrl: _mock.image.avatar(index),
coverUrl: _mock.image.travel(index),
}));
// COURSE
// ----------------------------------------------------------------------
export const _coursesContinue = Array.from({ length: 4 }, (_, index) => ({
id: _mock.id(index),
title: _mock.courseNames(index),
coverUrl: _mock.image.course(index),
totalLesson: 12,
currentLesson: index + 7,
}));
export const _coursesFeatured = Array.from({ length: 6 }, (_, index) => ({
id: _mock.id(index),
title: _mock.courseNames(index),
coverUrl: _mock.image.course(index + 6),
totalDuration: 220,
totalStudents: _mock.number.nativeM(index),
price: _mock.number.price(index),
}));
export const _coursesReminder = Array.from({ length: 4 }, (_, index) => ({
id: _mock.id(index),
title: _mock.courseNames(index),
totalLesson: 12,
reminderAt: today(),
currentLesson: index + 7,
}));