first commit

This commit is contained in:
2025-11-26 07:49:54 +00:00
commit d8685ccf10
468 changed files with 41346 additions and 0 deletions

288
_mockApis/apps/blog/index.ts Executable file
View File

@@ -0,0 +1,288 @@
import { Chance } from 'chance';
import { random } from 'lodash';
import { sub } from 'date-fns';
import mock from '../../mockAdapter';
import s1 from '@/assets/images/blog/blog-img1.jpg';
import s2 from '@/assets/images/blog/blog-img2.jpg';
import s3 from '@/assets/images/blog/blog-img3.jpg';
import s4 from '@/assets/images/blog/blog-img4.jpg';
import s5 from '@/assets/images/blog/blog-img5.jpg';
import s6 from '@/assets/images/blog/blog-img6.jpg';
import s7 from '@/assets/images/blog/blog-img11.jpg';
import s8 from '@/assets/images/blog/blog-img8.jpg';
import s9 from '@/assets/images/blog/blog-img9.jpg';
import s10 from '@/assets/images/blog/blog-img10.jpg';
import user1 from '@/assets/images/profile/user-6.jpg';
import user2 from '@/assets/images/profile/user-2.jpg';
import user3 from '@/assets/images/profile/user-3.jpg';
import user4 from '@/assets/images/profile/user-4.jpg';
import user5 from '@/assets/images/profile/user-5.jpg';
import user6 from '@/assets/images/profile/user-8.jpg';
import { uniqueId } from 'lodash';
import type { blogType, blogpostType } from '@/types/apps/BlogTypes';
const chance = new Chance();
const BlogComment: blogType[] = [
{
id: uniqueId('#comm_'),
profile: {
id: chance.integer({ min: 1, max: 2000 }),
avatar: user2,
name: chance.name()
},
time: chance.date(),
comment: chance.paragraph({ sentences: 2 }),
replies: []
},
{
id: uniqueId('#comm_'),
profile: {
id: chance.integer({ min: 1, max: 2000 }),
avatar: user3,
name: chance.name()
},
time: chance.date(),
comment: chance.paragraph({ sentences: 2 }),
replies: [
{
id: uniqueId('#comm_'),
profile: {
id: chance.integer({ min: 1, max: 2000 }),
avatar: user3,
name: chance.name()
},
time: chance.date(),
comment: chance.paragraph({ sentences: 2 })
}
]
},
{
id: uniqueId('#comm_'),
profile: {
id: chance.integer({ min: 1, max: 2000 }),
avatar: user5,
name: chance.name()
},
time: chance.date(),
comment: chance.paragraph({ sentences: 2 }),
replies: []
}
];
const BlogPost: blogpostType[] = [
{
id: chance.integer({ min: 1, max: 2000 }),
title: 'Garmins Instinct Crossover is a rugged hybrid smartwatch',
content: chance.paragraph({ sentences: 2 }),
coverImg: s1,
createdAt: sub(new Date(), { days: 8, hours: 6, minutes: 20 }),
view: random(9999),
share: random(9999),
category: 'Gadget',
featured: false,
author: {
id: chance.integer({ min: 1, max: 2000 }),
avatar: user1,
name: chance.name()
},
comments: BlogComment
},
{
id: chance.integer({ min: 1, max: 2000 }),
title: 'After Twitter Staff Cuts, Survivors Face Radio Silence',
content: chance.paragraph({ sentences: 2 }),
coverImg: s2,
createdAt: sub(new Date(), { days: 7, hours: 3, minutes: 20 }),
view: random(9999),
share: random(9999),
category: 'Lifestyle',
featured: false,
author: {
id: chance.integer({ min: 1, max: 2000 }),
avatar: user2,
name: chance.name()
},
comments: BlogComment
},
{
id: chance.integer({ min: 1, max: 2000 }),
title: 'Apple is apparently working on a new streamlined accessibility',
content: chance.paragraph({ sentences: 2 }),
coverImg: s3,
createdAt: sub(new Date(), { days: 5, hours: 2, minutes: 20 }),
view: random(9999),
share: random(9999),
category: 'Design',
featured: false,
author: {
id: chance.integer({ min: 1, max: 2000 }),
avatar: user3,
name: chance.name()
},
comments: BlogComment
},
{
id: chance.integer({ min: 1, max: 2000 }),
title: 'Why Figma is selling to Adobe for $20 billion',
content: chance.paragraph({ sentences: 2 }),
coverImg: s4,
createdAt: sub(new Date(), { days: 7, hours: 6, minutes: 20 }),
view: random(9999),
share: random(9999),
category: 'Design',
featured: false,
author: {
id: chance.integer({ min: 1, max: 2000 }),
avatar: user4,
name: chance.name()
},
comments: BlogComment
},
{
id: chance.integer({ min: 1, max: 2000 }),
title: 'Streaming video way before it was cool, go dark tomorrow',
content: chance.paragraph({ sentences: 2 }),
coverImg: s5,
createdAt: sub(new Date(), { days: 4, hours: 6, minutes: 20 }),
view: random(9999),
share: random(9999),
category: 'Lifestyle',
featured: false,
author: {
id: chance.integer({ min: 1, max: 2000 }),
avatar: user5,
name: chance.name()
},
comments: BlogComment
},
{
id: chance.integer({ min: 1, max: 2000 }),
title: 'As yen tumbles, gadget-loving Japan goes for secondhand',
content: chance.paragraph({ sentences: 2 }),
coverImg: s6,
createdAt: sub(new Date(), { days: 2, hours: 6, minutes: 20 }),
view: random(9999),
share: random(9999),
category: 'Gadget',
featured: false,
author: {
id: chance.integer({ min: 1, max: 2000 }),
avatar: user6,
name: chance.name()
},
comments: BlogComment
},
{
id: chance.integer({ min: 1, max: 2000 }),
title: 'Intel loses bid to revive antitrust case against patent foe Fortress',
content: chance.paragraph({ sentences: 2 }),
coverImg: s7,
createdAt: sub(new Date(), { days: 3, hours: 6, minutes: 20 }),
view: random(9999),
share: random(9999),
category: 'Social',
featured: false,
author: {
id: chance.integer({ min: 1, max: 2000 }),
avatar: user2,
name: chance.name()
},
comments: BlogComment
},
{
id: chance.integer({ min: 1, max: 2000 }),
title: 'COVID outbreak deepens as more lockdowns loom in China',
content: chance.paragraph({ sentences: 2 }),
coverImg: s8,
createdAt: sub(new Date(), { days: 4, hours: 6, minutes: 20 }),
view: random(9999),
share: random(9999),
category: 'Health',
featured: false,
author: {
id: chance.integer({ min: 1, max: 2000 }),
avatar: user3,
name: chance.name()
},
comments: BlogComment
},
{
id: chance.integer({ min: 1, max: 2000 }),
title: 'Early Black Friday Amazon deals: cheap TVs, headphones',
content: chance.paragraph({ sentences: 2 }),
coverImg: s9,
createdAt: sub(new Date(), { days: 5, hours: 3, minutes: 20 }),
view: random(9999),
share: random(9999),
category: 'Gadget',
featured: true,
author: {
id: chance.integer({ min: 1, max: 2000 }),
avatar: user4,
name: chance.name()
},
comments: BlogComment
},
{
id: chance.integer({ min: 1, max: 2000 }),
title: 'Presented by Max Rushden with Barry Glendenning, Philippe',
content: chance.paragraph({ sentences: 2 }),
coverImg: s10,
createdAt: sub(new Date(), { days: 0, hours: 1, minutes: 20 }),
view: random(9999),
share: random(9999),
category: 'Health',
featured: true,
author: {
id: chance.integer({ min: 1, max: 2000 }),
avatar: user5,
name: chance.name()
},
comments: BlogComment
}
];
mock.onGet('/api/data/blog/BlogPosts').reply(() => {
return [200, BlogPost];
});
// ----------------------------------------------------------------------
mock.onPost('/api/data/blog/post').reply((config: string | any) => {
try {
const { title } = JSON.parse(config.data);
const paramCase = (t: string) =>
t
.toLowerCase()
.replace(/ /g, '-')
.replace(/[^\w-]+/g, '');
const post = BlogPost.find((_post: blogpostType | string | any) => paramCase(_post.title) === title);
if (!post) {
return [404, { message: 'Post not found' }];
}
return [200, { post }];
} catch (error) {
console.error(error);
return [500, { message: 'Internal server error' }];
}
});
mock.onPost('/api/data/blog/post/add').reply((config: string | any) => {
try {
const { postId, comment } = JSON.parse(config.data);
const postIndex = BlogPost.findIndex((x) => x.id === postId);
const post = BlogPost[postIndex];
const cComments = post.comments || [];
post.comments = [comment, ...cComments];
return [200, { posts: [...BlogPost] }];
} catch (err) {
console.error(err);
return [500, { message: 'Internal server error' }];
}
});

531
_mockApis/apps/chat/index.ts Executable file
View File

@@ -0,0 +1,531 @@
import mock from '../../mockAdapter';
import { Chance } from 'chance';
import type { ChatType } from '@/types/apps/ChatType';
import { sub } from 'date-fns';
import { uniqueId } from 'lodash';
import user1 from '@/assets/images/profile/user-2.jpg';
import user2 from '@/assets/images/profile/user-3.jpg';
import user3 from '@/assets/images/profile/user-4.jpg';
import user4 from '@/assets/images/profile/user-5.jpg';
import user5 from '@/assets/images/profile/user-6.jpg';
import user6 from '@/assets/images/profile/user-7.jpg';
import user7 from '@/assets/images/profile/user-8.jpg';
import background1 from '@/assets/images/products/product-1.jpg';
import background2 from '@/assets/images/products/product-2.jpg';
import background3 from '@/assets/images/products/product-3.jpg';
import background4 from '@/assets/images/products/product-4.jpg';
import adobe from '@/assets/images/chat/icon-adobe.svg';
import chrome from '@/assets/images/chat/icon-chrome.svg';
import figma from '@/assets/images/chat/icon-figma.svg';
import java from '@/assets/images/chat/icon-javascript.svg';
import zip from '@/assets/images/chat/icon-zip-folder.svg';
const chance = new Chance();
// const ChatData: ChatTypes[] = [
const ChatData: ChatType[] = [
{
id: 1,
name: 'James Johnson',
status: 'online',
thumb: user2,
recent: false,
chatHistory: [
{
createdAt: sub(new Date(), { hours: 1 }),
msg: chance.sentence({ words: 5 }),
senderId: 1,
type: 'text',
attachment: [
{ icon: adobe, file: 'service-task.pdf', fileSize: '2MB' },
{ icon: chrome, file: 'homepage-design.fig', fileSize: '3MB' },
{ icon: figma, file: 'about-us.htmlf', fileSize: '1KB' },
{ icon: java, file: 'work-project.zip', fileSize: '20MB' },
{ icon: zip, file: 'custom.js', fileSize: '2MB' }
],
id: uniqueId()
},
{
createdAt: sub(new Date(), { minutes: 30 }),
msg: chance.sentence({ words: 10 }),
senderId: 1,
type: 'text',
attachment: [],
id: uniqueId()
},
{
createdAt: sub(new Date(), { minutes: 6 }),
msg: chance.sentence({ words: 5 }),
senderId: uniqueId(),
type: 'text',
attachment: [],
id: uniqueId()
},
{
createdAt: sub(new Date(), { minutes: 5 }),
msg: chance.sentence({ words: 5 }),
senderId: 1,
type: 'text',
attachment: [],
id: uniqueId()
},
{
createdAt: sub(new Date(), { minutes: 5 }),
msg: background1,
senderId: uniqueId(),
type: 'img',
attachment: [],
id: uniqueId()
}
]
},
{
id: 2,
name: 'Maria Hernandez',
status: 'away',
thumb: user3,
recent: true,
chatHistory: [
{
createdAt: sub(new Date(), { hours: 1 }),
msg: chance.sentence({ words: 5 }),
senderId: uniqueId(),
type: 'text',
attachment: [],
id: uniqueId()
},
{
createdAt: sub(new Date(), { minutes: 30 }),
msg: chance.sentence({ words: 10 }),
senderId: uniqueId(),
type: 'text',
attachment: [],
id: uniqueId()
},
{
createdAt: sub(new Date(), { minutes: 6 }),
msg: chance.sentence({ words: 5 }),
senderId: 2,
type: 'text',
attachment: [],
id: uniqueId()
},
{
createdAt: sub(new Date(), { minutes: 5 }),
msg: background1,
senderId: 2,
type: 'img',
attachment: [],
id: uniqueId()
},
{
createdAt: sub(new Date(), { minutes: 1 }),
msg: chance.sentence({ words: 5 }),
senderId: uniqueId(),
type: 'text',
attachment: [],
id: uniqueId()
}
]
},
{
id: 3,
name: 'David Smith',
status: 'busy',
thumb: user4,
recent: false,
chatHistory: [
{
createdAt: sub(new Date(), { hours: 10 }),
msg: chance.sentence({ words: 5 }),
senderId: 1,
type: 'text',
attachment: [
{ icon: adobe, file: 'service-task.pdf', fileSize: '2MB' },
{ icon: zip, file: 'custom.js', fileSize: '2MB' }
],
id: uniqueId()
},
{
createdAt: sub(new Date(), { minutes: 30 }),
msg: chance.sentence({ words: 10 }),
senderId: 1,
type: 'text',
attachment: [],
id: uniqueId()
},
{
createdAt: sub(new Date(), { minutes: 6 }),
msg: chance.sentence({ words: 5 }),
senderId: 3,
type: 'text',
attachment: [],
id: uniqueId()
},
{
createdAt: sub(new Date(), { minutes: 6 }),
msg: chance.sentence({ words: 5 }),
senderId: 3,
type: 'text',
attachment: [],
id: uniqueId()
}
]
},
{
id: 4,
name: 'Loren Rodriguez',
status: 'offline',
thumb: user5,
recent: true,
chatHistory: [
{
createdAt: sub(new Date(), { hours: 1 }),
msg: chance.sentence({ words: 5 }),
senderId: 1,
type: 'text',
attachment: [],
id: uniqueId()
},
{
createdAt: sub(new Date(), { hours: 10 }),
msg: chance.sentence({ words: 5 }),
senderId: 4,
type: 'text',
attachment: [
{ icon: java, file: 'work-project.zip', fileSize: '20MB' },
{ icon: zip, file: 'custom.js', fileSize: '2MB' }
],
id: uniqueId()
},
{
createdAt: sub(new Date(), { hours: 11 }),
msg: background2,
senderId: uniqueId(),
type: 'img',
attachment: [],
id: uniqueId()
},
{
createdAt: sub(new Date(), { minutes: 6 }),
msg: chance.sentence({ words: 5 }),
senderId: 4,
type: 'text',
attachment: [],
id: uniqueId()
},
{
createdAt: sub(new Date(), { minutes: 1 }),
msg: chance.sentence({ words: 7 }),
senderId: 3,
type: 'text',
attachment: [],
id: uniqueId()
}
]
},
{
id: 5,
name: 'Robert Smith',
status: 'online',
thumb: user6,
recent: true,
chatHistory: [
{
createdAt: sub(new Date(), { hours: 1 }),
msg: chance.sentence({ words: 5 }),
senderId: 1,
type: 'text',
attachment: [
{ icon: adobe, file: 'service-task.pdf', fileSize: '2MB' },
{ icon: chrome, file: 'homepage-design.fig', fileSize: '3MB' },
{ icon: figma, file: 'about-us.htmlf', fileSize: '1KB' },
{ icon: java, file: 'work-project.zip', fileSize: '20MB' },
{ icon: zip, file: 'custom.js', fileSize: '2MB' }
],
id: uniqueId()
},
{
createdAt: sub(new Date(), { minutes: 30 }),
msg: chance.sentence({ words: 10 }),
senderId: 1,
type: 'text',
attachment: [],
id: uniqueId()
},
{
createdAt: sub(new Date(), { minutes: 6 }),
msg: chance.sentence({ words: 5 }),
senderId: uniqueId(),
type: 'text',
attachment: [],
id: uniqueId()
},
{
createdAt: sub(new Date(), { minutes: 5 }),
msg: background3,
senderId: 5,
type: 'img',
attachment: [],
id: uniqueId()
},
{
createdAt: sub(new Date(), { minutes: 5 }),
msg: chance.sentence({ words: 5 }),
senderId: 5,
type: 'text',
attachment: [],
id: uniqueId()
}
]
},
{
id: 6,
name: 'Joseph Sara',
status: 'busy',
thumb: user7,
recent: false,
chatHistory: [
{
createdAt: sub(new Date(), { hours: 10 }),
msg: chance.sentence({ words: 5 }),
senderId: 1,
type: 'text',
attachment: [
{ icon: chrome, file: 'homepage-design.fig', fileSize: '3MB' },
{ icon: java, file: 'work-project.zip', fileSize: '20MB' },
{ icon: zip, file: 'custom.js', fileSize: '2MB' }
],
id: uniqueId()
},
{
createdAt: sub(new Date(), { minutes: 5 }),
msg: background4,
senderId: uniqueId(),
type: 'img',
attachment: [],
id: uniqueId()
},
{
createdAt: sub(new Date(), { minutes: 5 }),
msg: chance.sentence({ words: 5 }),
senderId: 1,
type: 'text',
attachment: [],
id: uniqueId()
},
{
createdAt: sub(new Date(), { minutes: 2 }),
msg: chance.sentence({ words: 5 }),
senderId: 6,
type: 'text',
attachment: [],
id: uniqueId()
}
]
},
{
id: 7,
name: 'Thomas Smith',
status: 'away',
thumb: user2,
recent: true,
chatHistory: [
{
createdAt: sub(new Date(), { hours: 10 }),
msg: chance.sentence({ words: 5 }),
senderId: 1,
type: 'text',
attachment: [
{ icon: adobe, file: 'service-task.pdf', fileSize: '2MB' },
{ icon: chrome, file: 'homepage-design.fig', fileSize: '3MB' }
],
id: uniqueId()
},
{
createdAt: sub(new Date(), { hours: 1 }),
msg: chance.sentence({ words: 10 }),
senderId: 1,
type: 'text',
attachment: [],
id: uniqueId()
},
{
createdAt: sub(new Date(), { minutes: 15 }),
msg: chance.sentence({ words: 5 }),
senderId: 7,
type: 'text',
attachment: [],
id: uniqueId()
},
{
createdAt: sub(new Date(), { minutes: 10 }),
msg: chance.sentence({ words: 5 }),
senderId: 7,
type: 'text',
attachment: [],
id: uniqueId()
}
]
},
{
id: 8,
name: 'Davina Elizabeth',
status: 'offline',
thumb: user3,
recent: false,
chatHistory: [
{
createdAt: sub(new Date(), { hours: 10 }),
msg: chance.sentence({ words: 5 }),
senderId: 1,
type: 'text',
attachment: [
{ icon: adobe, file: 'service-task.pdf', fileSize: '2MB' },
{ icon: java, file: 'work-project.zip', fileSize: '20MB' },
{ icon: zip, file: 'custom.js', fileSize: '2MB' }
],
id: uniqueId()
},
{
createdAt: sub(new Date(), { hours: 6 }),
msg: chance.sentence({ words: 5 }),
senderId: 3,
type: 'text',
attachment: [],
id: uniqueId()
},
{
createdAt: sub(new Date(), { hours: 6 }),
msg: chance.sentence({ words: 5 }),
senderId: 1,
type: 'text',
attachment: [],
id: uniqueId()
},
{
createdAt: sub(new Date(), { minutes: 1 }),
msg: chance.sentence({ words: 5 }),
senderId: 8,
type: 'text',
attachment: [],
id: uniqueId()
}
]
},
{
id: 9,
name: 'Charles Martha',
status: 'online',
thumb: user4,
recent: false,
chatHistory: [
{
createdAt: sub(new Date(), { hours: 10 }),
msg: chance.sentence({ words: 5 }),
senderId: 1,
type: 'text',
attachment: [
{ icon: java, file: 'work-project.zip', fileSize: '20MB' },
{ icon: zip, file: 'custom.js', fileSize: '2MB' }
],
id: uniqueId()
},
{
createdAt: sub(new Date(), { hours: 8 }),
msg: chance.sentence({ words: 5 }),
senderId: 3,
type: 'text',
attachment: [],
id: uniqueId()
},
{
createdAt: sub(new Date(), { hours: 8 }),
msg: chance.sentence({ words: 5 }),
senderId: 3,
type: 'text',
attachment: [],
id: uniqueId()
},
{
createdAt: sub(new Date(), { minutes: 5 }),
msg: chance.sentence({ words: 5 }),
senderId: 9,
type: 'text',
attachment: [],
id: uniqueId()
},
{
createdAt: sub(new Date(), { minutes: 2 }),
msg: chance.sentence({ words: 5 }),
senderId: 9,
type: 'text',
attachment: [],
id: uniqueId()
}
]
},
{
id: 10,
name: 'Samuel Ban',
status: 'online',
thumb: user5,
recent: false,
chatHistory: [
{
createdAt: sub(new Date(), { hours: 10 }),
msg: chance.sentence({ words: 5 }),
senderId: 1,
type: 'text',
attachment: [
{ icon: adobe, file: 'service-task.pdf', fileSize: '2MB' },
{ icon: zip, file: 'custom.js', fileSize: '2MB' }
],
id: uniqueId()
},
{
createdAt: sub(new Date(), { hours: 11 }),
msg: chance.sentence({ words: 5 }),
senderId: 3,
type: 'text',
attachment: [],
id: uniqueId()
},
{
createdAt: sub(new Date(), { hours: 6 }),
msg: chance.sentence({ words: 5 }),
senderId: 3,
type: 'text',
attachment: [],
id: uniqueId()
},
{
createdAt: sub(new Date(), { hours: 6 }),
msg: chance.sentence({ words: 5 }),
senderId: 3,
type: 'text',
attachment: [],
id: uniqueId()
},
{
createdAt: sub(new Date(), { minutes: 6 }),
msg: chance.sentence({ words: 5 }),
senderId: 10,
type: 'text',
attachment: [],
id: uniqueId()
}
]
}
];
mock.onGet('/api/data/chat/ChatData').reply(() => {
return [200, ChatData];
});
export default ChatData;

