initial commit

This commit is contained in:
ferdiansyah783
2025-08-05 12:35:40 +07:00
commit fffa2ead5c
1069 changed files with 118056 additions and 0 deletions
+55
View File
@@ -0,0 +1,55 @@
// Type Imports
import type { ThemeColor } from '@core/types'
export type Course = {
id: number
image: string
user: string
tutorImg: string
completedTasks: number
totalTasks: number
userCount: number
note: number
view: number
time: string
logo: string
courseTitle: string
color: ThemeColor
desc: string
tags: string
rating: number
ratingCount: number
}
export type CourseDetails = {
title: string
about: string
instructor: string
instructorAvatar: string
instructorPosition: string
skillLevel: string
totalLectures: number
totalStudents: number
isCaptions: boolean
language: string
length: string
content: CourseContent[]
description: string[]
}
export type CourseContent = {
title: string
id: string
topics: CourseTopic[]
}
export type CourseTopic = {
title: string
time: string
isCompleted: boolean
}
export type AcademyType = {
courses: Course[]
courseDetails: CourseDetails
}
+44
View File
@@ -0,0 +1,44 @@
// Third-party Imports
import type { Dispatch } from '@reduxjs/toolkit'
import type { EventInput } from '@fullcalendar/core'
// Type Imports
import type { ThemeColor } from '@core/types'
export type CalendarFiltersType = 'Personal' | 'Business' | 'Family' | 'Holiday' | 'ETC'
export type CalendarColors = {
ETC: ThemeColor
Family: ThemeColor
Holiday: ThemeColor
Personal: ThemeColor
Business: ThemeColor
}
export type CalendarType = {
events: EventInput[]
filteredEvents: EventInput[]
selectedEvent: null | any
selectedCalendars: CalendarFiltersType[]
}
export type AddEventType = Omit<EventInput, 'id'>
export type SidebarLeftProps = {
mdAbove: boolean
calendarApi: any
calendarStore: CalendarType
leftSidebarOpen: boolean
dispatch: Dispatch
calendarsColor: CalendarColors
handleLeftSidebarToggle: () => void
handleAddEventSidebarToggle: () => void
}
export type AddEventSidebarType = {
calendarStore: CalendarType
calendarApi: any
dispatch: Dispatch
addEventSidebarOpen: boolean
handleAddEventSidebarToggle: () => void
}
+50
View File
@@ -0,0 +1,50 @@
// Type Imports
import type { ThemeColor } from '@core/types'
export type StatusType = 'busy' | 'away' | 'online' | 'offline'
export type StatusObjType = Record<StatusType, ThemeColor>
export type ProfileUserType = {
id: number
role: string
about: string
avatar: string
fullName: string
status: StatusType
settings: {
isNotificationsOn: boolean
isTwoStepAuthVerificationEnabled: boolean
}
}
export type ContactType = {
id: number
fullName: string
role: string
about: string
avatar?: string
avatarColor?: ThemeColor
status: StatusType
}
export type UserChatType = {
message: string
time: string | Date
senderId: number
msgStatus?: Record<'isSent' | 'isDelivered' | 'isSeen', boolean>
}
export type ChatType = {
id: number
userId: number
unseenMsgs: number
chat: UserChatType[]
}
export type ChatDataType = {
profileUser: ProfileUserType
contacts: ContactType[]
chats: ChatType[]
activeUser?: ContactType
}
+76
View File
@@ -0,0 +1,76 @@
export type Customer = {
id: number
customer: string
customerId: string
email: string
country: string
countryCode: string
countryFlag?: string
order: number
totalSpent: number
avatar: string
status?: string
contact?: string
}
export type ReferralsType = {
id: number
user: string
email: string
avatar: string
referredId: number
status: string
value: string
earning: string
}
export type ReviewType = {
id: number
product: string
companyName: string
productImage: string
reviewer: string
email: string
avatar: string
date: string
status: string
review: number
head: string
para: string
}
export type ProductType = {
id: number
productName: string
category: string
stock: boolean
sku: number
price: string
qty: number
status: string
image: string
productBrand: string
}
export type OrderType = {
id: number
order: string
customer: string
email: string
avatar: string
payment: number
status: string
spent: number
method: string
date: string
time: string
methodNumber: number
}
export type ECommerceType = {
products: ProductType[]
orderData: OrderType[]
customerData: Customer[]
reviews: ReviewType[]
referrals: ReferralsType[]
}
+36
View File
@@ -0,0 +1,36 @@
export type Attachment = {
fileName: string
thumbnail: string
url: string
size: string
}
export type Email = {
id: number
from: {
email: string
name: string
avatar: string
}
to: { name: string; email: string }[]
subject: string
cc: string[]
bcc: string[]
message: string
attachments: Attachment[]
isStarred: boolean
labels: string[]
time: Date | string
replies: Email[]
folder: string
isRead: boolean
}
export type EmailType = {
emails: Email[]
currentEmailId?: number
}
export type EmailState = EmailType & {
filteredEmails: Email[]
}
+45
View File
@@ -0,0 +1,45 @@
export type InvoiceStatus = 'Paid' | string
export type InvoiceLayoutProps = {
id: string | undefined
}
export type InvoiceClientType = {
name: string
address: string
company: string
country: string
contact: string
companyEmail: string
}
export type InvoiceType = {
id: string
name: string
total: number
avatar: string
service: string
dueDate: string
address: string
company: string
country: string
contact: string
avatarColor?: string
issuedDate: string
companyEmail: string
balance: string | number
invoiceStatus: InvoiceStatus
}
export type InvoicePaymentType = {
iban: string
totalDue: string
bankName: string
country: string
swiftCode: string
}
export type SingleInvoiceType = {
invoice: InvoiceType
paymentDetails: InvoicePaymentType
}
+22
View File
@@ -0,0 +1,22 @@
export type TaskType = {
id: number
title: string
badgeText?: string[]
attachments?: number
comments?: number
assigned?: { src: string; name: string }[]
image?: string
dueDate?: Date
}
export type ColumnType = {
id: number
title: string
taskIds: number[]
}
export type KanbanType = {
columns: ColumnType[]
tasks: TaskType[]
currentTaskId?: number
}
+14
View File
@@ -0,0 +1,14 @@
export type Vehicle = {
id: number
location: number
startCity: string
startCountry: string
endCity: string
endCountry: string
warnings: string
progress: number
}
export type logisticsType = {
vehicles: Vehicle[]
}
+6
View File
@@ -0,0 +1,6 @@
export type PermissionRowType = {
id: number
name: string
createdDate: string
assignedTo: string | string[]
}
+18
View File
@@ -0,0 +1,18 @@
// Type Imports
import type { ThemeColor } from '@core/types'
export type UsersType = {
id: number
role: string
email: string
status: string
avatar: string
company: string
country: string
contact: string
fullName: string
username: string
currentPlan: string
avatarColor?: ThemeColor
billing: string
}
+61
View File
@@ -0,0 +1,61 @@
// React Imports
import type { ReactNode } from 'react'
// MUI Imports
import type { ChipProps } from '@mui/material/Chip'
// Type Imports
import type {
SubMenuProps as VerticalSubMenuProps,
MenuItemProps as VerticalMenuItemProps,
MenuSectionProps as VerticalMenuSectionProps
} from '@menu/vertical-menu'
import type {
SubMenuProps as HorizontalSubMenuProps,
MenuItemProps as HorizontalMenuItemProps
} from '@menu/horizontal-menu'
import type { MenuItemExactMatchUrlProps } from '@menu/types'
// Vertical Menu Data
export type VerticalMenuItemDataType = Omit<
VerticalMenuItemProps,
'children' | 'exactMatch' | 'activeUrl' | 'icon' | 'prefix' | 'suffix'
> &
MenuItemExactMatchUrlProps & {
label: ReactNode
excludeLang?: boolean
icon?: string
prefix?: ReactNode | ChipProps
suffix?: ReactNode | ChipProps
}
export type VerticalSubMenuDataType = Omit<VerticalSubMenuProps, 'children' | 'icon' | 'prefix' | 'suffix'> & {
children: VerticalMenuDataType[]
icon?: string
prefix?: ReactNode | ChipProps
suffix?: ReactNode | ChipProps
}
export type VerticalSectionDataType = Omit<VerticalMenuSectionProps, 'children'> & {
isSection: boolean
children: VerticalMenuDataType[]
}
export type VerticalMenuDataType = VerticalMenuItemDataType | VerticalSubMenuDataType | VerticalSectionDataType
// Horizontal Menu Data
export type HorizontalMenuItemDataType = Omit<
HorizontalMenuItemProps,
'children' | 'exactMatch' | 'activeUrl' | 'icon' | 'prefix' | 'suffix'
> &
MenuItemExactMatchUrlProps & {
label: ReactNode
excludeLang?: boolean
icon?: string
prefix?: ReactNode | ChipProps
suffix?: ReactNode | ChipProps
}
export type HorizontalSubMenuDataType = Omit<HorizontalSubMenuProps, 'children' | 'icon' | 'prefix' | 'suffix'> & {
children: HorizontalMenuDataType[]
icon?: string
prefix?: ReactNode | ChipProps
suffix?: ReactNode | ChipProps
}
export type HorizontalMenuDataType = HorizontalMenuItemDataType | HorizontalSubMenuDataType
+12
View File
@@ -0,0 +1,12 @@
export type QuestionAnswer = {
id: string
question: string
answer: string
}
export type FaqType = {
id: string
title: string
subtitle: string
icon: string
questionsAnswers: QuestionAnswer[]
}
+15
View File
@@ -0,0 +1,15 @@
export type PricingPlanType = {
title: string
imgSrc: string
subtitle: string
imgWidth?: number
imgHeight?: number
currentPlan: boolean
popularPlan: boolean
monthlyPrice: number
planBenefits: string[]
yearlyPlan: {
monthly: number
annually: number
}
}
+111
View File
@@ -0,0 +1,111 @@
// Type Imports
import type { ThemeColor } from '@core/types'
export type ProjectTableRowType = {
id: number
title: string
subtitle: string
leader: string
avatar?: string
avatarGroup: string[]
status: number
actions?: string
}
export type ProfileHeaderType = {
fullName: string
coverImg: string
location: string
profileImg: string
joiningDate: string
designation: string
designationIcon?: string
}
export type ProfileAvatarGroupType = {
name: string
avatar: string
}
export type ProfileChipType = {
title: string
color: ThemeColor
}
export type ProfileCommonType = {
icon: string
value: string
property: string
}
export type ProfileTeamsType = {
value: string
property: string
}
export type ProfileConnectionsType = {
name: string
avatar: string
isFriend: boolean
connections: string
}
export type ProfileTeamsTechType = {
title: string
avatar: string
members: number
chipText: string
ChipColor: ThemeColor
}
export type TeamsTabType = {
title: string
avatar: string
description: string
extraMembers?: number
chips: ProfileChipType[]
avatarGroup: ProfileAvatarGroupType[]
}
export type ProjectsTabType = {
hours: string
tasks: string
title: string
budget: string
client: string
avatar: string
members: string
daysLeft: number
comments: number
deadline: string
startDate: string
totalTask: number
budgetSpent: string
description: string
chipColor: ThemeColor
completedTask: number
avatarColor?: ThemeColor
avatarGroup: ProfileAvatarGroupType[]
}
export type ConnectionsTabType = {
name: string
tasks: string
avatar: string
projects: string
connections: string
designation: string
isConnected: boolean
chips: ProfileChipType[]
}
export type ProfileTabType = {
teams: ProfileTeamsType[]
about: ProfileCommonType[]
contacts: ProfileCommonType[]
overview: ProfileCommonType[]
teamsTech: ProfileTeamsTechType[]
connections: ProfileConnectionsType[]
projectTable: ProjectTableRowType[]
}
export type UserProfileActiveTab = ProfileTabType | TeamsTabType[] | ProjectsTabType[] | ConnectionsTabType[]
export type DataType = {
profile: ProfileTabType
teams: TeamsTabType[]
projects: ProjectsTabType[]
connections: ConnectionsTabType[]
}
export type Data = {
users: DataType
profileHeader: ProfileHeaderType
}
+98
View File
@@ -0,0 +1,98 @@
// MUI Imports
import type { ChipProps } from '@mui/material/Chip'
// Third-party Imports
import type { ApexOptions } from 'apexcharts'
// Type Imports
import type { ThemeColor } from '@core/types'
import type { CustomAvatarProps } from '@core/components/mui/Avatar'
export type CardStatsHorizontalWithAvatarProps = {
stats: string
title: string
avatarIcon: string
avatarColor?: ThemeColor
avatarVariant?: CustomAvatarProps['variant']
avatarSkin?: CustomAvatarProps['skin']
avatarSize?: number
}
export type CardStatsHorizontalWithBorderProps = {
title: string
stats: number
trendNumber: number
avatarIcon: string
color?: ThemeColor
}
export type CardStatsCustomerStatsProps = {
title: string
avatarIcon: string
color?: ThemeColor
description: string
} & (
| {
stats?: string
content?: string
chipLabel?: never
}
| {
chipLabel?: string
stats?: never
content?: never
}
)
export type CardStatsSquareProps = {
avatarIcon: string
avatarColor?: ThemeColor
avatarSize?: number
avatarVariant?: CustomAvatarProps['variant']
avatarSkin?: CustomAvatarProps['skin']
stats: string
statsTitle: string
}
export type CardStatsHorizontalProps = {
title: string
stats: string
avatarIcon: string
avatarColor?: ThemeColor
avatarSize?: number
avatarSkin?: CustomAvatarProps['skin']
}
export type CardStatsVerticalProps = {
title: string
subtitle: string
stats: string
avatarIcon: string
avatarSize?: number
avatarSkin?: CustomAvatarProps['skin']
avatarColor?: ThemeColor
chipText: string
chipColor?: ThemeColor
chipVariant?: ChipProps['variant']
}
export type CardStatsWithAreaChartProps = {
stats: string
title: string
chartColor?: ThemeColor
chartSeries: ApexOptions['series']
avatarIcon: string
avatarSize?: number
avatarColor?: ThemeColor
avatarSkin?: CustomAvatarProps['skin']
}
export type CardStatsType = {
statsHorizontalWithAvatar: CardStatsHorizontalWithAvatarProps[]
statsHorizontalWithBorder: CardStatsHorizontalWithBorderProps[]
customerStats: CardStatsCustomerStatsProps[]
statsSquare: CardStatsSquareProps[]
statsHorizontal: CardStatsHorizontalProps[]
statsVertical: CardStatsVerticalProps[]
statsWithAreaChart: CardStatsWithAreaChartProps[]
}
+37
View File
@@ -0,0 +1,37 @@
export type ProductVariant = {
id: string
product_id: string
name: string
price_modifier: number
cost: number
metadata: Record<string, any>
created_at: string
updated_at: string
}
export type Product = {
id: string
organization_id: string
category_id: string
sku: string | null
name: string
description: string | null
price: number
cost: number
business_type: string
image_url: string | null
printer_type: string
metadata: Record<string, any>
is_active: boolean
created_at: string
updated_at: string
variants?: ProductVariant[]
}
export type Products = {
products: Product[]
total_count: number
page: number
limit: number
total_pages: number
}
+5
View File
@@ -0,0 +1,5 @@
export type User = {
id: string
name: string
email: string
}