initial commit
15
.editorconfig
Normal file
@ -0,0 +1,15 @@
|
||||
# Editor configuration, see http://editorconfig.org
|
||||
root = true
|
||||
[*]
|
||||
charset = utf-8
|
||||
end_of_line = lf
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
insert_final_newline = true
|
||||
trim_trailing_whitespace = true
|
||||
[*.md]
|
||||
max_line_length = off
|
||||
trim_trailing_whitespace = false
|
||||
[*.yml]
|
||||
[*.{yml,yaml}]
|
||||
indent_size = 2
|
||||
33
.env.example
Normal file
@ -0,0 +1,33 @@
|
||||
# -----------------------------------------------------------------------------
|
||||
# App
|
||||
# -----------------------------------------------------------------------------
|
||||
BASEPATH=
|
||||
NEXT_PUBLIC_APP_URL=http://localhost:3000${BASEPATH}
|
||||
NEXT_PUBLIC_DOCS_URL=https://demos.pixinvent.com/vuexy-nextjs-admin-template/documentation
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Authentication (NextAuth.js)
|
||||
# -----------------------------------------------------------------------------
|
||||
NEXTAUTH_BASEPATH=${BASEPATH}/api/auth
|
||||
NEXTAUTH_URL=http://localhost:3000${BASEPATH}/api/auth
|
||||
NEXTAUTH_SECRET=
|
||||
|
||||
# Google OAuth 2.0 (https://console.cloud.google.com/apis/credentials)
|
||||
GOOGLE_CLIENT_ID=
|
||||
GOOGLE_CLIENT_SECRET=
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Database
|
||||
# -----------------------------------------------------------------------------
|
||||
DATABASE_URL=
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# API
|
||||
# -----------------------------------------------------------------------------
|
||||
API_URL=http://localhost:3000${BASEPATH}/api
|
||||
NEXT_PUBLIC_API_URL=${API_URL}
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Mapbox
|
||||
# -----------------------------------------------------------------------------
|
||||
MAPBOX_ACCESS_TOKEN=
|
||||
128
.eslintrc.js
Normal file
@ -0,0 +1,128 @@
|
||||
module.exports = {
|
||||
extends: ['next/core-web-vitals', 'plugin:@typescript-eslint/recommended', 'plugin:import/recommended', 'prettier'],
|
||||
rules: {
|
||||
'jsx-a11y/alt-text': 'off',
|
||||
'react/display-name': 'off',
|
||||
'react/no-children-prop': 'off',
|
||||
'@next/next/no-img-element': 'off',
|
||||
'@next/next/no-page-custom-font': 'off',
|
||||
'@typescript-eslint/consistent-type-imports': 'error',
|
||||
'@typescript-eslint/ban-ts-comment': 'off',
|
||||
'@typescript-eslint/no-explicit-any': 'off',
|
||||
'@typescript-eslint/no-unused-vars': 'error',
|
||||
'@typescript-eslint/no-non-null-assertion': 'off',
|
||||
'lines-around-comment': [
|
||||
'error',
|
||||
{
|
||||
beforeBlockComment: true,
|
||||
beforeLineComment: true,
|
||||
allowBlockStart: true,
|
||||
allowObjectStart: true,
|
||||
allowArrayStart: true
|
||||
}
|
||||
],
|
||||
'padding-line-between-statements': [
|
||||
'error',
|
||||
{
|
||||
blankLine: 'any',
|
||||
prev: 'export',
|
||||
next: 'export'
|
||||
},
|
||||
{
|
||||
blankLine: 'always',
|
||||
prev: ['const', 'let', 'var'],
|
||||
next: '*'
|
||||
},
|
||||
{
|
||||
blankLine: 'any',
|
||||
prev: ['const', 'let', 'var'],
|
||||
next: ['const', 'let', 'var']
|
||||
},
|
||||
{
|
||||
blankLine: 'always',
|
||||
prev: '*',
|
||||
next: ['function', 'multiline-const', 'multiline-block-like']
|
||||
},
|
||||
{
|
||||
blankLine: 'always',
|
||||
prev: ['function', 'multiline-const', 'multiline-block-like'],
|
||||
next: '*'
|
||||
}
|
||||
],
|
||||
'newline-before-return': 'error',
|
||||
'import/newline-after-import': [
|
||||
'error',
|
||||
{
|
||||
count: 1
|
||||
}
|
||||
],
|
||||
'import/order': [
|
||||
'error',
|
||||
{
|
||||
groups: ['builtin', 'external', ['internal', 'parent', 'sibling', 'index'], ['object', 'unknown']],
|
||||
pathGroups: [
|
||||
{
|
||||
pattern: 'react',
|
||||
group: 'external',
|
||||
position: 'before'
|
||||
},
|
||||
{
|
||||
pattern: 'next/**',
|
||||
group: 'external',
|
||||
position: 'before'
|
||||
},
|
||||
{
|
||||
pattern: '~/**',
|
||||
group: 'external',
|
||||
position: 'before'
|
||||
},
|
||||
{
|
||||
pattern: '@/**',
|
||||
group: 'internal'
|
||||
}
|
||||
],
|
||||
pathGroupsExcludedImportTypes: ['react', 'type'],
|
||||
'newlines-between': 'always-and-inside-groups'
|
||||
}
|
||||
],
|
||||
'@typescript-eslint/ban-types': [
|
||||
'error',
|
||||
{
|
||||
extendDefaults: true,
|
||||
types: {
|
||||
Function: 'Use a specific function type instead',
|
||||
Object: 'Use object instead',
|
||||
Boolean: 'Use boolean instead',
|
||||
Number: 'Use number instead',
|
||||
String: 'Use string instead',
|
||||
Symbol: 'Use symbol instead',
|
||||
any: false,
|
||||
'{}': false
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
settings: {
|
||||
react: {
|
||||
version: 'detect'
|
||||
},
|
||||
'import/parsers': {
|
||||
'@typescript-eslint/parser': ['.ts', '.tsx']
|
||||
},
|
||||
'import/resolver': {
|
||||
node: {},
|
||||
typescript: {
|
||||
project: './tsconfig.json'
|
||||
}
|
||||
}
|
||||
},
|
||||
overrides: [
|
||||
{
|
||||
files: ['*.ts', '*.tsx', 'src/iconify-bundle/*'],
|
||||
rules: {
|
||||
'@typescript-eslint/explicit-module-boundary-types': 'off',
|
||||
'@typescript-eslint/no-var-requires': 'off'
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
41
.gitignore
vendored
Normal file
@ -0,0 +1,41 @@
|
||||
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
|
||||
|
||||
# dependencies
|
||||
/node_modules
|
||||
/.pnp
|
||||
.pnp.js
|
||||
|
||||
# testing
|
||||
/coverage
|
||||
|
||||
# next.js
|
||||
/.next/
|
||||
/out/
|
||||
|
||||
# production
|
||||
/build
|
||||
|
||||
# misc
|
||||
.DS_Store
|
||||
*.pem
|
||||
|
||||
# debug
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
.pnpm-debug.log*
|
||||
|
||||
# local env files
|
||||
.env*.local
|
||||
.env
|
||||
|
||||
# vercel
|
||||
.vercel
|
||||
|
||||
# typescript
|
||||
*.tsbuildinfo
|
||||
next-env.d.ts
|
||||
|
||||
# icon generated file
|
||||
src/assets/iconify-icons/generated-icons.js
|
||||
src/assets/iconify-icons/generated-icons.css
|
||||
3
.npmrc
Normal file
@ -0,0 +1,3 @@
|
||||
auto-install-peers=true
|
||||
shamefully-hoist=true
|
||||
node-linker=hoisted
|
||||
17
.prettierrc.json
Normal file
@ -0,0 +1,17 @@
|
||||
{
|
||||
"arrowParens": "avoid",
|
||||
"bracketSpacing": true,
|
||||
"htmlWhitespaceSensitivity": "css",
|
||||
"insertPragma": false,
|
||||
"bracketSameLine": false,
|
||||
"jsxSingleQuote": true,
|
||||
"printWidth": 120,
|
||||
"proseWrap": "preserve",
|
||||
"quoteProps": "as-needed",
|
||||
"requirePragma": false,
|
||||
"semi": false,
|
||||
"singleQuote": true,
|
||||
"tabWidth": 2,
|
||||
"trailingComma": "none",
|
||||
"useTabs": false
|
||||
}
|
||||
16
.stylelintrc.json
Normal file
@ -0,0 +1,16 @@
|
||||
{
|
||||
"plugins": [
|
||||
"stylelint-use-logical-spec"
|
||||
],
|
||||
"overrides": [
|
||||
{
|
||||
"customSyntax": "postcss-styled-syntax",
|
||||
"files": [
|
||||
"**/*.{js,ts,jsx,tsx}"
|
||||
]
|
||||
}
|
||||
],
|
||||
"rules": {
|
||||
"liberty/use-logical-spec": "always"
|
||||
}
|
||||
}
|
||||
109
.vscode/custom.code-snippets
vendored
Normal file
@ -0,0 +1,109 @@
|
||||
{
|
||||
// JavaScript Snippets
|
||||
"exportDefault": {
|
||||
"prefix": "exp",
|
||||
"body": [
|
||||
"export default ${1:moduleName}",
|
||||
""
|
||||
]
|
||||
},
|
||||
"exportDestructing": {
|
||||
"prefix": "exd",
|
||||
"body": [
|
||||
"export { ${2:destructuredModule} } from '${1:module}'",
|
||||
""
|
||||
]
|
||||
},
|
||||
"exportAs": {
|
||||
"prefix": "exa",
|
||||
"body": [
|
||||
"export { ${2:originalName} as ${3:aliasName}} from '${1:module}'",
|
||||
""
|
||||
]
|
||||
},
|
||||
"exportDefaultFunction": {
|
||||
"prefix": "edf",
|
||||
"body": [
|
||||
"export default (${1:params}) => {",
|
||||
" $0",
|
||||
"}",
|
||||
""
|
||||
]
|
||||
},
|
||||
"exportDefaultNamedFunction": {
|
||||
"prefix": "ednf",
|
||||
"body": [
|
||||
"export default function ${1:functionName}(${2:params}) {",
|
||||
" $0",
|
||||
"}",
|
||||
""
|
||||
]
|
||||
},
|
||||
// React Snippets
|
||||
"reactArrowFunctionExportComponent": {
|
||||
"prefix": "rafce",
|
||||
"body": [
|
||||
"const ${1:ComponentName} = () => {",
|
||||
" return (",
|
||||
" $0",
|
||||
" )",
|
||||
"}",
|
||||
"",
|
||||
"export default ${1:ComponentName}",
|
||||
""
|
||||
]
|
||||
},
|
||||
"reactArrowFunctionComponent": {
|
||||
"prefix": "rafc",
|
||||
"body": [
|
||||
"const ${1:ComponentName} = () => {",
|
||||
" return (",
|
||||
" $0",
|
||||
" )",
|
||||
"}",
|
||||
""
|
||||
]
|
||||
},
|
||||
"reactUseState": {
|
||||
"prefix": "useState",
|
||||
"body": [
|
||||
"const [${1:state}, set${1/(.*)/${1:/capitalize}/}] = useState(${2:initialState})"
|
||||
]
|
||||
},
|
||||
"reactUseEffect": {
|
||||
"prefix": "useEffect",
|
||||
"body": [
|
||||
"useEffect(() => {",
|
||||
" $0",
|
||||
"}, [])"
|
||||
]
|
||||
},
|
||||
// Type Snippets
|
||||
"exportType": {
|
||||
"prefix": "exptp",
|
||||
"body": [
|
||||
"export type ${1:Props} = {",
|
||||
" ${2:name}: ${3:string}",
|
||||
"}",
|
||||
""
|
||||
]
|
||||
},
|
||||
"type": {
|
||||
"prefix": "tp",
|
||||
"body": [
|
||||
"type ${1:Props} = {",
|
||||
" ${2:name}: ${3:string}",
|
||||
"}",
|
||||
""
|
||||
]
|
||||
},
|
||||
// Next Snippets
|
||||
"nextImport": {
|
||||
"prefix": "impn",
|
||||
"body": [
|
||||
"// Next Import",
|
||||
"import ${2:second} from '${1:first}'",
|
||||
""
|
||||
]
|
||||
}
|
||||
}
|
||||
26
.vscode/extensions.json
vendored
Normal file
@ -0,0 +1,26 @@
|
||||
{
|
||||
"recommendations": [
|
||||
"formulahendry.auto-close-tag",
|
||||
"steoates.autoimport",
|
||||
"mgmcdermott.vscode-language-babel",
|
||||
"aaron-bond.better-comments",
|
||||
"MohammadBaqer.better-folding",
|
||||
"pustelto.bracketeer",
|
||||
"streetsidesoftware.code-spell-checker",
|
||||
"naumovs.color-highlight",
|
||||
"mikestead.dotenv",
|
||||
"EditorConfig.EditorConfig",
|
||||
"usernamehw.errorlens",
|
||||
"dbaeumer.vscode-eslint",
|
||||
"eamodio.gitlens",
|
||||
"antfu.iconify",
|
||||
"xabikos.JavaScriptSnippets",
|
||||
"christian-kohler.npm-intellisense",
|
||||
"christian-kohler.path-intellisense",
|
||||
"esbenp.prettier-vscode",
|
||||
"yoavbls.pretty-ts-errors",
|
||||
"jasonnutter.search-node-modules",
|
||||
"stylelint.vscode-stylelint",
|
||||
"styled-components.vscode-styled-components"
|
||||
]
|
||||
}
|
||||
53
.vscode/settings.json
vendored
Normal file
@ -0,0 +1,53 @@
|
||||
{
|
||||
// JS
|
||||
"javascript.updateImportsOnFileMove.enabled": "always",
|
||||
// JSON
|
||||
"[json]": {
|
||||
"editor.defaultFormatter": "vscode.json-language-features"
|
||||
},
|
||||
"[jsonc]": {
|
||||
"editor.defaultFormatter": "vscode.json-language-features"
|
||||
},
|
||||
// VSCode Editor
|
||||
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
||||
"editor.formatOnSave": true,
|
||||
"editor.codeActionsOnSave": {
|
||||
"source.fixAll.eslint": "explicit",
|
||||
"source.organizeImports": "never",
|
||||
"source.fixAll.stylelint": "explicit"
|
||||
},
|
||||
// Extension: Git
|
||||
"git.rebaseWhenSync": true,
|
||||
"git.autofetch": true,
|
||||
"git.enableSmartCommit": true,
|
||||
// Extension: Prettier
|
||||
"prettier.requireConfig": true,
|
||||
// Extension: ESLint
|
||||
"eslint.validate": [
|
||||
"javascript",
|
||||
"typescript",
|
||||
"javascriptreact",
|
||||
"typescriptreact"
|
||||
],
|
||||
"eslint.format.enable": true,
|
||||
// Stylelint
|
||||
"css.validate": false,
|
||||
"less.validate": false,
|
||||
"scss.validate": false,
|
||||
"stylelint.enable": true,
|
||||
"stylelint.validate": [
|
||||
"css",
|
||||
"scss",
|
||||
"typescript",
|
||||
"typescriptreact"
|
||||
],
|
||||
"markdown.extension.toc.updateOnSave": false,
|
||||
"files.insertFinalNewline": true,
|
||||
"editor.linkedEditing": true,
|
||||
"typescript.tsdk": "node_modules/typescript/lib",
|
||||
"cSpell.words": [
|
||||
"customizer",
|
||||
"iconify",
|
||||
"tanstack"
|
||||
]
|
||||
}
|
||||
34
README.md
Normal file
@ -0,0 +1,34 @@
|
||||
This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app).
|
||||
|
||||
## Getting Started
|
||||
|
||||
First, run the development server:
|
||||
|
||||
```bash
|
||||
npm run dev
|
||||
# or
|
||||
yarn dev
|
||||
# or
|
||||
pnpm dev
|
||||
```
|
||||
|
||||
Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
|
||||
|
||||
You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file.
|
||||
|
||||
This project uses [`next/font`](https://nextjs.org/docs/basic-features/font-optimization) to automatically optimize and load Inter, a custom Google Font.
|
||||
|
||||
## Learn More
|
||||
|
||||
To learn more about Next.js, take a look at the following resources:
|
||||
|
||||
- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
|
||||
- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
|
||||
|
||||
You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome!
|
||||
|
||||
## Deploy on Vercel
|
||||
|
||||
The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.
|
||||
|
||||
Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details.
|
||||
1
declarations.d.ts
vendored
Normal file
@ -0,0 +1 @@
|
||||
declare module 'tailwindcss-logical'
|
||||
29
next.config.ts
Normal file
@ -0,0 +1,29 @@
|
||||
import type { NextConfig } from 'next'
|
||||
|
||||
const nextConfig: NextConfig = {
|
||||
basePath: process.env.BASEPATH,
|
||||
redirects: async () => {
|
||||
return [
|
||||
{
|
||||
source: '/',
|
||||
destination: '/en/dashboards/crm',
|
||||
permanent: true,
|
||||
locale: false
|
||||
},
|
||||
{
|
||||
source: '/:lang(en|fr|ar)',
|
||||
destination: '/:lang/dashboards/crm',
|
||||
permanent: true,
|
||||
locale: false
|
||||
},
|
||||
{
|
||||
source: '/((?!(?:en|fr|ar|front-pages|favicon.ico)\\b)):path',
|
||||
destination: '/en/:path',
|
||||
permanent: true,
|
||||
locale: false
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
export default nextConfig
|
||||
12974
package-lock.json
generated
Normal file
116
package.json
Normal file
@ -0,0 +1,116 @@
|
||||
{
|
||||
"name": "vuexy-mui-nextjs-admin-template",
|
||||
"version": "4.0.0",
|
||||
"license": "Commercial",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"dev": "next dev --turbopack",
|
||||
"build": "next build",
|
||||
"start": "next start",
|
||||
"lint": "next lint",
|
||||
"lint:fix": "next lint --fix",
|
||||
"format": "prettier --write \"src/**/*.{js,jsx,ts,tsx}\"",
|
||||
"build:icons": "tsx src/assets/iconify-icons/bundle-icons-css.ts",
|
||||
"removeI18n": "tsx src/remove-translation-scripts/index.ts"
|
||||
},
|
||||
"dependencies": {
|
||||
"@emoji-mart/data": "1.2.1",
|
||||
"@emoji-mart/react": "1.1.1",
|
||||
"@emotion/cache": "11.14.0",
|
||||
"@emotion/react": "11.14.0",
|
||||
"@emotion/styled": "11.14.0",
|
||||
"@floating-ui/react": "0.27.2",
|
||||
"@formatjs/intl-localematcher": "0.5.9",
|
||||
"@formkit/drag-and-drop": "0.2.6",
|
||||
"@fullcalendar/common": "5.11.5",
|
||||
"@fullcalendar/core": "6.1.15",
|
||||
"@fullcalendar/daygrid": "6.1.15",
|
||||
"@fullcalendar/interaction": "6.1.15",
|
||||
"@fullcalendar/list": "6.1.15",
|
||||
"@fullcalendar/react": "6.1.15",
|
||||
"@fullcalendar/timegrid": "6.1.15",
|
||||
"@hookform/resolvers": "3.9.1",
|
||||
"@mui/lab": "6.0.0-beta.19",
|
||||
"@mui/material": "6.2.1",
|
||||
"@mui/material-nextjs": "6.2.1",
|
||||
"@reduxjs/toolkit": "2.5.0",
|
||||
"@tanstack/match-sorter-utils": "8.19.4",
|
||||
"@tanstack/react-query": "^5.84.1",
|
||||
"@tanstack/react-query-devtools": "^5.84.1",
|
||||
"@tanstack/react-table": "8.20.6",
|
||||
"@tiptap/extension-color": "^2.10.4",
|
||||
"@tiptap/extension-list-item": "^2.10.4",
|
||||
"@tiptap/extension-placeholder": "^2.10.4",
|
||||
"@tiptap/extension-text-align": "^2.10.4",
|
||||
"@tiptap/extension-text-style": "^2.10.4",
|
||||
"@tiptap/extension-underline": "^2.10.4",
|
||||
"@tiptap/pm": "^2.10.4",
|
||||
"@tiptap/react": "^2.10.4",
|
||||
"@tiptap/starter-kit": "^2.10.4",
|
||||
"apexcharts": "3.49.0",
|
||||
"axios": "^1.11.0",
|
||||
"bootstrap-icons": "1.11.3",
|
||||
"classnames": "2.5.1",
|
||||
"cmdk": "1.0.4",
|
||||
"date-fns": "4.1.0",
|
||||
"emoji-mart": "5.6.0",
|
||||
"fs-extra": "11.2.0",
|
||||
"input-otp": "1.4.1",
|
||||
"keen-slider": "6.8.6",
|
||||
"mapbox-gl": "3.9.0",
|
||||
"negotiator": "1.0.0",
|
||||
"next": "15.1.2",
|
||||
"react": "18.3.1",
|
||||
"react-apexcharts": "1.4.1",
|
||||
"react-colorful": "5.6.1",
|
||||
"react-datepicker": "7.3.0",
|
||||
"react-dom": "18.3.1",
|
||||
"react-dropzone": "14.3.5",
|
||||
"react-hook-form": "7.54.1",
|
||||
"react-map-gl": "7.1.8",
|
||||
"react-perfect-scrollbar": "1.5.8",
|
||||
"react-player": "2.16.0",
|
||||
"react-redux": "9.2.0",
|
||||
"react-toastify": "10.0.6",
|
||||
"react-use": "17.6.0",
|
||||
"recharts": "2.15.0",
|
||||
"valibot": "0.42.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@iconify/json": "2.2.286",
|
||||
"@iconify/tools": "4.1.1",
|
||||
"@iconify/types": "2.0.0",
|
||||
"@iconify/utils": "2.2.1",
|
||||
"@types/fs-extra": "^11.0.4",
|
||||
"@types/mapbox-gl": "^3.4.1",
|
||||
"@types/negotiator": "^0.6.3",
|
||||
"@types/node": "^22.10.2",
|
||||
"@types/react": "^18.3.18",
|
||||
"@types/react-dom": "^18.3.5",
|
||||
"@typescript-eslint/eslint-plugin": "7.18.0",
|
||||
"@typescript-eslint/parser": "7.18.0",
|
||||
"autoprefixer": "10.4.20",
|
||||
"consola": "3.3.0",
|
||||
"eslint": "8.57.1",
|
||||
"eslint-config-next": "15.1.2",
|
||||
"eslint-config-prettier": "9.1.0",
|
||||
"eslint-import-resolver-typescript": "3.7.0",
|
||||
"eslint-plugin-import": "2.31.0",
|
||||
"globby": "14.0.2",
|
||||
"postcss": "8.4.49",
|
||||
"postcss-styled-syntax": "0.7.0",
|
||||
"prettier": "3.4.2",
|
||||
"stylelint": "16.12.0",
|
||||
"stylelint-use-logical-spec": "5.0.1",
|
||||
"stylis": "4.3.4",
|
||||
"stylis-plugin-rtl": "2.1.1",
|
||||
"tailwindcss": "3.4.17",
|
||||
"tailwindcss-logical": "3.0.1",
|
||||
"tsx": "4.19.2",
|
||||
"typescript": "5.5.4"
|
||||
},
|
||||
"resolutions": {
|
||||
"rimraf": "^5.0.7",
|
||||
"@tiptap/core": "^2.0.0"
|
||||
}
|
||||
}
|
||||
8663
pnpm-lock.yaml
generated
Normal file
10
postcss.config.mjs
Normal file
@ -0,0 +1,10 @@
|
||||
/** @type {import('postcss-load-config').Config} */
|
||||
const config = {
|
||||
plugins: {
|
||||
'tailwindcss/nesting': {},
|
||||
tailwindcss: {},
|
||||
autoprefixer: {}
|
||||
}
|
||||
}
|
||||
|
||||
export default config
|
||||
BIN
public/images/apps/academy/1.png
Normal file
|
After Width: | Height: | Size: 73 KiB |
BIN
public/images/apps/academy/2.png
Normal file
|
After Width: | Height: | Size: 60 KiB |
BIN
public/images/apps/academy/3.png
Normal file
|
After Width: | Height: | Size: 82 KiB |
BIN
public/images/apps/academy/4.png
Normal file
|
After Width: | Height: | Size: 88 KiB |
BIN
public/images/apps/academy/5.png
Normal file
|
After Width: | Height: | Size: 87 KiB |
BIN
public/images/apps/academy/6.png
Normal file
|
After Width: | Height: | Size: 73 KiB |
BIN
public/images/apps/academy/7.png
Normal file
|
After Width: | Height: | Size: 96 KiB |
BIN
public/images/apps/academy/8.png
Normal file
|
After Width: | Height: | Size: 102 KiB |
BIN
public/images/apps/academy/9.png
Normal file
|
After Width: | Height: | Size: 27 KiB |
BIN
public/images/apps/academy/hand-with-bulb-dark.png
Normal file
|
After Width: | Height: | Size: 29 KiB |
BIN
public/images/apps/academy/hand-with-bulb-light.png
Normal file
|
After Width: | Height: | Size: 29 KiB |
BIN
public/images/apps/ecommerce/3d-rocket.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
public/images/apps/ecommerce/american-express.png
Normal file
|
After Width: | Height: | Size: 3.1 KiB |
BIN
public/images/apps/ecommerce/mastercard.png
Normal file
|
After Width: | Height: | Size: 1.0 KiB |
BIN
public/images/apps/ecommerce/paypal.png
Normal file
|
After Width: | Height: | Size: 958 B |
BIN
public/images/apps/ecommerce/product-1.png
Normal file
|
After Width: | Height: | Size: 8.4 KiB |
BIN
public/images/apps/ecommerce/product-10.png
Normal file
|
After Width: | Height: | Size: 7.7 KiB |
BIN
public/images/apps/ecommerce/product-11.png
Normal file
|
After Width: | Height: | Size: 6.3 KiB |
BIN
public/images/apps/ecommerce/product-12.png
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
BIN
public/images/apps/ecommerce/product-13.png
Normal file
|
After Width: | Height: | Size: 9.7 KiB |
BIN
public/images/apps/ecommerce/product-14.png
Normal file
|
After Width: | Height: | Size: 6.2 KiB |
BIN
public/images/apps/ecommerce/product-15.png
Normal file
|
After Width: | Height: | Size: 6.9 KiB |
BIN
public/images/apps/ecommerce/product-16.png
Normal file
|
After Width: | Height: | Size: 7.3 KiB |
BIN
public/images/apps/ecommerce/product-17.png
Normal file
|
After Width: | Height: | Size: 6.5 KiB |
BIN
public/images/apps/ecommerce/product-18.png
Normal file
|
After Width: | Height: | Size: 8.5 KiB |
BIN
public/images/apps/ecommerce/product-19.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
public/images/apps/ecommerce/product-2.png
Normal file
|
After Width: | Height: | Size: 9.4 KiB |
BIN
public/images/apps/ecommerce/product-20.png
Normal file
|
After Width: | Height: | Size: 6.3 KiB |
BIN
public/images/apps/ecommerce/product-21.png
Normal file
|
After Width: | Height: | Size: 2.3 KiB |
BIN
public/images/apps/ecommerce/product-22.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
public/images/apps/ecommerce/product-23.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
public/images/apps/ecommerce/product-24.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
public/images/apps/ecommerce/product-25.png
Normal file
|
After Width: | Height: | Size: 5.0 KiB |
BIN
public/images/apps/ecommerce/product-26.png
Normal file
|
After Width: | Height: | Size: 6.7 KiB |
BIN
public/images/apps/ecommerce/product-3.png
Normal file
|
After Width: | Height: | Size: 6.3 KiB |
BIN
public/images/apps/ecommerce/product-4.png
Normal file
|
After Width: | Height: | Size: 9.7 KiB |
BIN
public/images/apps/ecommerce/product-5.png
Normal file
|
After Width: | Height: | Size: 7.7 KiB |
BIN
public/images/apps/ecommerce/product-6.png
Normal file
|
After Width: | Height: | Size: 5.1 KiB |
BIN
public/images/apps/ecommerce/product-7.png
Normal file
|
After Width: | Height: | Size: 7.0 KiB |
BIN
public/images/apps/ecommerce/product-8.png
Normal file
|
After Width: | Height: | Size: 8.5 KiB |
BIN
public/images/apps/ecommerce/product-9.png
Normal file
|
After Width: | Height: | Size: 6.8 KiB |
BIN
public/images/apps/ecommerce/visa.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
public/images/apps/kanban/plant.png
Normal file
|
After Width: | Height: | Size: 44 KiB |
BIN
public/images/apps/logistics/fleet-car.png
Normal file
|
After Width: | Height: | Size: 6.7 KiB |
BIN
public/images/avatars/1.png
Normal file
|
After Width: | Height: | Size: 4.6 KiB |
BIN
public/images/avatars/10.png
Normal file
|
After Width: | Height: | Size: 5.3 KiB |
BIN
public/images/avatars/2.png
Normal file
|
After Width: | Height: | Size: 5.7 KiB |
BIN
public/images/avatars/3.png
Normal file
|
After Width: | Height: | Size: 4.9 KiB |
BIN
public/images/avatars/4.png
Normal file
|
After Width: | Height: | Size: 6.2 KiB |
BIN
public/images/avatars/5.png
Normal file
|
After Width: | Height: | Size: 6.1 KiB |
BIN
public/images/avatars/6.png
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
BIN
public/images/avatars/7.png
Normal file
|
After Width: | Height: | Size: 4.7 KiB |
BIN
public/images/avatars/8.png
Normal file
|
After Width: | Height: | Size: 5.2 KiB |
BIN
public/images/avatars/9.png
Normal file
|
After Width: | Height: | Size: 5.1 KiB |
BIN
public/images/cards/1.png
Normal file
|
After Width: | Height: | Size: 100 KiB |
BIN
public/images/cards/2.png
Normal file
|
After Width: | Height: | Size: 77 KiB |
BIN
public/images/cards/3.png
Normal file
|
After Width: | Height: | Size: 80 KiB |
BIN
public/images/cards/4.png
Normal file
|
After Width: | Height: | Size: 78 KiB |
BIN
public/images/cards/5.png
Normal file
|
After Width: | Height: | Size: 6.4 KiB |
BIN
public/images/cards/6.png
Normal file
|
After Width: | Height: | Size: 96 KiB |
BIN
public/images/cards/amazon-echo-dot.png
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
BIN
public/images/cards/apple-iPhone-13.png
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
public/images/cards/apple-watch-series-7.png
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
BIN
public/images/cards/australia.png
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
BIN
public/images/cards/beats-studio-2.png
Normal file
|
After Width: | Height: | Size: 3.9 KiB |
BIN
public/images/cards/brazil.png
Normal file
|
After Width: | Height: | Size: 3.9 KiB |
BIN
public/images/cards/china.png
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
public/images/cards/france.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
public/images/cards/graphic-illustration-1.png
Normal file
|
After Width: | Height: | Size: 24 KiB |
BIN
public/images/cards/graphic-illustration-2.png
Normal file
|
After Width: | Height: | Size: 38 KiB |
BIN
public/images/cards/graphic-illustration-3.png
Normal file
|
After Width: | Height: | Size: 26 KiB |
BIN
public/images/cards/india.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
public/images/cards/nike-air-jordan.png
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
BIN
public/images/cards/play-station-console.png
Normal file
|
After Width: | Height: | Size: 3.4 KiB |
BIN
public/images/cards/us.png
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
public/images/front-pages/apple-icon.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
public/images/front-pages/checkout.png
Normal file
|
After Width: | Height: | Size: 48 KiB |
BIN
public/images/front-pages/dropdown-image.png
Normal file
|
After Width: | Height: | Size: 66 KiB |
BIN
public/images/front-pages/footer-bg-dark.png
Normal file
|
After Width: | Height: | Size: 59 KiB |
BIN
public/images/front-pages/footer-bg-light.png
Normal file
|
After Width: | Height: | Size: 52 KiB |
BIN
public/images/front-pages/google-play-icon.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
public/images/front-pages/landing-page/bg-shape.png
Normal file
|
After Width: | Height: | Size: 5.0 KiB |
|
After Width: | Height: | Size: 224 KiB |