131
_mockApis/apps/contact/index.ts Executable file
View File

@@ -0,0 +1,131 @@
import mock from '../../mockAdapter';
import user1 from '@/assets/images/profile/user-11.jpg';
import user2 from '@/assets/images/profile/user-2.jpg';
import user3 from '@/assets/images/profile/user-3.jpg';
import user4 from '@/assets/images/profile/user-4.jpg';
import user5 from '@/assets/images/profile/user-5.jpg';
import user6 from '@/assets/images/profile/user-6.jpg';
import user7 from '@/assets/images/profile/user-7.jpg';
import user8 from '@/assets/images/profile/user-8.jpg';
import user9 from '@/assets/images/profile/user-9.jpg';
import user10 from '@/assets/images/profile/user-10.jpg';
// types
export type KeyedObject = {
[key: string]: string | number | KeyedObject | any;
};
const contacts: KeyedObject[] = [
{
id: '#123',
avatar: user2,
userinfo: 'Hanna Gover',
usermail: 'hannagover@gmail.com',
phone: '+123 456 789',
jdate: '12-10-2014',
role: 'Designer',
rolestatus: 'primary'
},
{
id: '#452',
avatar: user1,
userinfo: 'Daniel Kristeen',
usermail: 'danielr@gmail.com',
phone: '+234 456 789',
jdate: '10-09-2014',
role: 'Developer',
rolestatus: 'secondary'
},
{
id: '#565',
avatar: user3,
userinfo: 'Julian Josephs',
usermail: 'julijosep@gmail.com',
phone: '+345 456 789',
jdate: '01-10-2013',
role: 'Accountant',
rolestatus: 'error'
},
{
id: '#785',
avatar: user4,
userinfo: 'Jany Petrovic',
usermail: 'janyver@gmail.com',
phone: '+456 456 789',
jdate: '02-10-2017',
role: 'Designer',
rolestatus: 'success'
},
{
id: '#564',
avatar: user5,
userinfo: 'Leanne Graham',
usermail: 'leanegr@gmail.com',
phone: '+567 456 789',
jdate: '10-9-2015',
role: 'HR',
rolestatus: 'info'
},
{
id: '#980',
avatar: user6,
userinfo: 'Dennis Schulist',
usermail: 'dennis12@gmail.com',
phone: '+678 456 789',
jdate: '10-5-2013',
role: 'Designer',
rolestatus: 'warning'
},
{
id: '#521',
avatar: user7,
userinfo: 'Kurtis Weissnat',
usermail: 'kurtisr@gmail.com',
phone: '+123 456 789',
jdate: '05-10-2012',
role: 'Manager',
rolestatus: 'primary'
},
{
id: '#450',
avatar: user8,
userinfo: 'Nicholas Runolfsdottir V',
usermail: 'nickover@gmail.com',
phone: '+234 456 789',
jdate: '11-10-2014',
role: 'Chairman',
rolestatus: 'secondary'
},
{
id: '#212',
avatar: user9,
userinfo: 'Glenna Reichert',
usermail: 'glenarei@gmail.com',
phone: '+345 456 789',
jdate: '12-5-2017',
role: 'Designer',
rolestatus: 'error'
},
{
id: '#152',
avatar: user10,
userinfo: 'Clementina DuBuque',
usermail: 'clementina@gmail.com',
phone: '+456 456 789',
jdate: '18-5-2009',
role: 'Developer',
rolestatus: 'success'
}
];
// ==============================|| MOCK SERVICES ||============================== //
// mock.onGet('/api/products/list').reply(200, { products });
mock.onGet('/api/contacts').reply(() => {
return [200, contacts];
});
export default contacts;

View File

@@ -0,0 +1,72 @@
import type { Productreview } from "@/types/apps/Editproducts";
import img1 from '@/assets/images/profile/user-11.jpg';
import img2 from '@/assets/images/profile/user-8.jpg';
import img3 from '@/assets/images/profile/user-3.jpg';
import img4 from '@/assets/images/profile/user-4.jpg';
import img5 from '@/assets/images/profile/user-5.jpg';
import img6 from '@/assets/images/profile/user-6.jpg';
import img7 from '@/assets/images/profile/user-7.jpg';
import img8 from '@/assets/images/profile/user-10.jpg';
const ProductreviewData: Productreview[] = [
{
review:5,
image:img1,
name: 'Sunil Joshi',
comment:'I like this design',
date:'1 day ago'
},
{
review:4,
image:img2,
name: 'Mark Richard',
comment:'Awesome quality with great materials used, but could be more comfortable',
date:'11:20 PM'
},
{
review:4.5,
image:img3,
name: 'Hanry Lord',
comment:'This is the best product I have ever used.',
date:'Today'
},
{
review:3.5,
image:img4,
name: 'Britny Cox',
comment:'Beautifully crafted. Worth every penny.',
date:'Today'
},
{
review:4,
image:img5,
name: 'Olvin wild',
comment:'Awesome value for money. Shipping could be faster tho.',
date:'12:00 PM'
},
{
review:5,
image:img6,
name: 'Dan wilsed',
comment:'Excellent quality, I got it for my sons birthday and he loved it',
date:'1 May 2024'
},
{
review:5,
image:img7,
name: 'Jon Miller',
comment:'Firesale is on! Buy now! Totally worth it!',
date:'25 April 2024'
},
{
review:3.5,
image:img8,
name: 'Anaa Crown',
comment:'Excellent quality, I got it for my sons birthday and he loved it',
date:'1 May 2024'
}
];
export {ProductreviewData}

View File

@@ -0,0 +1,112 @@
import mock from '../../mockAdapter';
// third-party
import { add, sub } from 'date-fns';
import { Chance } from 'chance';
//Types
import type { Address } from '@/types/apps/EcommerceType';
const chance = new Chance();
// billing address list
let address: Address[] = [
{
id: 1,
name: chance.name(),
destination: 'Home',
building: chance.address({ short_suffix: true }),
city: chance.city(),
state: chance.state({ full: true }),
phone: chance.phone(),
isDefault: true
},
{
id: 2,
name: chance.name(),
destination: 'Office',
building: chance.address({ short_suffix: true }),
city: chance.city(),
state: chance.state({ full: true }),
phone: chance.phone(),
isDefault: false
},
{
id: 3,
name: chance.name(),
destination: 'Office',
building: chance.address({ short_suffix: true }),
city: chance.city(),
state: chance.state({ full: true }),
phone: chance.phone(),
isDefault: false
}
];
// ==============================|| MOCK SERVICES ||============================== //
mock.onGet('/api/address/list').reply(() => {
return [200, address];
});
mock.onPost('/api/address/new').reply((request) => {
try {
const data = JSON.parse(request.data);
const { name, destination, building, street, city, state, country, post, phone, isDefault } = data;
const newAddress = {
id: new Date(),
name,
destination,
building,
street,
city,
state,
country,
post,
phone,
isDefault
};
if (isDefault) {
address = address.map((item) => {
if (item.isDefault === true) {
return { ...item, isDefault: false };
}
return item;
});
}
address = [...address, newAddress];
return [200, { address }];
} catch (err) {
console.error(err);
return [500, { message: 'Internal server error' }];
}
});
mock.onPost('/api/address/edit').reply((request) => {
try {
const data = JSON.parse(request.data);
if (data.isDefault) {
address = address.map((item) => {
if (item.isDefault === true) {
return { ...item, isDefault: false };
}
return item;
});
}
address = address.map((item) => {
if (item.id === data.id) {
return data;
}
return item;
});
return [200, { address }];
} catch (err) {
console.error(err);
return [500, { message: 'Internal server error' }];
}
});

View File

@@ -0,0 +1,2 @@
import './products';
import './billing-address';

View File

@@ -0,0 +1,273 @@
import mock from '../../mockAdapter';
// third-party
import { add, sub } from 'date-fns';
import { Chance } from 'chance';
import product1 from '@/assets/images/products/s11.jpg';
import product2 from '@/assets/images/products/s5.jpg';
import product3 from '@/assets/images/products/s6.jpg';
import product4 from '@/assets/images/products/s4.jpg';
import product5 from '@/assets/images/products/s10.jpg';
import product6 from '@/assets/images/products/s9.jpg';
import product7 from '@/assets/images/products/s7.jpg';
import product8 from '@/assets/images/products/s8.jpg';
import product9 from '@/assets/images/products/s3.jpg';
import product10 from '@/assets/images/products/s1.jpg';
import product11 from '@/assets/images/products/s12.jpg';
import product12 from '@/assets/images/products/s2.jpg';
//Types
import type { Products } from '@/types/apps/EcommerceType';
const chance = new Chance();
// products list
const products: Products[] = [
{
id: 1,
image: product1,
name: 'Super Games',
description: chance.paragraph({ sentences: 1 }),
rating: chance.floating({ min: 0.1, max: 5.0 }),
discount: 25,
salePrice: 180,
offerPrice: 200,
gender: 'kids',
categories: ['fashion', 'toys','electronics'],
colors: ['error', 'warning', 'primary', 'secondary'],
popularity: chance.natural(),
date: chance.natural(),
created: sub(new Date(), { days: 8, hours: 6, minutes: 20 }),
isStock: true,
qty: 1,
rank:87,
price:'200'
},
{
id: 2,
image: product2,
name: 'Derma-E',
description: chance.paragraph({ sentences: 2 }),
rating: chance.floating({ min: 0.1, max: 5.0 }),
discount: 10,
salePrice: 81,
offerPrice: 89,
gender: 'kids',
categories: ['fashion', 'female'],
colors: ['lightprimary', 'success', 'lighterror', 'warning'],
popularity: chance.natural(),
date: chance.natural(),
created: sub(new Date(), { days: 10, hours: 8, minutes: 69 }),
isStock: false,
qty: 1,
rank:87,
price:'100'
},
{
id: 3,
image: product3,
name: 'SockSoho',
description: chance.paragraph({ sentences: 2 }),
rating: chance.floating({ min: 0.1, max: 5.0 }),
discount: 40,
salePrice: 49,
offerPrice: 59,
gender: 'male',
categories: ['fashion','kids'],
colors: ['lightprimary', 'primary'],
popularity: chance.natural(),
date: chance.natural(),
created: sub(new Date(), { days: 4, hours: 9, minutes: 50 }),
isStock: true,
qty: 1,
rank:50,
price:'100'
},
{
id: 4,
image: product4,
name: 'Glossy Solution',
description: chance.paragraph({ sentences: 2 }),
rating: chance.floating({ min: 0.1, max: 5.0 }),
discount: 17,
salePrice: 29,
offerPrice: 36,
gender: 'kids',
categories: ['fashion','female'],
colors: ['error', 'warning', 'warning'],
popularity: chance.natural(),
date: chance.natural(),
created: sub(new Date(), { days: 7, hours: 6, minutes: 45 }),
isStock: false,
qty: 1,
rank:90,
price:'50'
},
{
id: 5,
image: product5,
name: 'Supercolor 645CL',
description: chance.paragraph({ sentences: 2 }),
rating: chance.floating({ min: 0.1, max: 5.0 }),
discount: 20,
salePrice: 12,
offerPrice: 15,
gender: 'male',
categories: ['toys'],
colors: ['warning', 'lightprimary'],
popularity: chance.natural(),
date: chance.natural(),
created: sub(new Date(), { days: 2, hours: 9, minutes: 45 }),
isStock: true,
qty: 1,
rank:88,
price:'50'
},
{
id: 6,
image: product6,
name: 'Orange Glass',
description: chance.paragraph({ sentences: 2 }),
rating: chance.floating({ min: 0.1, max: 5.0 }),
discount: 13,
salePrice: 86,
offerPrice: 99,
gender: 'female',
categories: ['fashion', 'kitchen'],
colors: ['primary', 'warning'],
popularity: chance.natural(),
date: chance.natural(),
created: add(new Date(), { days: 6, hours: 10, minutes: 0 }),
isStock: true,
qty: 1,
rank:95,
price:'100'
},
{
id: 7,
image: product7,
name: 'Polraid One Step',
description: chance.paragraph({ sentences: 2 }),
rating: chance.floating({ min: 0.1, max: 5.0 }),
discount: 15,
salePrice: 16,
offerPrice: 14.59,
gender: 'female',
categories: ['fashion'],
colors: ['error', 'secondary', 'primary', 'warning'],
popularity: chance.natural(),
date: chance.natural(),
created: add(new Date(), { days: 14, hours: 1, minutes: 55 }),
isStock: false,
qty: 1,
rank:60,
price:'50'
},
{
id: 8,
image: product8,
name: 'Colorful Camera',
description: chance.paragraph({ sentences: 2 }),
rating: chance.floating({ min: 0.1, max: 5.0 }),
discount: 20,
salePrice: 130,
offerPrice: 105,
gender: 'female',
categories: ['toys'],
colors: ['lightsuccess', 'primary', 'success'],
popularity: chance.natural(),
date: chance.natural(),
created: sub(new Date(), { days: 0, hours: 11, minutes: 10 }),
isStock: true,
qty: 1,
rank:80,
price:'151'
},
{
id: 9,
image: product9,
name: 'Smart Watch',
description: chance.paragraph({ sentences: 2 }),
rating: chance.floating({ min: 0.1, max: 5.0 }),
discount: 20,
salePrice: 130,
offerPrice: 160,
gender: 'female',
categories: ['toys','electronics'],
colors: ['lightsuccess', 'primary', 'success'],
popularity: chance.natural(),
date: chance.natural(),
created: sub(new Date(), { days: 0, hours: 11, minutes: 10 }),
isStock: true,
qty: 1,
rank:80,
price:'252'
},
{
id: 10,
image: product10,
name: 'Curology Face wash',
description: chance.paragraph({ sentences: 2 }),
rating: chance.floating({ min: 0.1, max: 5.0 }),
discount: 20,
salePrice: 275,
offerPrice: 350,
gender: 'female',
categories: ['toys'],
colors: ['lightsuccess', 'primary', 'success'],
popularity: chance.natural(),
date: chance.natural(),
created: sub(new Date(), { days: 0, hours: 11, minutes: 10 }),
isStock: true,
qty: 1,
rank:80,
price:'275'
},
{
id: 11,
image: product11,
name: 'Smart Game',
description: chance.paragraph({ sentences: 2 }),
rating: chance.floating({ min: 0.1, max: 5.0 }),
discount: 20,
salePrice: 10,
offerPrice: 15,
gender: 'female',
categories: ['toys','electronics'],
colors: ['lightsuccess', 'primary', 'success'],
popularity: chance.natural(),
date: chance.natural(),
created: sub(new Date(), { days: 0, hours: 11, minutes: 10 }),
isStock: true,
qty: 1,
rank:80,
price:'275'
},
{
id: 12,
image: product12,
name: 'Body Lotion',
description: chance.paragraph({ sentences: 2 }),
rating: chance.floating({ min: 0.1, max: 5.0 }),
discount: 20,
salePrice: 89,
offerPrice: 99,
gender: 'female',
categories: ['toys'],
colors: ['lightsuccess', 'primary', 'success'],
popularity: chance.natural(),
date: chance.natural(),
created: sub(new Date(), { days: 0, hours: 11, minutes: 10 }),
isStock: true,
qty: 1,
rank:80,
price:'275'
}
];
// ==============================|| MOCK SERVICES ||============================== //
// mock.onGet('/api/products/list').reply(200, { products });
mock.onGet('/api/products/list').reply(() => {
return [200, products];
});
export default products;

596
_mockApis/apps/email/index.ts Executable file
View File

