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

15
.editorconfig Normal file
View 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
View 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
View 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
View 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
View File

@ -0,0 +1,3 @@
auto-install-peers=true
shamefully-hoist=true
node-linker=hoisted

17
.prettierrc.json Normal file
View 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
View 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
View 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
View 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
View 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
View 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
View File

@ -0,0 +1 @@
declare module 'tailwindcss-logical'

29
next.config.ts Normal file
View 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

File diff suppressed because it is too large Load Diff

116
package.json Normal file
View 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

File diff suppressed because it is too large Load Diff

10
postcss.config.mjs Normal file
View File

@ -0,0 +1,10 @@
/** @type {import('postcss-load-config').Config} */
const config = {
plugins: {
'tailwindcss/nesting': {},
tailwindcss: {},
autoprefixer: {}
}
}
export default config

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 958 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

BIN
public/images/avatars/1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

BIN
public/images/avatars/2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

BIN
public/images/avatars/3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

BIN
public/images/avatars/4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

BIN
public/images/avatars/5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

BIN
public/images/avatars/6.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

BIN
public/images/avatars/7.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

BIN
public/images/avatars/8.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

BIN
public/images/avatars/9.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

BIN
public/images/cards/1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

BIN
public/images/cards/2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

BIN
public/images/cards/3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

BIN
public/images/cards/4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

BIN
public/images/cards/5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

BIN
public/images/cards/6.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

BIN
public/images/cards/us.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 224 KiB

Some files were not shown because too many files have changed in this diff Show More