@@ -0,0 +1,596 @@
import mock from "../../mockAdapter";
import { Chance } from "chance";
import type { EmailType } from "@/types/apps/EmailTypes";
import { sub } from "date-fns";
import user1 from '@/assets/images/profile/user-2.jpg';
import user2 from '@/assets/images/profile/user-3.jpg';
import user3 from '@/assets/images/profile/user-4.jpg';
import user4 from '@/assets/images/profile/user-5.jpg';
import user5 from '@/assets/images/profile/user-6.jpg';
import user6 from '@/assets/images/profile/user-7.jpg';
import user7 from '@/assets/images/profile/user-8.jpg';
import user8 from '@/assets/images/profile/user-14.jpg';
import user9 from '@/assets/images/profile/user-9.jpg';
import user10 from '@/assets/images/profile/user-10.jpg';
import user11 from '@/assets/images/profile/user-11.jpg';
import user12 from '@/assets/images/profile/user-12.jpg';
import user13 from '@/assets/images/profile/user-13.jpg';
import adobe from '@/assets/images/chat/icon-adobe.svg';
import chrome from '@/assets/images/chat/icon-chrome.svg';
import figma from '@/assets/images/chat/icon-figma.svg';
import java from '@/assets/images/chat/icon-javascript.svg';
import zip from '@/assets/images/chat/icon-zip-folder.svg';
const chance = new Chance();
const EmailData: EmailType[] = [
{
id: 1,
from: "James Smith",
thumbnail: user10,
subject: "Kindly check this latest updated",
time: sub(new Date(), { hours: 1 }),
To: "abc@company.com",
emailExcerpt:
"Contrary to popular belief, Lorem Ipsum is not simply random text. ",
emailContent: `<p>Hello Andrew, </p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque bibendum hendrerit lobortis. Nullam ut lacus eros. Sed at luctus urna, eu fermentum diam. In et tristique mauris.</p>
<p>Ut id ornare metus, sed auctor enim. Pellentesque nisi magna, laoreet a augue eget,
tempor volutpat diam.</p>
<p>Regards,<br/> <b>James Smith</b></p>
`,
unread: true,
attachment: false,
starred: true,
important: false,
inbox: true,
sent: false,
draft: false,
spam: false,
trash: false,
promotional:true,
social:false,
health:true,
label: "Promotional",
attchments: [
{
id: "#1Attach",
image: adobe,
title: "adobe.pdf",
fileSize: "2MB",
},
{
id: "#2Attach",
image: chrome,
title: "abouts.html",
fileSize: "2MB",
},
{
id: "#3Attach",
image: zip,
title: "cheese.zip",
fileSize: "2MB",
},
],
},
{
id: 2,
from: "Michael Smith",
thumbnail: user1,
subject: "Fact that a reader will be distracted.",
time: sub(new Date(), { days: 0, hours: 3, minutes: 45 }),
To: "abc@company.com",
emailExcerpt:
"It has roots in a piece of classical Latin literature from 45 BC",
emailContent: `<p>Hello Andrew, </p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque bibendum hendrerit lobortis. Nullam ut lacus eros. Sed at luctus urna, eu fermentum diam. In et tristique mauris.</p>
<p>Ut id ornare metus, sed auctor enim. Pellentesque nisi magna, laoreet a augue eget,
tempor volutpat diam.</p>
<p>Regards,<br/> <b>Michael Smith</b></p>
`,
unread: true,
attachment: false,
starred: true,
important: false,
inbox: false,
sent: false,
draft: true,
spam: false,
promotional:true,
social:false,
health:true,
trash: false,
label: "Social",
attchments: [],
},
{
id: 3,
from: "Robert Smith",
thumbnail: user2,
subject:
"The point of using Lorem Ipsum is that it has a more-or-less normal",
time: sub(new Date(), { days: 0, hours: 11, minutes: 45 }),
To: "abc@company.com",
emailExcerpt: "Richard McClintock, a Latin professor at Hampden-Sydney",
emailContent:
"<p>Dummy text is also used to demonstrate the appearance of different typefaces and layouts, and in general the content of dummy text is nonsensical. ",
unread: false,
attachment: false,
starred: false,
important: true,
inbox: false,
sent: true,
draft: false,
promotional:true,
social:true,
health:true,
spam: false,
trash: false,
label: "Promotional",
attchments: [
{
id: "#4Attach",
image: figma,
title: "service.fig",
fileSize: "2MB",
},
{
id: "#5Attach",
image: java,
title: "abouts.js",
fileSize: "2MB",
},
],
},
{
id: 4,
from: "Maria Garcia",
thumbnail:user5,
subject: "Contrary to popular belief, Lorem Ipsum is.",
time: sub(new Date(), { days: 1, hours: 2, minutes: 45 }),
To: "abc@company.com",
emailExcerpt: "Lorem Ipsum passage, and going through",
emailContent:
"<p>Furthermore, it is advantageous when the dummy text is relatively realistic so that the layout impression of the final publication is not compromised.</p>",
unread: false,
attachment: true,
starred: true,
important: false,
inbox: false,
promotional:false,
social:false,
health:false,
sent: false,
draft: true,
spam: false,
trash: false,
label: "Social",
attchments: [
{
id: "#4Attach",
image: figma,
title: "service.fig",
fileSize: "2MB",
},
{
id: "#5Attach",
image: java,
title: "abouts.js",
fileSize: "2MB",
},
],
},
{
id: 5,
from: "David Smith",
thumbnail: user6,
subject: "Literature from 45 BC, making",
time: sub(new Date(), { days: 1, hours: 8, minutes: 45 }),
To: "abc123@company.com",
emailExcerpt: "The standard chunk of Lorem Ipsum used since the 1500s",
emailContent:
"<p>One disadvantage of Lorum Ipsum is that in Latin certain letters appear more frequently than others which creates a distinct visual impression.</p>",
unread: false,
attachment: false,
starred: false,
important: true,
inbox: true,
sent: false,
draft: false,
promotional:true,
social:true,
health:true,
spam: false,
trash: false,
label: "Social",
attchments: [],
},
{
id: 6,
from: "Maria Rodriguez",
thumbnail: user7,
subject: "Latin professor at Hampden-Sydney College.",
time: sub(new Date(), { days: 1, hours: 10, minutes: 45 }),
To: "abc@company.com",
emailExcerpt: "Cicero are also reproduced in their exact original form",
emailContent:
"<p>Thus, Lorem Ipsum has only limited suitability as a visual filler for German texts. If the fill text is intended to illustrate the characteristics of different typefaces.</p>",
unread: false,
attachment: true,
starred: false,
important: true,
inbox: true,
promotional:false,
social:true,
health:true,
sent: false,
draft: false,
spam: false,
trash: false,
label: "Health",
attchments: [],
},
{
id: 7,
from: "Mary Smith",
thumbnail: user8,
subject: "the cites of the word in classical.",
time: sub(new Date(), { days: 1, hours: 11, minutes: 45 }),
To: "abc@company.com",
emailExcerpt:
"There are many variations of passages of Lorem Ipsum available",
emailContent:
"<p>There is now an abundance of readable dummy texts. These are usually used when a text is required purely to fill a space.These alternatives to the classic Lorem Ipsum texts are often amusing and tell short, funny or nonsensical stories.</p>",
unread: true,
attachment: true,
starred: false,
important: false,
promotional:true,
social:false,
health:false,
inbox: true,
sent: false,
draft: false,
spam: false,
trash: false,
label: "Social",
attchments: [],
},
{
id: 8,
from: "Maria Hernandez",
thumbnail: user9,
subject: " This book is a treatise on the theory of ethics.",
time: sub(new Date(), { days: 2, hours: 1, minutes: 45 }),
To: "abc@company.com",
emailExcerpt:
"the majority have suffered alteration in some form, by injected ",
emailContent:
"<p>According to most sources, Lorum Ipsum can be traced back to a text composed by Cicero in 45 BC. Allegedly, a Latin scholar established the origin of the text.</p>",
unread: false,
attachment: true,
starred: false,
important: true,
inbox: false,
promotional:true,
social:true,
health:true,
sent: false,
draft: false,
spam: true,
trash: false,
label: "Social",
attchments: [],
},
{
id: 9,
from: "Maria Martinez",
thumbnail: user10,
subject: "Lorem Ipsum used since the 1500s is reproduced.",
time: sub(new Date(), { days: 2, hours: 3, minutes: 45 }),
To: "abc@company.com",
emailExcerpt: "If you are going to use a passage of Lorem Ipsum",
emailContent:
"<p>It seems that only fragments of the original text remain in the Lorem Ipsum texts used today. One may speculate that over the course of time certain letters.</p>",
unread: false,
attachment: true,
starred: false,
important: false,
inbox: false,
promotional:false,
social:true,
health:false,
sent: false,
draft: false,
spam: false,
trash: true,
label: "Promotional",
attchments: [],
},
{
id: 10,
from: "James Johnson",
thumbnail:user1,
subject: "accompanied by English versions from the 1914 translation.",
time: sub(new Date(), { days: 2, hours: 8, minutes: 45 }),
To: "abc@company.com",
emailExcerpt: "you need to be sure there isn't anything",
emailContent:
"<p>This might also explain why one can now find slightly different versions. Due to the age of the Lorem Ipsum text there are no copyright issues to contend with.</p>",
unread: false,
attachment: true,
starred: true,
important: false,
inbox: false,
promotional:true,
social:false,
health:true,
sent: true,
draft: false,
spam: false,
trash: false,
label: "Health",
attchments: [],
},
{
id: 11,
from: "James Smith",
thumbnail:user3,
subject: "All the Lorem Ipsum generators on the Internet.",
time: sub(new Date(), { days: 2, hours: 9, minutes: 45 }),
To: "abc@company.com",
emailExcerpt:
"All the Lorem Ipsum generators on the Internet tend to repeat predefined",
emailContent:
"<p>The spread of computers and layout programmes thus made dummy text better known. While in earlier times several lines of the Lorem Ipsum text were repeated in the creation of dummy texts.</p>",
unread: false,
attachment: false,
starred: true,
important: false,
inbox: true,
promotional:true,
social:false,
health:false,
sent: false,
draft: false,
spam: false,
trash: false,
label: "Promotional",
attchments: [],
},
{
id: 12,
from: "Michael Smith",
thumbnail: user7,
subject: "Latin words, combined with a handful.",
time: sub(new Date(), { days: 2, hours: 11, minutes: 45 }),
To: "abc@company.com",
emailExcerpt: "combined with a handful of model sentence structures",
emailContent:
"<p>basis for many dummy text or Lorem Ipsum generators. Based on 'De finibus', these generators automatically create longer sections of the Lorem Ipsum text or various other filler texts.</p>",
unread: false,
attachment: false,
starred: false,
important: false,
promotional:true,
social:true,
health:true,
inbox: true,
sent: false,
draft: true,
spam: false,
trash: true,
label: "Social",
attchments: [],
},
{
id: 13,
from: "Robert Smith",
thumbnail: user1,
subject: "If you are going to use a passage.",
time: sub(new Date(), { days: 3, hours: 2, minutes: 45 }),
To: "abc@company.com",
emailExcerpt:
"Lorem Ipsum is therefore always free from repetition, injected humour",
emailContent:
"<p>The phrasal sequence of the Lorem Ipsum text is now so widespread and commonplace that many DTP programmes can generate dummy text using the starting sequence.</p>",
unread: false,
attachment: true,
starred: true,
important: true,
promotional:false,
social:false,
health:false,
inbox: false,
sent: true,
draft: false,
spam: false,
trash: false,
label: "Health",
attchments: [],
},
{
id: 14,
from: "Maria Garcia",
thumbnail: user2,
subject: "piece of classical Latin literature.",
time: sub(new Date(), { days: 3, hours: 11, minutes: 45 }),
To: "abc@company.com",
emailExcerpt: "Lorem Ipsum passage, and going through the cites",
emailContent:
"<p>now recognized by electronic pre-press systems and, when found, an alarm can be raised. This avoids a publication going to print with overlooked dummy text.</p>",
unread: false,
attachment: false,
starred: true,
important: false,
inbox: false,
promotional:true,
social:true,
health:true,
sent: false,
draft: false,
spam: false,
trash: true,
label: "Social",
attchments: [],
},
{
id: 15,
from: "David Smith",
thumbnail: user3,
subject: "first true generator on the Internet.",
time: sub(new Date(), { days: 3, hours: 4, minutes: 45 }),
To: "abc@company.com",
emailExcerpt:
"Lorem Ipsum is simply dummy text of the printing and typesetting industry.",
emailContent:
"<p>Certain internet providers exploit the fact that fill text cannot be recognized by automatic search engines - meaningful information cannot be distinguished from meaningless.</p>",
unread: false,
attachment: true,
starred: false,
important: false,
inbox: false,
promotional:true,
social:false,
health:true,
sent: false,
draft: false,
spam: false,
trash: true,
label: "Promotional",
attchments: [],
},
{
id: 16,
from: "Maria Rodriguez",
thumbnail: user4,
subject: "combined with a handful of model sentence structure.",
time: sub(new Date(), { days: 4, hours: 1, minutes: 45 }),
To: "abc@company.com",
emailExcerpt:
"Lorem Ipsum has been the industry's standard dummy text ever since the 1500s",
emailContent:
"<p>Target-generated dummy text mixed with a certain combination of search terms can lead to an increased frequency of visits by search machine users. As a consequence, advertising revenues, which rely on website 'hits', are increased.</p>",
unread: true,
attachment: false,
starred: false,
important: true,
inbox: true,
promotional:true,
social:true,
health:false,
sent: false,
draft: false,
spam: false,
trash: true,
label: "Social",
attchments: [],
},
{
id: 17,
from: "Mary Smith",
thumbnail: user6,
subject: "randomised words which don't look even.",
time: sub(new Date(), { days: 4, hours: 1, minutes: 45 }),
To: "abc@company.com",
emailExcerpt: "when an unknown printer took a galley of type",
emailContent:
"<p>Vitae purus faucibus ornare suspendisse sed nisi lacus sed viverra. Amet nisl suscipit adipiscing bibendum est ultricies integer.</p>",
unread: true,
attachment: false,
starred: false,
important: false,
inbox: false,
promotional:true,
social:false,
health:true,
sent: false,
draft: false,
spam: true,
trash: false,
label: "Health",
attchments: [],
},
{
id: 18,
from: "Maria Hernandez",
thumbnail: user8,
subject: "Lorem Ipsum generators on the Internet tend.",
time: sub(new Date(), { days: 4, hours: 1, minutes: 45 }),
To: "abc@company.com",
emailExcerpt: "scrambled it to make a type specimen book",
emailContent:
"<p>Volutpat diam ut venenatis tellus in metus vulputate eu. Id aliquet lectus proin nibh nisl condimentum id venenatis. Risus quis varius quam quisque id diam vel. Pulvinar pellentesque habitant morbi tristique senectus et netus et.</p>",
unread: false,
attachment: false,
starred: false,
important: true,
inbox: false,
promotional:true,
social:false,
health:true,
sent: true,
draft: false,
spam: false,
trash: false,
label: "Promotional",
attchments: [],
},
{
id: 19,
from: "Maria Martinez",
thumbnail: user9,
subject: "combined with a handful of model.",
time: sub(new Date(), { days: 4, hours: 1, minutes: 45 }),
To: "abc@company.com",
emailExcerpt: "It has survived not only five centuries",
emailContent:
"<p>Scelerisque purus semper eget duis at. Tempus imperdiet nulla malesuada pellentesque elit. Vitae semper quis lectus nulla at volutpat. Ac tortor vitae purus faucibus ornare suspendisse.</p>",
unread: true,
attachment: false,
starred: false,
important: false,
inbox: false,
promotional:true,
social:false,
health:true,
sent: false,
draft: true,
spam: false,
trash: false,
label: "Health",
attchments: [],
},
{
id: 20,
from: "James Johnson",
thumbnail: user11,
subject: "The Extremes of Good and Evil.",
time: sub(new Date(), { days: 4, hours: 1, minutes: 45 }),
To: "abc@company.com",
emailExcerpt: "the 1960s with the release of Letraset sheets containings",
emailContent:
"<p>Ultrices in iaculis nunc sed augue lacus viverra. Tellus cras adipiscing enim eu turpis egestas. Libero enim sed faucibus turpis in eu mi bibendum neque. Consectetur adipiscing elit ut aliquam. Mattis nunc sed blandit libero volutpat sed cras. </p>",
unread: false,
attachment: true,
starred: true,
important: true,
inbox: true,
promotional:false,
social:false,
health:false,
sent: false,
draft: false,
spam: false,
trash: false,
label: "Social",
attchments: [],
},
];
mock.onGet('/api/data/email/EmailData').reply(() => {
return [200, EmailData];
});
export default EmailData;

253
_mockApis/apps/invoice/index.ts Executable file
View File

@@ -0,0 +1,253 @@
import type { InvoiceType } from "@/types/apps/InvoiceTypes";
import mock from "../../mockAdapter";
import { Chance } from "chance";
const chance = new Chance();
const InvoiceData: InvoiceType[] = [
{
id: 101,
billFrom: "PineappleInc.",
billFromEmail: "first@xabz.com",
billFromAddress: "Ganesh glory,Godrej garden city,Ahmedabad.",
billFromPhone: 979796786,
billFromFax: 13,
billTo: "Redq Inc.",
billToEmail: "toFirst@agth.com",
billToAddress: "Godrej garden city,Ahmedabad.",
billToPhone: 757575233,
billToFax: 76,
orders: [
{
itemName: "Courge",
unitPrice: 10,
units: 15,
unitTotalPrice: 90,
},
],
orderDate: new Date(),
totalCost: 90,
vat: 9,
grandTotal: 99,
status: "Shipped",
completed: false,
isSelected: false,
},
{
id: 102,
billFrom: "Pineapple.",
billFromEmail: "first@xabz.com",
billFromAddress: "Ganesh glory,Godrej garden city,Ahmedabad.",
billFromPhone: 979796786,
billFromFax: 13,
billTo: "ME Inc.",
billToEmail: "toFirst@agth.com",
billToAddress: "Godrej garden city,Ahmedabad.",
billToPhone: 757575233,
billToFax: 76,
orders: [
{
itemName: "Courge",
unitPrice: 10,
units: 9,
unitTotalPrice: 90,
},
],
orderDate: new Date(),
totalCost: 90,
vat: 9,
grandTotal: 99,
status: "Delivered",
completed: false,
isSelected: false,
},
{
id: 103,
billFrom: "Incorporation.",
billFromEmail: "first@xabz.com",
billFromAddress: "Ahmedabad.",
billFromPhone: 979796786,
billFromFax: 13,
billTo: "Redirwed.",
billToEmail: "toFirst@agth.com",
billToAddress: "Godrej garden city,Ahmedabad.",
billToPhone: 757575233,
billToFax: 76,
orders: [
{
itemName: "Courge",
unitPrice: 10,
units: 9,
unitTotalPrice: 90,
},
],
orderDate: new Date(),
totalCost: 90,
vat: 9,
grandTotal: 99,
status: "Pending",
completed: false,
isSelected: false,
},
{
id: 104,
billFrom: "PineappleTimes.",
billFromEmail: "first@xabz.com",
billFromAddress: "Ganesh glory,Godrej garden city,Ahmedabad.",
billFromPhone: 979796786,
billFromFax: 13,
billTo: "RFc.",
billToEmail: "toFirst@agth.com",
billToAddress: "Godrej garden city,Ahmedabad.",
billToPhone: 757575233,
billToFax: 76,
orders: [
{
itemName: "Courge",
unitPrice: 10,
units: 9,
unitTotalPrice: 90,
},
],
orderDate: new Date(),
totalCost: 90,
vat: 9,
grandTotal: 99,
status: "Shipped",
completed: false,
isSelected: false,
},
{
id: 105,
billFrom: "FortuneCreation",
billFromEmail: "first@xabz.com",
billFromAddress: "Ganesh glory,Godrej garden city,Ahmedabad.",
billFromPhone: 979796786,
billFromFax: 13,
billTo: "Soft solution.",
billToEmail: "toFirst@agth.com",
billToAddress: "Godrej garden city,Ahmedabad.",
billToPhone: 757575233,
billToFax: 76,
orders: [
{
itemName: "Courge",
unitPrice: 10,
units: 9,
unitTotalPrice: 90,
},
],
orderDate: new Date("2020-10-15"),
totalCost: 90,
vat: 9,
grandTotal: 99,
status: "Delivered",
completed: false,
isSelected: false,
},
{
id: 106,
billFrom: "PineappleTimes.",
billFromEmail: "first@xabz.com",
billFromAddress: "Ganesh glory,Godrej garden city,Ahmedabad.",
billFromPhone: 979796786,
billFromFax: 13,
billTo: "RFc.",
billToEmail: "toFirst@agth.com",
billToAddress: "Godrej garden city,Ahmedabad.",
billToPhone: 757575233,
billToFax: 76,
orders: [
{
itemName: "Courge",
unitPrice: 10,
units: 9,
unitTotalPrice: 90,
},
],
orderDate: new Date(),
totalCost: 90,
vat: 9,
grandTotal: 99,
status: "Shipped",
completed: false,
isSelected: false,
},
{
id: 107,
billFrom: "FortuneCreation",
billFromEmail: "first@xabz.com",
billFromAddress: "Ganesh glory,Godrej garden city,Ahmedabad.",
billFromPhone: 979796786,
billFromFax: 13,
billTo: "Soft solution.",
billToEmail: "toFirst@agth.com",
billToAddress: "Godrej garden city,Ahmedabad.",
billToPhone: 757575233,
billToFax: 76,
orders: [
{
itemName: "Courge",
unitPrice: 10,
units: 9,
unitTotalPrice: 90,
},
],
orderDate: new Date("2020-10-15"),
totalCost: 90,
vat: 9,
grandTotal: 99,
status: "Delivered",
completed: false,
isSelected: false,
},
];
mock.onGet("/api/data/invoices/invoiceData").reply(() => {
return [200, InvoiceData];
});
// Handle POST requests to add a new invoice
mock.onPost("/api/data/invoices/invoiceData").reply((config) => {
try {
// Parse the new invoice from the request body
const newInvoice = JSON.parse(config.data) as InvoiceType;
// Assign a new ID to the new invoice
const newId =
InvoiceData.length > 0
? Math.max(...InvoiceData.map((i) => i.id)) + 1
: 1;
newInvoice.id = newId;
// Add the new invoice to the invoice array
InvoiceData.push(newInvoice);
// Return the new invoice in the response
return [201, newInvoice];
} catch (error) {
return [500, { message: "Failed to add new invoice" }];
}
});
// Handle PUT requests to update an existing invoice
mock.onPut(/\/api\/data\/invoices\/invoiceData\/\d+/).reply((config) => {
const id = config.url?.split('/').pop(); // Get the last segment of the URL
console.log('Extracted ID:', id);
if (!id) {
return [400, { message: "Invalid ID" }];
}
const updatedInvoice = JSON.parse(config.data) as InvoiceType;
const index = InvoiceData.findIndex(invoice => invoice.id === parseInt(id, 10));
console.log('Index of invoice to update:', index);
if (index !== -1) {
InvoiceData[index] = { ...InvoiceData[index], ...updatedInvoice };
return [200, InvoiceData[index]];
}
return [404, { message: "Invoice not found" }];
});
export default InvoiceData;

141
_mockApis/apps/kanban/index.ts Executable file
View File

@@ -0,0 +1,141 @@
import mock from '../../mockAdapter';
import image1 from '@/assets/images/backgrounds/kanban-img-1.jpg';
import image2 from '@/assets/images/backgrounds/kanban-img-2.jpg';
import image3 from '@/assets/images/backgrounds/kanban-img-3.jpg';
import image4 from '@/assets/images/backgrounds/kanban-img-4.jpg';
import { uniqueId } from 'lodash';
import { sub } from 'date-fns';
interface TaskType {
id?: number | any;
title?: string;
subtitle?: string;
cardbg?: string;
datef?: Date | any;
taskimg?: string;
date?: Date | any;
category?: string;
tasks?: TaskType[];
categorybg?: string;
}
const TaskData: TaskType[] = [
{
id: uniqueId('#m_'),
title: 'Todo',
cardbg: 'light',
tasks: [
{
id: uniqueId('#task_'),
title: 'This is first task',
taskimg: image1,
date:sub(new Date(), { months: 1 }),
category: 'Design',
categorybg: 'success'
},
{
id: uniqueId('#task_'),
title: 'Lets do some task on pd',
subtitle: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, o eiusmod tempor incid.',
date:sub(new Date(), { days: 2 }),
category: 'Development',
categorybg: 'warning'
},
{
id: uniqueId('#task_'),
title: 'Do some projects on React Native with Flutter',
date:sub(new Date(), { days: 4 }),
category: 'Mobile',
categorybg: 'primary'
}
]
},
{
id: uniqueId('#m_'),
title: 'In Progress',
cardbg: 'lightsecondary',
tasks: [
{
id: uniqueId('#task_'),
title: 'Work on Dashboard Designing',
date:sub(new Date(), { seconds: 1 }),
category: 'Mobile',
categorybg: 'primary'
},
{
id: uniqueId('#task_'),
title: 'Battle with fire',
taskimg: image2,
date:sub(new Date(), { seconds: 1 }),
category: 'Design',
categorybg: 'success'
},
{
id: uniqueId('#task_'),
title: 'Do some projects on Reactjs with tailwind ',
date:sub(new Date(), { seconds: 1 }),
category: 'Mobile',
categorybg: 'primary'
}
]
},
{
id: uniqueId('#m_'),
title: 'Pending',
cardbg: 'lightinfo',
tasks: [
{
id: uniqueId('#task_'),
title: 'Create a Nextjs Dashboard',
date:sub(new Date(), { seconds: 1 }),
category: 'Design',
categorybg: 'success'
},
{
id: uniqueId('#task_'),
title: 'Solve Vuejs Project errors',
subtitle: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, o eiusmod tempor incid.',
date:sub(new Date(), { seconds: 1 }),
category: 'Development',
categorybg: 'primary'
},
{
id: uniqueId('#task_'),
taskimg: image4,
title: 'Redesign Overview',
date:sub(new Date(), { seconds: 1 }),
category: 'Design',
categorybg: 'error'
},
]
},
{
id: uniqueId('#m_'),
title: 'Done',
cardbg: 'lightsuccess',
tasks: [
{
id: uniqueId('#task_'),
title: 'Develop React app',
taskimg: image3,
date:sub(new Date(), { months: 1 }),
category: 'Mobile',
categorybg: 'warning'
},
{
id: uniqueId('#task_'),
title: 'Do some task on Nuxtjs',
subtitle: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit',
date:sub(new Date(), { seconds: 1 }),
category: 'Design',
categorybg: 'error'
},
]
}
];
mock.onGet('/api/data/task/TaskData').reply(() => {
return [200, TaskData];
});
export default TaskData;

68
_mockApis/apps/notes/index.ts Executable file
View File

@@ -0,0 +1,68 @@
import mock from '../../mockAdapter';
interface NotesType {
id?: number | any;
color?: string;
title?: string;
datef?: string | Date;
}
const NotesData: NotesType[] = [
{
id: 1,
color: 'primary',
title: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.',
datef: '2023-06-03T23:28:56.782Z'
},
{
id: 2,
color: 'error',
title: 'Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit,',
datef: '2023-06-02T23:28:56.782Z'
},
{
id: 3,
color: 'warning',
title: 'consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur?',
datef: '2023-06-01T23:28:56.782Z'
},
{
id: 4,
color: 'success',
title: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.',
datef: '2023-06-03T23:28:56.782Z'
}
];
interface colorVariationType {
id?: number;
color?: string;
}
export const colorVariation: colorVariationType[] = [
{
id: 1,
color: 'warning'
},
{
id: 2,
color: 'secondary'
},
{
id: 3,
color: 'error'
},
{
id: 4,
color: 'success'
},
{
id: 5,
color: 'primary'
}
];
mock.onGet('/api/data/notes/NotesData').reply(() => {
return [200, NotesData];
});
export default NotesData;

118
_mockApis/apps/tickets/index.ts Executable file
View File

@@ -0,0 +1,118 @@
import mock from '../../mockAdapter';
import { Chance } from 'chance';
const chance = new Chance();
interface TicketType {
Id?: number | any;
ticketTitle?: string;
ticketDescription?: string;
Status?: string;
Label?: string;
thumb?: string;
AgentName?: string;
Date?: string | Date;
}
import user1 from '@/assets/images/profile/user-2.jpg';
import user2 from '@/assets/images/profile/user-3.jpg';
import user3 from '@/assets/images/profile/user-4.jpg';
import user4 from '@/assets/images/profile/user-5.jpg';
import user5 from '@/assets/images/profile/user-6.jpg';
import user6 from '@/assets/images/profile/user-7.jpg';
import user7 from '@/assets/images/profile/user-8.jpg';
import user10 from '@/assets/images/profile/user-10.jpg';
const TicketData: TicketType[] = [
{
Id: 1,
ticketTitle: 'Sed ut perspiciatis unde omnis iste',
ticketDescription:
'ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos',
Status: 'Closed',
Label: 'error',
thumb: user10,
AgentName: 'Liam',
Date: chance.date()
},
{
Id: 2,
ticketTitle: 'Consequuntur magni dolores eos qui ratione',
ticketDescription:
'ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos',
Status: 'Pending',
Label: 'warning',
thumb: user1,
AgentName: 'Steve',
Date: chance.date()
},
{
Id: 3,
ticketTitle: 'Exercitationem ullam corporis',
ticketDescription:
'ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos',
Status: 'Open',
Label: 'success',
thumb: user2,
AgentName: 'Jack',
Date: chance.date()
},
{
Id: 4,
ticketTitle: 'Sed ut perspiciatis unde omnis iste',
ticketDescription:
'ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos',
Status: 'Closed',
Label: 'error',
thumb: user3,
AgentName: 'Steve',
Date: chance.date()
},
{
Id: 5,
ticketTitle: 'Exercitationem ullam corporis',
ticketDescription:
'ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos',
Status: 'Closed',
Label: 'error',
thumb: user4,
AgentName: 'Liam',
Date: chance.date()
},
{
Id: 6,
ticketTitle: 'Consequuntur magni dolores eos qui ratione',
ticketDescription:
'ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos',
Status: 'Pending',
Label: 'warning',
thumb: user5,
AgentName: 'Jack',
Date: chance.date()
},
{
Id: 7,
ticketTitle: 'Sed ut perspiciatis unde omnis iste',
ticketDescription:
'ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos',
Status: 'Open',
Label: 'success',
thumb: user6,
AgentName: 'Steve',
Date: chance.date()
},
{
Id: 8,
ticketTitle: 'Consequuntur magni dolores eos qui ratione',
ticketDescription:
'ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos',
Status: 'Closed',
Label: 'error',
thumb: user7,
AgentName: 'John',
Date: chance.date()
}
];
mock.onGet('/api/data/tickets/TicketData').reply(() => {
return [200, TicketData];
});
export default TicketData;

View File

@@ -0,0 +1,171 @@
// project imports
import mock from '../../mockAdapter';
import user1 from '@/assets/images/profile/user-1.jpg';
import user8 from '@/assets/images/profile/user-2.jpg';
import user3 from '@/assets/images/profile/user-3.jpg';
import user4 from '@/assets/images/profile/user-4.jpg';
import user5 from '@/assets/images/profile/user-5.jpg';
import user6 from '@/assets/images/profile/user-6.jpg';
import user7 from '@/assets/images/profile/user-7.jpg';
import user11 from '@/assets/images/profile/user-3.jpg';
import user12 from '@/assets/images/profile/user-4.jpg';
import user9 from '@/assets/images/profile/user-5.jpg';
import user10 from '@/assets/images/profile/user-2.jpg';
// types
export type KeyedObject = {
[key: string]: string | number | KeyedObject | any;
};
// followers list
const followers: KeyedObject[] = [
{
id: '#1Followers_Barney',
avatar: user6,
name: 'Barney',
location: 'Handburgh',
follow: 1
},
{
id: '#2Followers_Thea',
avatar: user3,
name: 'Thea',
location: 'New jana',
follow: 2
},
{
id: '#3Followers_Guiseppe',
avatar: user7,
name: 'Guiseppe',
location: 'Jenkinsstad',
follow: 1
},
{
id: '#4Followers_Henderson',
avatar: user8,
name: 'Henderson',
location: 'South Antonina',
follow: 1
},
{
id: '#5Followers_Maddison',
avatar: user6,
name: 'Maddison',
location: 'New Dorthy',
follow: 1
},
{
id: '#6Followers_Wilber',
avatar: user1,
name: 'Wilber',
location: 'Twilahsven',
follow: 1
},
{
id: '#7Followers_Hayden',
avatar: user4,
name: 'Hayden',
location: 'Darrelshaire',
follow: 1
},
{
id: '#8Followers_Lloyd',
avatar: user10,
name: 'Lloyd',
location: 'New Credrick',
follow: 1
},
{
id: '#9Followers_Kris',
avatar: user8,
name: 'Kris',
location: 'New Dianna',
follow: 1
},
{
id: '#10Followers_Kyler',
avatar: user11,
name: 'Kyler',
location: 'Murraymouth',
follow: 1
},
{
id: '#11Followers_Pamela',
avatar: user3,
name: 'Pamela',
location: 'Murraymouth',
follow: 1
},
{
id: '#12Followers_Betty',
avatar: user6,
name: 'John Doe',
location: 'North Zole',
follow: 1
},
{
id: '#13Followers_Anthony',
avatar: user5,
name: 'Anthony',
location: 'Lake Judy',
follow: 1
},
{
id: '#14Followers_Reggie',
avatar: user12,
name: 'Reggie',
location: 'Kailynland',
follow: 1
},
{
id: '#15Followers_Francesca',
avatar: user1,
name: 'Francesca',
location: 'Pagacview',
follow: 2
},
{
id: '#16Followers_Carmel',
avatar: user9,
name: 'Carmel',
location: 'Port Lerashire',
follow: 1
},
{
id: '#17Followers_Darwin',
avatar: user4,
name: 'Darwin',
location: 'North Jacquesside',
follow: 2
},
{
id: '#18Followers_Kaylin',
avatar: user3,
name: 'Kaylin',
location: 'Bergstrombury',
follow: 1
},
{
id: '#19Followers_Kamryn',
avatar: user7,
name: 'Kamryn',
location: 'South Norma',
follow: 1
},
{
id: '#20Followers_Madelyn',
avatar: user8,
name: 'Madelyn',
location: 'Port Opheliamouth',
follow: 1
}
];
// ==============================|| MOCK SERVICES ||============================== //
mock.onGet('/api/followers/list').reply(200, { followers });
// mock.onGet('/api/followers/list').reply(() => {
// return [200, followers];
// });

View File

@@ -0,0 +1,192 @@
// project imports
import mock from '../../mockAdapter';
import { Chance } from 'chance';
import user1 from '@/assets/images/profile/user-10.jpg';
import user2 from '@/assets/images/profile/user-2.jpg';
import user8 from '@/assets/images/profile/user-6.jpg';
import user3 from '@/assets/images/profile/user-3.jpg';
import user4 from '@/assets/images/profile/user-4.jpg';
import user5 from '@/assets/images/profile/user-5.jpg';
import user6 from '@/assets/images/profile/user-6.jpg';
import user7 from '@/assets/images/profile/user-7.jpg';
import user11 from '@/assets/images/profile/user-3.jpg';
import user12 from '@/assets/images/profile/user-4.jpg';
import user9 from '@/assets/images/profile/user-5.jpg';
import user10 from '@/assets/images/profile/user-2.jpg';
const chance = new Chance();
// types
export type KeyedObject = {
[key: string]: string | number | KeyedObject | any;
};
// friends list
const friends: KeyedObject[] = [
{
id: '#1Friends_Barney',
avatar: user1,
name: chance.name(),
location: chance.country({ full: true }),
role: chance.profession(),
mutual: 10
},
{
id: '#2Friends_Thea',
avatar: user2,
name: chance.name(),
location: chance.country({ full: true }),
role: chance.profession(),
mutual: 89
},
{
id: '#3Friends_Guiseppe',
avatar: user3,
name: chance.name(),
location: chance.country({ full: true }),
role: chance.profession(),
mutual: 65
},
{
id: '#4Friends_Henderson',
avatar: user4,
name: chance.name(),
location: chance.country({ full: true }),
role: chance.profession(),
mutual: 1
},
{
id: '#5Friends_Maddison',
avatar: user5,
name: chance.name(),
location: chance.country({ full: true }),
role: chance.profession(),
mutual: 14
},
{
id: '#6Friends_Wilber',
avatar: user6,
name: chance.name(),
location: chance.country({ full: true }),
role: chance.profession(),
mutual: 36
},
{
id: '#7Friends_Hayden',
avatar: user7,
name: chance.name(),
location: chance.country({ full: true }),
role: chance.profession(),
mutual: 106
},
{
id: '#8Friends_Lloyd',
avatar: user8,
name: chance.name(),
location: chance.country({ full: true }),
role: chance.profession(),
mutual: 10
},
{
id: '#9Friends_Kris',
avatar: user9,
name: chance.name(),
location: chance.country({ full: true }),
role: chance.profession(),
mutual: 0
},
{
id: '#10Friends_Kyler',
avatar: user10,
name: chance.name(),
location: chance.country({ full: true }),
role: chance.profession(),
mutual: 48
},
{
id: '#11Friends_Pamela',
avatar: user11,
name: chance.name(),
location: chance.country({ full: true }),
role: chance.profession(),
mutual: 72
},
{
id: '#12Friends_Betty',
avatar: user12,
name: chance.name(),
location: chance.country({ full: true }),
role: chance.profession(),
mutual: 99
},
{
id: '#13Friends_Anthony',
avatar: user1,
name: chance.name(),
location: chance.country({ full: true }),
role: chance.profession(),
mutual: 78
},
{
id: '#14Friends_Reggie',
avatar: user3,
name: chance.name(),
location: chance.country({ full: true }),
role: chance.profession(),
mutual: 1
},
{
id: '#15Friends_Francesca',
avatar: user4,
name: chance.name(),
location: chance.country({ full: true }),
role: chance.profession(),
mutual: 68
},
{
id: '#16Friends_Carmel',
avatar: user5,
name: chance.name(),
location: chance.country({ full: true }),
role: chance.profession(),
mutual: 15
},
{
id: '#17Friends_Darwin',
avatar: user6,
name: chance.name(),
location: chance.country({ full: true }),
role: chance.profession(),
mutual: 10
},
{
id: '#18Friends_Kaylin',
avatar: user7,
name: chance.name(),
location: chance.country({ full: true }),
role: chance.profession(),
mutual: 36
},
{
id: '#19Friends_Kamryn',
avatar: user8,
name: chance.name(),
location: chance.country({ full: true }),
role: chance.profession(),
mutual: 55
},
{
id: '#20Friends_Madelyn',
avatar: user9,
name: chance.name(),
location: chance.country({ full: true }),
role: chance.profession(),
mutual: 78
}
];
// ==============================|| MOCK SERVICES ||============================== //
mock.onGet('/api/friends/list').reply(200, { friends });

View File

@@ -0,0 +1,101 @@
// project imports
import mock from '../../mockAdapter';
// assets
import image1 from '@/assets/images/products/s1.jpg';
import image2 from '@/assets/images/products/s2.jpg';
import image3 from '@/assets/images/products/s3.jpg';
import image4 from '@/assets/images/products/s4.jpg';
import image5 from '@/assets/images/products/s5.jpg';
import image6 from '@/assets/images/products/s6.jpg';
import image7 from '@/assets/images/products/s7.jpg';
import image8 from '@/assets/images/products/s8.jpg';
import image9 from '@/assets/images/products/s9.jpg';
import image10 from '@/assets/images/products/s10.jpg';
import image11 from '@/assets/images/products/s11.jpg';
import image12 from '@/assets/images/products/s12.jpg';
// types
export type KeyedObject = {
[key: string]: string | number | KeyedObject | any;
};
// gallery components
const gallery: KeyedObject[] = [
{
id: '#1Gallery',
image: image1,
title: '1080p_table_denar.pdf',
dateTime: 'Tue Aug 24 2021'
},
{
id: '#2Gallery',
image: image2,
title: 'handmade.mp2',
dateTime: 'Fri Apr 30 2021'
},
{
id: '#3Gallery',
image: image3,
title: 'granite_cheese.wav',
dateTime: 'Fri Jun 25 2021'
},
{
id: '#4Gallery',
image: image4,
title: 'invoice.mpg',
dateTime: 'Sat Oct 23 2021'
},
{
id: '#5Gallery',
image: image5,
title: 'benchmark_forge.m1v',
dateTime: 'Fri Jan 21 2022'
},
{
id: '#6Gallery',
image: image6,
title: 'violet_withdrawal.png',
dateTime: 'Wed Sep 22 2021'
},
{
id: '#7Gallery',
image: image7,
title: 'web_readiness.mpeg',
dateTime: 'Mon Jul 12 2021'
},
{
id: '#8Gallery',
image: image8,
title: 'zimbabwe.htm',
dateTime: 'Sat Mar 20 2021'
},
{
id: '#9Gallery',
image: image9,
title: 'circuit.m3a',
dateTime: 'Tue Jan 18 2022'
},
{
id: '#10Gallery',
image: image10,
title: 'data_red.png',
dateTime: 'Sun Apr 04 2021'
},
{
id: '#11Gallery',
image: image11,
title: 'handcrafted.html',
dateTime: 'Tue May 25 2021'
},
{
id: '#12Gallery',
image: image12,
title: 'hacking_games.pdf',
dateTime: 'Tue Oct 19 2021'
}
];
// ==============================|| MOCK SERVICES ||============================== //
mock.onGet('/api/gallery/list').reply(200, { gallery });

View File

@@ -0,0 +1,77 @@
// project imports
import mock from '../../mockAdapter';
// assets
import image1 from '@/assets/images/products/s1.jpg';
import image2 from '@/assets/images/products/s2.jpg';
import image3 from '@/assets/images/products/s3.jpg';
import image4 from '@/assets/images/products/s4.jpg';
import image5 from '@/assets/images/products/s5.jpg';
import image6 from '@/assets/images/products/s6.jpg';
import image7 from '@/assets/images/products/s7.jpg';
import image8 from '@/assets/images/products/s8.jpg';
import image9 from '@/assets/images/products/s9.jpg';
import image10 from '@/assets/images/products/s10.jpg';
import image11 from '@/assets/images/products/s11.jpg';
import image12 from '@/assets/images/products/s12.jpg';
// types
export type KeyedObject = {
[key: string]: string | number | KeyedObject | any;
};
// Photos components
const photos: KeyedObject[] = [
{
id: '#1Photos',
avatar: image1,
},
{
id: '#2Photos',
avatar: image2,
},
{
id: '#3Photos',
avatar: image3,
},
{
id: '#4Photos',
avatar: image4,
},
{
id: '#5Photos',
avatar: image5,
},
{
id: '#6Photos',
avatar: image6,
},
{
id: '#7Photos',
avatar: image7,
},
{
id: '#8Photos',
avatar: image8,
},
{
id: '#9Photos',
avatar: image9,
},
{
id: '#10Photos',
avatar: image10,
},
{
id: '#11Photos',
avatar: image11,
},
{
id: '#12Photos',
avatar: image12,
},
];
// ==============================|| MOCK SERVICES ||============================== //
mock.onGet('/api/photos').reply(200, { photos });

View File

@@ -0,0 +1,305 @@
// project imports
import mock from '../../mockAdapter';
import { Chance } from 'chance';
// types
import type { Post } from '@/types/apps/PostType';
// assets
import image1 from '@/assets/images/products/s1.jpg';
import image2 from '@/assets/images/products/s2.jpg';
import image4 from '@/assets/images/products/s4.jpg';
import user1 from '@/assets/images/profile/user-1.jpg';
import user2 from '@/assets/images/profile/user-2.jpg';
import user3 from '@/assets/images/profile/user-3.jpg';
import user4 from '@/assets/images/profile/user-4.jpg';
import user5 from '@/assets/images/profile/user-5.jpg';
const chance = new Chance();
// social profile
let posts: Post[] = [
{
id: '#1POST_MATHEW',
profile: {
id: '#52MATHEW',
avatar: user1,
name: 'David McMichael',
time: '15 min ago'
},
data: {
content: chance.paragraph({ sentences: 2 }),
images: [
{
img: image1,
featured: true
}
],
likes: {
like: true,
value: 102
},
comments: [
{
id: '#3COMMENTMATHEWE',
profile: {
id: '#52MATHEW',
avatar: user3,
name: 'Deran Mac',
time: '8 mins ago '
},
data: {
comment: chance.paragraph({ sentences: 1 }),
likes: {
like: true,
value: 55
}
}
},
{
id: '#2COMMENT_MATHEW',
profile: {
id: '#52MATHEW',
avatar: user4,
name: 'Jonathan Bg',
time: '5 mins ago '
},
data: {
comment:
chance.paragraph({ sentences: 1 }),
likes: {
like: false,
value: 68
},
replies: [
{
id: '#1REPLY_MATHEW',
profile: {
id: '#52MATHEW',
avatar: user5,
name: 'Carry minati',
time: 'just now '
},
data: {
comment: chance.paragraph({ sentences: 1 }),
likes: {
like: true,
value: 10
}
}
}
]
}
}
]
}
},
{
id: '#4POST_CARRY',
profile: {
id: '#52CARRY',
avatar: user1,
name: 'Carry Minati',
time: 'now'
},
data: {
content: chance.paragraph({ sentences: 2 }),
images: [],
likes: {
like: false,
value: 67
},
comments: []
}
},
{
id: '#2POST_GENELIA',
profile: {
id: '#52GENELIA',
avatar: user2,
name: 'Genelia Desouza',
time: '15 min ago '
},
data: {
content: chance.paragraph({ sentences: 1 }),
images: [
{
img: image2,
title: 'Image Title'
},
{
img: image4,
title: 'Painter'
}
],
likes: {
like: false,
value: 320
},
comments: [
{
id: '#2COMMENT_GENELIA',
profile: {
id: '#52GENELIA',
avatar: user3,
name: 'Ritesh Deshmukh',
time: '15 min ago '
},
data: {
comment:
chance.paragraph({ sentences: 1 }),
likes: {
like: true,
value: 65
},
replies: []
}
}
]
}
},
{
id: '#3POST_Mathew',
profile: {
id: '#52Mathew',
avatar: user1,
name: 'David McMichael',
time: '15 min ago '
},
data: {
content: chance.paragraph({ sentences: 1 }),
images: [],
video: 'd1-FRj20WBE',
likes: {
like: true,
value: 130
}
}
}
];
// ==============================|| MOCK SERVICES ||============================== //
//mock.onGet('/api/posts/list').reply(200, { posts });
mock.onGet('/api/posts/list').reply(() => {
return [200, posts];
});
mock.onPost('/api/posts/editComment').reply((config) => {
try {
const { key, id } = JSON.parse(config.data);
posts = posts.filter((post, index) => {
if (post.id === key) {
const cComments = post.data.comments || [];
post.data.comments = [id, ...cComments];
return post;
}
return post;
});
return [200, { posts }];
} catch (err) {
console.error(err);
return [500, { message: 'Internal server error' }];
}
});
mock.onPost('/api/comments/add').reply((config) => {
try {
const { postId, comment } = JSON.parse(config.data);
const postIndex = posts.findIndex((x) => x.id === postId);
const post = posts[postIndex];
const cComments = post.data.comments || [];
post.data.comments = [comment, ...cComments];
return [200, { posts: [...posts] }];
} catch (err) {
console.error(err);
return [500, { message: 'Internal server error' }];
}
});
mock.onPost('/api/replies/add').reply((config) => {
try {
const { postId, commentId, reply } = JSON.parse(config.data);
const postIndex = posts.findIndex((x: any) => x.id === postId);
const post = posts[postIndex];
const cComments = post.data.comments || [];
const commentIndex = cComments.findIndex((x: any) => x.id === commentId);
const comment = cComments[commentIndex];
/** comment.data.replies has to be defined */
if (comment && comment.data && comment.data.replies) comment.data.replies = [...comment.data.replies, reply];
return [200, { posts: [...posts] }];
} catch (err) {
console.error(err);
return [500, { message: 'Internal server error' }];
}
});
mock.onPost('/api/posts/list/like').reply((config) => {
try {
const { postId } = JSON.parse(config.data);
const postIndex = posts.findIndex((x: any) => x.id === postId);
const post = { ...posts[postIndex] };
post.data = { ...post.data };
post.data.likes = { ...post.data.likes };
post.data.likes.like = !post.data.likes.like;
post.data.likes.value = post.data.likes.like ? post.data.likes.value + 1 : post.data.likes.value - 1;
posts[postIndex] = post;
return [200, { posts: [...posts] }];
} catch (err) {
console.error(err);
return [500, { message: 'Internal server error' }];
}
});
mock.onPost('/api/comments/list/like').reply((config) => {
try {
const { postId, commentId } = JSON.parse(config.data);
const postIndex = posts.findIndex((x: any) => x.id === postId);
const post = posts[postIndex];
const cComments = post.data.comments || [];
const commentIndex = cComments.findIndex((x: any) => x.id === commentId);
const comment = { ...cComments[commentIndex] };
/** comment.data.likes has to be defined */
if (comment && comment.data && comment.data.likes) comment.data.likes.like = !comment.data.likes.like;
if (comment && comment.data && comment.data.likes)
comment.data.likes.value = comment.data.likes.like ? comment.data.likes.value + 1 : comment.data.likes.value - 1;
if (post && post.data && post.data.comments) post.data.comments[commentIndex] = comment;
return [200, { posts: [...posts] }];
} catch (err) {
console.error(err);
return [500, { message: 'Internal server error' }];
}
});
mock.onPost('/api/replies/list/like').reply((config) => {
try {
const { postId, commentId, replayId } = JSON.parse(config.data);
const postIndex = posts.findIndex((x: any) => x.id === postId);
const post = posts[postIndex];
const cComments = post.data.comments || [];
const commentIndex = cComments.findIndex((x: any) => x.id === commentId);
const comment = { ...cComments[commentIndex] };
const replayIndex = comment?.data?.replies?.findIndex((x: any) => x.id === replayId);
if (replayIndex !== undefined) {
if (comment && comment.data && comment.data.replies) {
const reply = { ...comment.data.replies[replayIndex] };
if (reply && reply.data && reply.data.likes) {
reply.data.likes.like = !reply.data.likes.like;
reply.data.likes.value = reply.data.likes.like ? reply.data.likes.value + 1 : reply.data.likes.value - 1;
}
comment.data.replies[replayIndex] = reply;
if (post && post.data && post.data.comments) post.data.comments[commentIndex] = comment;
}
}
return [200, { posts: [...posts] }];
} catch (err) {
console.error(err);
return [500, { message: 'Internal server error' }];
}
});

View File

@@ -0,0 +1,73 @@
import type { RevenueProjects,Performance } from '@/types/components/dashboard/dashboard1';
import product1 from "@/assets/images/products/dash-prd-1.jpg";
import product2 from "@/assets/images/products/dash-prd-2.jpg";
import product3 from "@/assets/images/products/dash-prd-3.jpg";
import product4 from "@/assets/images/products/dash-prd-4.jpg";
/*--Revenue Projects --*/
const RevenueProjectsData: RevenueProjects[] = [
{
img: product1,
leadname: "Minecraf App",
designation: "Jason Roy",
projectname: "73.2%",
statuscolor: "warning",
statustext: "Medium",
money: "$3.5K",
},
{
img: product2,
leadname: "Web App Project",
designation: "Mathew Flintoff",
projectname: "73.2%",
statuscolor: "secondary",
statustext: "Very High",
money: "$24.5K",
},
{
img: product3,
leadname: "Modernize Dashboard",
designation: "Anil Kumar",
projectname: "73.2%",
statuscolor: "success",
statustext: "Low",
money: "$12.8K",
},
{
img: product4,
leadname: "Dashboard Co",
designation: "George Cruize",
projectname: "73.2%",
statuscolor: "error",
statustext: "High",
money: "$2.4K",
},
];
/*--Performance--*/
const PerformanceData: Performance[] = [
{
icon: 'shop-2-linear',
title: '64 new orders',
subtitle: 'Processing',
color:'primary',
},
{
icon: 'filters-outline',
title: '4 orders',
subtitle: 'On hold',
color:'error',
},
{
icon: 'pills-3-linear',
title: '6 orders',
subtitle: 'Delivered',
color:'secondary',
},
];
export {RevenueProjectsData,PerformanceData}

View File

@@ -0,0 +1,147 @@
import type { RevenueForecast, AnnualProfit, SalesFromLocation,DailyActivities,userCard } from '@/types/components/dashboard/dashboard2';
import user1 from "@/assets/images/profile/user-2.jpg";
import user2 from "@/assets/images/profile/user-3.jpg";
import user3 from "@/assets/images/profile/user-4.jpg";
import user4 from "@/assets/images/profile/user-6.jpg";
const RevenueForecastData: RevenueForecast[] = [
{
icon: 'pie-chart-2-linear',
subtext: 'Total',
profit: '$96,640',
bgcolor:'bg-grey100',
color:'text-textPrimary',
},
{
icon: 'dollar-minimalistic-linear',
subtext: 'Profit',
profit: '$48,820',
bgcolor:'bg-lightprimary',
color:'text-primary',
},
{
icon: 'database-linear',
subtext: 'Earnings',
profit: '$58,820',
bgcolor:'bg-lighterror',
color:'text-error',
}
];
const AnnualProfitData: AnnualProfit[] = [
{
title: 'Added to Cart',
subtitle: '5 clicks',
price: '$21,120.70',
percent:'+13.2%',
color:'success',
},
{
title: 'Reached to Checkout',
subtitle: '12 clicks',
price: '$16,100.00',
percent:'-7.4%',
color:'error',
},
{
title: 'Added to Cart',
subtitle: '24 views',
price: '$6,400.50',
percent:'+9.3%',
color:'success',
}
];
const SalesFromLocationData: SalesFromLocation[] = [
{
name: 'LA',
percentage:'28%',
color:'primary',
},
{
name: 'NY',
percentage:'21%',
color:'secondary',
},
{
name: 'KA',
percentage:'18%',
color:'warning',
},
{
name: 'AZ',
percentage:'12%',
color:'error',
},
];
/*--Recent Transaction--*/
const DailyActivitiesData : DailyActivities[] = [
{
title:'09:30 am',
subtitle:'Payment received from John Doe of $385.90',
textcolor:'primary',
boldtext:false,
line:true,
link:'',
url:''
},
{
title:'10:00 am',
subtitle:'New sale recorded',
textcolor:'warning',
boldtext:true,
line:true,
link:'#ML-3467',
url:''
},
{
title:'12:00 am',
subtitle:'Payment was made of $64.95 to Michael',
textcolor:'warning',
boldtext:false,
line:true,
link:'',
url:''
},
{
title:'09:30 am',
subtitle:'New sale recorded',
textcolor:'secondary',
boldtext:true,
line:true,
link:'#ML-3467',
url:''
},
{
title:'09:30 am',
subtitle:'New arrival recorded',
textcolor:'error',
boldtext:true,
line:true,
link:'#ML-3467',
url:''
},
{
title:'12:00 am',
subtitle:'Payment Done',
textcolor:'primary',
boldtext:false,
line:false,
link:'',
url:''
},
]
/*--Blog Cards--*/
const userCardData: userCard[] = [
{ img: user4 },
{ img: user3 },
{ img: user2 },
{ img: user1 },
];
export { RevenueForecastData,AnnualProfitData,SalesFromLocationData ,DailyActivitiesData,userCardData};

View File

@@ -0,0 +1,52 @@
import type { Iconcard } from '@/types/components/dashboard/dashboard3';
/*--Revenue Projects --*/
const IconcardData: Iconcard[] = [
{
bg: 'primary-gradient',
icon: 'solar:dollar-minimalistic-linear',
color:'primary',
title:'Total Orders',
price:'16,689',
link:'#',
},
{
bg: 'warning-gradient',
icon: 'solar:recive-twice-square-linear',
color:'warning',
title:'Return Item',
price:'148',
link:'#',
},
{
bg: 'secondary-gradient',
icon: 'ic:outline-backpack',
color:'secondary',
title:'Annual Budget',
price:'$156K',
link:'#',
},
{
bg: 'error-gradient',
icon: 'ic:baseline-sync-problem',
color:'error',
title:'Cancel Orders',
price:'64',
link:'#',
},
{
bg: 'success-gradient',
icon: 'ic:outline-forest',
color:'success',
title:'Total Income ',
price:'$36,715',
link:'#',
},
];
export {IconcardData}

View File

@@ -0,0 +1,363 @@
import type { Datatables,SelectedRowDatatable,filtrable } from '@/types/components/datatables/index';
import img1 from '@/assets/images/blog/blog-img1.jpg';
import img2 from '@/assets/images/blog/blog-img2.jpg';
import img3 from '@/assets/images/blog/blog-img3.jpg';
import img4 from '@/assets/images/blog/blog-img4.jpg';
import img5 from '@/assets/images/blog/blog-img5.jpg';
const BasicDatatables: Datatables[] = [
{
name: 'Sunil Joshi',
post: 'Web Designer',
project: 'Elite Admin',
status: 'Active',
budget: '$3.9'
},
{
name: 'Andrew McDownland',
post: 'Project Manager',
project: 'Real Homes WP Template',
status: 'Pending',
budget: '$24.5k',
},
{
name: 'Christopher Jamil',
post: 'Project Manager',
project: 'MedicalPro WP Template',
status: 'Completed',
budget: '$12.8k'
},
{
name: 'Nirav Joshi',
post: 'Frontend Engineer',
project: 'Hosting Press HTML',
status: 'Active',
budget: '$2.4k'
},
{
name: 'Micheal Doe',
post: 'Content Writer',
project: 'Helping Hands WP Template',
status: 'Cancel',
budget: '$9.3k'
},
{
name: 'Daniel Kristeen',
post: 'Project Manager',
project: 'Real Homes WP Template',
status: 'Pending',
budget: '$24.5k',
},
{
name: 'Julian Josephs',
post: 'Project Manager',
project: 'MedicalPro WP Template',
status: 'Completed',
budget: '$12.8k'
},
{
name: 'Jan Petrovic',
post: 'Web Designer',
project: 'Elite Admin',
status: 'Active',
budget: '$3.9'
},
{
name: 'Leanne Graham',
post: 'Project Manager',
project: 'Real Homes WP Template',
status: 'Pending',
budget: '$24.5k',
},
{
name: 'Glenna Reichert',
post: 'Web DEveloper',
project: 'Monster Admin',
status: 'Pending',
budget: '$30.5k',
},
];
const SelectedRow: SelectedRowDatatable[] = [
{
name: 'Sunil Joshi',
post: 'Web Designer',
project: 'Elite Admin',
status: 'Active',
budget: '$3.9',
selectable: false,
},
{
name: 'Andrew McDownland',
post: 'Project Manager',
project: 'Real Homes WP Template',
status: 'Pending',
budget: '$24.5k',
selectable: true,
},
{
name: 'Christopher Jamil',
post: 'Project Manager',
project: 'MedicalPro WP Template',
status: 'Completed',
budget: '$12.8k',
selectable: true,
},
{
name: 'Nirav Joshi',
post: 'Frontend Engineer',
project: 'Hosting Press HTML',
status: 'Active',
budget: '$2.4k',
selectable: false,
},
{
name: 'Micheal Doe',
post: 'Content Writer',
project: 'Helping Hands WP Template',
status: 'Cancel',
budget: '$9.3k',
selectable: false,
},
{
name: 'Jan Petrovic',
post: 'Project Manager',
project: 'Real Homes WP Template',
status: 'Pending',
budget: '$24.5k',
selectable: true,
},
{
name: 'Daniel Kristeen',
post: 'Project Manager',
project: 'MedicalPro WP Template',
status: 'Completed',
budget: '$12.8k',
selectable: false,
},
{
name: 'Julian Josephs',
post: 'Web Designer',
project: 'Elite Admin',
status: 'Active',
budget: '$3.9',
selectable: true
},
{
name: 'Leanne Graham',
post: 'Project Manager',
project: 'Real Homes WP Template',
status: 'Pending',
budget: '$24.5k',
selectable: false,
},
{
name: 'Glenna Reichert',
post: 'Web DEveloper',
project: 'Monster Admin',
status: 'Pending',
budget: '$30.5k',
selectable: true,
},
];
const UppercaseFilter: Datatables[] = [
{
name: 'Sunil Joshi',
post: 'Web Designer',
project: 'Elite Admin',
status: 'Active',
budget: '$3.9',
},
{
name: 'Andrew McDownland',
post: 'Project Manager',
project: 'Real Homes WP Template',
status: 'Pending',
budget: '$24.5k',
},
{
name: 'Christopher Jamil',
post: 'Project Manager',
project: 'MedicalPro WP Template',
status: 'Completed',
budget: '$12.8k',
},
{
name: 'Nirav Joshi',
post: 'Frontend Engineer',
project: 'Hosting Press HTML',
status: 'Active',
budget: '$2.4k',
},
{
name: 'MICHEL DOE',
post: 'Content Writer',
project: 'Helping Hands WP Template',
status: 'Cancel',
budget: '$9.3k',
},
{
name: 'JAN PETROVICK',
post: 'Project Manager',
project: 'Real Homes WP Template',
status: 'Pending',
budget: '$24.5k',
},
{
name: 'Daniel Kristeen',
post: 'Project Manager',
project: 'MedicalPro WP Template',
status: 'Completed',
budget: '$12.8k',
},
{
name: 'Julian Josephs',
post: 'Web Designer',
project: 'Elite Admin',
status: 'Active',
budget: '$3.9',
},
{
name: 'Leanne Graham',
post: 'Project Manager',
project: 'Real Homes WP Template',
status: 'Pending',
budget: '$24.5k',
},
{
name: 'Glenna Reichert',
post: 'Web DEveloper',
project: 'Monster Admin',
status: 'Pending',
budget: '$30.5k',
},
];
const GroupTable: Datatables[] = [
{
name: 'Sunil Joshi',
post: 'Web Designer',
project: 'Elite Admin',
status: 'Active',
budget: '$3.9',
},
{
name: 'Andrew McDownland',
post: 'Project Manager',
project: 'Real Homes WP Template',
status: 'Pending',
budget: '$24.5k',
},
{
name: 'Christopher Jamil',
post: 'Project Manager',
project: 'MedicalPro WP Template',
status: 'Completed',
budget: '$12.8k',
},
{
name: 'Nirav Joshi',
post: 'Frontend Engineer',
project: 'Hosting Press HTML',
status: 'Active',
budget: '$2.4k',
},
{
name: 'MICHEL DOE',
post: 'Content Writer',
project: 'Helping Hands WP Template',
status: 'Cancel',
budget: '$9.3k',
},
{
name: 'JAN PETROVICK',
post: 'Project Manager',
project: 'Real Homes WP Template',
status: 'Pending',
budget: '$24.5k',
},
{
name: 'Daniel Kristeen',
post: 'Project Manager',
project: 'MedicalPro WP Template',
status: 'Completed',
budget: '$12.8k',
},
{
name: 'Julian Josephs',
post: 'Web Designer',
project: 'Elite Admin',
status: 'Active',
budget: '$3.9',
},
{
name: 'Leanne Graham',
post: 'Project Manager',
project: 'Real Homes WP Template',
status: 'Pending',
budget: '$24.5k',
},
{
name: 'Glenna Reichert',
post: 'Web DEveloper',
project: 'Monster Admin',
status: 'Pending',
budget: '$30.5k',
},
];
const Filtrable: filtrable[] = [
{
name: 'Nebula GTX 3080',
image: img1,
price: 699.99,
rating: 5,
stock: true,
},
{
name: 'Galaxy RTX 3080',
image: img2,
price: 799.99,
rating: 4,
stock: false,
},
{
name: 'Orion RX 6800 XT',
image: img3,
price: 649.99,
rating: 3,
stock: true,
},
{
name: 'Vortex RTX 3090',
image: img4,
price: 1499.99,
rating: 4,
stock: true,
},
{
name: 'Cosmos GTX 1660 Super',
image: img5,
price: 299.99,
rating: 4,
stock: false,
},
];
export {BasicDatatables,SelectedRow,UppercaseFilter,GroupTable,Filtrable};

View File

@@ -0,0 +1,37 @@
/*import tabler icons*/
import { ArticleIcon, CheckboxIcon, ClockIcon, MailIcon, TruckDeliveryIcon } from 'vue-tabler-icons';
import type { notificationTabType } from '@/types/components/pages/notificationTab';
const notificationTb: notificationTabType[] = [
{
title: 'Our newsletter',
subtitle: 'We will always let you know about important changes',
icon: ArticleIcon,
switch: false
},
{
title: 'Order Confirmation',
subtitle: 'You will be notified when customer order any product',
icon: CheckboxIcon,
switch: true
},
{
title: 'Order Status Changed',
subtitle: 'You will be notified when customer make changes to the order',
icon: ClockIcon,
switch: false
},
{
title: 'Order Delivered',
subtitle: 'You will be notified once the order is delivered',
icon: TruckDeliveryIcon,
switch: false
},
{
title: 'Email Notification',
subtitle: 'Turn on email notificaiton to get updates through email',
icon: MailIcon,
switch: true
}
];
export {notificationTb};

View File

@@ -0,0 +1,17 @@
import type { AuthCurosel } from "@/types/components/auth/login";
const AuthCuroselData: AuthCurosel[] = [
{
title:'Feature Rich 1D Charts',
subtitle:'Donec justo tortor, malesuada vitae faucibus ac, tristique sit amet massa. Aliquam dignissim nec felis quis imperdiet.'
},
{
title:'Feature Rich 2D Charts',
subtitle:'Donec justo tortor, malesuada vitae faucibus ac, tristique sit amet massa. Aliquam dignissim nec felis quis imperdiet.'
},
{
title:'Feature Rich 3D Charts',
subtitle:'Donec justo tortor, malesuada vitae faucibus ac, tristique sit amet massa. Aliquam dignissim nec felis quis imperdiet.'
}
];
export { AuthCuroselData }

View File

@@ -0,0 +1,21 @@
import type { faqPageType } from '@/types/components/pages/faqData';
const faqPage: faqPageType[] = [
{
question: 'What is an Admin Dashboard?',
answer: 'Admin Dashboard is the backend interface of a website or an application that helps to manage the website s overall content and settings. It is widely used by the site owners to keep track of their website, make changes to their content, and more.'
},
{
question: 'What should an admin dashboard template include?',
answer: 'Admin dashboard template should include user & SEO friendly design with a variety of components and application designs to help create your own web application with ease. This could include customization options, technical support and about 6 months of future updates.'
},
{
question: 'Why should I buy admin templates from AdminMart?',
answer: 'Adminmart offers high-quality templates that are easy to use and fully customizable. With over 101,801 happy customers & trusted by 10,000+ Companies. AdminMart is recognized as the leading online source for buying admin templates.'
},
{
question: 'Do Adminmart offers a money back guarantee?',
answer: 'There is no money back guarantee in most companies, but if you are unhappy with our product, Adminmart gives you a 100% money back guarantee.'
}
];
export { faqPage};

View File

@@ -0,0 +1,134 @@
/*import tabler icons*/
import { CheckIcon, XIcon, } from 'vue-tabler-icons';
import type { pricingType } from '@/types/components/pages/pricingData';
/*-- Pricing Page --*/
import img1 from '@/assets/images/backgrounds/silver.png';
import img2 from '@/assets/images/backgrounds/bronze.png';
import img3 from '@/assets/images/backgrounds/gold.png';
const pricing: pricingType[] = [
{
tagtext: false,
caption: 'Silver',
image: img1,
free: true,
price: 10.99,
yearlyprice: 10.99 * 12,
buttontext: 'Choose Silver',
list: [
{
icon: CheckIcon,
iconcolor: 'primary',
listtitle: '3 Members',
status:false,
},
{
icon: CheckIcon,
iconcolor: 'primary',
listtitle: 'Single Device',
status:false,
},
{
icon: XIcon,
iconcolor: 'inputBorder',
listtitle: '50GB Storage',
status:true,
},
{
icon: XIcon,
iconcolor: 'inputBorder',
listtitle: 'Monthly Backups',
status:true,
},
{
icon: XIcon,
iconcolor: 'inputBorder',
listtitle: 'Permissions & workflows',
status:true,
}
]
},
{
tagtext: true,
caption: 'bronze',
image: img2,
free: false,
price: 10.99,
yearlyprice: 10.99 * 12,
buttontext: 'Choose Bronze',
list: [
{
icon: CheckIcon,
iconcolor: 'primary',
listtitle: '5 Members',
status:false,
},
{
icon: CheckIcon,
iconcolor: 'primary',
listtitle: 'Multiple Device',
status:false,
},
{
icon: CheckIcon,
iconcolor: 'primary',
listtitle: '80GB Storage',
status:false,
},
{
icon: XIcon,
iconcolor: 'inputBorder',
listtitle: 'Monthly Backups',
status:true,
},
{
icon: XIcon,
iconcolor: 'inputBorder',
listtitle: 'Permissions & workflows',
status:true,
}
]
},
{
tagtext: false,
caption: 'gold',
image: img3,
free: false,
price: 22.99,
yearlyprice: 22.99 * 12,
buttontext: 'Choose Gold',
list: [
{
icon: CheckIcon,
iconcolor: 'primary',
listtitle: '15 Members',
status:false,
},
{
icon: CheckIcon,
iconcolor: 'primary',
listtitle: 'Multiple Device',
status:false,
},
{
icon: CheckIcon,
iconcolor: 'primary',
listtitle: '150GB Storage',
status:false,
},
{
icon: CheckIcon,
iconcolor: 'primary',
listtitle: 'Monthly Backups',
status:false,
},
{
icon: CheckIcon,
iconcolor: 'primary',
listtitle: 'Permissions & workflows',
status:false,
}
]
}
];
export { pricing};

View File

@@ -0,0 +1,42 @@
import type { SearchLinkType } from '@/types/components/pages/searchLinks';
const SearchLinkData: SearchLinkType[] = [
{
title: 'AngularJs',
linktitle: 'http://www.google.com/angularjs',
subtitle:'Lorem Ipsum viveremus probamus opus apeirian haec perveniri, memoriter.Praebeat pecunias viveremus probamus opus apeirian haec perveniri, memoriter.',
url:'/'
},
{
title: 'AngularJs — Superheroic JavaScript MVW Framework',
linktitle: 'http://www.google.com/angularjs',
subtitle:'Lorem Ipsum viveremus probamus opus apeirian haec perveniri, memoriter.Praebeat pecunias viveremus probamus opus apeirian haec perveniri, memoriter.',
url:'/'
},
{
title: 'AngularJS Tutorial - W3Schools',
linktitle: 'http://www.google.com/angularjs',
subtitle:'Lorem Ipsum viveremus probamus opus apeirian haec perveniri, memoriter.Praebeat pecunias viveremus probamus opus apeirian haec perveniri, memoriter.',
url:'/'
},
{
title: 'Introduction to AngularJS - W3Schools',
linktitle: 'http://www.google.com/angularjs',
subtitle:'Lorem Ipsum viveremus probamus opus apeirian haec perveniri, memoriter.Praebeat pecunias viveremus probamus opus apeirian haec perveniri, memoriter.',
url:'/'
},
{
title: 'AngularJS Tutorial',
linktitle: 'http://www.google.com/angularjs',
subtitle:'Lorem Ipsum viveremus probamus opus apeirian haec perveniri, memoriter.Praebeat pecunias viveremus probamus opus apeirian haec perveniri, memoriter.',
url:'/'
},
{
title: 'Angular 2: One framework',
linktitle: 'http://www.google.com/angularjs',
subtitle:'Lorem Ipsum viveremus probamus opus apeirian haec perveniri, memoriter.Praebeat pecunias viveremus probamus opus apeirian haec perveniri, memoriter.',
url:'/'
},
];
export { SearchLinkData};

View File

@@ -0,0 +1,963 @@
import type { basicTable1, basicTable2, basicTable3, basicTable4, basicTable5, tableDark, tableDensity, tableFixedHeader, heightTable, tableAction } from '@/types/components/table/index';
/*import tabler icons*/
import { PlusIcon, EditIcon, TrashIcon, CheckIcon, XIcon, ArrowBackUpIcon } from 'vue-tabler-icons';
import img1 from '@/assets/images/profile/user-11.jpg';
import img2 from '@/assets/images/profile/user-8.jpg';
import img3 from '@/assets/images/profile/user-3.jpg';
import img4 from '@/assets/images/profile/user-4.jpg';
import img5 from '@/assets/images/profile/user-5.jpg';
import img6 from '@/assets/images/profile/user-6.jpg';
import img7 from '@/assets/images/profile/user-7.jpg';
import img8 from '@/assets/images/profile/user-10.jpg';
import img9 from '@/assets/images/profile/user-15.jpg';
import authimg1 from '@/assets/images/blog/blog-img1.jpg';
import authimg2 from '@/assets/images/blog/blog-img2.jpg';
import authimg3 from '@/assets/images/blog/blog-img3.jpg';
import authimg4 from '@/assets/images/blog/blog-img4.jpg';
import authimg5 from '@/assets/images/blog/blog-img5.jpg';
/*Basic Table 1*/
const basicTableData1: basicTable1[] = [
{
avatar: img1,
name: 'Sunil Joshi',
post: 'Web Designer',
pname: 'Elite Admin',
status: 'Active',
statuscolor: 'success',
teams: [
{
id: '1',
color: 'error',
text: 'S'
},
{
id: '2',
color: 'secondary ',
text: 'D'
}
],
budget: '$3.9'
},
{
avatar: img2,
name: 'Andrew McDownland',
post: 'Project Manager',
pname: 'Real Homes WP Template',
status: 'Pending',
statuscolor: 'warning',
teams: [
{
id: '1',
color: 'secondary',
text: 'N'
},
{
id: '2',
color: 'warning ',
text: 'X'
},
{
id: '3',
color: 'primary ',
text: 'A'
}
],
budget: '$24.5k'
},
{
avatar: img3,
name: 'Christopher Jamil',
post: 'Project Manager',
pname: 'MedicalPro WP Template',
status: 'Completed',
statuscolor: 'primary',
teams: [
{
id: '1',
color: 'secondary',
text: 'X'
}
],
budget: '$12.8k'
},
{
avatar: img7,
name: 'Nirav Joshi',
post: 'Frontend Engineer',
pname: 'Hosting Press HTML',
status: 'Active',
statuscolor: 'success',
teams: [
{
id: '1',
color: 'primary',
text: 'X'
},
{
id: '2',
color: 'error',
text: 'Y'
}
],
budget: '$2.4k'
},
{
avatar: img5,
name: 'Micheal Doe',
post: 'Content Writer',
pname: 'Helping Hands WP Template',
status: 'Cancel',
statuscolor: 'error',
teams: [
{
id: '1',
color: 'secondary',
text: 'S'
}
],
budget: '$9.3k'
}
];
/*Basic Table 2*/
const basicTableData2: basicTable2[] = [
{
avatar: img4,
name: 'Olivia Rhye',
post: 'Xtreme admin',
status: 'active',
statuscolor: 'primary',
users: [
{
id: '1',
icon: img2
},
{
id: '2',
icon: img1
}
]
},
{
avatar: img8,
name: 'Barbara Steele',
post: 'Adminpro admin',
status: 'cancel',
statuscolor: 'error',
users: [
{
id: '1',
icon: img3
},
{
id: '2',
icon: img2
},
{
id: '3',
icon: img1
}
]
},
{
avatar: img3,
name: 'Leonard Gordon',
post: 'Monster admin',
status: 'active',
statuscolor: 'primary',
users: [
{
id: '1',
icon: img2
},
{
id: '2',
icon: img3
}
]
},
{
avatar: img4,
name: 'Evelyn Pope',
post: 'Materialpro admin',
status: 'pending',
statuscolor: 'success',
users: [
{
id: '1',
icon: img3
},
{
id: '2',
icon: img2
},
{
id: '3',
icon: img1
}
]
},
{
avatar: img5,
name: 'Tommy Garza',
post: 'Elegant admin',
status: 'cancel',
statuscolor: 'error',
users: [
{
id: '1',
icon: img6
},
{
id: '2',
icon: img5
}
]
},
{
avatar: img9,
name: 'Isabel Vasquez',
post: 'Modernize admin',
status: 'pending',
statuscolor: 'success',
users: [
{
id: '1',
icon: img4
},
{
id: '2',
icon: img2
}
]
}
];
/*Basic Table 3*/
const basicTableData3: basicTable3[] = [
{
avatar: img4,
name: 'Olivia Rhye',
handle: '@rhye',
status: 'active',
statuscolor: 'success',
statusoffline:false,
email: 'olivia@ui.com',
teams: [
{
status: 'Design',
statuscolor: 'primary'
},
{
status: 'Product',
statuscolor: 'secondary'
}
]
},
{
avatar: img9,
name: 'Barbara Steele',
handle: '@steele',
status: 'offline',
statusoffline:true,
statuscolor: 'dark',
email: 'steele@ui.com',
teams: [
{
status: 'Product',
statuscolor: 'secondary'
},
{
status: 'Operations',
statuscolor: 'error'
}
]
},
{
avatar: img3,
name: 'Leonard Gordon',
handle: '@gordon',
status: 'active',
statusoffline:false,
statuscolor: 'success',
email: 'olivia@ui.com',
teams: [
{
status: 'Finance',
statuscolor: 'primary'
},
{
status: 'Customer Success',
statuscolor: 'success'
}
]
},
{
avatar: img4,
name: 'Evelyn Pope',
handle: '@pope',
status: 'offline',
statusoffline:true,
statuscolor: 'dark',
email: 'steele@ui.com',
teams: [
{
status: 'Operations',
statuscolor: 'error'
},
{
status: 'Design',
statuscolor: 'primary'
}
]
},
{
avatar: img5,
name: 'Tommy Garza',
handle: '@garza',
status: 'active',
statusoffline:false,
statuscolor: 'success',
email: 'olivia@ui.com',
teams: [
{
status: 'Product',
statuscolor: 'secondary'
}
]
},
{
avatar: img9,
name: 'Isabel Vasquez',
handle: '@vasquez',
status: 'active',
statusoffline:false,
statuscolor: 'success',
email: 'steele@ui.com',
teams: [
{
status: 'Customer Success',
statuscolor: 'success'
}
]
}
];
/*Basic Table 4*/
const basicTableData4: basicTable4[] = [
{
invoice: 'INV-3066',
status: 'paid',
statuscolor: 'primary',
statusicon: CheckIcon,
avatar: img8,
name: 'Olivia Rhye',
handle: 'olivia@ui.com',
progress: 60
},
{
invoice: 'INV-3067',
status: 'cancelled',
statuscolor: 'error',
statusicon: XIcon,
avatar: img4,
name: 'Barbara Steele',
handle: 'steele@ui.com',
progress: 30
},
{
invoice: 'INV-3068',
status: 'paid',
statuscolor: 'primary',
statusicon: CheckIcon,
avatar: img3,
name: 'Leonard Gordon',
handle: 'olivia@ui.com',
progress: 45
},
{
invoice: 'INV-3069',
status: 'refunded',
statuscolor: 'secondary',
statusicon: ArrowBackUpIcon,
avatar: img4,
name: 'Evelyn Pope',
handle: 'steele@ui.com',
progress: 37
},
{
invoice: 'INV-3070',
status: 'cancelled',
statuscolor: 'error',
statusicon: XIcon,
avatar: img5,
name: 'Tommy Garza',
handle: 'olivia@ui.com',
progress: 87
},
{
invoice: 'INV-3071',
status: 'refunded',
statuscolor: 'secondary',
statusicon: ArrowBackUpIcon,
avatar: img9,
name: 'Isabel Vasquez',
handle: 'steele@ui.com',
progress: 32
}
];
/*Basic Table 5*/
const basicTableData5: basicTable5[] = [
{
avatar: authimg1,
name: 'Top Authors',
handle: 'Successful Fellas',
users: '4300 Users',
courses: [
{
status: 'Angular',
statuscolor: 'error'
},
{
status: 'PHP',
statuscolor: 'primary'
}
]
},
{
avatar: authimg2,
name: 'Popular Authors',
handle: 'Most Successful',
users: '1200 Users',
courses: [
{
status: 'Bootstrap',
statuscolor: 'primary'
}
]
},
{
avatar: authimg3,
name: 'New Users',
handle: 'Awesome Users',
users: '2000 Users',
courses: [
{
status: 'Reactjs',
statuscolor: 'success'
},
{
status: 'Angular',
statuscolor: 'error'
}
]
},
{
avatar: authimg4,
name: 'Active Customers',
handle: 'Best Customers',
users: '1500 Users',
courses: [
{
status: 'Bootstrap',
statuscolor: 'primary'
}
]
},
{
avatar: authimg5,
name: 'Bestseller Template',
handle: 'Amazing Templates',
users: '9500 Users',
courses: [
{
status: 'Angular',
statuscolor: 'error'
},
{
status: 'Reactjs',
statuscolor: 'success'
}
]
}
];
/*Dark Table*/
const darkTableData: tableDark[] = [
{
avatar: img6,
name: 'Andrew McDownland',
post: 'Project Manager',
pname: 'Real Homes WP Template',
status: 'Pending',
statuscolor: 'warning',
teams: [
{
id: '1',
color: 'secondary',
text: 'N'
},
{
id: '2',
color: 'warning ',
text: 'X'
},
{
id: '3',
color: 'primary ',
text: 'A'
}
],
budget: '$24.5k'
},
{
avatar: img5,
name: 'Christopher Jamil',
post: 'Project Manager',
pname: 'MedicalPro WP Template',
status: 'Completed',
statuscolor: 'primary',
teams: [
{
id: '1',
color: 'secondary',
text: 'X'
}
],
budget: '$12.8k'
},
{
avatar: img3,
name: 'Nirav Joshi',
post: 'Frontend Engineer',
pname: 'Hosting Press HTML',
status: 'Active',
statuscolor: 'success',
teams: [
{
id: '1',
color: 'primary',
text: 'X'
},
{
id: '2',
color: 'error',
text: 'Y'
}
],
budget: '$2.4k'
},
{
avatar: img6,
name: 'Sunil Joshi',
post: 'Web Designer',
pname: 'Elite Admin',
status: 'Active',
statuscolor: 'success',
teams: [
{
id: '1',
color: 'error',
text: 'S'
},
{
id: '2',
color: 'secondary ',
text: 'D'
}
],
budget: '$3.9'
},
{
avatar: img2,
name: 'Micheal Doe',
post: 'Content Writer',
pname: 'Helping Hands WP Template',
status: 'Cancel',
statuscolor: 'error',
teams: [
{
id: '1',
color: 'secondary',
text: 'S'
}
],
budget: '$9.3k'
},
{
avatar: img1,
name: 'John Deo',
post: 'Web Designer',
pname: 'Elite Admin',
status: 'Active',
statuscolor: 'success',
teams: [
{
id: '1',
color: 'primary',
text: 'R'
},
{
id: '2',
color: 'secondary ',
text: 'D'
}
],
budget: '$3.9'
}
];
/*Density Table*/
const tableDensityData: tableDensity[] = [
{
avatar: img4,
name: 'Isabel Vasquez',
post: 'Modernize admin',
status: 'pending',
statuscolor: 'success',
users: [
{
id: '1',
icon: img6
},
{
id: '2',
icon: img1
}
]
},
{
avatar: img1,
name: 'Olivian Rhye',
post: 'Xtreme admin',
status: 'active',
statuscolor: 'primary',
users: [
{
id: '1',
icon: img2
},
{
id: '2',
icon: img1
}
]
},
{
avatar: img3,
name: 'Leonard Gordon',
post: 'Monster admin',
status: 'active',
statuscolor: 'primary',
users: [
{
id: '1',
icon: img2
},
{
id: '2',
icon: img3
}
]
},
{
avatar: img4,
name: 'Evelyn Pope',
post: 'Materialpro admin',
status: 'pending',
statuscolor: 'success',
users: [
{
id: '1',
icon: img3
},
{
id: '2',
icon: img2
},
{
id: '3',
icon: img1
}
]
},
{
avatar: img2,
name: 'Barko Steele',
post: 'Adminpro admin',
status: 'cancel',
statuscolor: 'error',
users: [
{
id: '1',
icon: img3
},
{
id: '2',
icon: img2
},
{
id: '3',
icon: img1
}
]
},
{
avatar: img5,
name: 'Tommy Garza',
post: 'Elegant admin',
status: 'cancel',
statuscolor: 'error',
users: [
{
id: '1',
icon: img6
},
{
id: '2',
icon: img5
}
]
}
];
/*Fixed Header Table*/
const tableFixedHeaderData: tableFixedHeader[] = [
{
avatar: img2,
name: 'Barko Steele',
handle: '@steele',
status: 'offline',
statusoffline:true,
statuscolor: 'dark',
email: 'steele@ui.com',
teams: [
{
status: 'Product',
statuscolor: 'success'
},
{
status: 'Operations',
statuscolor: 'error'
}
]
},
{
avatar: img3,
name: 'Leonard Gordon',
handle: '@gordon',
status: 'active',
statusoffline:false,
statuscolor: 'success',
email: 'olivia@ui.com',
teams: [
{
status: 'Finance',
statuscolor: 'info'
},
{
status: 'Customer Success',
statuscolor: 'success'
}
]
},
{
avatar: img1,
name: 'Olivian Rhye',
handle: '@rhye',
status: 'active',
statusoffline:false,
statuscolor: 'success',
email: 'olivia@ui.com',
teams: [
{
status: 'Design',
statuscolor: 'info'
},
{
status: 'Product',
statuscolor: 'primary'
},
{
status: 'Material',
statuscolor: 'success'
},
{
status: 'Account',
statuscolor: 'info'
}
]
},
{
avatar: img4,
name: 'Evelyn Pope',
handle: '@pope',
status: 'offline',
statusoffline:true,
statuscolor: 'dark',
email: 'steele@ui.com',
teams: [
{
status: 'Operations',
statuscolor: 'error'
},
{
status: 'Design',
statuscolor: 'info'
}
]
},
{
avatar: img5,
name: 'Tommy Garza',
handle: '@garza',
status: 'active',
statusoffline:false,
statuscolor: 'success',
email: 'olivia@ui.com',
teams: [
{
status: 'Product',
statuscolor: 'warning'
}
]
},
{
avatar: img6,
name: 'Imak Vasquez',
handle: '@vasquez',
status: 'active',
statusoffline:false,
statuscolor: 'success',
email: 'steele@ui.com',
teams: [
{
status: 'Customer Success',
statuscolor: 'success'
}
]
}
];
/*Height Table*/
const heightTableData: heightTable[] = [
{
avatar: authimg3,
name: 'New Users',
handle: 'Awesome Users',
users: '2000 Users',
email: 'mark@ui.com',
courses: [
{
status: 'Reactjs',
statuscolor: 'success'
},
{
status: 'Angular',
statuscolor: 'error'
}
]
},
{
avatar: authimg4,
name: 'Active Customers',
handle: 'Best Customers',
users: '1500 Users',
email: 'deo@ui.com',
courses: [
{
status: 'Bootstrap',
statuscolor: 'primary'
}
]
},
{
avatar: authimg1,
name: 'Top Authors',
handle: 'Successful Fellas',
users: '4300 Users',
email: 'olivia@ui.com',
courses: [
{
status: 'Angular',
statuscolor: 'error'
},
{
status: 'PHP',
statuscolor: 'primary'
}
]
},
{
avatar: authimg2,
name: 'Popular Authors',
handle: 'Most Successful',
users: '1200 Users',
email: 'john@doe.com',
courses: [
{
status: 'Bootstrap',
statuscolor: 'primary'
}
]
},
{
avatar: authimg5,
name: 'Bestseller Template',
handle: 'Amazing Templates',
users: '9500 Users',
email: 'steele@ui.com',
courses: [
{
status: 'Angular',
statuscolor: 'error'
},
{
status: 'Reactjs',
statuscolor: 'success'
}
]
},
{
avatar: authimg1,
name: 'New Authors',
handle: 'Successful Fellas',
users: '4800 Users',
email: 'olivia@ui.com',
courses: [
{
status: 'Angular',
statuscolor: 'error'
},
{
status: 'Java',
statuscolor: 'info'
}
]
}
]
/*Table Action*/
const tableActionData: tableAction[] = [
{
icon: PlusIcon,
listtitle: 'Add'
},
{
icon: EditIcon,
listtitle: 'Edit'
},
{
icon: TrashIcon,
listtitle: 'Delete'
}
]
export { basicTableData1, basicTableData2, basicTableData3, basicTableData4, basicTableData5, darkTableData, tableDensityData, tableFixedHeaderData, heightTableData, tableActionData };

View File

@@ -0,0 +1,335 @@
import type { cardsType, followCard, musicCards, productsCards, socialiconCards, profileCard, upcommingLists, userCard,paymentGateway } from '@/types/components/widget/card';
/*import tabler icons*/
import {
BrandFacebookIcon,
BrandGithubIcon,
BrandInstagramIcon,
BrandTwitterIcon,
MapPinIcon,
DatabaseIcon,
PhoneIcon,
ScreenShareIcon,
MailIcon
} from 'vue-tabler-icons';
import user1 from '@/assets/images/profile/user-6.jpg';
import user2 from '@/assets/images/profile/user-2.jpg';
import user3 from '@/assets/images/profile/user-3.jpg';
import user4 from '@/assets/images/profile/user-4.jpg';
import img1 from '@/assets/images/blog/blog-img1.jpg';
import img2 from '@/assets/images/blog/blog-img2.jpg';
import img3 from '@/assets/images/blog/blog-img3.jpg';
/*--Products Cards Images--*/
import proimg1 from '@/assets/images/products/s4.jpg';
import proimg2 from '@/assets/images/products/s5.jpg';
import proimg3 from '@/assets/images/products/s4.jpg';
import proimg4 from '@/assets/images/products/s11.jpg';
// Payment Gatewatys
import icon1 from "@/assets/images/svgs/icon-paypal.svg";
import icon2 from "@/assets/images/svgs/icon-office-bag.svg";
import icon3 from "@/assets/images/svgs/icon-master-card.svg";
import icon4 from "@/assets/images/svgs/icon-pie.svg";
/*--Blog Cards--*/
const blogCard: cardsType[] = [
{
avatar: user1,
coveravatar: img1,
read: '2 min Read',
title: 'As yen tumbles, gadget-loving Japan goes for secondhand iPhones',
link: '/',
category: 'Social',
name: 'Georgeanna Ramero',
view: '9,125',
comments: '3',
time: 'Mon, Dec 19'
},
{
avatar: user2,
coveravatar: img2,
read: '2 min Read',
title: 'Intel loses bid to revive antitrust case against patent foe Fortress',
link: '/',
category: 'Gadget',
name: 'Georgeanna Ramero',
view: '4,150',
comments: '38',
time: 'Sun, Dec 18'
},
{
avatar: user3,
coveravatar: img3,
read: '2 min Read',
title: 'COVID outbreak deepens as more lockdowns loom in China',
link: '/',
category: 'Health',
name: 'Georgeanna Ramero',
view: '9,480',
comments: '12',
time: 'Sat, Dec 17'
}
];
/*--Follow Cards--*/
const followerCard: followCard[] = [
{
title: 'Andrew Grant',
location: 'El Salvador',
avatar: user1
},
{
title: 'Leo Pratt',
location: 'Bulgaria',
avatar: user2
},
{
title: 'Charles Nunez',
location: 'Nepal',
avatar: user3
}
];
/*--Music Cards--*/
const musicCard: musicCards[] = [
{
title: 'Uptown Funk',
subheader: 'Jon Bon Jovi',
img: img1
},
{
title: 'Blank Space',
subheader: 'Madonna',
img: img2
},
{
title: 'Lean On',
subheader: 'Jennifer Lopez',
img: img3
}
];
/*--Products Cards--*/
const productsCard: productsCards[] = [
{
title: 'Boat Headphone',
link: '/',
photo: proimg1,
salesPrice: 375,
price: 285,
rating: 4
},
{
title: 'MacBook Air Pro',
link: '/',
photo: proimg2,
salesPrice: 650,
price: 900,
rating: 5
},
{
title: 'Red Valvet Dress',
link: '/',
photo: proimg3,
salesPrice: 150,
price: 200,
rating: 3
},
{
title: 'Cute Soft Teddybear',
link: '/',
photo: proimg4,
salesPrice: 285,
price: 345,
rating: 2
}
];
/*--Social Cards--*/
const socialiconCard: socialiconCards[] = [
{
name: 'facebook',
icon: BrandFacebookIcon,
color: 'primary'
},
{
name: 'instagram',
icon: BrandInstagramIcon,
color: 'error'
},
{
name: 'github',
icon: BrandGithubIcon,
color: 'info'
},
{
name: 'twitter',
icon: BrandTwitterIcon,
color: 'secondary'
}
];
/*--Profile Cards--*/
const profileCards: profileCard[] = [
{
title: 'Andrew Grant',
subtitle: 'Technology Director',
avatar: user1
},
{
title: 'Leo Pratt',
subtitle: 'Telecom Analyst',
avatar: user2
},
{
title: 'Charles Nunez',
subtitle: 'Environmental Specialist',
avatar: user3
}
];
/*--Upcomming Activity Cards--*/
const upcommingCards: upcommingLists[] = [
{
icon: MapPinIcon,
title: 'Trip to singapore',
subtitle: 'working on',
rank: '5 mins',
bgcolor: 'primary'
},
{
icon: DatabaseIcon,
title: 'Archived Data',
subtitle: 'working on',
rank: '10 mins',
bgcolor: 'secondary'
},
{
icon: PhoneIcon,
title: 'Meeting with client',
subtitle: 'pending',
rank: '15 mins',
bgcolor: 'warning'
},
{
icon: ScreenShareIcon,
title: 'Screening Task Team',
subtitle: 'working on',
rank: '20 mins',
bgcolor: 'error'
},
{
icon: MailIcon,
title: 'Send envelope to John',
subtitle: 'done',
rank: '20 mins',
bgcolor: 'success'
}
];
/*--User Cards--*/
const userCards: userCard[] = [
{
title: 'Andrew Grant',
subtitle: '3 mutual friends',
avatar: user1,
userGroup: [
{
icon: user1
},
{
icon: user2
},
{
icon: user3
}
],
},
{
title: 'Leo Pratt',
subtitle: '3 mutual friends',
avatar: user2,
userGroup: [
{
icon: user1
},
{
icon: user2
},
{
icon: user3
}
],
},
{
title: 'Charles Nunez',
subtitle: '3 mutual friends',
avatar: user3,
userGroup: [
{
icon: user1
},
{
icon: user2
},
{
icon: user3
}
],
},
{
title: 'Lora Powers',
subtitle: '3 mutual friends',
avatar: user4,
userGroup: [
{
icon: user1
},
{
icon: user2
},
{
icon: user3
}
],
},
]
/*--Payment gateways--*/
const paymentGateways : paymentGateway[] = [
{
img: icon1,
title:'Paypal',
subtitle:'Big Brands',
rank:'+$6,235',
disable:'',
bgcolor:"primary",
},
{
img: icon2,
title:'Wallet',
subtitle:'Bill payment',
rank:'-$345',
disable:'emphasis',
bgcolor:"success",
},
{
img: icon3,
title:'Credit Card',
subtitle:'Money reversed',
rank:'+$2,235',
disable:'',
bgcolor:"warning",
},
{
img: icon4,
title:'Refund',
subtitle:'Bill Payment',
rank:'-$32',
disable:'emphasis',
bgcolor:"error",
},
];
export { blogCard, followerCard, musicCard, productsCard, socialiconCard, profileCards, upcommingCards, userCards,paymentGateways }

View File

@@ -0,0 +1,591 @@
import type { LeaderType, TemplateType, ThemeFeatures, PackageType, FooterType, Feature } from '@/types/components/front-pages/index';
import type { faqPageType } from '@/types/components/pages/faqData';
import review1 from '@/assets/images/profile/user-1.jpg';
import review2 from '@/assets/images/profile/user-2.jpg';
import review3 from '@/assets/images/profile/user-3.jpg';
const Features: Feature[] = [
{
icon: 'tabler:chart-bubble',
title: 'Expert Advisor',
subtitle: 'Suspendisse vestibulum eu erat ac scelerisque.',
bgcolor: 'lighterror',
color: 'error'
},
{
icon: 'tabler:building-store',
title: 'Effective Support',
subtitle: 'Suspendisse vestibulum eu erat ac scelerisque.',
bgcolor: 'lightprimary',
color: 'primary'
},
{
icon: 'material-symbols:category-outline',
title: 'Low Fees',
subtitle: 'Suspendisse vestibulum eu erat ac scelerisque.',
bgcolor: 'lightsuccess',
color: 'success'
},
{
icon: 'material-symbols:earthquake',
title: 'Loan Facility',
subtitle: 'Suspendisse vestibulum eu erat ac scelerisque.',
bgcolor: 'grey100',
color: 'dark '
}
];
const AboutFeatures: Feature[] = [
{
icon: 'tabler:building-store',
title: 'Effective Support',
subtitle: 'Suspendisse vestibulum eu erat ac scelerisque.',
bgcolor: 'lightprimary',
color: 'primary'
},
{
icon: 'tabler:chart-bubble',
title: 'Expert Advisor',
subtitle: 'Suspendisse vestibulum eu erat ac scelerisque.',
bgcolor: 'lighterror',
color: 'error'
},
{
icon: 'material-symbols:category-outline',
title: 'Low Fees',
subtitle: 'Suspendisse vestibulum eu erat ac scelerisque.',
bgcolor: 'lightsuccess',
color: 'success'
},
{
icon: 'material-symbols:earthquake',
title: 'Loan Facility',
subtitle: 'Suspendisse vestibulum eu erat ac scelerisque.',
bgcolor: 'grey100',
color: 'dark '
}
];
const QA1: faqPageType[] = [
{
question: 'Combine teammate schedules',
answer: 'Factor in availability for required attendees, and skip checking for conflicts for optional attendees.'
},
{
question: 'Factor in outside colleagues',
answer: 'Factor in availability for required attendees, and skip checking for conflicts for optional attendees.'
},
{
question: 'Round robin pooling',
answer: 'Factor in availability for required attendees, and skip checking for conflicts for optional attendees.'
}
];
const QA2: faqPageType[] = [
{
question: 'Combine teammate schedules 2',
answer: 'Factor in availability for required attendees, and skip checking for conflicts for optional attendees.'
},
{
question: 'Factor in outside colleagues',
answer: 'Factor in availability for required attendees, and skip checking for conflicts for optional attendees.'
},
{
question: 'Round robin pooling',
answer: 'Factor in availability for required attendees, and skip checking for conflicts for optional attendees.'
}
];
const QA3: faqPageType[] = [
{
question: 'Combine teammate schedules 3',
answer: 'Factor in availability for required attendees, and skip checking for conflicts for optional attendees.'
},
{
question: 'Factor in outside colleagues',
answer: 'Factor in availability for required attendees, and skip checking for conflicts for optional attendees.'
},
{
question: 'Round robin pooling',
answer: 'Factor in availability for required attendees, and skip checking for conflicts for optional attendees.'
}
];
const QA4: faqPageType[] = [
{
question: 'Combine teammate schedules 4',
answer: 'Factor in availability for required attendees, and skip checking for conflicts for optional attendees.'
},
{
question: 'Factor in outside colleagues',
answer: 'Factor in availability for required attendees, and skip checking for conflicts for optional attendees.'
},
{
question: 'Round robin pooling',
answer: 'Factor in availability for required attendees, and skip checking for conflicts for optional attendees.'
}
];
// OurLeaders
import leader1 from '@/assets/images/front-pages/leaders/leader1.png';
import leader2 from '@/assets/images/front-pages/leaders/leader2.png';
import leader3 from '@/assets/images/front-pages/leaders/leader3.png';
import leader4 from '@/assets/images/front-pages/leaders/leader4.png';
import leader5 from '@/assets/images/front-pages/leaders/leader4.png';
import {
WandIcon,
ShieldLockIcon,
ArchiveIcon,
AdjustmentsIcon,
TagIcon,
DiamondIcon,
DatabaseIcon,
LanguageKatakanaIcon,
BuildingCarouselIcon,
ArrowsShuffleIcon,
ChartPieIcon,
LayersIntersectIcon,
RefreshIcon,
BookIcon,
CalendarIcon,
MessageIcon,
CircleCheckIcon,
CircleXIcon
} from 'vue-tabler-icons';
import type { UserReviewTypes } from '@/types/landingpage/LandingpageTypes';
const OurLeaders: LeaderType[] = [
{
img: leader1,
name: 'Alex Martinez',
position: 'CEO & Co-Founder'
},
{
img: leader2,
name: 'Jordan Nguyen',
position: 'CTO & Co-Founder'
},
{
img: leader3,
name: 'Taylor Roberts',
position: 'Product Manager'
},
{
img: leader4,
name: 'Morgan Patel',
position: 'Lead Developer'
}
];
const templateText: TemplateType[] = [
{
title: 'High Customizability',
subtitle:
'Tailor the dashboard to your exact needs. Customize layouts, color schemes, and widgets effortlessly for a personalized user experience.'
},
{
title: 'Powerful Data Analytics',
subtitle:
' Unlock the true potential of your data with our advanced analytics tools. Gain valuable insights and make data-driven decisions with ease.'
},
{
title: 'Interactive Graphs & Charts',
subtitle:
'Visualize complex data sets beautifully with our interactive graphs and charts. Quickly grasp trends and patterns for smarter analysis.'
}
];
const ThemeFeature1: ThemeFeatures[] = [
{
icon: WandIcon,
title: '6 Theme Colors',
color: 'primary'
},
{
icon: ShieldLockIcon,
title: 'Authguard',
color: 'secondary'
},
{
icon: ArchiveIcon,
title: '65+ Page Templates',
color: 'error'
},
{
icon: AdjustmentsIcon,
title: '45+ UI Components',
color: 'success'
},
{
icon: TagIcon,
title: 'Vuetify',
color: 'info'
},
{
icon: DiamondIcon,
title: '3400+ Font Icons',
color: 'warning'
}
];
const ThemeFeature2: ThemeFeatures[] = [
{
icon: DatabaseIcon,
title: 'Axios',
color: 'success'
},
{
icon: LanguageKatakanaIcon,
title: 'i18n Vue',
color: 'error'
},
{
icon: BuildingCarouselIcon,
title: 'Vue3 Carousel',
color: 'warning'
},
{
icon: ArrowsShuffleIcon,
title: 'Easy to Customize',
color: 'primary'
}
];
const ThemeFeature3: ThemeFeatures[] = [
{
icon: ChartPieIcon,
title: 'Lots of Chart Options',
color: 'secondary'
},
{
icon: LayersIntersectIcon,
title: 'Lots of Table Examples',
color: 'info'
},
{
icon: RefreshIcon,
title: 'Regular Updates',
color: 'error'
},
{
icon: BookIcon,
title: 'Detailed Documentation',
color: 'warning'
},
{
icon: CalendarIcon,
title: 'Calendar Design',
color: 'success'
},
{
icon: MessageIcon,
title: 'Dedicated Support',
color: 'info'
}
];
const Packages: PackageType[] = [
{
tagtext: false,
caption: 'Single Use',
subtext: 'Use for single end product which end users cant be charged for.',
price: 49,
period: 'one time pay',
buttontext: 'Purchase Now',
url: '/',
list: [
{
listtitle: 'Full source code',
status: false,
icon: true,
disable: false
},
{
listtitle: 'Documentation',
status: false,
icon: true,
disable: false
},
{
listtitle: 'Use in SaaS app',
status: true,
icon: true,
disable: true
},
{
listtitle: '<b>One</b> Project',
status: true,
icon: false,
disable: false
},
{
listtitle: '<b>One Year</b> Technical Support',
status: true,
icon: false,
disable: false
}
]
},
{
tagtext: false,
caption: 'Multiple Use',
subtext: 'Use for unlimited end products end users cant be charged for.',
price: 89,
period: 'one time pay',
buttontext: 'Purchase Now',
url: '/',
list: [
{
listtitle: 'Full source code',
status: false,
icon: true,
disable: false
},
{
listtitle: 'Documentation',
status: false,
icon: true,
disable: false
},
{
listtitle: 'Use in SaaS app',
status: true,
icon: true,
disable: true
},
{
listtitle: '<b>Unlimited</b> Project',
status: true,
icon: false,
disable: false
},
{
listtitle: '<b>One Year</b> Technical Support',
status: true,
icon: false,
disable: false
}
]
},
{
tagtext: true,
caption: 'Extended Use',
subtext: 'Use for single end product which end users can be charged for.',
price: 299,
period: 'one time pay',
buttontext: 'Purchase Now',
url: '/',
list: [
{
listtitle: 'Full source code',
status: false,
icon: true,
disable: false
},
{
listtitle: 'Documentation',
status: false,
icon: true,
disable: false
},
{
listtitle: 'Use in SaaS app',
status: false,
icon: true,
disable: false
},
{
listtitle: '<b>One</b> Project',
status: true,
icon: false,
disable: false
},
{
listtitle: '<b>One Year</b> Technical Support',
status: true,
icon: false,
disable: false
}
]
},
{
tagtext: false,
caption: 'Unlimited Use',
subtext: 'Use in unlimited end products end users can be charged for.',
price: 499,
period: 'one time pay',
buttontext: 'Purchase Now',
url: '/',
list: [
{
listtitle: 'Full source code',
status: false,
icon: true,
disable: false
},
{
listtitle: 'Documentation',
status: false,
icon: true,
disable: false
},
{
listtitle: 'Use in SaaS app',
status: false,
icon: true,
disable: false
},
{
listtitle: '<b>Unlimited</b> Project',
status: true,
icon: false,
disable: false
},
{
listtitle: '<b>One Year</b> Technical Support',
status: true,
icon: false,
disable: false
}
]
}
];
const FAQData: TemplateType[] = [
{
title: 'What is included with my purchase?',
subtitle:
'Tailor the dashboard to your exact needs. Customize layouts, color schemes, and widgets effortlessly for a personalized user experience.'
},
{
title: 'Are there any recurring fees?',
subtitle:
' Unlock the true potential of your data with our advanced analytics tools. Gain valuable insights and make data-driven decisions with ease.'
},
{
title: 'Can I use the template on multiple projects?',
subtitle:
'Visualize complex data sets beautifully with our interactive graphs and charts. Quickly grasp trends and patterns for smarter analysis.'
},
{
title: 'Can I customize the admin dashboard template to match my brand?',
subtitle:
'Visualize complex data sets beautifully with our interactive graphs and charts. Quickly grasp trends and patterns for smarter analysis.'
},
{
title: 'Are there any restrictions on using the template?',
subtitle:
'Visualize complex data sets beautifully with our interactive graphs and charts. Quickly grasp trends and patterns for smarter analysis.'
},
{
title: 'How can I get support after purchase?',
subtitle:
'Visualize complex data sets beautifully with our interactive graphs and charts. Quickly grasp trends and patterns for smarter analysis.'
}
];
// Footer Menu Links
const FooterMenu1: FooterType[] = [
{
menu: 'Cards',
link: '/widgets/cards'
},
{
menu: 'Pricing',
link: '/pages/pricing'
},
{
menu: 'Account Settings',
link: '/pages/account-settings'
},
{
menu: 'FAQ',
link: '/pages/faq'
},
{
menu: 'Search Results',
link: '/pages/search-results'
}
];
const FooterMenu2: FooterType[] = [
{
menu: 'Treeview',
link: '/pages/treeview'
},
{
menu: 'Banners',
link: '/widgets/banners'
},
{
menu: 'Charts',
link: '/widgets/charts'
},
{
menu: 'Gallery Lightbox',
link: '/pages/gallery-lightbox'
},
{
menu: 'Social Contacts',
link: '/pages/social-media-contacts'
}
];
const FooterMenu3: FooterType[] = [
{
menu: 'Form Layout',
link: '/forms/form-layouts'
},
{
menu: 'Tables',
link: '/tables/basic'
},
{
menu: 'Stepper',
link: '/forms/form-elements/stepper'
},
{
menu: 'Datatables',
link: '/tables/datatables/basic'
},
{
menu: 'Validation',
link: '/forms/form-validation'
}
];
const userReviewFrront: UserReviewTypes[] = [
{
img: review1,
title: 'Jenny Wilson',
subtitle: 'CEO & Head of Comp Inc.',
review: 'This template is great, UI-rich and up-to-date. Although it is pretty much complete, I suggest to improve a bit of documentation. Thanks & Highly recommended!'
},
{
img: review2,
title: 'Josh Cui',
subtitle: 'CEO & Head of Comp Inc.',
review: 'This template is great, UI-rich and up-to-date. Although it is pretty much complete, I suggest to improve a bit of documentation. Thanks & Highly recommended!'
},
{
img: review3,
title: 'Eminson Mendoza',
subtitle: 'CEO & Head of Comp Inc.',
review: 'This template is great, UI-rich and up-to-date. Although it is pretty much complete, I suggest to improve a bit of documentation. Thanks & Highly recommended!'
}
];
export {
QA1,
QA2,
QA3,
QA4,
OurLeaders,
templateText,
ThemeFeature1,
ThemeFeature2,
ThemeFeature3,
Packages,
FAQData,
FooterMenu1,
FooterMenu2,
FooterMenu3,
Features,
userReviewFrront,
AboutFeatures
};

230
_mockApis/headerData.ts Executable file
View File

@@ -0,0 +1,230 @@
// project imports
import mock from './mockAdapter';
import type { notificationType, profileType, languageType, appsLinkType,searchType } from '~/types/HeaderTypes'
//
// Notification
//
const notifications:notificationType[] = [
{
avatar: 'widget-3-line-duotone',
color:'error',
title: 'Launch Admin',
subtitle: 'Just see the my new admin!',
time:'9:30 AM'
},
{
avatar: 'calendar-line-duotone',
color:'primary',
title: 'Event Today',
subtitle: 'Just a reminder that you have event',
time:'9:15 AM'
},
{
avatar: 'settings-line-duotone',
color:'secondary',
title: 'Settings',
subtitle: 'You can customize this template as you want',
time:'4:36 PM'
},
{
avatar: 'widget-4-line-duotone',
color:'warning',
title: 'Launch Admin',
subtitle: 'Just see the my new admin!',
time:'9:30 AM'
},
{
avatar: 'calendar-line-duotone',
color:'primary',
title: 'Event Today',
subtitle: 'Just a reminder that you have event',
time:'9:15 AM'
},
{
avatar: 'settings-line-duotone',
color:'secondary',
title: 'Settings',
subtitle: 'You can customize this template as you want',
time:'4:36 PM'
},
];
//
// Profile
//
// const profileDD: profileType[] = [
// {
// title: 'My Profile',
// href: '/apps/user/profile',
// badge:false
// },
// {
// title: 'My Subscription',
// href: '/pages/pricing',
// badge:false
// },
// {
// title: 'My Notes',
// href: '/apps/notes',
// badge:true
// },
// {
// title: 'Account Settings',
// href: '/pages/account-settings',
// badge:false
// },
// {
// title: 'Sign Out',
// href: '/auth/login2',
// badge:false
// },
// ];
import proUser1 from '~/assets/images/svgs/icon-account.svg';
import proUser2 from '~/assets/images/svgs/icon-inbox.svg';
import proUser3 from '~/assets/images/svgs/icon-tasks.svg';
const profileDD: profileType[] = [
{
avatar: proUser1,
title: 'My Profile',
subtitle: 'Account settings',
href: ''
},
{
avatar: proUser2,
title: 'My Notes',
subtitle: 'My Daily Notes',
href: ''
},
{
avatar: proUser3,
title: 'My Tasks',
subtitle: 'To-do and Daily tasks',
href: ''
}
];
//
// Language
//
import flag1 from '~/assets/images/flag/icon-flag-en.svg';
import flag2 from '~/assets/images/flag/icon-flag-fr.svg';
import flag3 from '~/assets/images/flag/icon-flag-ro.svg';
import flag4 from '~/assets/images/flag/icon-flag-zh.svg';
const languageDD: languageType[] = [
{ title: 'English', subtext: 'UK', value: 'en', avatar: flag1 },
{ title: 'français', subtext: 'French', value: 'fr', avatar: flag2 },
{ title: 'عربي', subtext: 'Arbic', value: 'ro', avatar: flag3 },
{ title: '中国人', subtext: 'Chinese', value: 'zh', avatar: flag4 }
];
//
// AppsLink
//
const appsLink: appsLinkType[] = [
{
avatar: 'chat-line-bold-duotone',
color:'primary',
title: 'Chat Application',
subtext: 'New messages arrived',
href: '/apps/chats'
},
{
avatar: 'user-bold-duotone',
color:'success',
title: 'User Profile App',
subtext: 'Get profile details',
href: '/apps/user/profile'
},
{
avatar: 'bill-list-bold-duotone',
color:'secondary',
title: 'eCommerce App',
subtext: 'learn more information',
href: '/ecommerce/products'
},
{
avatar: 'calendar-minimalistic-bold-duotone',
color:'primary',
title: 'Calendar App',
subtext: 'Get dates',
href: '/apps/calendar'
},
{
avatar: 'phone-calling-rounded-bold-duotone',
color:'warning',
title: 'Contact Application',
subtext: '2 Unsaved Contacts',
href: '/apps/contacts'
},
{
avatar: 'settings-bold-duotone',
color:'info',
title: 'Account Setting App',
subtext: 'Account settings',
href: '/pages/account-settings'
},
{
avatar: 'checklist-minimalistic-bold',
color:'error',
title: 'Kanban App',
subtext: 'Get new Task',
href: '/apps/kanban'
},
{
avatar: 'notes-bold-duotone',
color:'warning',
title: 'Notes Application',
subtext: 'To-do and Daily tasks',
href: '/apps/notes'
}
];
//
// Search Data
//
const searchSugg: searchType[] = [
{
title: 'Modern',
href: '/dashboards/modern'
},
{
title: 'eCommerce',
href: '/dashboards/ecommerce'
},
{
title: 'Contacts',
href: '/apps/contacts'
},
{
title: 'Shop',
href: '/ecommerce/shop'
},
{
title: 'Checkout',
href: '/ecommerce/checkout'
},
{
title: 'Chats',
href: '/apps/chats'
},
{
title: 'Notes',
href: '/apps/notes'
},
{
title: 'Pricing',
href: '/pages/pricing'
},
{
title: 'Account Setting',
href: '/pages/account-settings'
},
];
export { notifications, profileDD, languageDD, appsLink, searchSugg };

20
_mockApis/index.ts Executable file
View File

@@ -0,0 +1,20 @@
import mock from './mockAdapter';
import './apps/chat';
import './apps/ecommerce';
import './apps/userprofile/posts';
import './apps/userprofile/followers';
import './apps/userprofile/friends';
import './apps/userprofile/gallery';
import './apps/userprofile/photos';
import './apps/blog/index';
import './headerData';
import './apps/notes';
import './apps/tickets';
import './apps/email';
import './apps/invoice';
import './apps/contact';
import './headerData';
import './apps/kanban';
mock.onAny().passThrough();

View File

@@ -0,0 +1,23 @@
/*Product Preview Slider*/
const curoselSettings = {
snapAlign: "start",
itemsToShow: 1,
autoplay: false,
};
/*Testimonials Slider*/
const testimonialSettings = {
snapAlign: "start",
itemsToShow: 3,
autoplay: false,
};
const testimonialBreakpoints = {
300: { itemsToShow: 1 },
600: { itemsToShow: 1 },
767: { itemsToShow: 2 },
991: { itemsToShow: 3 },
1500: { itemsToShow: 3 },
1800: { itemsToShow: 3 },
};
export{curoselSettings,testimonialSettings,testimonialBreakpoints}

381
_mockApis/landingpage/lpPage.ts Executable file
View File

@@ -0,0 +1,381 @@
import { ref } from 'vue';
import type {
ProductsSliderTypes,
UserReviewTypes,
ListFeatureTypes,
DemosMegaMenuTypes,
AppsMegaMenuTypes
} from '@/types/landingpage/LandingpageTypes';
import img1 from '@/assets/images/landingpage/demos/demo-main.jpg';
import img2 from '@/assets/images/landingpage/demos/demo-dark.jpg';
import img3 from '@/assets/images/landingpage/demos/demo-horizontal.jpg';
import img4 from '@/assets/images/landingpage/demos/demo-mini.jpg';
import img5 from '@/assets/images/landingpage/demos/demo-rtl.jpg';
import img6 from '@/assets/images/landingpage/apps/app-calendar.jpg';
import img7 from '@/assets/images/landingpage/apps/app-chat.jpg';
import img8 from '@/assets/images/landingpage/apps/app-contact.jpg';
import img9 from '@/assets/images/landingpage/apps/app-user-profile.jpg';
import img10 from '@/assets/images/landingpage/apps/app-note.jpg';
import img11 from '@/assets/images/landingpage/apps/app-blog.jpg';
import img12 from '@/assets/images/landingpage/apps/app-shop.jpg';
import img13 from '@/assets/images/landingpage/apps/app-productlist.jpg';
import img14 from '@/assets/images/landingpage/apps/app-invoice.jpg';
import img15 from '@/assets/images/landingpage/apps/app-blog-detail.jpg';
import img16 from '@/assets/images/landingpage/apps/app-product-detail.jpg';
import img17 from '@/assets/images/landingpage/apps/app-kanban.jpg';
import img18 from '@/assets/images/landingpage/demos/demo-default.jpg';
const productsSlider: ProductsSliderTypes[] = [
{
type: true,
img: img1,
name: 'Main',
link: 'https://matdash-vuetify-main.netlify.app/dashboards/dashboard1'
},
{
type: true,
img: img2,
name: 'Dark',
link: 'https://matdash-vuetify-dark.netlify.app/dashboards/dashboard2'
},
{
type: true,
img: img3,
name: 'Horizontal',
link: 'https://matdash-vuetify-horizontal.netlify.app/dashboards/dashboard1'
},
{
type: true,
img: img4,
name: 'Minisidebar',
link: 'https://matdash-vuetify-minisidebar.netlify.app/dashboards/dashboard1'
},
{
type: true,
img: img5,
name: 'RTL',
link: 'https://matdash-vuetify-rtl.netlify.app/dashboards/dashboard2'
},
{
type: true,
img: img18,
name: 'Default Sidebar',
link: 'https://matdash-vuetify-default.netlify.app/dashboards/dashboard1'
},
{
type: false,
img: img6,
name: 'Calandar ',
link: '/apps/calendar'
},
{
type: false,
img: img7,
name: 'Chat ',
link: '/apps/chats'
},
{
type: false,
img: img8,
name: 'Contact ',
link: '/apps/contacts'
},
{
type: false,
img: img9,
name: 'User Profile ',
link: '/apps/user/profile'
},
{
type: false,
img: img10,
name: 'Notes ',
link: '/apps/notes'
},
{
type: false,
img: img11,
name: 'Blog ',
link: '/apps/blog/posts'
},
{
type: false,
img: img15,
name: 'Blog Detail ',
link: '/apps/blog/early-black-friday-amazon-deals-cheap-tvs-headphones'
},
{
type: false,
img: img12,
name: 'eCommerce Shop ',
link: '/ecommerce/products'
},
{
type: false,
img: img16,
name: 'eCommerce Product Detail ',
link: '/ecommerce/product/detail/1'
},
{
type: false,
img: img13,
name: 'eCommerce Product List ',
link: '/ecommerce/productlist'
},
{
type: false,
img: img14,
name: 'Invoice App ',
link: '/apps/invoice'
},
{
type: false,
img: img17,
name: 'Kanban ',
link: '/apps/kanban'
}
];
/*User Review Section*/
import review1 from '@/assets/images/profile/user-1.jpg';
import review2 from '@/assets/images/profile/user-2.jpg';
import review3 from '@/assets/images/profile/user-3.jpg';
const userReview: UserReviewTypes[] = [
{
img: review3,
title: 'Eminson Mendoza',
subtitle: 'Features avaibility',
review: 'This template is great, UI-rich and up-to-date. Although it is pretty much complete, I suggest to improve a bit of documentation. Thanks & Highly recomended!'
},
{
img: review1,
title: 'Jenny Wilson',
subtitle: 'Features avaibility',
review: 'The dashboard template from adminmart has helped me provide a clean and sleek look to my dashboard and made it look exactly the way I wanted it to, mainly without having.'
},
{
img: review2,
title: 'Minshan Cui',
subtitle: 'Features avaibility',
review: 'The quality of design is excellent, customizability and flexibility much better than the other products available in the market.I strongly recommend the AdminMart to other.'
},
{
img: review3,
title: 'Eminson Mendoza',
subtitle: 'Features avaibility',
review: 'This template is great, UI-rich and up-to-date. Although it is pretty much complete, I suggest to improve a bit of documentation. Thanks & Highly recomended!'
},
{
img: review1,
title: 'Jenny Wilson',
subtitle: 'Features avaibility',
review: 'The dashboard template from adminmart has helped me provide a clean and sleek look to my dashboard and made it look exactly the way I wanted it to, mainly without having.'
},
{
img: review2,
title: 'Minshan Cui',
subtitle: 'Features avaibility',
review: 'The quality of design is excellent, customizability and flexibility much better than the other products available in the market.I strongly recommend the AdminMart to other.'
},
{
img: review3,
title: 'Eminson Mendoza',
subtitle: 'Features avaibility',
review: 'This template is great, UI-rich and up-to-date. Although it is pretty much complete, I suggest to improve a bit of documentation. Thanks & Highly recomended!'
},
{
img: review1,
title: 'Jenny Wilson',
subtitle: 'Features avaibility',
review: 'The dashboard template from adminmart has helped me provide a clean and sleek look to my dashboard and made it look exactly the way I wanted it to, mainly without having.'
}
];
const listFeature: ListFeatureTypes[] = [
{
icon: 'filters-bold-duotone',
title: '6 Skin Colors',
subtitle: 'We have included 6 pre-defined Skin Colors with MatDash Admin..'
},
{
icon: 'lock-keyhole-bold',
title: 'Authguard',
subtitle: 'We have AUTH guard functionality which is based on JWT.'
},
{
icon: 'widget-4-bold-duotone',
title: '65+ Page Templates',
subtitle: 'Yes, we have 5 demos & 65+ Pages per demo to make it easier.'
},
{
icon: 'presentation-graph-broken',
title: '4+ Frontend Pages',
subtitle: 'We have added useful frontend pages with Matdash Admin'
},
{
icon: 'widget-6-bold-duotone',
title: '45+ UI Components',
subtitle: 'Almost 45+ UI Components being given with Matdash Admin Pack.'
},
{
icon: 'tag-bold-duotone',
title: 'Vuetify',
subtitle: 'It is made with Vuetify which is a powerful UI Component Framework.'
},
{
icon: 'text-field-bold-duotone',
title: '3400+ Font Icons',
subtitle: 'Lots of Icon Fonts are included here in the package of Matdash Admin.'
},
{
icon: 'database-bold',
title: 'Axios',
subtitle: 'Axios is a promise-based HTTP Client for node.js and the browser.'
},
{
icon: 'home-smile-angle-bold-duotone',
title: 'i18n Vue',
subtitle: 'Vue i18n is a powerful internationalization framework for Vue.'
},
{
icon: 'slider-horizontal-bold',
title: 'Vue3 Carousel',
subtitle: 'Flexible, responsive, and highly customizable Vue carousel component'
},
{
icon: 'shuffle-bold-duotone',
title: 'Easy to Customize',
subtitle: 'Customization will be easy as we understand your pain.'
},
{
icon: 'pie-chart-3-bold-duotone',
title: 'Lots of Chart Options',
subtitle: 'You name it and we have it, Yes lots of variations for Charts.'
},
{
icon: 'bedside-table-bold-duotone',
title: 'Lots of Table Examples',
subtitle: 'Data Tables are initial requirement and we added them.'
},
{
icon: 'refresh-square-bold-duotone',
title: 'Regular Updates',
subtitle: 'We are constantly updating our pack with new features.'
},
{
icon: 'document-add-bold-duotone',
title: 'Detailed Documentation',
subtitle: 'We have made detailed documentation, so it will easy to use.'
},
{
icon: 'calendar-mark-bold-duotone',
title: 'Calendar Design',
subtitle: 'Calendar is available with our package & in nice design.'
},
{
icon: 'chat-round-bold-duotone',
title: 'Dedicated Support',
subtitle: 'We believe in supreme support is key and we offer that.'
}
];
/*Demos Megamenu*/
const demosMegamenu: DemosMegaMenuTypes[] = [
{
img: img1,
name: 'Main',
link: 'https://matdash-vuetify-main.netlify.app/dashboards/dashboard1'
},
{
img: img2,
name: 'Dark',
link: 'https://matdash-vuetify-dark.netlify.app/dashboards/dashboard2'
},
{
img: img3,
name: 'Horizontal',
link: 'https://matdash-vuetify-horizontal.netlify.app/dashboards/dashboard1'
},
{
img: img4,
name: 'Minisidebar',
link: 'https://matdash-vuetify-minisidebar.netlify.app/dashboards/dashboard1'
},
{
img: img5,
name: 'RTL',
link: 'https://matdash-vuetify-rtl.netlify.app/dashboards/dashboard2'
}
];
const appsMegamenu: AppsMegaMenuTypes[] = [
{
img: img6,
name: 'Calandar App',
link: '/apps/calendar'
},
{
img: img7,
name: 'Chat App',
link: '/apps/chats'
},
{
img: img8,
name: 'Contact App',
link: '/apps/contacts'
},
{
img: img9,
name: 'User Profile App',
link: '/apps/user/profile'
},
{
img: img10,
name: 'Notes App',
link: '/apps/notes'
}
];
import frnt1 from '@/assets/images/landingpage/frontpages/homepage.jpg';
import frnt2 from '@/assets/images/landingpage/frontpages/aboutus.jpg';
import frnt3 from '@/assets/images/landingpage/frontpages/contactus.jpg';
import frnt4 from '@/assets/images/landingpage/frontpages/portfolio.jpg';
import frnt5 from '@/assets/images/landingpage/frontpages/pricing.jpg';
import frnt6 from '@/assets/images/landingpage/frontpages/blogpage.jpg';
const FrontPageMenu: DemosMegaMenuTypes[] = [
{
img: frnt1,
name: 'Homepage',
link: '/front-page/homepage'
},
{
img: frnt2,
name: 'About Us',
link: '/front-page/about-us'
},
{
img: frnt3,
name: 'Contact Us',
link: '/front-page/contact-us'
},
{
img: frnt4,
name: 'Portfolio',
link: '/front-page/portfolio'
},
{
img: frnt5,
name: 'Pricing',
link: '/front-page/pricing'
},
{
img: frnt6,
name: 'Blog',
link: '/front-page/blog/posts'
}
];
export { productsSlider, userReview, listFeature, demosMegamenu, appsMegamenu, FrontPageMenu };

5
_mockApis/mockAdapter.ts Executable file
View File

@@ -0,0 +1,5 @@
import AxiosMockAdapter from 'axios-mock-adapter';
import axios from '@/utils/axios';
const mock = new AxiosMockAdapter(axios, { delayResponse: 0 });
export default mock;