Compare commits

...

16 Commits

Author SHA1 Message Date
Dev Server 17bed2b321 feat: calendar form improvements + real-time sync
Deploy to Dev / deploy-dev (push) Successful in 27s Details
2026-03-08 02:46:06 +03:00
root 47e134a857 fix
Deploy to Production / deploy-production (push) Successful in 26s Details
2026-02-28 21:55:33 +03:00
root 835bd76479 tur
Deploy to Production / deploy-production (push) Successful in 29s Details
2026-02-23 23:21:14 +03:00
root a167683bd9 bug fix
Deploy to Production / deploy-production (push) Successful in 49s Details
2026-02-23 21:44:27 +03:00
root 9382eab7b2 fix bugs 2026-02-23 15:44:27 +03:00
root d9121fe6ef fix bugs
Deploy to Production / deploy-production (push) Successful in 27s Details
2026-02-21 23:50:05 +03:00
root d4c4dbb087 mobile
Deploy to Production / deploy-production (push) Successful in 26s Details
2026-02-18 01:15:06 +03:00
root b4b99491ae moobile
Deploy to Production / deploy-production (push) Successful in 27s Details
2026-02-14 03:30:37 +03:00
root 0b5fb434db full
Deploy to Production / deploy-production (push) Successful in 27s Details
2026-02-14 02:45:50 +03:00
root 8c6406269c full
Deploy to Production / deploy-production (push) Successful in 26s Details
2026-02-13 20:35:13 +03:00
root 118f33f77b full
Deploy to Production / deploy-production (push) Successful in 26s Details
2026-02-13 19:26:30 +03:00
root 083fd4d826 prod: доска board, nginx, WhiteboardIframe EXCALIDRAW_URL
Deploy to Production / deploy-production (push) Successful in 26s Details
2026-02-13 04:30:56 +03:00
root d722ff49bd fix: deploy-dev только на develop/dev, main только prod
Deploy to Production / deploy-production (push) Successful in 26s Details
2026-02-13 03:07:50 +03:00
root 6420a9b182 Daphne (ASGI) для WebSocket, подписки, email, регистрация, mentor gate, telegram-bot
Deploy to Dev / deploy-dev (push) Failing after 3s Details
Deploy to Production / deploy-production (push) Successful in 26s Details
2026-02-13 02:58:25 +03:00
Dev Server e3517b39ff fix: use correct prod port 8123 in health check
Deploy to Dev / deploy-dev (push) Successful in 27s Details
Deploy to Production / deploy-production (push) Successful in 13s Details
2026-02-13 00:02:26 +03:00
Dev Server 2ff6ee9ab0 fix: update deploy-prod.yml workflow
Deploy to Dev / deploy-dev (push) Successful in 26s Details
Deploy to Production / deploy-production (push) Failing after 25s Details
2026-02-12 23:57:13 +03:00
3047 changed files with 261272 additions and 29454 deletions

View File

@ -2,7 +2,7 @@ name: Deploy to Dev
on:
push:
branches: [ main, master, develop, dev ]
branches: [ develop, dev ]
jobs:
deploy-dev:

View File

@ -1,90 +1,69 @@
name: Deploy to Production
on:
push:
branches: [ main, master ]
tags: [ 'v*' ]
paths-ignore:
- '**.md'
- '.gitignore'
- '.cursor/**'
jobs:
deploy-production:
runs-on: ubuntu-latest
if: github.event_name == 'push'
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup SSH
uses: webfactory/ssh-agent@v0.9.0
with:
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
- name: Deploy to Production Server
uses: appleboy/ssh-action@v1.0.0
with:
host: ${{ secrets.PROD_HOST }}
username: ${{ secrets.PROD_USER }}
key: ${{ secrets.SSH_PRIVATE_KEY }}
script: |
set -e
cd /var/www/platform/prod
# Load environment configuration
if [ -f .end.prod ]; then
source .end.prod
fi
# Pull latest changes
git pull origin main || git pull origin master || true
# Backup database before deployment
if [ "$BACKUP_BEFORE_DEPLOY" = "true" ]; then
mkdir -p /var/www/platform/backups
docker compose exec -T db pg_dump -U ${POSTGRES_USER} ${POSTGRES_DB} > /var/www/platform/backups/backup_$(date +%Y%m%d_%H%M%S).sql || true
fi
# Stop services gracefully
docker compose down --timeout 30 || true
# Build and start services
docker compose build --no-cache
docker compose up -d
# Wait for services to be ready
sleep 15
# Run migrations
docker compose exec -T web python manage.py migrate || true
# Collect static files
docker compose exec -T web python manage.py collectstatic --noinput || true
# Clear cache
docker compose exec -T web python manage.py clearcache || true
# Restart services
docker compose restart
echo "✅ Production deployment completed successfully"
- name: Health Check
uses: appleboy/ssh-action@v1.0.0
with:
host: ${{ secrets.PROD_HOST }}
username: ${{ secrets.PROD_USER }}
key: ${{ secrets.SSH_PRIVATE_KEY }}
script: |
sleep 15
docker compose ps
curl -f http://localhost:8123/health/ || exit 1
echo "✅ Health check passed"
- name: Notify Deployment
if: always()
run: |
echo "Deployment status: ${{ job.status }}"
# Здесь можно добавить уведомления (Telegram, Slack, Email и т.д.)
name: Deploy to Production
on:
push:
branches: [ main, master ]
jobs:
deploy-production:
runs-on: ubuntu-latest
steps:
- name: Deploy to Production Server
uses: appleboy/ssh-action@v1.0.0
with:
host: ${{ secrets.PROD_HOST }}
username: ${{ secrets.PROD_USER }}
key: ${{ secrets.SSH_PRIVATE_KEY }}
use_insecure_cipher: true
debug: true
script_stop: true
script: |
set -e
cd /var/www/platform/prod
echo "📦 Pulling latest changes from repository..."
git pull origin main || git pull origin master || git pull origin develop || git pull origin dev || true
echo "🔄 Restarting Docker services..."
docker compose restart
echo "📊 Running migrations (if needed)..."
docker compose exec -T web python manage.py migrate || true
echo "📁 Collecting static files (if needed)..."
docker compose exec -T web python manage.py collectstatic --noinput --clear || echo "⚠️ collectstatic failed, but continuing..."
echo "✅ Dev deployment completed successfully"
echo " You can continue working directly on the server"
- name: Health Check
uses: appleboy/ssh-action@v1.0.0
with:
host: ${{ secrets.PROD_HOST }}
username: ${{ secrets.PROD_USER }}
key: ${{ secrets.SSH_PRIVATE_KEY }}
use_insecure_cipher: true
debug: true
script_stop: true
script: |
set -e
cd /var/www/platform/prod
echo "⏳ Waiting for services to start..."
sleep 10
echo "📊 Checking Docker containers status..."
docker compose ps | head -10
echo ""
echo "🏥 Checking health endpoint..."
HEALTH_RESPONSE=$(curl -s http://localhost:8123/health/ 2>&1)
if [ -n "$HEALTH_RESPONSE" ]; then
echo "✅ Health endpoint is responding"
echo "$HEALTH_RESPONSE" | python3 -m json.tool 2>/dev/null | head -10 || echo "$HEALTH_RESPONSE" | head -5
if echo "$HEALTH_RESPONSE" | grep -q '"database".*"healthy"'; then
echo "✅ Database is healthy - deployment successful!"
else
echo "⚠️ Database check unclear, but endpoint responds"
fi
else
echo "⚠️ Health endpoint not available yet, but deployment completed"
fi

93
AUTO-BACKUP-SETUP.md Normal file
View File

@ -0,0 +1,93 @@
# Настройка автоматического резервного копирования БД
## 🎯 Автоматический бэкап дважды в день
Система автоматически создаёт бэкапы PROD и DEV БД:
- **00:00** (полночь)
- **12:00** (полдень)
## 📋 Установка
```bash
cd /var/www/platform/prod
# Сделать скрипты исполняемыми
chmod +x backup-db-auto.sh setup-cron-backup.sh remove-cron-backup.sh
# Настроить автоматический бэкап
./setup-cron-backup.sh
```
## ✅ Проверка
```bash
# Проверить, что задача добавлена в cron
crontab -l | grep backup-db-auto
# Должно быть:
# 0 0,12 * * * PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin /var/www/platform/prod/backup-db-auto.sh >> /var/www/platform/prod/backups/cron.log 2>&1
```
## 📊 Логи
```bash
# Логи автоматических бэкапов
tail -f /var/www/platform/prod/backups/backup.log
# Логи cron (ошибки выполнения)
tail -f /var/www/platform/prod/backups/cron.log
```
## 🗂️ Хранение бэкапов
- **Директория**: `/var/www/platform/prod/backups/`
- **Формат файлов**: `platform_prod_db_YYYYMMDD_HHMMSS.sql.gz`
- **Автоочистка**: Бэкапы старше 30 дней удаляются автоматически
- **Проверка места**: При использовании диска > 80% в лог пишется предупреждение
## 🔄 Ручной запуск
```bash
# Запустить бэкап вручную (для тестирования)
/var/www/platform/prod/backup-db-auto.sh
```
## 🗑️ Удаление автоматического бэкапа
```bash
# Удалить задачу из cron
./remove-cron-backup.sh
# Или вручную
crontab -l | grep -v backup-db-auto | crontab -
```
## 📝 Что делает скрипт
1. ✅ Проверяет, что контейнеры БД запущены
2. ✅ Создаёт бэкапы PROD и DEV БД
3. ✅ Сжимает бэкапы (gzip)
4. ✅ Проверяет размер бэкапов
5. ✅ Удаляет бэкапы старше 30 дней
6. ✅ Логирует все действия
7. ✅ Предупреждает о нехватке места на диске
## ⚠️ Важно
- Скрипт работает от пользователя `root` (нужен доступ к Docker)
- Бэкапы сохраняются в `/var/www/platform/prod/backups/`
- Старые бэкапы (30+ дней) удаляются автоматически
- При ошибках информация записывается в лог
## 🔍 Мониторинг
```bash
# Посмотреть последние бэкапы
ls -lh /var/www/platform/prod/backups/*.sql.gz | tail -10
# Проверить размер всех бэкапов
du -sh /var/www/platform/prod/backups/
# Посмотреть последние записи в логе
tail -20 /var/www/platform/prod/backups/backup.log
```

62
DOCKER-SERVER-CONFIG.md Normal file
View File

@ -0,0 +1,62 @@
# Конфигурация Docker на сервере
## Рекомендации для серверов с ограниченной RAM (8 GB)
### 1. Ограничение BuildKit cache
Чтобы BuildKit cache не раздувался до 80+ GB:
```bash
# Создать или отредактировать
sudo nano /etc/docker/daemon.json
```
Содержимое:
```json
{
"builder": {
"gc": {
"defaultKeepStorage": "10GB",
"enabled": true
}
},
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}
```
Затем перезапуск:
```bash
sudo systemctl restart docker
```
### 2. Очистка build cache
Если нужно освободить место вручную:
```bash
# Удалить неиспользуемый build cache (осторожно: следующая сборка будет дольше)
docker builder prune -af
# Или с ограничением по возрасту (старше 7 дней)
docker builder prune -af --filter "until=168h"
```
### 3. Frontend Dockerfile — лимит памяти Node.js
В `front_material/Dockerfile` уже задано:
```dockerfile
ENV NODE_OPTIONS="--max-old-space-size=2048"
```
Это ограничивает heap Node.js до 2 GB при сборке и снижает риск OOM и тяжёлого swapping на машинах с 8 GB RAM.
### 4. Swap
Рекомендуется swap 48 GB на серверах с 8 GB RAM — для стабильности при пиковых нагрузках.

View File

@ -0,0 +1,19 @@
module.exports = {
root: true,
env: { browser: true, es2020: true },
extends: [
'eslint:recommended',
'plugin:@typescript-eslint/recommended',
'plugin:react-hooks/recommended',
],
ignorePatterns: ['dist', '.eslintrc.cjs'],
parser: '@typescript-eslint/parser',
plugins: ['react-refresh'],
rules: {
"react/react-in-jsx-scope": "off",
'react-refresh/only-export-components': [
'warn',
{ allowConstantExport: true },
],
},
}

View File

@ -0,0 +1,24 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*
node_modules
dist
dist-ssr
*.local
# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?

View File

@ -0,0 +1 @@
legacy-peer-deps=true

View File

@ -0,0 +1,8 @@
{
"bracketSpacing": true,
"printWidth": 100,
"singleQuote": true,
"trailingComma": "all",
"tabWidth": 2,
"useTabs": false
}

View File

@ -0,0 +1,27 @@
# React + TypeScript + Vite
This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
Currently, two official plugins are available:
- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh
- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh
## Expanding the ESLint configuration
If you are developing a production application, we recommend updating the configuration to enable type aware lint rules:
- Configure the top-level `parserOptions` property like this:
```js
parserOptions: {
ecmaVersion: 'latest',
sourceType: 'module',
project: ['./tsconfig.json', './tsconfig.node.json'],
tsconfigRootDir: __dirname,
},
```
- Replace `plugin:@typescript-eslint/recommended` to `plugin:@typescript-eslint/recommended-type-checked` or `plugin:@typescript-eslint/strict-type-checked`
- Optionally add `plugin:@typescript-eslint/stylistic-type-checked`
- Install [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and add `plugin:react/recommended` & `plugin:react/jsx-runtime` to the `extends` list

View File

@ -0,0 +1,20 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/logoIcon.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Modernize Vite + React + TS</title>
<link
href="https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap"
rel="stylesheet"
/>
</head>
<body>
<div id="root"></div>
<script type="module" src="/src/main.tsx"></script>
<script>
const global = globalThis;
</script>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,96 @@
{
"name": "main-vite-ts",
"private": true,
"version": "5.0.0",
"type": "module",
"scripts": {
"dev": "vite",
"build": "tsc && vite build",
"lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
"preview": "vite preview"
},
"dependencies": {
"@casl/ability": "^6.3.3",
"@casl/react": "^3.1.0",
"@dnd-kit/core": "^6.1.0",
"@dnd-kit/sortable": "^8.0.0",
"@emotion/cache": "^11.11.0",
"@emotion/react": "^11.13.3",
"@emotion/server": "^11.11.0",
"@emotion/styled": "^11.13.0",
"@hello-pangea/dnd": "^17.0.0",
"@mui/icons-material": "^5.14.13",
"@mui/lab": "6.0.0-beta.10",
"@mui/material": "^6.1.6",
"@mui/system": "^6.1.10",
"@mui/x-charts": "7.23.1",
"@mui/x-date-pickers": "7.18.0",
"@mui/x-tree-view": "^7.18.0",
"@reduxjs/toolkit": "2.2.3",
"@svgr/rollup": "8.1.0",
"@tabler/icons-react": "^2.39.0",
"@tanstack/react-table": "^8.20.1",
"@tiptap/core": "^2.9.1",
"@tiptap/extension-image": "^2.9.1",
"@tiptap/extension-table": "^2.9.1",
"@tiptap/react": "^2.9.1",
"@tiptap/starter-kit": "^2.9.1",
"apexcharts": "3.48.0",
"axios": "1.7.7",
"axios-mock-adapter": "2.0.0",
"chance": "^1.1.11",
"date-fns": "^2.30.0",
"dayjs": "^1.11.13",
"emoji-picker-react": "^4.12.0",
"formik": "^2.4.5",
"formik-mui": "^5.0.0-alpha.0",
"framer-motion": "^10.16.4",
"fslightbox-react": "^1.7.6",
"gray-matter": "^4.0.3",
"i18next": "^23.5.1",
"lodash": "^4.17.21",
"moment": "^2.29.4",
"mui-tiptap": "^1.13.0",
"prop-types": "^15.7.2",
"react": "19.0.0-rc-02c0e824-20241028",
"react-apexcharts": "^1.4.1",
"react-big-calendar": "1.11.3",
"react-dom": "19.0.0-rc-02c0e824-20241028",
"react-dropzone": "^14.2.3",
"react-helmet": "^6.1.0",
"react-i18next": "^13.2.2",
"react-intersection-observer": "^9.5.2",
"react-redux": "9.1.2",
"react-router": "^7.0.2",
"react-slick": "^0.29.0",
"react-spring": "^9.7.3",
"react-syntax-highlighter": "^15.5.0",
"react-top-loading-bar": "^2.3.1",
"redux": "^5.0.1",
"redux-persist": "^6.0.0",
"remark": "^15.0.1",
"remark-html": "^16.0.1",
"sharp": "^0.32.6",
"simplebar": "^6.2.7",
"simplebar-react": "^3.2.4",
"slick-carousel": "^1.8.1",
"stylis-plugin-rtl": "^2.1.1",
"yup": "^0.32.11"
},
"devDependencies": {
"@types/chance": "^1.1.6",
"@types/fslightbox-react": "^1.7.8",
"@types/node": "22.10.1",
"@types/react": "19.0.1",
"@types/react-big-calendar": "^1.15.0",
"@types/react-dom": "19.0.1",
"@types/react-helmet": "^6.1.11",
"@types/react-slick": "^0.23.13",
"@types/react-syntax-highlighter": "^15.5.13",
"@vitejs/plugin-react": "^4.3.4",
"eslint": "latest",
"eslint-config-next": "latest",
"typescript": "5.7.2",
"vite": "6.0.3"
}
}

View File

@ -0,0 +1,6 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M18 28C20.7614 28 23.0507 25.7396 22.5021 23.0332C22.2103 21.5936 21.7915 20.1816 21.2492 18.8156C20.0934 15.9038 18.3992 13.258 16.2635 11.0294C14.1277 8.80083 11.5922 7.033 8.80172 5.82689C7.55517 5.2881 6.26864 4.86612 4.95736 4.56411C2.26639 3.94432 0 6.23858 0 9V23C0 25.7614 2.23858 28 5 28H18Z" fill="#5D87FF"/>
<g style="mix-blend-mode:multiply">
<path d="M14 28C11.2386 28 8.94929 25.7396 9.49792 23.0332C9.78975 21.5936 10.2085 20.1816 10.7508 18.8156C11.9066 15.9038 13.6008 13.258 15.7365 11.0294C17.8723 8.80083 20.4078 7.033 23.1983 5.82689C24.4448 5.2881 25.7314 4.86612 27.0426 4.56411C29.7336 3.94432 32 6.23858 32 9V23C32 25.7614 29.7614 28 27 28H14Z" fill="#49BEFF"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 810 B

View File

@ -0,0 +1,42 @@
#root {
max-width: 1280px;
margin: 0 auto;
padding: 2rem;
text-align: center;
}
.logo {
height: 6em;
padding: 1.5em;
will-change: filter;
transition: filter 300ms;
}
.logo:hover {
filter: drop-shadow(0 0 2em #646cffaa);
}
.logo.react:hover {
filter: drop-shadow(0 0 2em #61dafbaa);
}
@keyframes logo-spin {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
@media (prefers-reduced-motion: no-preference) {
a:nth-of-type(2) .logo {
animation: logo-spin infinite 20s linear;
}
}
.card {
padding: 2em;
}
.read-the-docs {
color: #888;
}

View File

@ -0,0 +1,28 @@
import { CssBaseline, ThemeProvider } from '@mui/material';
import { useSelector } from 'src/store/Store';
import { ThemeSettings } from './theme/Theme';
import RTL from './layouts/full/shared/customizer/RTL';
import { RouterProvider } from 'react-router';
import router from './routes/Router';
import { AppState } from './store/Store';
function App() {
const theme = ThemeSettings();
const customizer = useSelector((state: AppState) => state.customizer);
return (
<ThemeProvider theme={theme}>
<RTL direction={customizer.activeDir}>
<CssBaseline />
<RouterProvider router={router} />
</RTL>
</ThemeProvider>
);
}
export default App;

View File

@ -0,0 +1,39 @@
import { useState, useEffect } from 'react';
import TopLoadingBar from 'react-top-loading-bar';
import { useLocation } from 'react-router';
function LoadingBar() {
const [progress, setProgress] = useState(0);
const location = useLocation(); // page navigation.
const startLoading = () => {
setProgress(10); // Start loading
};
const finishLoading = () => {
setProgress(100); // Complete loading
setTimeout(() => setProgress(0), 10); // Reset progress after completion
};
// Trigger loading when route changes
useEffect(() => {
startLoading();
setTimeout(() => {
finishLoading(); // Complete the loader after 2 seconds (or after data load)
}, 2000); // 2-second delay
}, [location]); // trigger whenever the route changes
return (
<TopLoadingBar
color="#5D87FF"
height={3}
progress={progress}
/>
);
}
export default LoadingBar;

View File

@ -0,0 +1,289 @@
import mock from '../mock';
import { Chance } from 'chance';
import { random } from 'lodash';
import { sub } from 'date-fns';
import s1 from 'src/assets/images/blog/blog-img1.jpg';
import s2 from 'src/assets/images/blog/blog-img2.jpg';
import s3 from 'src/assets/images/blog/blog-img3.jpg';
import s4 from 'src/assets/images/blog/blog-img4.jpg';
import s5 from 'src/assets/images/blog/blog-img5.jpg';
import s6 from 'src/assets/images/blog/blog-img6.jpg';
import s7 from 'src/assets/images/blog/blog-img11.jpg';
import s8 from 'src/assets/images/blog/blog-img8.jpg';
import s9 from 'src/assets/images/blog/blog-img9.jpg';
import s10 from 'src/assets/images/blog/blog-img10.jpg';
import user1 from 'src/assets/images/profile/user-1.jpg';
import user2 from 'src/assets/images/profile/user-2.jpg';
import user3 from 'src/assets/images/profile/user-3.jpg';
import user4 from 'src/assets/images/profile/user-4.jpg';
import user5 from 'src/assets/images/profile/user-5.jpg';
import user6 from 'src/assets/images/profile/user-1.jpg';
import { uniqueId } from 'lodash';
import { BlogType, BlogPostType } from 'src/types/apps/blog';
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: user4,
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 for iOS',
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 iPhones ',
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, laptops',
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 Auclair',
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) => {
try {
const { title } = JSON.parse(config.data);
const paramCase = (t: string) =>
t
.toLowerCase()
.replace(/ /g, '-')
.replace(/[^\w-]+/g, '');
const post = BlogPost.find((_post) => 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) => {
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' }];
}
});

View File

@ -0,0 +1,532 @@
import mock from '../mock';
import bg1 from 'src/assets/images/blog/blog-img1.jpg';
import user1 from 'src/assets/images/profile/user-1.jpg';
import user2 from 'src/assets/images/profile/user-2.jpg';
import user3 from 'src/assets/images/profile/user-3.jpg';
import user4 from 'src/assets/images/profile/user-4.jpg';
import user5 from 'src/assets/images/profile/user-5.jpg';
import adobe from 'src/assets/images/chat/icon-adobe.svg';
import chrome from 'src/assets/images/chat/icon-chrome.svg';
import figma from 'src/assets/images/chat/icon-figma.svg';
import java from 'src/assets/images/chat/icon-javascript.svg';
import zip from 'src/assets/images/chat/icon-zip-folder.svg';
import { Chance } from 'chance';
import type { ChatsType } from 'src/types/apps/chat';
import { sub } from 'date-fns';
import { uniqueId } from 'lodash';
const chance = new Chance();
const ChatData: ChatsType[] = [
{
id: 1,
name: 'James Johnson',
status: 'online',
thumb: user1,
recent: false,
excerpt: 'Theme Developer',
messages: [
{
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(),
},
{
msg: bg1,
senderId: uniqueId(),
type: 'image',
attachment: [],
id: uniqueId(),
},
{
createdAt: sub(new Date(), { minutes: 5 }),
msg: chance.sentence({ words: 5 }),
senderId: 1,
type: 'text',
attachment: [],
id: uniqueId(),
},
],
},
{
id: 2,
name: 'Maria Hernandez',
status: 'away',
thumb: user2,
recent: true,
excerpt: 'Doctor',
messages: [
{
createdAt: sub(new Date(), { hours: 1 }),
msg: chance.sentence({ words: 5 }),
senderId: uniqueId(),
type: 'text',
attachment: [
{ icon: adobe, file: 'service-task.pdf', fileSize: '2MB' },
{ 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: 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(),
},
{
msg: bg1,
senderId: 2,
type: 'image',
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: user3,
recent: false,
excerpt: 'Hacker',
messages: [
{
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: 'Maria Rodriguez',
status: 'offline',
thumb: user4,
recent: true,
excerpt: 'Please wait outside of the house',
messages: [
{
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: bg1,
senderId: uniqueId(),
type: 'image',
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: user5,
recent: true,
excerpt: 'Front End Developer',
messages: [
{
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(),
},
{
msg: bg1,
senderId: 5,
type: 'image',
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 Sarah',
status: 'busy',
thumb: user1,
recent: false,
excerpt: 'Graphics Designer',
messages: [
{
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(),
},
{
msg: bg1,
senderId: uniqueId(),
type: 'image',
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,
excerpt: 'Back End Developer',
messages: [
{
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: 'David Elizabeth',
status: 'offline',
thumb: user3,
recent: false,
excerpt: 'Theme Developer',
messages: [
{
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,
excerpt: 'Administrator',
messages: [
{
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 Eliza',
status: 'online',
thumb: user5,
recent: false,
excerpt: 'Doctor',
messages: [
{
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;

View File

@ -0,0 +1,470 @@
import mock from '../mock';
import user1 from 'src/assets/images/profile/user-1.jpg';
import user2 from 'src/assets/images/profile/user-2.jpg';
import user3 from 'src/assets/images/profile/user-3.jpg';
import user4 from 'src/assets/images/profile/user-4.jpg';
import user5 from 'src/assets/images/profile/user-5.jpg';
import type { ContactType } from 'src/types/apps/contact';
import { Chance } from 'chance';
const chance = new Chance();
export const ContactList: ContactType[] = [
{
id: 1,
firstname: 'Georgeanna',
lastname: 'Ramero',
image: user2,
department: 'Sales',
company: 'Muller Inc',
phone: '456-485-5623',
email: 'qq739v47ggn@claimab.com',
address: '19214 110th Rd, Saint Albans, NY, 1141',
notes: chance.paragraph({ sentences: 2 }),
frequentlycontacted: true,
starred: true,
deleted: false,
},
{
id: 2,
firstname: 'Cami',
lastname: 'Macha',
image: user3,
department: 'Support',
company: 'Zboncak LLC',
phone: '999-895-9652',
email: 'Camisad@claimab.com',
address: '76 Hamilton Ave, Yonkers, NY, 10705',
notes: chance.paragraph({ sentences: 2 }),
frequentlycontacted: false,
starred: false,
deleted: false,
},
{
id: 3,
firstname: 'Alda',
lastname: 'Ziemer',
image: user4,
department: 'Engineering',
company: 'Lehner-Jacobson',
phone: '789-854-8950',
email: 'Ziemer234@claimab.com',
address: '930 Fruit Ave, Farrell, PA, 16121',
notes: chance.paragraph({ sentences: 2 }),
frequentlycontacted: true,
starred: false,
deleted: false,
},
{
id: 4,
firstname: 'Luciano',
lastname: 'Macpherson',
image: user5,
department: 'Support',
company: 'Champlin',
phone: '452-652-5230',
email: 'Macpherson34@claimab.com',
address: '19103 Stefani Ave, Cerritos, CA, 90703',
notes: chance.paragraph({ sentences: 2 }),
frequentlycontacted: false,
starred: true,
deleted: true,
},
{
id: 5,
firstname: 'Dalton',
lastname: 'Paden',
image: user1,
department: 'Engineering',
company: 'Balistreri',
phone: '985-985-7850',
email: 'Dalton321@claimab.com',
address: '3059 Edgewood Park Ct, Commerce Township',
notes: chance.paragraph({ sentences: 2 }),
frequentlycontacted: false,
starred: false,
deleted: false,
},
{
id: 6,
firstname: 'Juan',
lastname: 'Granado',
image: user2,
department: 'Support',
company: 'Bernier-Ankunding',
phone: '230-541-5231',
email: 'Granado567@claimab.com',
address: '1330 N Douglas Ave, Arlington Heights',
notes: chance.paragraph({ sentences: 2 }),
frequentlycontacted: true,
starred: false,
deleted: true,
},
{
id: 7,
firstname: 'Reva',
lastname: 'Allen',
image: user3,
department: 'Support',
company: 'Rosenbaum Inc',
phone: '478-582-6520',
email: 'Allen326@claimab.com',
address: '180 Topp Ln, Tupelo, MS',
notes: chance.paragraph({ sentences: 2 }),
frequentlycontacted: false,
starred: false,
deleted: true,
},
{
id: 8,
firstname: 'Jule',
lastname: 'Huseman',
image: user4,
department: 'Sales',
company: 'Smith-Romaguera',
phone: '123-652-2301',
email: 'Huseman458@claimab.com',
address: '33 Caraway Rd, Reisterstown, MD',
notes: chance.paragraph({ sentences: 2 }),
frequentlycontacted: true,
starred: true,
deleted: true,
},
{
id: 9,
firstname: 'Bridgette',
lastname: 'Phung',
image: user5,
department: 'Engineering',
company: 'Corwin-Kassulke',
phone: '652-452-6521',
email: 'Bridgette890@claimab.com',
address: '#RR, Bruceton Mills, WV',
notes: chance.paragraph({ sentences: 2 }),
frequentlycontacted: false,
starred: true,
deleted: true,
},
{
id: 10,
firstname: 'Ernest',
lastname: 'Cousins',
image: user2,
department: 'Support',
company: 'Homenick-Hartmann',
phone: '785-985-6541',
email: 'Ernest6543@claimab.com',
address: 'Michael I. Days 3756 Preston Street Wichita',
notes: chance.paragraph({ sentences: 2 }),
frequentlycontacted: false,
starred: false,
deleted: true,
},
{
id: 11,
firstname: 'Nicolette',
lastname: 'Trapani',
image: user1,
department: 'Engineering',
company: 'Gleason',
phone: '652-632-6520',
email: 'Nicoletteesdasd4@claimab.com',
address: 'Carol J. Stephens 1635 Franklin Street Montgomery',
notes: chance.paragraph({ sentences: 2 }),
frequentlycontacted: false,
starred: false,
deleted: true,
},
{
id: 12,
firstname: 'Virginia',
lastname: 'Bourdeau',
image: user2,
department: 'Support',
company: 'McKenzie and Sons',
phone: '125-985-3210',
email: 'Bourdeauerwe@claimab.com',
address: 'Donald M. Palmer 2595 Pearlman Avenue',
notes: chance.paragraph({ sentences: 2 }),
frequentlycontacted: true,
starred: false,
deleted: false,
},
{
id: 13,
firstname: 'Janita',
lastname: 'Vogl',
image: user3,
department: 'Sales',
company: 'Erdman-Moen',
phone: '541-521-6320',
email: 'Janitafdaa@claimab.com',
address: 'Micheal R. Porterfield 508 Virginia Street',
notes: chance.paragraph({ sentences: 2 }),
frequentlycontacted: true,
starred: true,
deleted: false,
},
{
id: 14,
firstname: 'Jeneva',
lastname: 'Bridgeforth',
image: user4,
department: 'Engineering',
company: 'Fay LLC',
phone: '975-895-5240',
email: 'Bridgeforth564@claimab.com',
address: 'Nathan K. Flores 1516 Holt Street West Palm',
notes: chance.paragraph({ sentences: 2 }),
frequentlycontacted: true,
starred: true,
deleted: false,
},
{
id: 15,
firstname: 'Roselia',
lastname: 'Principe',
image: user5,
department: 'Sales',
company: 'Bode-Oberbrunner',
phone: '874-546-6521',
email: 'Principe326@claimab.com',
address: '2915 Auburn Creek LnLeague City',
notes: chance.paragraph({ sentences: 2 }),
frequentlycontacted: false,
starred: true,
deleted: false,
},
{
id: 16,
firstname: 'Elvira',
lastname: 'Hylton',
image: user1,
department: 'Support',
company: 'Pagac Group',
phone: '652-542-5200',
email: 'Elviraoknsss@claimab.com',
address: '2725 Cottage Rd Alpine',
notes: chance.paragraph({ sentences: 2 }),
frequentlycontacted: false,
starred: false,
deleted: false,
},
{
id: 17,
firstname: 'Maragaret',
lastname: 'Pecor',
image: user2,
department: 'Sales',
company: 'Predovic and Sons',
phone: '326-984-1200',
email: 'Maragaret4352@mediafire.com',
address: '307 Hardy St Aberdeen',
notes: chance.paragraph({ sentences: 2 }),
frequentlycontacted: true,
starred: true,
deleted: false,
},
{
id: 18,
firstname: 'Willena',
lastname: 'Sugrue',
image: user3,
department: 'Support',
company: 'Graham Group',
phone: '265-632-4521',
email: 'Willena75637@claimab.com',
address: '15919 Golf Club Dr Crosby',
notes: chance.paragraph({ sentences: 2 }),
frequentlycontacted: true,
starred: true,
deleted: false,
},
{
id: 19,
firstname: 'Eura',
lastname: 'Solley',
image: user4,
department: 'Sales',
company: 'Toy-Ryan',
phone: '645-647-4800',
email: 'Solley6472@claimab.com',
address: 'Po Box 144 Rhome',
notes: chance.paragraph({ sentences: 2 }),
frequentlycontacted: false,
starred: false,
deleted: true,
},
{
id: 20,
firstname: 'Velva',
lastname: 'Brockett',
image: user5,
department: 'Support',
company: 'Walsh Ltd',
phone: '654-985-6520',
email: 'Brocketterewgdb@claimab.com',
address: '34 Fairview Ln Palm Coast',
notes: chance.paragraph({ sentences: 2 }),
frequentlycontacted: false,
starred: true,
deleted: true,
},
{
id: 21,
firstname: 'Anya',
lastname: 'Snapp',
image: user3,
department: 'Support',
company: 'Romaguera Inc',
phone: '456-652-3210',
email: 'Snapp76848@claimab.com',
address: '17919 Barney Dr Accokeek',
notes: chance.paragraph({ sentences: 2 }),
frequentlycontacted: true,
starred: false,
deleted: false,
},
{
id: 22,
firstname: 'Latoria',
lastname: 'Penaloza',
image: user1,
department: 'Engineering',
company: 'Leuschke',
phone: '459-985-4520',
email: 'Penaloza3546@claimab.com',
address: '14 Huntington Dr Greenbrier',
notes: chance.paragraph({ sentences: 2 }),
frequentlycontacted: true,
starred: false,
deleted: true,
},
{
id: 23,
firstname: 'Tamika',
lastname: 'Inman',
image: user2,
department: 'Sales',
company: 'Schumm',
phone: '645-978-4150',
email: 'Tamikadfdf45@claimab.com',
address: '1341 Mentionville Rd Darien',
notes: chance.paragraph({ sentences: 2 }),
frequentlycontacted: true,
starred: false,
deleted: true,
},
{
id: 24,
firstname: 'Erich',
lastname: 'Aragon',
image: user3,
department: 'Business Development',
company: 'Brakus',
phone: '450-980-6520',
email: 'Aragondfdf4567@claimab.com',
address: '13 Pent Rd Branford',
notes: chance.paragraph({ sentences: 2 }),
frequentlycontacted: false,
starred: false,
deleted: true,
},
{
id: 25,
firstname: 'Johanna',
lastname: 'Randel',
image: user4,
department: 'Sales',
company: 'Goyette',
phone: '120-320-4520',
email: 'Johanna456@claimab.com',
address: '5791 S Staghorn Cholla Ct Apache Junction',
notes: chance.paragraph({ sentences: 2 }),
frequentlycontacted: true,
starred: true,
deleted: true,
},
{
id: 26,
firstname: 'Victorina',
lastname: 'Heinze',
image: user4,
department: 'Business Development',
company: 'Fritsch',
phone: '452-521-1230',
email: 'Victorina4545@claimab.com',
address: '69 El Molino Dr Clayton',
notes: chance.paragraph({ sentences: 2 }),
frequentlycontacted: false,
starred: false,
deleted: true,
},
{
id: 27,
firstname: 'Kiley',
lastname: 'Light',
image: user5,
department: 'Sales',
company: 'Langosh',
phone: '652-452-1230',
email: 'Kileydfdfd45@claimab.com',
address: '215 Waterfront Ct Noblesville',
notes: chance.paragraph({ sentences: 2 }),
frequentlycontacted: false,
starred: true,
deleted: false,
},
{
id: 28,
firstname: 'Sanford',
lastname: 'Delorenzo',
image: user1,
department: 'Engineering',
company: 'Huels',
phone: '963-652-1230',
email: 'Delorenzo3456@claimab.com',
address: '11212 Amber Rd Manistee',
notes: chance.paragraph({ sentences: 2 }),
frequentlycontacted: true,
starred: true,
deleted: false,
},
{
id: 29,
firstname: 'Hans',
lastname: 'Strebel',
image: user2,
department: 'Sales',
company: 'Kohler',
phone: '546-654-1230',
email: 'Strebel345@claimab.com',
address: '2009 W Azalea Ave Baker',
notes: chance.paragraph({ sentences: 2 }),
frequentlycontacted: false,
starred: false,
deleted: false,
},
{
id: 30,
firstname: 'Roger',
lastname: 'Trinidad',
image: user1,
department: 'Sales',
company: 'Kling-Hintz',
phone: '123-456-7890',
email: '3mcrz8gmymd@claimab.com',
address: '203 Dawn Dr, Mount Holly, NC, 28120',
notes: chance.paragraph({ sentences: 2 }),
frequentlycontacted: false,
starred: true,
deleted: true,
},
];
mock.onGet('/api/data/contacts/ContactsData').reply(() => {
const contacts = ContactList;
return [200, JSON.parse(JSON.stringify(contacts))];
});
export default ContactList;

View File

@ -0,0 +1,230 @@
import mock from '../mock';
import { sub } from 'date-fns';
import { Chance } from 'chance';
import s1 from 'src/assets/images/products/s1.jpg';
import s2 from 'src/assets/images/products/s2.jpg';
import s3 from 'src/assets/images/products/s3.jpg';
import s4 from 'src/assets/images/products/s4.jpg';
import s5 from 'src/assets/images/products/s5.jpg';
import s6 from 'src/assets/images/products/s6.jpg';
import s7 from 'src/assets/images/products/s7.jpg';
import s8 from 'src/assets/images/products/s8.jpg';
import s9 from 'src/assets/images/products/s9.jpg';
import s10 from 'src/assets/images/products/s10.jpg';
import s11 from 'src/assets/images/products/s11.jpg';
import s12 from 'src/assets/images/products/s12.jpg';
const chance = new Chance();
const ProductsData = [
{
title: 'How Innovation Works',
price: 275,
discount: 25,
related: false,
salesPrice: 350,
category: ['books'],
gender: 'Men',
rating: 3,
stock: true,
qty: 1,
colors: ['#1890FF'],
photo: s1,
id: 1,
created: sub(new Date(), { days: 8, hours: 6, minutes: 20 }),
description: chance.paragraph({ sentences: 2 }),
},
{
title: 'Psalms Book for Growth',
price: 89,
discount: 10,
related: true,
salesPrice: 99,
category: ['books'],
gender: 'Women',
rating: 3,
stock: false,
qty: 1,
colors: ['#1890FF', '#94D82D', '#FF4842'],
photo: s2,
id: 2,
created: sub(new Date(), { days: 10, hours: 8, minutes: 69 }),
description: chance.paragraph({ sentences: 2 }),
},
{
title: 'The Psychology of Money',
price: 125,
discount: 12,
related: false,
salesPrice: 137,
category: ['fashion', 'books'],
gender: 'Kids',
rating: 3,
stock: true,
qty: 1,
colors: ['#FF4842', '#1890FF', '#94D82D'],
photo: s3,
id: 3,
created: sub(new Date(), { days: 8, hours: 6, minutes: 20 }),
description: chance.paragraph({ sentences: 2 }),
},
{
title: 'Boat Headphone',
price: 50,
discount: 15,
related: true,
salesPrice: 65,
category: ['electronics'],
gender: 'Men',
rating: 3,
stock: true,
qty: 1,
colors: ['#1890FF', '#94D82D', '#FFC107'],
photo: s4,
id: 4,
created: sub(new Date(), { days: 4, hours: 9, minutes: 40 }),
description: chance.paragraph({ sentences: 2 }),
},
{
title: 'MacBook Air Pro',
price: 650,
discount: 250,
related: true,
salesPrice: 900,
category: ['fashion', 'electronics'],
gender: 'Women',
rating: 3,
stock: false,
qty: 1,
colors: ['#00AB55', '#000000'],
photo: s5,
id: 5,
created: sub(new Date(), { days: 2, hours: 5, minutes: 50 }),
description: chance.paragraph({ sentences: 2 }),
},
{
title: 'Gaming Console',
price: 25,
discount: 6,
related: true,
salesPrice: 31,
category: ['electronics'],
gender: 'Men',
rating: 3,
stock: true,
qty: 1,
colors: ['#FFC0CB', '#FF4842'],
photo: s6,
id: 6,
created: sub(new Date(), { days: 2, hours: 9, minutes: 45 }),
description: chance.paragraph({ sentences: 2 }),
},
{
title: 'Red Valvet Dress',
price: 150,
discount: 50,
related: false,
salesPrice: 200,
category: ['fashion'],
gender: 'Women',
rating: 3,
stock: true,
qty: 1,
colors: ['#FF4842', '#1890FF', '#94D82D'],
photo: s7,
id: 7,
created: sub(new Date(), { days: 6, hours: 10, minutes: 0 }),
description: chance.paragraph({ sentences: 2 }),
},
{
title: 'Shoes for Girls',
price: 300,
discount: 80,
related: false,
salesPrice: 380,
category: ['fashion', 'toys'],
gender: 'Women',
rating: 3,
stock: true,
qty: 1,
colors: ['#1890FF', '#94D82D', '#FFC107'],
photo: s8,
id: 8,
created: sub(new Date(), { days: 7, hours: 5, minutes: 20 }),
description: chance.paragraph({ sentences: 2 }),
},
{
title: 'Short & Sweet Purse',
price: 175,
discount: 25,
related: false,
salesPrice: 200,
category: ['fashion'],
gender: 'Women',
rating: 3,
stock: true,
qty: 1,
colors: ['#00AB55', '#000000'],
photo: s9,
id: 9,
created: sub(new Date(), { days: 8, hours: 6, minutes: 20 }),
description: chance.paragraph({ sentences: 2 }),
},
{
title: 'Toy Dino for Fun',
price: 210,
discount: 40,
related: false,
salesPrice: 250,
category: ['toys'],
gender: 'Kids',
rating: 3,
stock: true,
qty: 1,
colors: ['#FFC0CB', '#FF4842'],
photo: s10,
id: 10,
created: sub(new Date(), { days: 6, hours: 6, minutes: 20 }),
description: chance.paragraph({ sentences: 2 }),
},
{
title: 'Cute Soft Teddybear',
price: 285,
discount: 60,
related: false,
salesPrice: 345,
category: ['toys'],
gender: 'Kids',
rating: 3,
stock: true,
qty: 1,
colors: ['#FF4842', '#1890FF', '#94D82D'],
photo: s11,
id: 11,
created: sub(new Date(), { days: 1, hours: 6, minutes: 20 }),
description: chance.paragraph({ sentences: 2 }),
},
{
title: 'Little Angel Toy',
price: 5,
discount: 5,
related: false,
salesPrice: 10,
category: ['toys'],
gender: 'Kids',
rating: 3,
stock: true,
qty: 1,
colors: ['#1890FF', '#94D82D', '#FFC107'],
photo: s12,
id: 12,
created: sub(new Date(), { days: 9, hours: 6, minutes: 20 }),
description: chance.paragraph({ sentences: 2 }),
},
];
mock.onGet('/api/data/eCommerce/ProductsData').reply(() => {
return [200, ProductsData];
});
export default ProductsData;

View File

@ -0,0 +1,508 @@
import mock from '../mock';
import user1 from 'src/assets/images/profile/user-1.jpg';
import user2 from 'src/assets/images/profile/user-2.jpg';
import user3 from 'src/assets/images/profile/user-3.jpg';
import user4 from 'src/assets/images/profile/user-4.jpg';
import user5 from 'src/assets/images/profile/user-5.jpg';
import user6 from 'src/assets/images/profile/user-1.jpg';
import user7 from 'src/assets/images/profile/user-2.jpg';
import user8 from 'src/assets/images/profile/user-3.jpg';
import type { EmailType } from 'src/types/apps/email';
import adobe from 'src/assets/images/chat/icon-adobe.svg';
import chrome from 'src/assets/images/chat/icon-chrome.svg';
import figma from 'src/assets/images/chat/icon-figma.svg';
import java from 'src/assets/images/chat/icon-javascript.svg';
import zip from 'src/assets/images/chat/icon-zip-folder.svg';
import { sub } from 'date-fns';
const EmailData: EmailType[] = [
{
id: 1,
from: 'James Smith',
thumbnail: user1,
subject: 'Kindly check this latest updated',
time: sub(new Date(), { days: 0, hours: 1, minutes: 45 }),
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,
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: user2,
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,
trash: false,
label: 'Social',
attchments: [],
},
{
id: 3,
from: 'Robert Smith',
thumbnail: user3,
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,
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: user4,
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,
sent: false,
draft: true,
spam: false,
trash: false,
label: 'Social',
attchments: [],
},
{
id: 5,
from: 'David Smith',
thumbnail: user5,
subject: 'Literature from 45 BC, making',
time: sub(new Date(), { days: 1, hours: 8, minutes: 45 }),
To: 'abc@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,
spam: false,
trash: false,
label: 'Social',
attchments: [],
},
{
id: 6,
from: 'Maria Rodriguez',
thumbnail: user6,
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,
sent: false,
draft: false,
spam: false,
trash: false,
label: 'Health',
attchments: [],
},
{
id: 7,
from: 'Mary Smith',
thumbnail: user7,
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,
inbox: true,
sent: false,
draft: false,
spam: false,
trash: false,
label: 'Social',
attchments: [],
},
{
id: 8,
from: 'Maria Hernandez',
thumbnail: user8,
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,
sent: false,
draft: false,
spam: true,
trash: false,
label: 'Social',
attchments: [],
},
{
id: 9,
from: 'Maria Martinez',
thumbnail: user1,
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,
sent: false,
draft: false,
spam: false,
trash: true,
label: 'Promotional',
attchments: [],
},
{
id: 10,
from: 'James Johnson',
thumbnail: user2,
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,
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,
sent: false,
draft: false,
spam: false,
trash: false,
label: 'Promotional',
attchments: [],
},
{
id: 12,
from: 'Michael Smith',
thumbnail: user1,
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,
inbox: true,
sent: false,
draft: true,
spam: false,
trash: true,
label: 'Social',
attchments: [],
},
{
id: 13,
from: 'Robert Smith',
thumbnail: user2,
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,
inbox: false,
sent: true,
draft: false,
spam: false,
trash: false,
label: 'Health',
attchments: [],
},
{
id: 14,
from: 'Maria Garcia',
thumbnail: user3,
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,
sent: false,
draft: false,
spam: false,
trash: true,
label: 'Social',
attchments: [],
},
{
id: 15,
from: 'David Smith',
thumbnail: user4,
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,
sent: false,
draft: false,
spam: false,
trash: true,
label: 'Promotional',
attchments: [],
},
{
id: 16,
from: 'Maria Rodriguez',
thumbnail: user5,
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,
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,
sent: false,
draft: false,
spam: true,
trash: false,
label: 'Health',
attchments: [],
},
{
id: 18,
from: 'Maria Hernandez',
thumbnail: user7,
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,
sent: true,
draft: false,
spam: false,
trash: false,
label: 'Promotional',
attchments: [],
},
{
id: 19,
from: 'Maria Martinez',
thumbnail: user8,
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,
sent: false,
draft: true,
spam: false,
trash: false,
label: 'Health',
attchments: [],
},
{
id: 20,
from: 'James Johnson',
thumbnail: user1,
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,
sent: false,
draft: false,
spam: false,
trash: false,
label: 'Social',
attchments: [],
},
];
mock.onGet('/api/data/email/EmailData').reply(() => {
const emails = EmailData;
return [200, JSON.parse(JSON.stringify(emails))];
});
export default EmailData;

View File

@ -0,0 +1,14 @@
import mock from './mock';
import './blog/blogData';
import './contacts/ContactsData';
import './chat/Chatdata';
import './notes/NotesData';
import './ticket/TicketData';
import './eCommerce/ProductsData';
import './email/EmailData';
import './userprofile/PostData';
import './userprofile/UsersData';
import './invoice/invoceLists';
import './kanban/KanbanData';
mock.onAny().passThrough();

View File

@ -0,0 +1,241 @@
import { InvoiceList } from 'src/types/apps/invoice';
import mock from '../mock';
export const invoceLists: InvoiceList[] = [
{
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: 9,
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/invoicedata').reply(() => {
return [200, invoceLists];
});
mock.onDelete('/api/data/invoicedata/deleteinvoice').reply((config) => {
const { invoiceId } = JSON.parse(config.data);
const invoiceIndex = invoceLists.findIndex(invoice => invoice.id === invoiceId);
if (invoiceIndex !== -1) {
invoceLists.splice(invoiceIndex, 1);
return [200, invoceLists];
} else {
return [404, { message: 'invoice not found' }];
}
})
// Function to find the next available ID
const getNextId = () => {
const maxId = Math.max(...invoceLists.map(invoice => invoice.id));
return maxId + 1;
};
// New endpoint to add an invoice
mock.onPost('/api/data/invoicedata/addinvoice').reply((config) => {
const newInvoice = JSON.parse(config.data);
newInvoice.id = getNextId();
invoceLists.push(newInvoice);
return [201, newInvoice];
});
// Mock API endpoint to update an invoice
mock.onPut('/api/data/invoicedata/updateinvoice').reply((config) => {
const updatedInvoice = JSON.parse(config.data);
const invoiceIndex = invoceLists.findIndex((invoice) => invoice.id === updatedInvoice.id);
if (invoiceIndex !== -1) {
invoceLists[invoiceIndex] = { ...updatedInvoice };
return [200, invoceLists[invoiceIndex]];
} else {
return [404, { message: 'Invoice not found' }];
}
});

View File

@ -0,0 +1,234 @@
import { TodoCategory } from '../../types/apps/kanban';
import mock from '../mock';
import img1 from '../../assets/images/kanban/kanban-img-1.jpg';
import img2 from '../../assets/images/kanban/kanban-img-2.jpg';
import img3 from '../../assets/images/kanban/kanban-img-3.jpg';
import img4 from '../../assets/images/kanban/kanban-img-4.jpg';
const KanbanData: TodoCategory[] = [
{
id: '1',
name: 'Todo',
child: [
{
id: '101',
task: 'This is first task',
taskImage: img1,
taskText: '',
date: '24 july',
taskProperty: 'Design',
},
{
id: '102',
task: 'lets do some task on pd',
taskImage: '',
taskText:
'Lorem ipsum dolor sit amet, consectetur adipisicing elit, o eiusmod tempor incid.',
date: '24 july',
taskProperty: 'Mobile',
},
{
id: '103',
task: 'Do some projects on React Native with Flutter',
taskImage: '',
taskText: '',
date: '24 july',
taskProperty: 'Mobile',
},
],
},
{
id: '2',
name: 'Progress',
child: [
{
id: '104',
task: 'Design navigation changes',
taskImage: '',
taskText: '',
date: '24 july',
taskProperty: 'Mobile',
category: '',
},
{
id: '105',
task: 'Battle with fire',
taskImage: img2,
taskText: '',
date: '24 july',
taskProperty: 'Design',
category: '',
},
{
id: '106',
task: 'First design concept',
taskImage: '',
taskText: '',
date: '24 july',
taskProperty: 'Mobile',
category: '',
},
],
},
{
id: '3',
name: 'Pending',
child: [
{
id: '107',
task: 'Persona development',
taskImage: '',
taskText:
'Create user personas based on the research data to represent different user groups and their characteristics, gols, and behaviors..',
date: '24 july',
taskProperty: 'UX Stage',
category: 'Pending',
},
{
id: '108',
task: 'Redesign overview',
taskImage: img3,
taskText: '',
date: '14 july',
taskProperty: 'Design',
category: 'Pending',
},
],
},
{
id: '4',
name: 'Done',
child: [
{
id: '109',
task: 'Usability testing',
taskImage: img4,
taskText: '',
date: '24 july',
taskProperty: 'Research',
category: 'Done',
},
{
id: '110',
task: 'Introduce new navigation',
taskImage: '',
taskText: '',
date: '24 july',
taskProperty: 'Data Science',
category: 'Done',
},
{
id: '111',
task: 'Branding visual identity',
taskImage: '',
taskText: '',
date: '4 july',
taskProperty: 'Branding',
category: 'Done',
},
{
id: '112',
task: 'Competitor research',
taskImage: '',
taskText:
'research competitors and identify weakness and strengths each of them. comparing their product features, quelity...',
date: '14 july',
taskProperty: 'UX Stage',
category: 'Done',
},
],
},
];
// Extracting unique task properties from TodoData
const taskPropertiesSet = new Set<string>();
// Using forEach loops instead of flatMap
KanbanData.forEach((category) => {
category.child.forEach((task) => {
taskPropertiesSet.add(task.taskProperty);
});
});
// Convert Set to array
export const TaskProperties = Array.from(taskPropertiesSet);
// Mock API endpoint to fetch TodoData
mock.onGet('/api/TodoData').reply(200, KanbanData);
// Mock API endpoint to delete a category
mock.onDelete('/api/TodoData').reply((config) => {
const { id } = JSON.parse(config.data);
const updatedTodoData = KanbanData.filter((category) => category.id !== id);
return [200, updatedTodoData];
});
// Mock API endpoint to clear all tasks from a category
mock.onDelete('/api/TodoData/clearTasks').reply((config) => {
const { categoryId } = JSON.parse(config.data);
const updatedTodoData = KanbanData.map((category) => {
if (category.id === categoryId) {
return { ...category, child: [] };
}
return category;
});
return [200, updatedTodoData];
});
// Mock API endpoint to add a new task
mock.onPost('/api/TodoData/addTask').reply((config) => {
const { categoryId, newTaskData } = JSON.parse(config.data);
const updatedTodoData = KanbanData.map((category) => {
if (category.id === categoryId) {
return { ...category, child: [...category.child, newTaskData] };
}
return category;
});
return [200, updatedTodoData];
});
// Mock API endpoint to add a new category
mock.onPost('/api/TodoData/addCategory').reply((config) => {
const { categoryName } = JSON.parse(config.data);
const newCategory = {
id: Math.random(),
name: categoryName,
child: [],
};
KanbanData.push(newCategory);
return [200, newCategory];
});
// Mock API endpoint to update the name of a category
mock.onPost('/api/TodoData/updateCategory').reply((config) => {
const { categoryId, categoryName } = JSON.parse(config.data);
const updatedTodoData = KanbanData.map((category) => {
if (category.id === categoryId) {
return { ...category, name: categoryName };
}
return category;
});
return [200, updatedTodoData];
});
// Mock API endpoint to edit a task
mock.onPut('/api/TodoData/editTask').reply((config) => {
const { taskId, newData } = JSON.parse(config.data);
KanbanData.forEach((category) => {
category.child.forEach((task) => {
if (task.id === taskId) {
Object.assign(task, newData);
}
});
});
return [200, KanbanData];
});
// Mock API endpoint to delete a task
mock.onDelete('/api/TodoData/deleteTask').reply((config) => {
const { taskId } = JSON.parse(config.data);
const updatedTodoData = KanbanData.filter((task) => task.id !== taskId);
return [200, updatedTodoData];
});
export default KanbanData;

View File

@ -0,0 +1,40 @@
import mock from '../mock';
import FlagEn from 'src/assets/images/svgs/icon-flag-en.svg';
import FlagFr from 'src/assets/images/svgs/icon-flag-fr.svg';
import FlagCn from 'src/assets/images/svgs/icon-flag-cn.svg';
import FlagSa from 'src/assets/images/svgs/icon-flag-sa.svg';
import FlagVn from 'src/assets/images/svgs/icon-flag-vn.svg';
const LanguageData = [
{
id: 1,
flagname: 'English',
icon: FlagEn,
},
{
id: 2,
flagname: 'French',
icon: FlagFr,
},
{
id: 3,
flagname: 'Vietnamese',
icon: FlagVn,
},
{
id: 4,
flagname: 'Chinese',
icon: FlagCn,
},
{
id: 5,
flagname: 'Arabic (Sudan)',
icon: FlagSa,
},
];
mock.onGet('/api/data/language/LanguageData').reply(() => {
return [200, LanguageData];
});
export default LanguageData;

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;

View File

@ -0,0 +1,48 @@
import mock from '../mock';
interface notesType {
id: number;
color: string;
title: string;
datef: string;
deleted: boolean;
}
const NotesData: notesType[] = [
{
id: 1,
color: 'info',
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',
deleted: false,
},
{
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',
deleted: false,
},
{
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',
deleted: false,
},
{
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',
deleted: false,
},
];
mock.onGet('/api/data/notes/NotesData').reply(() => {
return [200, NotesData];
});
export default NotesData;

View File

@ -0,0 +1,114 @@
import mock from '../mock';
import user1 from 'src/assets/images/profile/user-1.jpg';
import user2 from 'src/assets/images/profile/user-2.jpg';
import user3 from 'src/assets/images/profile/user-3.jpg';
import user4 from 'src/assets/images/profile/user-4.jpg';
import user5 from 'src/assets/images/profile/user-5.jpg';
import { Chance } from 'chance';
import { TicketType } from 'src/types/apps/ticket';
const chance = new Chance();
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: user1,
AgentName: 'Liam',
Date: chance.date(),
deleted: false,
},
{
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: user2,
AgentName: 'Steve',
Date: chance.date(),
deleted: false,
},
{
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: user3,
AgentName: 'Jack',
Date: chance.date(),
deleted: false,
},
{
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: user4,
AgentName: 'Steve',
Date: chance.date(),
deleted: false,
},
{
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: user5,
AgentName: 'Liam',
Date: chance.date(),
deleted: false,
},
{
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: user1,
AgentName: 'Jack',
Date: chance.date(),
deleted: false,
},
{
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: user2,
AgentName: 'Steve',
Date: chance.date(),
deleted: false,
},
{
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: user3,
AgentName: 'John',
Date: chance.date(),
deleted: false,
},
];
mock.onGet('/api/data/ticket/TicketData').reply(() => {
return [200, TicketData];
});
export default TicketData;

View File

@ -0,0 +1,262 @@
import mock from '../mock';
import image1 from 'src/assets/images/products/s1.jpg';
import image2 from 'src/assets/images/products/s2.jpg';
import image4 from 'src/assets/images/products/s4.jpg';
import user1 from 'src/assets/images/profile/user-1.jpg';
import user2 from 'src/assets/images/profile/user-2.jpg';
import user3 from 'src/assets/images/profile/user-3.jpg';
import user4 from 'src/assets/images/profile/user-4.jpg';
import user5 from 'src/assets/images/profile/user-5.jpg';
import user6 from 'src/assets/images/profile/user-1.jpg';
import { Chance } from 'chance';
import { PostType } from 'src/types/apps/userProfile';
const chance = new Chance();
// social profile
const posts: PostType[] = [
{
id: chance.integer({ min: 1, max: 2000 }),
profile: {
id: chance.integer({ min: 1, max: 2000 }),
avatar: user1,
name: 'Mathew Anderson',
time: '15 min ago',
},
data: {
content: chance.paragraph({ sentences: 2 }),
images: [
{
img: image1,
featured: true,
},
],
likes: {
like: true,
value: 67,
},
comments: [
{
id: chance.integer({ min: 1, max: 2000 }),
profile: {
id: chance.integer({ min: 1, max: 2000 }),
avatar: user3,
name: 'Deran Mac',
time: '8 min ago ',
},
data: {
comment: chance.paragraph({ sentences: 2 }),
likes: {
like: true,
value: 55,
},
replies: [],
},
},
{
id: chance.integer({ min: 1, max: 2000 }),
profile: {
id: chance.integer({ min: 1, max: 2000 }),
avatar: user4,
name: 'Jonathan Bg',
time: '5 min ago ',
},
data: {
comment: chance.paragraph({ sentences: 2 }),
likes: {
like: false,
value: 68,
},
replies: [
{
id: chance.integer({ min: 1, max: 2000 }),
profile: {
id: chance.integer({ min: 1, max: 2000 }),
avatar: user5,
name: 'Carry minati',
time: 'just now ',
},
data: {
comment: chance.paragraph({ sentences: 2 }),
likes: {
like: true,
value: 10,
},
},
},
],
},
},
],
},
},
{
id: chance.integer({ min: 1, max: 2000 }),
profile: {
id: chance.integer({ min: 1, max: 2000 }),
avatar: user5,
name: 'Carry Minati',
time: 'now',
},
data: {
content: chance.paragraph({ sentences: 2 }),
images: [],
likes: {
like: true,
value: 1,
},
comments: [],
},
},
{
id: chance.integer({ min: 1, max: 2000 }),
profile: {
id: chance.integer({ min: 1, max: 2000 }),
avatar: user2,
name: 'Genelia Desouza',
time: '15 min ago ',
},
data: {
content: chance.paragraph({ sentences: 2 }),
images: [
{
img: image2,
title: 'Image Title',
},
{
img: image4,
title: 'Painter',
},
],
likes: {
like: false,
value: 320,
},
comments: [
{
id: chance.integer({ min: 1, max: 2000 }),
profile: {
id: chance.integer({ min: 1, max: 2000 }),
avatar: user3,
name: 'Ritesh Deshmukh',
time: '15 min ago ',
},
data: {
comment: chance.paragraph({ sentences: 2 }),
likes: {
like: true,
value: 65,
},
replies: [],
},
},
],
},
},
{
id: chance.integer({ min: 1, max: 2000 }),
profile: {
id: chance.integer({ min: 1, max: 2000 }),
avatar: user6,
name: 'Mathew Anderson',
time: '15 min ago ',
},
data: {
content: chance.paragraph({ sentences: 2 }),
images: [],
video: 'd1-FRj20WBE',
likes: {
like: true,
value: 129,
},
},
},
];
mock.onGet('/api/data/postData').reply(() => {
return [200, posts];
});
mock.onPost('/api/data/posts/like').reply((config) => {
try {
const { postId } = JSON.parse(config.data);
const postIndex = posts.findIndex((x) => 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/data/posts/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 = [...cComments, comment];
return [200, { posts: [...posts] }];
} catch (err) {
console.error(err);
return [500, { message: 'Internal server error' }];
}
});
mock.onPost('/api/data/posts/replies/add').reply((config) => {
try {
const { postId, commentId, reply } = JSON.parse(config.data);
const postIndex = posts.findIndex((x) => x.id === postId);
const post = posts[postIndex];
const cComments = post.data.comments || [];
const commentIndex = cComments.findIndex((x) => x.id === commentId);
const comment = cComments[commentIndex];
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/data/posts/replies/like').reply((config) => {
try {
const { postId, commentId } = JSON.parse(config.data);
const postIndex = posts.findIndex((x) => x.id === postId);
const post = posts[postIndex];
const cComments = post.data.comments || [];
const commentIndex = cComments.findIndex((x) => x.id === commentId);
const comment = { ...cComments[commentIndex] };
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' }];
}
});
export default posts;

View File

@ -0,0 +1,276 @@
import mock from '../mock';
import { sub } from 'date-fns';
import user1 from 'src/assets/images/profile/user-1.jpg';
import user2 from 'src/assets/images/profile/user-2.jpg';
import user3 from 'src/assets/images/profile/user-3.jpg';
import user4 from 'src/assets/images/profile/user-4.jpg';
import user5 from 'src/assets/images/profile/user-5.jpg';
import user6 from 'src/assets/images/profile/user-6.jpg';
import user7 from 'src/assets/images/profile/user-7.jpg';
import user8 from 'src/assets/images/profile/user-8.jpg';
import user9 from 'src/assets/images/profile/user-9.jpg';
import user10 from 'src/assets/images/profile/user-10.jpg';
import s1 from 'src/assets/images/products/s1.jpg';
import s2 from 'src/assets/images/products/s2.jpg';
import s3 from 'src/assets/images/products/s3.jpg';
import s4 from 'src/assets/images/products/s4.jpg';
import s5 from 'src/assets/images/products/s5.jpg';
import s6 from 'src/assets/images/products/s6.jpg';
import s7 from 'src/assets/images/products/s7.jpg';
import s8 from 'src/assets/images/products/s8.jpg';
import s9 from 'src/assets/images/products/s9.jpg';
import s10 from 'src/assets/images/products/s10.jpg';
import s11 from 'src/assets/images/products/s11.jpg';
import s12 from 'src/assets/images/products/s12.jpg';
import { Chance } from 'chance';
import { uniqueId } from 'lodash';
import type { userType } from 'src/types/apps/users';
const chance = new Chance();
const users: userType[] = [
{
id: uniqueId('#follow_'),
avatar: user1,
name: chance.name(),
role: chance.profession(),
country: chance.country({ full: true }),
isFollowed: chance.bool(),
},
{
id: uniqueId('#follow_'),
avatar: user2,
name: chance.name(),
role: chance.profession(),
country: chance.country({ full: true }),
isFollowed: chance.bool(),
},
{
id: uniqueId('#follow_'),
avatar: user3,
name: chance.name(),
role: chance.profession(),
country: chance.country({ full: true }),
isFollowed: chance.bool(),
},
{
id: uniqueId('#follow_'),
avatar: user4,
name: chance.name(),
role: chance.profession(),
country: chance.country({ full: true }),
isFollowed: chance.bool(),
},
{
id: uniqueId('#follow_'),
avatar: user5,
name: chance.name(),
role: chance.profession(),
country: chance.country({ full: true }),
isFollowed: chance.bool(),
},
{
id: uniqueId('#follow_'),
avatar: user6,
name: chance.name(),
role: chance.profession(),
country: chance.country({ full: true }),
isFollowed: chance.bool(),
},
{
id: uniqueId('#follow_'),
avatar: user7,
name: chance.name(),
role: chance.profession(),
country: chance.country({ full: true }),
isFollowed: chance.bool(),
},
{
id: uniqueId('#follow_'),
avatar: user8,
name: chance.name(),
role: chance.profession(),
country: chance.country({ full: true }),
isFollowed: chance.bool(),
},
{
id: uniqueId('#follow_'),
avatar: user9,
name: chance.name(),
role: chance.profession(),
country: chance.country({ full: true }),
isFollowed: chance.bool(),
},
{
id: uniqueId('#follow_'),
avatar: user10,
name: chance.name(),
role: chance.profession(),
country: chance.country({ full: true }),
isFollowed: chance.bool(),
},
{
id: uniqueId('#follow_'),
avatar: user1,
name: chance.name(),
role: chance.profession(),
country: chance.country({ full: true }),
isFollowed: chance.bool(),
},
{
id: uniqueId('#follow_'),
avatar: user2,
name: chance.name(),
role: chance.profession(),
country: chance.country({ full: true }),
isFollowed: chance.bool(),
},
{
id: uniqueId('#follow_'),
avatar: user3,
name: chance.name(),
role: chance.profession(),
country: chance.country({ full: true }),
isFollowed: chance.bool(),
},
{
id: uniqueId('#follow_'),
avatar: user4,
name: chance.name(),
role: chance.profession(),
country: chance.country({ full: true }),
isFollowed: chance.bool(),
},
{
id: uniqueId('#follow_'),
avatar: user5,
name: chance.name(),
role: chance.profession(),
country: chance.country({ full: true }),
isFollowed: chance.bool(),
},
{
id: uniqueId('#follow_'),
avatar: user6,
name: chance.name(),
role: chance.profession(),
country: chance.country({ full: true }),
isFollowed: chance.bool(),
},
{
id: uniqueId('#follow_'),
avatar: user7,
name: chance.name(),
role: chance.profession(),
country: chance.country({ full: true }),
isFollowed: chance.bool(),
},
{
id: uniqueId('#follow_'),
avatar: user8,
name: chance.name(),
role: chance.profession(),
country: chance.country({ full: true }),
isFollowed: chance.bool(),
},
{
id: uniqueId('#follow_'),
avatar: user9,
name: chance.name(),
role: chance.profession(),
country: chance.country({ full: true }),
isFollowed: chance.bool(),
},
{
id: uniqueId('#follow_'),
avatar: user10,
name: chance.name(),
role: chance.profession(),
country: chance.country({ full: true }),
isFollowed: chance.bool(),
},
];
const gallery = [
{
id: uniqueId('#gallery_'),
cover: s1,
name: chance.sentence({ words: 3 }),
time: sub(new Date(), { days: 8, hours: 6, minutes: 20 }),
},
{
id: uniqueId('#gallery_'),
cover: s2,
name: chance.sentence({ words: 3 }),
time: sub(new Date(), { days: 8, hours: 4, minutes: 20 }),
},
{
id: uniqueId('#gallery_'),
cover: s3,
name: chance.sentence({ words: 3 }),
time: sub(new Date(), { days: 8, hours: 3, minutes: 20 }),
},
{
id: uniqueId('#gallery_'),
cover: s4,
name: chance.sentence({ words: 3 }),
time: sub(new Date(), { days: 8, hours: 2, minutes: 20 }),
},
{
id: uniqueId('#gallery_'),
cover: s5,
name: chance.sentence({ words: 3 }),
time: sub(new Date(), { days: 8, hours: 1, minutes: 20 }),
},
{
id: uniqueId('#gallery_'),
cover: s6,
name: chance.sentence({ words: 3 }),
time: sub(new Date(), { days: 7, hours: 6, minutes: 20 }),
},
{
id: uniqueId('#gallery_'),
cover: s7,
name: chance.sentence({ words: 3 }),
time: sub(new Date(), { days: 6, hours: 6, minutes: 20 }),
},
{
id: uniqueId('#gallery_'),
cover: s8,
name: chance.sentence({ words: 3 }),
time: sub(new Date(), { days: 5, hours: 6, minutes: 20 }),
},
{
id: uniqueId('#gallery_'),
cover: s9,
name: chance.sentence({ words: 3 }),
time: sub(new Date(), { days: 4, hours: 6, minutes: 20 }),
},
{
id: uniqueId('#gallery_'),
cover: s10,
name: chance.sentence({ words: 3 }),
time: sub(new Date(), { days: 3, hours: 6, minutes: 20 }),
},
{
id: uniqueId('#gallery_'),
cover: s11,
name: chance.sentence({ words: 3 }),
time: sub(new Date(), { days: 2, hours: 6, minutes: 20 }),
},
{
id: uniqueId('#gallery_'),
cover: s12,
name: chance.sentence({ words: 3 }),
time: sub(new Date(), { days: 1, hours: 6, minutes: 20 }),
},
];
mock.onGet('/api/data/users').reply(() => {
return [200, users];
});
mock.onGet('/api/data/gallery').reply(() => {
return [200, gallery];
});

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 KiB

View File

@ -0,0 +1,44 @@
<svg width="360" height="360" viewBox="0 0 360 360" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_1928_12651)">
<path d="M46.6595 263.061H132.417V302.279H46.6595V263.061Z" fill="white" stroke="#2E186A" stroke-width="1.80839" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M68.098 262.016L68.1161 286.854L74.3762 276.658L80.6362 286.854L86.2362 277.737L91.351 286.07V262.082L68.098 262.016Z" fill="#FEBA91"/>
<path d="M78.3365 135.682L76.1996 127.746" stroke="#2E186A" stroke-width="1.80839" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M119.924 200.748C120.451 195.082 122.094 184.575 108.492 178.053C94.8894 171.531 86.5919 165.048 82.9661 150.535" stroke="#2E186A" stroke-width="1.80839" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M85.479 148.43L82.0888 135.831C81.7372 134.524 80.3928 133.75 79.0859 134.102L77.3426 134.571C76.0357 134.922 75.2614 136.267 75.613 137.574L79.0032 150.173C79.3548 151.48 80.6993 152.254 82.0061 151.902L83.7495 151.433C85.0563 151.082 85.8306 149.737 85.479 148.43Z" fill="#49BEFF"/>
<path d="M54.4356 174.313L46.2195 174.307" stroke="#2E186A" stroke-width="1.80839" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M68.6013 170.738H55.5538C54.2005 170.738 53.1034 171.835 53.1034 173.189V174.994C53.1034 176.347 54.2005 177.444 55.5538 177.444H68.6013C69.9546 177.444 71.0517 176.347 71.0517 174.994V173.189C71.0517 171.835 69.9546 170.738 68.6013 170.738Z" fill="#49BEFF"/>
<path d="M69.1439 173.776C69.1439 173.776 99.3411 172.076 113.45 197.439" stroke="#2E186A" stroke-width="1.80839" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M247.717 230.643C255.821 230.643 261.581 232.535 261.967 250.773C262.353 269.011 261.545 285.497 277.459 285.286C292.164 285.09 288.897 279.141 295.693 279.403" stroke="#2E186A" stroke-width="1.80839" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M311.252 272.082H294.259C293.175 272.082 292.297 272.96 292.297 274.044V284.629C292.297 285.713 293.175 286.591 294.259 286.591H311.252C312.335 286.591 313.214 285.713 313.214 284.629V274.044C313.214 272.96 312.335 272.082 311.252 272.082Z" fill="#49BEFF"/>
<path d="M306.022 272.061L306.001 286.615" stroke="#2E186A" stroke-width="1.80839" stroke-linejoin="round"/>
<path d="M309.769 275.961H320.969M309.769 281.386H320.969" stroke="#2E186A" stroke-width="1.80839" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M254.122 66.3633V73.7898M257.835 70.0765H250.411" stroke="#2E186A" stroke-width="1.80839" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M201.31 93.5551V100.979M205.021 97.2683H197.597M158.693 57.4746V64.8981M162.403 61.1878H154.979M113.983 117.872V125.295M117.696 121.582H110.27M62.7392 89.1094V96.5359M66.4495 92.8227H59.026M54.6346 199.183V206.607M58.3448 202.897H50.9214M39.7304 137.74V145.167M43.4437 141.453H36.0172M287.719 159.049V166.476M291.432 162.762H284.008M301.447 97.4763V104.903M305.157 101.19H297.734M328.899 206.504V213.928M332.612 210.215H325.185" stroke="#2E186A" stroke-width="1.80839" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M290.784 206.212L257.244 175.49H205.03L205.542 176.129H114.245L80.7749 206.851V214.781H114.23V303.283H257.784V214.127H290.784V206.212Z" fill="#5D87FF"/>
<path d="M245.128 256.461H237.807V287.05H229.44V255.937H222.643L234.148 223.777L245.128 256.461Z" fill="white"/>
<path d="M205.623 183.318V300.451M205.361 183.282L174.727 214.353M201.964 179.529L174.468 207.418M114.55 214.694H174.513V207.556H81.6188M257.569 214.067H225.401V206.929H288.071M205.711 183.107L225.003 213.973M213.176 187.754L225.449 207.068" stroke="#2E186A" stroke-width="1.80839" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M187.069 233.648H130.578C128.081 233.648 126.057 235.673 126.057 238.169V264.424C126.057 266.921 128.081 268.945 130.578 268.945H187.069C189.566 268.945 191.59 266.921 191.59 264.424V238.169C191.59 235.673 189.566 233.648 187.069 233.648Z" fill="#2E186A"/>
<path d="M132.637 257.178C132.511 257.18 132.387 257.157 132.271 257.109C132.155 257.062 132.05 256.992 131.962 256.903C131.871 256.816 131.801 256.711 131.753 256.595C131.706 256.479 131.684 256.354 131.687 256.228C131.684 256.031 131.743 255.838 131.856 255.677L143.288 239.148C143.374 239.022 143.491 238.921 143.628 238.854C143.765 238.786 143.917 238.756 144.069 238.765C144.194 238.764 144.318 238.787 144.434 238.834C144.55 238.881 144.655 238.951 144.744 239.04C144.832 239.128 144.902 239.234 144.949 239.349C144.996 239.465 145.02 239.59 145.018 239.715V255.279H147.881C148.006 255.279 148.13 255.304 148.245 255.351C148.36 255.399 148.465 255.469 148.553 255.557C148.641 255.645 148.711 255.75 148.759 255.865C148.806 255.98 148.831 256.104 148.831 256.228C148.831 256.353 148.806 256.476 148.759 256.592C148.711 256.707 148.641 256.812 148.553 256.9C148.465 256.988 148.36 257.058 148.245 257.105C148.13 257.153 148.006 257.178 147.881 257.178H145.018V262.32C145.018 262.571 144.918 262.813 144.74 262.991C144.562 263.169 144.321 263.269 144.069 263.269C143.817 263.269 143.575 263.169 143.397 262.991C143.219 262.813 143.119 262.571 143.119 262.32V257.178H132.637ZM143.119 255.279V242.789L134.472 255.279H143.119Z" fill="white"/>
<path d="M151.278 250.972C151.239 248.843 151.507 246.719 152.074 244.667C152.604 242.893 153.35 241.486 154.31 240.447C154.885 239.911 155.547 239.479 156.269 239.169C157.003 238.863 157.789 238.705 158.584 238.705C159.379 238.705 160.166 238.863 160.899 239.169C161.616 239.482 162.276 239.914 162.849 240.447C163.819 241.49 164.567 242.897 165.091 244.667C166.144 248.81 166.144 253.152 165.091 257.295C164.567 259.072 163.819 260.478 162.849 261.515C162.277 262.05 161.618 262.482 160.899 262.793C160.166 263.101 159.379 263.26 158.584 263.26C157.789 263.26 157.002 263.101 156.269 262.793C155.549 262.487 154.888 262.056 154.316 261.521C153.356 260.48 152.61 259.074 152.08 257.301C151.51 255.241 151.24 253.109 151.278 250.972ZM158.578 240.595C158.033 240.587 157.492 240.692 156.989 240.902C156.486 241.113 156.032 241.425 155.654 241.819C154.011 243.657 153.19 246.708 153.192 250.972C153.194 255.236 154.015 258.302 155.654 260.171C156.033 260.562 156.487 260.871 156.99 261.078C157.494 261.286 158.034 261.387 158.578 261.376C159.122 261.384 159.661 261.281 160.164 261.074C160.666 260.867 161.121 260.559 161.502 260.171C163.157 258.314 163.984 255.248 163.982 250.972C163.98 246.696 163.153 243.645 161.502 241.819C161.122 241.429 160.667 241.12 160.164 240.91C159.662 240.701 159.122 240.596 158.578 240.601V240.595Z" fill="white"/>
<path d="M169.368 257.178C169.243 257.179 169.119 257.155 169.004 257.108C168.888 257.061 168.783 256.991 168.695 256.902C168.607 256.814 168.537 256.709 168.49 256.593C168.443 256.477 168.42 256.353 168.422 256.228C168.419 256.032 168.477 255.839 168.588 255.677L180.023 239.148C180.108 239.022 180.225 238.92 180.362 238.853C180.499 238.786 180.651 238.756 180.803 238.765C180.928 238.762 181.052 238.785 181.168 238.832C181.284 238.879 181.388 238.95 181.475 239.04C181.565 239.127 181.636 239.233 181.684 239.349C181.731 239.465 181.755 239.589 181.753 239.715V255.279H184.613C184.738 255.277 184.863 255.3 184.979 255.348C185.095 255.396 185.2 255.467 185.288 255.556C185.464 255.736 185.562 255.978 185.562 256.23C185.562 256.482 185.464 256.723 185.288 256.904C185.2 256.992 185.094 257.062 184.978 257.109C184.862 257.157 184.738 257.18 184.613 257.178H181.744V262.32C181.746 262.445 181.722 262.57 181.675 262.686C181.627 262.802 181.556 262.907 181.466 262.995C181.287 263.17 181.045 263.269 180.794 263.269C180.543 263.269 180.302 263.17 180.122 262.995C180.032 262.907 179.961 262.802 179.914 262.686C179.866 262.57 179.843 262.445 179.845 262.32V257.178H169.368ZM179.854 255.279V242.789L171.195 255.279H179.854Z" fill="white"/>
<path d="M240.396 123.902C234.368 122.248 230.025 123.269 230.025 123.269C226.191 114.731 214.051 106.798 214.051 106.798C205.512 111.244 209.433 129.373 209.433 129.373L204.553 131.202C198.453 123.794 189.911 115.689 187.449 115.514C181.762 115.111 181.566 140.615 181.566 140.615C167.728 148.846 153.575 157.448 142.562 164.859C142.969 159.564 145.491 152.722 151.64 144.364C162.882 129.068 165.366 108.838 154.994 96.6047C140.44 79.4249 127.106 85.2721 119.176 92.8583C111.156 100.526 109.935 114.035 122.492 105.059C135.123 96.0169 141.317 100.701 147.242 111.858C153.168 123.016 134.867 140.19 126.328 154.127C121.539 161.945 119.179 169.67 119.282 176.129H177.211C177.093 176.261 176.978 176.391 176.876 176.521L179.748 176.129H198.191C205.554 183.215 222.815 196.419 226.67 188.809C228.614 184.978 229.464 180.776 228.656 176.789C230.365 180.053 235.712 189.276 240.36 186.693C244.386 184.456 247.593 178.193 246.813 171.623C249.808 168.859 252.114 165.917 253.558 162.831C265.322 141.661 245.746 125.376 240.396 123.902Z" fill="#49BEFF"/>
<path d="M246.409 136.519C253.6 125.536 270.596 123.969 270.596 123.969M249.417 145.407C251.117 142.007 263.667 134.949 273.079 137.694" stroke="#2E186A" stroke-width="1.80839" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M208.243 154.688C203.098 153.006 192.811 151.852 184.938 159.411M207.803 150.158C202.835 145.845 189.631 144.666 180.481 151.595" stroke="#2E186A" stroke-width="1.80839" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M190.198 117.693C190.198 117.693 183.66 133.249 190.852 138.49" stroke="#2E186A" stroke-width="1.80839" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M215.428 108.936C215.428 108.936 212.028 120.69 215.166 128.674" stroke="#2E186A" stroke-width="1.80839" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M216.733 147.931C217.961 147.509 218.416 145.596 217.75 143.658C217.084 141.72 215.549 140.491 214.321 140.914C213.093 141.336 212.638 143.249 213.304 145.186C213.97 147.124 215.505 148.353 216.733 147.931Z" fill="#2E186A"/>
<path d="M234.379 142.31C235.607 141.888 236.062 139.975 235.396 138.037C234.73 136.099 233.195 134.87 231.967 135.292C230.739 135.714 230.284 137.628 230.95 139.565C231.616 141.503 233.151 142.732 234.379 142.31Z" fill="#2E186A"/>
<path d="M232.795 145.946L230.624 149.521C230.465 149.769 230.215 149.946 229.927 150.013C229.64 150.08 229.337 150.032 229.084 149.879L225.724 147.875C225.544 147.774 225.4 147.621 225.308 147.437C225.217 147.252 225.183 147.045 225.211 146.841C225.239 146.637 225.327 146.446 225.465 146.293C225.603 146.14 225.783 146.032 225.983 145.982L231.514 144.412C232.469 144.138 233.283 145.123 232.795 145.946Z" fill="#2E186A"/>
<path d="M227.002 153.281C230.465 157.672 230.353 152.202 229.805 149.32C230.92 151.825 233.87 155.457 234.326 151.43" stroke="#2E186A" stroke-width="1.80839" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M222.683 190.966C222.333 190.008 216.866 179.133 211.461 175.037M219.219 171.812C219.479 171.9 225.85 182.361 226.103 189.505" stroke="#2E186A" stroke-width="1.80839" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M176.864 176.526C181.831 170.381 204.593 158.485 217.251 164.238C229.91 169.992 230.977 180.318 226.664 188.814" stroke="#2E186A" stroke-width="1.80839" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M232.487 170.498C232.487 170.498 238.37 181.674 238.5 187.099M239.808 168.023C239.808 168.023 244.121 181.029 241.574 186.062" stroke="#2E186A" stroke-width="1.80839" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M222.086 166.15C223.674 163.597 237.635 155.254 243.82 163.934C244.944 165.511 246.171 168.582 246.671 170.246" stroke="#2E186A" stroke-width="1.80839" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M0.904175 302.523H359.096" stroke="#2E186A" stroke-width="1.80839" stroke-linecap="round" stroke-linejoin="round"/>
</g>
<defs>
<clipPath id="clip0_1928_12651">
<rect width="360" height="360" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 156 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 24 KiB

View File

@ -0,0 +1,57 @@
<svg width="360" height="360" viewBox="0 0 360 360" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_1928_12776)">
<path d="M263.065 242.022C265.812 242.411 275.4 242.23 280.365 224.041C285.33 205.853 307.093 213.002 307.093 213.002" stroke="#2E186A" stroke-width="1.57703" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M307.577 217.39C310.101 217.39 312.147 215.343 312.147 212.819C312.147 210.294 310.101 208.248 307.577 208.248C305.052 208.248 303.006 210.294 303.006 212.819C303.006 215.343 305.052 217.39 307.577 217.39Z" fill="#FEBA91"/>
<path d="M260.458 177.943C268.08 179.207 286.479 172.011 282.131 154.716C277.784 137.421 294.729 132.771 294.729 132.771" stroke="#2E186A" stroke-width="1.57703" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M306.415 135.691L310.639 130.303ZM301.592 131.018L305.816 125.63ZM295.56 126.139L299.786 120.754ZM288.894 121.976L293.121 116.588Z" fill="white"/>
<path d="M306.415 135.691L310.639 130.303M301.592 131.018L305.816 125.63M295.56 126.139L299.786 120.754M288.894 121.976L293.121 116.588" stroke="#2E186A" stroke-width="1.57703" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M307.9 135.148L305.08 139.093C304.78 139.511 304.327 139.794 303.82 139.878C303.312 139.962 302.792 139.842 302.373 139.542L285.986 127.823C285.568 127.524 285.285 127.071 285.201 126.563C285.117 126.056 285.237 125.535 285.537 125.117L288.357 121.173L307.9 135.148Z" fill="#FEBA91"/>
<path d="M316.421 165.915L325.292 160.148M243.365 236.256C250.662 235.602 264.345 235.223 269.42 216.48C274.496 197.737 280.765 185.723 298.285 177.73" stroke="#2E186A" stroke-width="1.57703" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M302.477 179.801L318.266 169.536C319.255 168.893 319.536 167.569 318.892 166.58L316.517 162.926C315.874 161.937 314.55 161.656 313.561 162.299L297.772 172.564C296.782 173.208 296.502 174.531 297.145 175.521L299.521 179.174C300.164 180.164 301.487 180.444 302.477 179.801Z" fill="#49BEFF"/>
<path d="M27.0015 214.25C40.8478 215.301 42.8559 220.742 46.4778 226.23C50.0998 231.718 55.3539 236.712 65.213 230.78C71.9469 226.724 75.8948 226.54 78.5889 227.839" stroke="#2E186A" stroke-width="1.57703" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M24.0288 219.362C26.5531 219.362 28.5995 217.316 28.5995 214.791C28.5995 212.267 26.5531 210.221 24.0288 210.221C21.5044 210.221 19.458 212.267 19.458 214.791C19.458 217.316 21.5044 219.362 24.0288 219.362Z" fill="#49BEFF"/>
<path d="M46.0537 128.451L31.7097 126.979C30.2657 126.831 28.9749 127.882 28.8267 129.326L26.9008 148.091C26.7526 149.535 27.803 150.826 29.2471 150.974L43.5911 152.446C45.0351 152.594 46.3259 151.544 46.4741 150.1L48.4 131.334C48.5483 129.89 47.4978 128.6 46.0537 128.451Z" fill="#FEBA91"/>
<path d="M35.9432 133.183L23.1062 131.664M35.1836 139.602L22.3466 138.08M34.4214 146.02L21.5844 144.498M77.4166 165.817C69.7654 154.061 63.0262 140.177 47.29 140.653" stroke="#2E186A" stroke-width="1.57703" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M41.4286 127.816L38.5795 151.806" stroke="#2E186A" stroke-width="1.57703" stroke-linejoin="round"/>
<path d="M18.4198 189.183C18.8945 188.795 19.2742 188.303 19.5298 187.746C19.7854 187.188 19.9101 186.58 19.8943 185.967C19.8786 185.354 19.7229 184.752 19.4391 184.209C19.1553 183.665 18.7509 183.193 18.2568 182.83" stroke="#2E186A" stroke-width="1.57703" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M32.262 179.65L17.053 181.745C14.9319 182.037 13.4492 183.993 13.7412 186.114L13.861 186.984C14.1531 189.105 16.1093 190.588 18.2305 190.296L33.4394 188.201C35.5605 187.909 37.0432 185.953 36.7512 183.832L36.6314 182.962C36.3394 180.841 34.3831 179.358 32.262 179.65Z" fill="#FEBA91"/>
<path d="M16.4905 186.211L6.01111 187.654M78.7492 190.587C65.0973 182.226 53.3563 178.867 36.9919 183.672" stroke="#2E186A" stroke-width="1.57703" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M262.077 89.5234L194.422 89.555L200.236 93.8944L199.894 269.568L215.665 269.489V260.216C215.664 259.639 215.777 259.067 215.997 258.534C216.218 258 216.541 257.515 216.949 257.106C217.357 256.698 217.841 256.374 218.374 256.152C218.908 255.931 219.479 255.817 220.057 255.816H249.991C250.568 255.817 251.14 255.931 251.673 256.153C252.206 256.374 252.69 256.699 253.097 257.107C253.505 257.516 253.828 258.001 254.048 258.534C254.268 259.068 254.381 259.639 254.381 260.216V269.679H268.5V95.984C268.503 95.138 268.339 94.2998 268.017 93.5173C267.696 92.7348 267.223 92.0232 266.627 91.4233C266.03 90.8234 265.321 90.3468 264.541 90.0209C263.76 89.6949 262.923 89.5259 262.077 89.5234Z" fill="#5D87FF"/>
<path d="M190.524 269.568V259.72C190.524 259.144 190.41 258.573 190.189 258.042C189.968 257.51 189.645 257.026 189.237 256.619C188.829 256.213 188.346 255.89 187.813 255.67C187.281 255.45 186.711 255.337 186.135 255.338H100.783C100.207 255.337 99.6364 255.45 99.1041 255.67C98.5718 255.89 98.088 256.213 97.6803 256.619C97.2727 257.026 96.9492 257.51 96.7284 258.042C96.5076 258.573 96.3938 259.144 96.3934 259.72V269.518H77.5794L77.5663 96.2417C77.567 95.4722 77.7193 94.7105 78.0146 93.9999C78.3098 93.2893 78.7422 92.6439 79.2871 92.1005C79.8319 91.5572 80.4785 91.1265 81.1898 90.8332C81.9012 90.5398 82.6634 90.3895 83.4329 90.3909L194.088 90.3594C194.933 90.3587 195.769 90.5245 196.55 90.8473C197.33 91.1701 198.039 91.6436 198.637 92.2407C199.234 92.8378 199.708 93.5468 200.031 94.3271C200.354 95.1074 200.52 95.9438 200.52 96.7884V269.687L190.524 269.568Z" fill="white" stroke="#2E186A" stroke-width="1.57703" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M183.477 102.746H96.0387C91.5997 102.746 88.0011 106.345 88.0011 110.784V237.706C88.0011 242.145 91.5997 245.744 96.0387 245.744H183.477C187.916 245.744 191.515 242.145 191.515 237.706V110.784C191.515 106.345 187.916 102.746 183.477 102.746Z" fill="#2E186A"/>
<path d="M200.112 164.953H268.495V184.219H200.112V164.953Z" fill="#2E186A"/>
<path d="M239.104 176.362C240.086 176.362 240.881 175.567 240.881 174.585C240.881 173.604 240.086 172.809 239.104 172.809C238.123 172.809 237.328 173.604 237.328 174.585C237.328 175.567 238.123 176.362 239.104 176.362Z" fill="white"/>
<path d="M229.674 176.362C230.655 176.362 231.451 175.567 231.451 174.585C231.451 173.604 230.655 172.809 229.674 172.809C228.692 172.809 227.897 173.604 227.897 174.585C227.897 175.567 228.692 176.362 229.674 176.362Z" fill="white"/>
<path d="M259.793 172.311H249.1C248.549 172.311 248.102 172.758 248.102 173.309V175.864C248.102 176.416 248.549 176.863 249.1 176.863H259.793C260.344 176.863 260.791 176.416 260.791 175.864V173.309C260.791 172.758 260.344 172.311 259.793 172.311Z" fill="#5D87FF"/>
<path d="M219.539 172.311H208.846C208.295 172.311 207.848 172.758 207.848 173.309V175.864C207.848 176.416 208.295 176.863 208.846 176.863H219.539C220.09 176.863 220.538 176.416 220.538 175.864V173.309C220.538 172.758 220.09 172.311 219.539 172.311Z" fill="#5D87FF"/>
<path d="M200.578 101.541H268.408V118.678H200.578V101.541Z" fill="#2E186A"/>
<path d="M200.73 192.354H268.466V221.108H200.73V192.354Z" fill="#2E186A"/>
<path d="M201.282 128.891H268.408M201.282 141.841H268.408M201.282 154.791H268.408" stroke="white" stroke-width="1.57703" stroke-linejoin="round"/>
<path d="M185.785 102.748H144.919C130.089 101.51 85.9693 105.339 83.6458 116.896C81.3223 128.453 105.987 133.25 105.987 133.25C95.8362 159.129 104.823 168.996 114.924 174.881C118.341 180.987 123.274 185.597 129.193 187.76L129.125 187.928C126.015 190.649 123.56 196.36 125.445 200.842C122.087 199.56 118.465 199.125 114.899 199.574C111.332 200.023 107.932 201.343 104.996 203.418L88.1613 197.399C87.5024 197.32 86.8343 197.407 86.2171 197.651C85.5999 197.894 85.0528 198.288 84.625 198.795C84.1972 199.302 83.9021 199.908 83.766 200.557C83.63 201.207 83.6573 201.88 83.8455 202.516C86.3872 211.058 91.2786 216.349 95.5051 219.501C95.2946 220.878 95.1752 222.268 95.1476 223.661C95.1318 224.468 95.1266 225.252 95.1292 226.027C90.7565 228.744 86.8365 232.129 83.5117 236.06C81.9347 237.899 82.505 240.478 84.019 242.176C87.5542 246.118 95.5839 249.12 104.647 246.523H185.785C186.555 246.523 187.317 246.371 188.028 246.076C188.739 245.781 189.385 245.349 189.929 244.804C190.472 244.259 190.903 243.612 191.197 242.901C191.49 242.189 191.64 241.426 191.638 240.657V109.421C191.638 106.188 189.018 102.748 185.785 102.748Z" fill="#49BEFF"/>
<path d="M173.108 228.378C151.632 225.895 156.878 207.141 156.039 201.716C155.209 196.333 140.795 193.445 140.056 203.383C139.557 210.064 136.043 231.703 152.381 238.382" stroke="#2E186A" stroke-width="1.57703" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M145.287 197.439C144.627 200.88 143.184 209.753 145 213.473M150.79 197.534C150.168 200.725 148.751 209.262 150.588 212.873" stroke="#2E186A" stroke-width="1.57703" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M150.817 197.068C143.005 190.284 132.681 185.211 127.104 188.744M123.855 199.289C125.621 203.965 128.978 205.397 132.999 206.386C135.706 207.053 137.667 207.679 139.491 208.538M139.949 204.06L134.553 201.778M142.835 198.13L138.274 195.622" stroke="#2E186A" stroke-width="1.57703" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M83.6116 237.766C83.6116 237.766 91.5914 245.125 102.707 238.791" stroke="#2E186A" stroke-width="1.57703" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M85.985 199.498C85.985 199.498 87.5436 208.637 97.8127 212.056" stroke="#2E186A" stroke-width="1.57703" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M186.923 181.065C176.788 179.152 167.165 172.318 165.081 148.286C164.963 148.184 144.075 164.122 134.237 148.888C127.952 137.271 152.184 122.809 163.814 114.953" stroke="#2E186A" stroke-width="1.57703" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M141.962 103.434C137.494 105.783 133.025 109.298 128.649 113.322C108.148 132.214 106.526 159.492 114.456 175.52" stroke="#2E186A" stroke-width="1.57703" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M142.377 142.025C143.569 142.025 144.535 141.059 144.535 139.867C144.535 138.675 143.569 137.709 142.377 137.709C141.185 137.709 140.219 138.675 140.219 139.867C140.219 141.059 141.185 142.025 142.377 142.025Z" fill="#2E186A"/>
<path d="M144.824 148.773C146.016 148.773 146.982 147.807 146.982 146.615C146.982 145.423 146.016 144.457 144.824 144.457C143.632 144.457 142.666 145.423 142.666 146.615C142.666 147.807 143.632 148.773 144.824 148.773Z" fill="#2E186A"/>
<path d="M152.554 150.841C153.746 150.841 154.712 149.875 154.712 148.683C154.712 147.492 153.746 146.525 152.554 146.525C151.363 146.525 150.396 147.492 150.396 148.683C150.396 149.875 151.363 150.841 152.554 150.841Z" fill="#2E186A"/>
<path d="M151.177 144.854C154.028 144.854 156.339 142.542 156.339 139.691C156.339 136.84 154.028 134.529 151.177 134.529C148.326 134.529 146.015 136.84 146.015 139.691C146.015 142.542 148.326 144.854 151.177 144.854Z" fill="#2E186A"/>
<path d="M94.827 118.984C96.0188 118.984 96.9849 118.018 96.9849 116.826C96.9849 115.634 96.0188 114.668 94.827 114.668C93.6352 114.668 92.6691 115.634 92.6691 116.826C92.6691 118.018 93.6352 118.984 94.827 118.984Z" fill="#2E186A"/>
<path d="M97.3607 113.306C97.9415 113.325 98.5204 113.23 99.0643 113.025C99.6082 112.821 100.107 112.511 100.531 112.114C100.955 111.717 101.297 111.24 101.537 110.711C101.777 110.182 101.91 109.61 101.929 109.029C101.934 108.241 101.761 107.461 101.424 106.748C98.4226 107.169 95.6759 108.278 93.1579 109.143C93.1159 111.553 94.94 113.224 97.3607 113.306ZM86.3793 113.143C86.3651 113.556 86.4701 113.965 86.6817 114.321C86.8933 114.676 87.2026 114.963 87.5728 115.148C87.943 115.333 88.3585 115.407 88.7697 115.362C89.181 115.317 89.5707 115.155 89.8925 114.895C90.2142 114.635 90.4544 114.288 90.5845 113.895C90.7145 113.503 90.7289 113.081 90.626 112.68C90.5231 112.279 90.3072 111.917 90.0039 111.635C89.7007 111.354 89.323 111.166 88.9157 111.093C88.0225 111.596 87.1824 112.187 86.4082 112.859C86.3918 112.953 86.3822 113.048 86.3793 113.143Z" fill="#2E186A"/>
<path d="M107.737 216.46C109.506 216.174 110.793 215.033 110.612 213.912C110.431 212.791 108.85 212.114 107.081 212.4C105.312 212.686 104.025 213.827 104.206 214.948C104.387 216.069 105.968 216.745 107.737 216.46Z" fill="#2E186A"/>
<path d="M111.662 231.458C113.427 231.177 114.713 230.043 114.535 228.925C114.357 227.807 112.782 227.128 111.017 227.409C109.253 227.69 107.967 228.824 108.145 229.943C108.323 231.061 109.898 231.739 111.662 231.458Z" fill="#2E186A"/>
<path d="M115.441 213.708L119.329 216.157C119.461 216.241 119.575 216.35 119.664 216.478C119.753 216.607 119.816 216.752 119.848 216.905C119.88 217.058 119.88 217.216 119.85 217.369C119.819 217.523 119.758 217.668 119.67 217.798L117.331 221.246C117.206 221.431 117.03 221.576 116.824 221.663C116.618 221.751 116.392 221.778 116.171 221.74C115.951 221.702 115.746 221.602 115.581 221.451C115.416 221.3 115.298 221.105 115.242 220.888L113.691 214.99C113.63 214.764 113.64 214.524 113.717 214.303C113.795 214.082 113.938 213.889 114.128 213.751C114.317 213.612 114.543 213.534 114.778 213.526C115.012 213.518 115.244 213.582 115.441 213.708Z" fill="#2E186A"/>
<path d="M123.382 219.793C128.376 216.361 122.33 216.213 119.1 216.639C121.923 215.588 126.055 212.655 121.621 211.984" stroke="#2E186A" stroke-width="1.57703" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M111.985 180.421C109.018 186.971 108.269 197.137 115.373 208.545M123.009 179.756C118.611 185.638 115.846 195.455 120.275 207.948" stroke="white" stroke-width="1.57703" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M128.922 256.978C124.586 253.133 118.913 241.734 120.548 229.906M139.252 253.091C134.192 250.268 126.207 240.364 125.261 228.463" stroke="#2E186A" stroke-width="1.57703" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M359.211 269.643H0.788452" stroke="#2E186A" stroke-width="1.57703" stroke-linecap="round" stroke-linejoin="round"/>
</g>
<defs>
<clipPath id="clip0_1928_12776">
<rect width="360" height="360" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 149 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 148 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 137 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

View File

@ -0,0 +1,11 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_631_1669)">
<path d="M23.993 0H0.00703125C0.003148 0 0 0.003148 0 0.00703125V23.993C0 23.9969 0.003148 24 0.00703125 24H23.993C23.9969 24 24 23.9969 24 23.993V0.00703125C24 0.003148 23.9969 0 23.993 0Z" fill="#ED2224"/>
<path d="M13.875 5.625L19.2188 18.375V5.625H13.875ZM4.78125 5.625V18.375L10.125 5.625H4.78125ZM9.70312 15.7969H12.1406L13.2188 18.375H15.375L11.9531 10.2656L9.70312 15.7969Z" fill="white"/>
</g>
<defs>
<clipPath id="clip0_631_1669">
<rect width="24" height="24" rx="3" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 663 B

View File

@ -0,0 +1,13 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_631_1649)">
<path d="M12 6.5625H22.6875C23.6383 8.43365 24.0817 10.5215 23.9735 12.6175C23.8652 14.7136 23.2091 16.7446 22.0706 18.5079C20.9321 20.2711 19.3511 21.7049 17.4852 22.6662C15.6194 23.6274 13.5341 24.0825 11.4375 23.9859" fill="#FFCC44"/>
<path d="M16.7344 14.7188L11.4375 23.9859C9.33318 23.8901 7.29114 23.2421 5.51666 22.1069C3.74218 20.9718 2.29777 19.3895 1.32864 17.5192C0.359502 15.6488 -0.100216 13.5563 -0.00430812 11.452C0.0915998 9.34768 0.739754 7.30568 1.87501 5.53125" fill="#0F9D58"/>
<path d="M12 6.56259H22.6875C21.7301 4.67609 20.291 3.0762 18.5161 1.92509C16.7411 0.773985 14.6934 0.112566 12.5805 0.0078703C10.4675 -0.096825 8.36448 0.358925 6.48443 1.32893C4.60438 2.29894 3.01418 3.74872 1.875 5.53134L7.26562 14.7188" fill="#DB4437"/>
<path d="M12 16.9219C14.7183 16.9219 16.9219 14.7183 16.9219 12C16.9219 9.28172 14.7183 7.07812 12 7.07812C9.28172 7.07812 7.07812 9.28172 7.07812 12C7.07812 14.7183 9.28172 16.9219 12 16.9219Z" fill="#4285F4" stroke="#F1F1F1" stroke-width="2"/>
</g>
<defs>
<clipPath id="clip0_631_1649">
<rect width="24" height="24" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -0,0 +1,7 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M8 24C10.208 24 12 22.208 12 20V16H8C5.792 16 4 17.792 4 20C4 22.208 5.792 24 8 24Z" fill="#0ACF83"/>
<path d="M4 12C4 9.792 5.792 8 8 8H12V16H8C5.792 16 4 14.208 4 12Z" fill="#A259FF"/>
<path d="M4 4C4 1.792 5.792 0 8 0H12V8H8C5.792 8 4 6.208 4 4Z" fill="#F24E1E"/>
<path d="M12 0H16C18.208 0 20 1.792 20 4C20 6.208 18.208 8 16 8H12V0Z" fill="#FF7262"/>
<path d="M20 12C20 14.208 18.208 16 16 16C13.792 16 12 14.208 12 12C12 9.792 13.792 8 16 8C18.208 8 20 9.792 20 12Z" fill="#1ABCFE"/>
</svg>

After

Width:  |  Height:  |  Size: 608 B

View File

@ -0,0 +1,11 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_631_1629)">
<path d="M23.993 0H0.00703125C0.003148 0 0 0.003148 0 0.00703125V23.993C0 23.9969 0.003148 24 0.00703125 24H23.993C23.9969 24 24 23.9969 24 23.993V0.00703125C24 0.003148 23.9969 0 23.993 0Z" fill="#F7DF1E"/>
<path d="M15.1875 17.3438C15.6562 18.1406 16.3125 18.7031 17.3906 18.7031C18.3281 18.7031 18.9375 18.2344 18.9375 17.5781C18.9375 16.8281 18.3281 16.5469 17.2969 16.0781L16.7344 15.8438C15.0938 15.1406 14.0156 14.2969 14.0156 12.4688C14.0156 10.7812 15.2812 9.46875 17.2969 9.46875C18.75 9.46875 19.7812 9.98438 20.4844 11.2969L18.75 12.4219C18.375 11.7188 17.9531 11.4375 17.2969 11.4375C16.6406 11.4375 16.2188 11.8594 16.2188 12.4219C16.2188 13.0781 16.6406 13.3594 17.625 13.7812L18.1875 14.0156C20.1094 14.8594 21.1875 15.6562 21.1875 17.5781C21.1875 19.5938 19.5938 20.7188 17.4375 20.7188C15.3281 20.7188 13.9688 19.7344 13.3125 18.4219L15.1875 17.3438ZM7.21875 17.5312C7.59375 18.1406 7.875 18.7031 8.67188 18.7031C9.42188 18.7031 9.89062 18.4219 9.89062 17.2969V9.51562H12.1406V17.2031C12.1406 19.5469 10.7812 20.5781 8.76562 20.5781C6.9375 20.5781 5.90625 19.6406 5.39062 18.5156L7.21875 17.5312Z" fill="black"/>
</g>
<defs>
<clipPath id="clip0_631_1629">
<rect width="24" height="24" rx="3" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -0,0 +1,4 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M21.25 21H2.75C2.02082 20.9995 1.32165 20.7096 0.806041 20.194C0.290431 19.6783 0.000529737 18.9792 0 18.25L0 5.75C0.000529737 5.02082 0.290431 4.32165 0.806041 3.80604C1.32165 3.29043 2.02082 3.00053 2.75 3H8C8.199 3 8.39 3.079 8.53 3.22L10.311 5H21.25C21.9792 5.00053 22.6783 5.29043 23.194 5.80604C23.7096 6.32165 23.9995 7.02082 24 7.75V18.25C23.9995 18.9792 23.7096 19.6783 23.194 20.194C22.6783 20.7096 21.9792 20.9995 21.25 21Z" fill="#03A9F4"/>
<path d="M11.5 16C11.3011 16 11.1103 15.921 10.9697 15.7803C10.829 15.6397 10.75 15.4489 10.75 15.25V10.75C10.75 10.5511 10.829 10.3603 10.9697 10.2197C11.1103 10.079 11.3011 10 11.5 10C11.6989 10 11.8897 10.079 12.0303 10.2197C12.171 10.3603 12.25 10.5511 12.25 10.75V15.25C12.25 15.4489 12.171 15.6397 12.0303 15.7803C11.8897 15.921 11.6989 16 11.5 16ZM8.24999 16H5.74999C5.61924 16.0005 5.49066 15.9667 5.37706 15.9019C5.26345 15.8372 5.1688 15.7438 5.10253 15.6311C5.03626 15.5184 5.00069 15.3903 4.99937 15.2596C4.99804 15.1288 5.03101 15 5.09499 14.886L6.97599 11.5H5.74999C5.55108 11.5 5.36031 11.421 5.21966 11.2803C5.07901 11.1397 4.99999 10.9489 4.99999 10.75C4.99999 10.5511 5.07901 10.3603 5.21966 10.2197C5.36031 10.079 5.55108 10 5.74999 10H8.24999C8.38074 9.99954 8.50932 10.0334 8.62293 10.0981C8.73653 10.1628 8.83119 10.2562 8.89745 10.3689C8.96372 10.4816 8.99929 10.6097 9.00061 10.7404C9.00194 10.8712 8.96897 11 8.90499 11.114L7.02399 14.5H8.24999C8.4489 14.5 8.63967 14.579 8.78032 14.7197C8.92097 14.8603 8.99999 15.0511 8.99999 15.25C8.99999 15.4489 8.92097 15.6397 8.78032 15.7803C8.63967 15.921 8.4489 16 8.24999 16ZM14.75 16C14.5511 16 14.3603 15.921 14.2197 15.7803C14.079 15.6397 14 15.4489 14 15.25V10.75C14 10.5511 14.079 10.3603 14.2197 10.2197C14.3603 10.079 14.5511 10 14.75 10H16C17.103 10 18 10.897 18 12C18 13.103 17.103 14 16 14H15.5V15.25C15.5 15.4489 15.421 15.6397 15.2803 15.7803C15.1397 15.921 14.9489 16 14.75 16ZM15.5 12.5H16C16.275 12.5 16.5 12.275 16.5 12C16.5 11.725 16.275 11.5 16 11.5H15.5V12.5Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="28px" height="20px" viewBox="0 0 28 20" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>ic_flag_cn</title>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="ic_flag_cn">
<rect id="Mask" fill="#F1361D" x="0" y="0" width="28" height="20" rx="3"></rect>
<path d="M11.9592954,10.1560699 L11.9708698,11.1384189 L12.5105968,11.9592954 L11.5282478,11.9708698 L10.7073712,12.5105968 L10.6957968,11.5282478 L10.1560699,10.7073712 L11.1384189,10.6957968 L11.9592954,10.1560699 Z M6.66666667,2.66666667 L7.5836117,5.40460011 L10.4708927,5.43059869 L8.15031489,7.1487332 L9.01780768,9.90273464 L6.66666667,8.22666673 L4.31552566,9.90273464 L5.18301844,7.1487332 L2.8624406,5.43059869 L5.74972164,5.40460011 L6.66666667,2.66666667 Z M12.5685648,7.57446394 L13.4490988,8.01012816 L14.4255361,7.90189808 L13.9898718,8.78243212 L14.0981019,9.75886939 L13.2175679,9.32320517 L12.2411306,9.43143525 L12.6767948,8.55090121 L12.5685648,7.57446394 Z M14,4.17863279 L13.9772839,5.1607873 L14.4880339,6 L13.5058794,5.97728388 L12.6666667,6.48803387 L12.6893828,5.50587936 L12.1786328,4.66666667 L13.1607873,4.68938278 L14,4.17863279 Z M10.8992425,1.40597523 L11.6255808,2.06747064 L12.5940248,2.23257579 L11.9325294,2.9589141 L11.7674242,3.9273581 L11.0410859,3.2658627 L10.0726419,3.10075754 L10.7341373,2.37441924 L10.8992425,1.40597523 Z" id="Combined-Shape" fill="#FFDC42"></path>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -0,0 +1 @@
<svg height="20" viewBox="0 0 28 20" width="28" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><rect id="a" height="20" rx="3" width="28"/><mask id="b" fill="#fff"><use fill="#fff" fill-rule="evenodd" xlink:href="#a"/></mask></defs><g fill="none" fill-rule="evenodd"><use fill="#0a17a7" xlink:href="#a"/><path d="m29.2824692-1.91644623 1.4911811 2.21076686-9.4483006 6.37223314 6.6746503.0001129v6.66666663l-6.6746503-.0007795 9.4483006 6.3731256-1.4911811 2.2107668-11.9501195-8.0608924.0009836 7.4777795h-6.6666666l-.000317-7.4777795-11.9488189 8.0608924-1.49118107-2.2107668 9.448-6.3731256-6.67434973.0007795v-6.66666663l6.67434973-.0001129-9.448-6.37223314 1.49118107-2.21076686 11.9488189 8.06.000317-7.4768871h6.6666666l-.0009836 7.4768871z" fill="#fff" mask="url(#b)"/><g stroke="#db1f35" stroke-linecap="round" stroke-width=".667"><path d="m18.668 6.332 12.665-8.332" mask="url(#b)"/><path d="m20.013 21.35 11.354-7.652" mask="url(#b)" transform="matrix(1 0 0 -1 0 35.048)"/><path d="m8.006 6.31-11.843-7.981" mask="url(#b)"/><path d="m9.29 22.31-13.127-8.705" mask="url(#b)" transform="matrix(1 0 0 -1 0 35.915)"/></g><path d="m0 12h12v8h4v-8h12v-4h-12v-8h-4v8h-12z" fill="#e6273e" mask="url(#b)"/></g></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -0,0 +1 @@
<svg height="20" viewBox="0 0 28 20" width="28" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><rect id="a" height="20" rx="3" width="28"/><mask id="b" fill="#fff"><use fill="#fff" fill-rule="evenodd" xlink:href="#a"/></mask></defs><g fill="none" fill-rule="evenodd"><use fill="#fff" xlink:href="#a"/><path d="m19 0h9v20h-9z" fill="#f44653" mask="url(#b)"/><path d="m0 0h9v20h-9z" fill="#1035bb" mask="url(#b)"/></g></svg>

After

Width:  |  Height:  |  Size: 459 B

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 6.7 KiB

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="28px" height="20px" viewBox="0 0 28 20" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>ic_flag_vn</title>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="ic_flag_vn">
<rect id="Mask-Copy" fill="#EA403F" x="0" y="0" width="28" height="20" rx="3"></rect>
<polygon id="Star-8" fill="#FFFE4E" points="14 12.3400001 10.4732885 14.854102 11.7745277 10.7230998 8.2936609 8.14589803 12.6245825 8.10690016 14 4 15.3754175 8.10690016 19.7063391 8.14589803 16.2254723 10.7230998 17.5267115 14.854102"></polygon>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 720 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 542 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 39 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 40 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 33 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 154 KiB

View File

@ -0,0 +1,4 @@
<svg width="41" height="41" viewBox="0 0 41 41" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="1.5" y="1.5" width="38" height="38" rx="19" stroke="#5D87FF" stroke-width="2"/>
<path d="M27.5 20.5003C27.5004 20.6701 27.4569 20.8371 27.3736 20.985C27.2904 21.133 27.1703 21.2569 27.025 21.3447L18.02 26.8534C17.8682 26.9464 17.6943 26.9972 17.5163 27.0005C17.3383 27.0037 17.1627 26.9595 17.0075 26.8722C16.8538 26.7863 16.7258 26.6609 16.6366 26.5091C16.5474 26.3573 16.5003 26.1845 16.5 26.0084V14.9922C16.5003 14.8161 16.5474 14.6433 16.6366 14.4915C16.7258 14.3397 16.8538 14.2144 17.0075 14.1284C17.1627 14.0412 17.3383 13.9969 17.5163 14.0002C17.6943 14.0035 17.8682 14.0542 18.02 14.1472L27.025 19.6559C27.1703 19.7437 27.2904 19.8676 27.3736 20.0156C27.4569 20.1636 27.5004 20.3305 27.5 20.5003Z" fill="#5D87FF"/>
</svg>

After

Width:  |  Height:  |  Size: 840 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 179 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

View File

@ -0,0 +1,4 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path opacity="0.2" d="M8.99963 3.51562V10.2656L3.14963 13.6406C2.75912 11.5328 3.13381 9.35478 4.20626 7.49862C5.27871 5.64246 6.97848 4.23005 8.99963 3.51562Z" fill="#5D87FF"/>
<path d="M9.37502 10.9153C9.48905 10.8495 9.58375 10.7548 9.64958 10.6407C9.7154 10.5267 9.75004 10.3973 9.75002 10.2656V3.51562C9.74935 3.39605 9.7201 3.27837 9.6647 3.1724C9.60931 3.06643 9.52939 2.97523 9.43159 2.90643C9.33379 2.83762 9.22096 2.7932 9.10251 2.77686C8.98406 2.76052 8.86341 2.77274 8.75064 2.8125C6.56156 3.58726 4.72063 5.11748 3.55878 7.12807C2.39694 9.13865 1.99038 11.4977 2.4122 13.7812C2.43407 13.8993 2.48397 14.0104 2.55771 14.1052C2.63145 14.2 2.72687 14.2757 2.83595 14.3259C2.93425 14.3719 3.0415 14.3956 3.15002 14.3953C3.28165 14.3954 3.41098 14.3608 3.52502 14.295L9.37502 10.9153ZM8.25002 4.65188V9.8325L3.76127 12.4228C3.75002 12.2812 3.75002 12.1388 3.75002 12C3.75135 10.4797 4.17216 8.98928 4.96613 7.69279C5.76011 6.3963 6.89644 5.34404 8.25002 4.65188ZM20.4694 7.17375C20.461 7.15687 20.4525 7.13906 20.4422 7.12219C20.4319 7.10531 20.4235 7.09125 20.4131 7.07625C19.5535 5.60794 18.3248 4.39001 16.8489 3.54338C15.3731 2.69675 13.7015 2.25087 12 2.25C11.8011 2.25 11.6103 2.32902 11.4697 2.46967C11.329 2.61032 11.25 2.80109 11.25 3V11.6091L3.86158 15.9122C3.77584 15.9619 3.7008 16.0281 3.6408 16.107C3.5808 16.1858 3.53703 16.2758 3.51201 16.3717C3.48699 16.4676 3.48122 16.5675 3.49504 16.6656C3.50886 16.7638 3.54199 16.8582 3.59252 16.9434C4.67652 18.7894 6.33789 20.2272 8.32025 21.0351C10.3026 21.8431 12.4958 21.9761 14.5613 21.4138C16.6268 20.8514 18.4498 19.625 19.749 17.9236C21.0482 16.2223 21.7514 14.1407 21.75 12C21.7522 10.307 21.3106 8.64297 20.4694 7.17375ZM12.75 3.78375C13.9395 3.89324 15.0911 4.25959 16.1252 4.85749C17.1593 5.4554 18.0513 6.27063 18.7397 7.24688L12.75 10.7353V3.78375ZM12 20.25C10.6907 20.2466 9.40082 19.9333 8.23591 19.3356C7.07099 18.7379 6.06416 17.8729 5.29783 16.8113L12.3666 12.6947L12.3872 12.6816L19.4906 8.54437C20.0704 9.80132 20.3247 11.184 20.2299 12.5649C20.1351 13.9459 19.6943 15.2808 18.9482 16.4468C18.2021 17.6127 17.1747 18.5722 15.9604 19.2368C14.7462 19.9014 13.3842 20.2499 12 20.25Z" fill="#5D87FF"/>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -0,0 +1,4 @@
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path opacity="0.2" d="M17.5 10C17.5 11.4834 17.0601 12.9334 16.236 14.1668C15.4119 15.4001 14.2406 16.3614 12.8701 16.9291C11.4997 17.4968 9.99168 17.6453 8.53683 17.3559C7.08197 17.0665 5.7456 16.3522 4.6967 15.3033C3.64781 14.2544 2.9335 12.918 2.64411 11.4632C2.35472 10.0083 2.50325 8.50032 3.07091 7.12987C3.63856 5.75943 4.59986 4.58809 5.83323 3.76398C7.0666 2.93987 8.51664 2.5 10 2.5C11.9891 2.5 13.8968 3.29018 15.3033 4.6967C16.7098 6.10322 17.5 8.01088 17.5 10Z" fill="#63C8FF"/>
<path d="M13.5672 7.68281C13.6253 7.74086 13.6714 7.80979 13.7029 7.88566C13.7343 7.96154 13.7505 8.04287 13.7505 8.125C13.7505 8.20713 13.7343 8.28846 13.7029 8.36434C13.6714 8.44021 13.6253 8.50914 13.5672 8.56719L9.19219 12.9422C9.13415 13.0003 9.06522 13.0464 8.98934 13.0779C8.91347 13.1093 8.83214 13.1255 8.75 13.1255C8.66787 13.1255 8.58654 13.1093 8.51067 13.0779C8.43479 13.0464 8.36586 13.0003 8.30782 12.9422L6.43282 11.0672C6.31554 10.9499 6.24966 10.7909 6.24966 10.625C6.24966 10.4591 6.31554 10.3001 6.43282 10.1828C6.55009 10.0655 6.70915 9.99965 6.875 9.99965C7.04086 9.99965 7.19992 10.0655 7.31719 10.1828L8.75 11.6164L12.6828 7.68281C12.7409 7.6247 12.8098 7.5786 12.8857 7.54715C12.9615 7.5157 13.0429 7.49951 13.125 7.49951C13.2071 7.49951 13.2885 7.5157 13.3643 7.54715C13.4402 7.5786 13.5091 7.6247 13.5672 7.68281ZM18.125 10C18.125 11.607 17.6485 13.1779 16.7557 14.514C15.8629 15.8502 14.594 16.8916 13.1093 17.5065C11.6247 18.1215 9.99099 18.2824 8.4149 17.9689C6.8388 17.6554 5.39106 16.8815 4.25476 15.7452C3.11846 14.6089 2.34463 13.1612 2.03112 11.5851C1.71762 10.009 1.87852 8.37535 2.49348 6.8907C3.10844 5.40605 4.14985 4.1371 5.486 3.24431C6.82214 2.35152 8.39303 1.875 10 1.875C12.1542 1.87727 14.2195 2.73403 15.7427 4.25727C17.266 5.78051 18.1227 7.84581 18.125 10ZM16.875 10C16.875 8.64025 16.4718 7.31104 15.7164 6.18045C14.9609 5.04987 13.8872 4.16868 12.631 3.64833C11.3747 3.12798 9.99238 2.99183 8.65876 3.2571C7.32514 3.52237 6.10013 4.17716 5.13864 5.13864C4.17716 6.10013 3.52238 7.32513 3.2571 8.65875C2.99183 9.99237 3.12798 11.3747 3.64833 12.6309C4.16868 13.8872 5.04987 14.9609 6.18046 15.7164C7.31105 16.4718 8.64026 16.875 10 16.875C11.8227 16.8729 13.5702 16.1479 14.8591 14.8591C16.1479 13.5702 16.8729 11.8227 16.875 10Z" fill="#63C8FF"/>
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@ -0,0 +1,4 @@
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path opacity="0.2" d="M17.5 10C17.5 11.4834 17.0601 12.9334 16.236 14.1668C15.4119 15.4001 14.2406 16.3614 12.8701 16.9291C11.4997 17.4968 9.99168 17.6453 8.53683 17.3559C7.08197 17.0665 5.7456 16.3522 4.6967 15.3033C3.64781 14.2544 2.9335 12.918 2.64411 11.4632C2.35472 10.0083 2.50325 8.50032 3.07091 7.12987C3.63856 5.75943 4.59986 4.58809 5.83323 3.76398C7.0666 2.93987 8.51664 2.5 10 2.5C11.9891 2.5 13.8968 3.29018 15.3033 4.6967C16.7098 6.10322 17.5 8.01088 17.5 10Z" fill="#99AABA"/>
<path d="M12.9422 7.94219L10.8836 10L12.9422 12.0578C13.0003 12.1159 13.0463 12.1848 13.0777 12.2607C13.1092 12.3366 13.1254 12.4179 13.1254 12.5C13.1254 12.5821 13.1092 12.6634 13.0777 12.7393C13.0463 12.8152 13.0003 12.8841 12.9422 12.9422C12.8841 13.0003 12.8152 13.0463 12.7393 13.0777C12.6634 13.1092 12.5821 13.1253 12.5 13.1253C12.4179 13.1253 12.3366 13.1092 12.2607 13.0777C12.1848 13.0463 12.1159 13.0003 12.0578 12.9422L10 10.8836L7.94219 12.9422C7.88412 13.0003 7.81518 13.0463 7.73931 13.0777C7.66344 13.1092 7.58213 13.1253 7.5 13.1253C7.41788 13.1253 7.33656 13.1092 7.26069 13.0777C7.18482 13.0463 7.11588 13.0003 7.05782 12.9422C6.99975 12.8841 6.95368 12.8152 6.92226 12.7393C6.89083 12.6634 6.87466 12.5821 6.87466 12.5C6.87466 12.4179 6.89083 12.3366 6.92226 12.2607C6.95368 12.1848 6.99975 12.1159 7.05782 12.0578L9.11641 10L7.05782 7.94219C6.94054 7.82491 6.87466 7.66585 6.87466 7.5C6.87466 7.33415 6.94054 7.17509 7.05782 7.05781C7.17509 6.94054 7.33415 6.87465 7.5 6.87465C7.66586 6.87465 7.82492 6.94054 7.94219 7.05781L10 9.11641L12.0578 7.05781C12.1159 6.99974 12.1848 6.95368 12.2607 6.92225C12.3366 6.89083 12.4179 6.87465 12.5 6.87465C12.5821 6.87465 12.6634 6.89083 12.7393 6.92225C12.8152 6.95368 12.8841 6.99974 12.9422 7.05781C13.0003 7.11588 13.0463 7.18482 13.0777 7.26069C13.1092 7.33656 13.1254 7.41788 13.1254 7.5C13.1254 7.58212 13.1092 7.66344 13.0777 7.73931C13.0463 7.81518 13.0003 7.88412 12.9422 7.94219ZM18.125 10C18.125 11.607 17.6485 13.1779 16.7557 14.514C15.8629 15.8502 14.594 16.8916 13.1093 17.5065C11.6247 18.1215 9.99099 18.2824 8.4149 17.9689C6.8388 17.6554 5.39106 16.8815 4.25476 15.7452C3.11846 14.6089 2.34463 13.1612 2.03112 11.5851C1.71762 10.009 1.87852 8.37535 2.49348 6.8907C3.10844 5.40605 4.14985 4.1371 5.486 3.24431C6.82214 2.35152 8.39303 1.875 10 1.875C12.1542 1.87727 14.2195 2.73403 15.7427 4.25727C17.266 5.78051 18.1227 7.84581 18.125 10ZM16.875 10C16.875 8.64025 16.4718 7.31104 15.7164 6.18045C14.9609 5.04987 13.8872 4.16868 12.631 3.64833C11.3747 3.12798 9.99238 2.99183 8.65876 3.2571C7.32514 3.52237 6.10013 4.17716 5.13864 5.13864C4.17716 6.10013 3.52238 7.32513 3.2571 8.65875C2.99183 9.99237 3.12798 11.3747 3.64833 12.6309C4.16868 13.8872 5.04987 14.9609 6.18046 15.7164C7.31105 16.4718 8.64026 16.875 10 16.875C11.8227 16.8729 13.5702 16.1479 14.8591 14.8591C16.1479 13.5702 16.8729 11.8227 16.875 10Z" fill="#99AABA"/>
</svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@ -0,0 +1,4 @@
<svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path opacity="0.2" d="M17.0001 10.5L7.4695 20.0306C7.32886 20.1712 7.13817 20.2501 6.93934 20.2501C6.74051 20.2501 6.54982 20.1712 6.40918 20.0306L4.4695 18.0938C4.32895 17.9531 4.25 17.7624 4.25 17.5636C4.25 17.3648 4.32895 17.1741 4.4695 17.0334L14.0001 7.5L17.0001 10.5Z" fill="#5D87FF"/>
<path d="M23.7497 14.25C23.7497 14.4489 23.6707 14.6397 23.5301 14.7803C23.3894 14.921 23.1986 15 22.9997 15H21.4997V16.5C21.4997 16.6989 21.4207 16.8897 21.2801 17.0303C21.1394 17.171 20.9486 17.25 20.7497 17.25C20.5508 17.25 20.3601 17.171 20.2194 17.0303C20.0788 16.8897 19.9997 16.6989 19.9997 16.5V15H18.4997C18.3008 15 18.1101 14.921 17.9694 14.7803C17.8288 14.6397 17.7497 14.4489 17.7497 14.25C17.7497 14.0511 17.8288 13.8603 17.9694 13.7197C18.1101 13.579 18.3008 13.5 18.4997 13.5H19.9997V12C19.9997 11.8011 20.0788 11.6103 20.2194 11.4697C20.3601 11.329 20.5508 11.25 20.7497 11.25C20.9486 11.25 21.1394 11.329 21.2801 11.4697C21.4207 11.6103 21.4997 11.8011 21.4997 12V13.5H22.9997C23.1986 13.5 23.3894 13.579 23.5301 13.7197C23.6707 13.8603 23.7497 14.0511 23.7497 14.25ZM5.74973 6.75H7.24973V8.25C7.24973 8.44891 7.32875 8.63968 7.4694 8.78033C7.61006 8.92098 7.80082 9 7.99973 9C8.19865 9 8.38941 8.92098 8.53006 8.78033C8.67072 8.63968 8.74973 8.44891 8.74973 8.25V6.75H10.2497C10.4486 6.75 10.6394 6.67098 10.7801 6.53033C10.9207 6.38968 10.9997 6.19891 10.9997 6C10.9997 5.80109 10.9207 5.61032 10.7801 5.46967C10.6394 5.32902 10.4486 5.25 10.2497 5.25H8.74973V3.75C8.74973 3.55109 8.67072 3.36032 8.53006 3.21967C8.38941 3.07902 8.19865 3 7.99973 3C7.80082 3 7.61006 3.07902 7.4694 3.21967C7.32875 3.36032 7.24973 3.55109 7.24973 3.75V5.25H5.74973C5.55082 5.25 5.36006 5.32902 5.2194 5.46967C5.07875 5.61032 4.99973 5.80109 4.99973 6C4.99973 6.19891 5.07875 6.38968 5.2194 6.53033C5.36006 6.67098 5.55082 6.75 5.74973 6.75ZM17.7497 18H16.9997V17.25C16.9997 17.0511 16.9207 16.8603 16.7801 16.7197C16.6394 16.579 16.4486 16.5 16.2497 16.5C16.0508 16.5 15.8601 16.579 15.7194 16.7197C15.5788 16.8603 15.4997 17.0511 15.4997 17.25V18H14.7497C14.5508 18 14.3601 18.079 14.2194 18.2197C14.0788 18.3603 13.9997 18.5511 13.9997 18.75C13.9997 18.9489 14.0788 19.1397 14.2194 19.2803C14.3601 19.421 14.5508 19.5 14.7497 19.5H15.4997V20.25C15.4997 20.4489 15.5788 20.6397 15.7194 20.7803C15.8601 20.921 16.0508 21 16.2497 21C16.4486 21 16.6394 20.921 16.7801 20.7803C16.9207 20.6397 16.9997 20.4489 16.9997 20.25V19.5H17.7497C17.9486 19.5 18.1394 19.421 18.2801 19.2803C18.4207 19.1397 18.4997 18.9489 18.4997 18.75C18.4997 18.5511 18.4207 18.3603 18.2801 18.2197C18.1394 18.079 17.9486 18 17.7497 18ZM21.06 7.5L7.99973 20.5603C7.71846 20.8414 7.33708 20.9993 6.93942 20.9993C6.54177 20.9993 6.16039 20.8414 5.87911 20.5603L3.93848 18.6216C3.79916 18.4823 3.68864 18.3169 3.61324 18.1349C3.53783 17.9529 3.49902 17.7578 3.49902 17.5608C3.49902 17.3638 3.53783 17.1687 3.61324 16.9867C3.68864 16.8047 3.79916 16.6393 3.93848 16.5L16.9997 3.43969C17.139 3.30036 17.3044 3.18984 17.4864 3.11444C17.6684 3.03904 17.8635 3.00023 18.0605 3.00023C18.2575 3.00023 18.4526 3.03904 18.6346 3.11444C18.8166 3.18984 18.982 3.30036 19.1213 3.43969L21.06 5.37844C21.1994 5.51773 21.3099 5.6831 21.3853 5.86511C21.4607 6.04713 21.4995 6.24221 21.4995 6.43922C21.4995 6.63623 21.4607 6.83131 21.3853 7.01332C21.3099 7.19533 21.1994 7.36071 21.06 7.5ZM15.9385 10.5L13.9997 8.56031L4.99973 17.5603L6.93848 19.5L15.9385 10.5ZM19.9997 6.43969L18.06 4.5L15.06 7.5L16.9997 9.43969L19.9997 6.43969Z" fill="#5D87FF"/>
</svg>

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

@ -0,0 +1,4 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path opacity="0.2" d="M19.1246 15.7499C19.5137 15.7502 19.8979 15.6641 20.2496 15.4977V19.4999C20.2496 19.6988 20.1706 19.8896 20.03 20.0302C19.8893 20.1709 19.6985 20.2499 19.4996 20.2499H5.99962C5.80071 20.2499 5.60994 20.1709 5.46929 20.0302C5.32864 19.8896 5.24962 19.6988 5.24962 19.4999V15.4977C4.84952 15.687 4.40806 15.7721 3.96627 15.745C3.52447 15.7179 3.09671 15.5795 2.72274 15.3427C2.34878 15.1059 2.04075 14.7785 1.82731 14.3907C1.61388 14.0029 1.50195 13.5675 1.50195 13.1249C1.50195 12.6823 1.61388 12.2468 1.82731 11.8591C2.04075 11.4713 2.34878 11.1438 2.72274 10.907C3.09671 10.6703 3.52447 10.5319 3.96627 10.5048C4.40806 10.4777 4.84952 10.5628 5.24962 10.7521V6.74988C5.24962 6.55097 5.32864 6.3602 5.46929 6.21955C5.60994 6.0789 5.80071 5.99988 5.99962 5.99988H10.3768C10.1873 5.59978 10.1021 5.15824 10.129 4.71635C10.156 4.27446 10.2943 3.84657 10.531 3.47247C10.7678 3.09838 11.0953 2.79024 11.4831 2.57671C11.8709 2.36319 12.3064 2.25122 12.7492 2.25122C13.1919 2.25122 13.6274 2.36319 14.0152 2.57671C14.403 2.79024 14.7305 3.09838 14.9673 3.47247C15.204 3.84657 15.3423 4.27446 15.3693 4.71635C15.3962 5.15824 15.311 5.59978 15.1215 5.99988H19.4996C19.6985 5.99988 19.8893 6.0789 20.03 6.21955C20.1706 6.3602 20.2496 6.55097 20.2496 6.74988V10.7521C19.8939 10.5838 19.505 10.4976 19.1115 10.4999C18.718 10.5022 18.33 10.593 17.9764 10.7655C17.6227 10.938 17.3123 11.1877 17.0682 11.4964C16.8241 11.805 16.6524 12.1645 16.566 12.5484C16.4796 12.9323 16.4806 13.3307 16.569 13.7142C16.6573 14.0976 16.8307 14.4563 17.0764 14.7637C17.322 15.0711 17.6337 15.3193 17.9882 15.49C18.3427 15.6607 18.7311 15.7495 19.1246 15.7499Z" fill="#5D87FF"/>
<path d="M20.6507 14.8632C20.5438 14.7957 20.4215 14.7564 20.2953 14.7489C20.1691 14.7413 20.043 14.7658 19.9288 14.82C19.6431 14.9552 19.3277 15.0159 19.0122 14.9965C18.6967 14.9771 18.3912 14.8783 18.1241 14.7091C17.857 14.54 17.637 14.3061 17.4846 14.0291C17.3321 13.7522 17.2522 13.4412 17.2522 13.125C17.2522 12.8089 17.3321 12.4979 17.4846 12.221C17.637 11.944 17.857 11.7101 18.1241 11.541C18.3912 11.3718 18.6967 11.273 19.0122 11.2536C19.3277 11.2342 19.6431 11.2949 19.9288 11.43C20.0432 11.4843 20.1694 11.5087 20.2957 11.5011C20.422 11.4935 20.5444 11.454 20.6513 11.3863C20.7583 11.3187 20.8464 11.225 20.9074 11.1142C20.9685 11.0033 21.0004 10.8788 21.0004 10.7522V6.75004C21.0004 6.35222 20.8424 5.97068 20.5611 5.68938C20.2798 5.40808 19.8982 5.25004 19.5004 5.25004H16.1048C16.1187 5.12553 16.1256 5.00033 16.1254 4.87504C16.1246 4.41397 16.0298 3.95791 15.8466 3.53476C15.6635 3.11161 15.396 2.73028 15.0604 2.4141C14.5956 1.97758 14.0166 1.68166 13.3906 1.56063C12.7645 1.43959 12.117 1.49839 11.523 1.73021C10.9289 1.96203 10.4127 2.35738 10.0342 2.87049C9.65557 3.38359 9.43009 3.99344 9.38383 4.62942C9.36943 4.83626 9.37382 5.04399 9.39696 5.25004H6.0004C5.60257 5.25004 5.22104 5.40808 4.93974 5.68938C4.65843 5.97068 4.5004 6.35222 4.5004 6.75004V9.77067C4.37589 9.75671 4.25069 9.74982 4.1254 9.75004C3.66446 9.75078 3.20852 9.84562 2.78552 10.0288C2.36253 10.2119 1.98137 10.4794 1.6654 10.815C1.34716 11.1512 1.10212 11.5497 0.945752 11.9854C0.789388 12.4211 0.725102 12.8845 0.756959 13.3463C0.810704 14.1595 1.15622 14.9259 1.72996 15.5046C2.30371 16.0834 3.06711 16.4355 3.87977 16.4963C4.08662 16.5107 4.29434 16.5063 4.5004 16.4832V19.5C4.5004 19.8979 4.65843 20.2794 4.93974 20.5607C5.22104 20.842 5.60257 21 6.0004 21H19.5004C19.8982 21 20.2798 20.842 20.5611 20.5607C20.8424 20.2794 21.0004 19.8979 21.0004 19.5V15.4979C21.0005 15.3711 20.9684 15.2465 20.9073 15.1355C20.8461 15.0245 20.7579 14.9308 20.6507 14.8632ZM19.5004 19.5H6.0004V15.4979C6.00044 15.3713 5.96845 15.2468 5.90742 15.1359C5.84638 15.025 5.75829 14.9314 5.65133 14.8638C5.54437 14.7961 5.42203 14.7566 5.29571 14.749C5.16938 14.7413 5.04317 14.7658 4.92883 14.82C4.64305 14.9552 4.32773 15.0159 4.0122 14.9965C3.69666 14.9771 3.39115 14.8783 3.12407 14.7091C2.85699 14.54 2.637 14.3061 2.48457 14.0291C2.33214 13.7522 2.25221 13.4412 2.25221 13.125C2.25221 12.8089 2.33214 12.4979 2.48457 12.221C2.637 11.944 2.85699 11.7101 3.12407 11.541C3.39115 11.3718 3.69666 11.273 4.0122 11.2536C4.32773 11.2342 4.64305 11.2949 4.92883 11.43C5.04317 11.4843 5.16938 11.5087 5.29571 11.5011C5.42203 11.4935 5.54437 11.454 5.65133 11.3863C5.75829 11.3187 5.84638 11.225 5.90742 11.1142C5.96845 11.0033 6.00044 10.8788 6.0004 10.7522V6.75004H10.3776C10.5041 6.75008 10.6287 6.7181 10.7395 6.65706C10.8504 6.59603 10.944 6.50793 11.0117 6.40097C11.0793 6.29402 11.1188 6.17168 11.1265 6.04535C11.1341 5.91902 11.1097 5.79281 11.0554 5.67848C10.9202 5.39269 10.8595 5.07738 10.8789 4.76184C10.8983 4.44631 10.9972 4.1408 11.1663 3.87371C11.3354 3.60663 11.5694 3.38665 11.8463 3.23422C12.1233 3.08179 12.4343 3.00185 12.7504 3.00185C13.0665 3.00185 13.3775 3.08179 13.6545 3.23422C13.9314 3.38665 14.1654 3.60663 14.3345 3.87371C14.5036 4.1408 14.6025 4.44631 14.6219 4.76184C14.6413 5.07738 14.5806 5.39269 14.4454 5.67848C14.3911 5.79281 14.3667 5.91902 14.3743 6.04535C14.382 6.17168 14.4215 6.29402 14.4891 6.40097C14.5568 6.50793 14.6504 6.59603 14.7613 6.65706C14.8721 6.7181 14.9967 6.75008 15.1232 6.75004H19.5004V9.7716C19.2944 9.748 19.0866 9.74361 18.8798 9.75848C18.0069 9.82029 17.1921 10.2187 16.6073 10.8697C16.0226 11.5207 15.7135 12.3734 15.7454 13.2479C15.7773 14.1224 16.1475 14.9504 16.7781 15.5571C17.4087 16.1638 18.2503 16.5019 19.1254 16.5C19.2507 16.5003 19.3759 16.4934 19.5004 16.4794V19.5Z" fill="#5D87FF"/>
</svg>

After

Width:  |  Height:  |  Size: 5.5 KiB

View File

@ -0,0 +1,4 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path opacity="0.2" d="M19.5 12C19.5 12.5933 19.3241 13.1734 18.9944 13.6667C18.6648 14.1601 18.1962 14.5446 17.6481 14.7716C17.0999 14.9987 16.4967 15.0581 15.9147 14.9424C15.3328 14.8266 14.7982 14.5409 14.3787 14.1213C13.9591 13.7018 13.6734 13.1672 13.5576 12.5853C13.4419 12.0033 13.5013 11.4001 13.7284 10.8519C13.9554 10.3038 14.3399 9.83524 14.8333 9.50559C15.3266 9.17595 15.9067 9 16.5 9C17.2957 9 18.0587 9.31607 18.6213 9.87868C19.1839 10.4413 19.5 11.2044 19.5 12Z" fill="#5D87FF"/>
<path d="M16.5 5.25H7.5C5.70979 5.25 3.9929 5.96116 2.72703 7.22703C1.46116 8.4929 0.75 10.2098 0.75 12C0.75 13.7902 1.46116 15.5071 2.72703 16.773C3.9929 18.0388 5.70979 18.75 7.5 18.75H16.5C18.2902 18.75 20.0071 18.0388 21.273 16.773C22.5388 15.5071 23.25 13.7902 23.25 12C23.25 10.2098 22.5388 8.4929 21.273 7.22703C20.0071 5.96116 18.2902 5.25 16.5 5.25ZM16.5 17.25H7.5C6.10761 17.25 4.77226 16.6969 3.78769 15.7123C2.80312 14.7277 2.25 13.3924 2.25 12C2.25 10.6076 2.80312 9.27226 3.78769 8.28769C4.77226 7.30312 6.10761 6.75 7.5 6.75H16.5C17.8924 6.75 19.2277 7.30312 20.2123 8.28769C21.1969 9.27226 21.75 10.6076 21.75 12C21.75 13.3924 21.1969 14.7277 20.2123 15.7123C19.2277 16.6969 17.8924 17.25 16.5 17.25ZM16.5 8.25C15.7583 8.25 15.0333 8.46993 14.4166 8.88199C13.7999 9.29404 13.3193 9.87971 13.0355 10.5649C12.7516 11.2502 12.6774 12.0042 12.8221 12.7316C12.9667 13.459 13.3239 14.1272 13.8483 14.6517C14.3728 15.1761 15.041 15.5333 15.7684 15.6779C16.4958 15.8226 17.2498 15.7484 17.9351 15.4645C18.6203 15.1807 19.206 14.7001 19.618 14.0834C20.0301 13.4667 20.25 12.7417 20.25 12C20.25 11.0054 19.8549 10.0516 19.1516 9.34835C18.4484 8.64509 17.4946 8.25 16.5 8.25ZM16.5 14.25C16.055 14.25 15.62 14.118 15.25 13.8708C14.88 13.6236 14.5916 13.2722 14.4213 12.861C14.251 12.4499 14.2064 11.9975 14.2932 11.561C14.38 11.1246 14.5943 10.7237 14.909 10.409C15.2237 10.0943 15.6246 9.88005 16.061 9.79323C16.4975 9.70642 16.9499 9.75097 17.361 9.92127C17.7722 10.0916 18.1236 10.38 18.3708 10.75C18.618 11.12 18.75 11.555 18.75 12C18.75 12.5967 18.5129 13.169 18.091 13.591C17.669 14.0129 17.0967 14.25 16.5 14.25Z" fill="#5D87FF"/>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -0,0 +1,10 @@
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_21817_22409)">
<path d="M22 11C22 4.92422 17.0758 0 11 0C4.92422 0 0 4.92422 0 11C0 16.1562 3.55352 20.4875 8.34453 21.6777V14.3602H6.07578V11H8.34453V9.55195C8.34453 5.80938 10.0375 4.07344 13.7156 4.07344C14.4117 4.07344 15.6148 4.21094 16.109 4.34844V7.39062C15.8512 7.36484 15.4 7.34766 14.8371 7.34766C13.0324 7.34766 12.3363 8.03086 12.3363 9.80547V11H15.9285L15.3098 14.3602H12.332V21.9184C17.7805 21.2609 22 16.6246 22 11Z" fill="#5D7287"/>
</g>
<defs>
<clipPath id="clip0_21817_22409">
<rect width="22" height="22" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 697 B

View File

@ -0,0 +1,4 @@
<svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path opacity="0.2" d="M22.7806 14.3438L14.8437 22.2806C14.7031 22.4212 14.5124 22.5001 14.3136 22.5001C14.1148 22.5001 13.9241 22.4212 13.7834 22.2806L4.46937 12.9694C4.32899 12.8288 4.25009 12.6383 4.25 12.4397V3.75H12.9397C13.1383 3.75009 13.3288 3.82899 13.4694 3.96938L22.7806 13.2806C22.8506 13.3503 22.9062 13.4331 22.9441 13.5244C22.982 13.6156 23.0015 13.7134 23.0015 13.8122C23.0015 13.911 22.982 14.0088 22.9441 14.1C22.9062 14.1912 22.8506 14.2741 22.7806 14.3438Z" fill="#5D87FF"/>
<path d="M23.3103 12.75L14 3.43969C13.8612 3.2998 13.696 3.18889 13.514 3.11341C13.332 3.03792 13.1368 2.99938 12.9397 3.00001H4.25001C4.0511 3.00001 3.86033 3.07903 3.71968 3.21968C3.57903 3.36033 3.50001 3.5511 3.50001 3.75001V12.4397C3.49938 12.6368 3.53792 12.832 3.61341 13.014C3.68889 13.196 3.7998 13.3612 3.93969 13.5L13.25 22.8103C13.3893 22.9496 13.5547 23.0602 13.7367 23.1356C13.9187 23.211 14.1138 23.2498 14.3108 23.2498C14.5078 23.2498 14.7029 23.211 14.8849 23.1356C15.0669 23.0602 15.2323 22.9496 15.3716 22.8103L23.3103 14.8716C23.4496 14.7323 23.5602 14.5669 23.6356 14.3849C23.711 14.2029 23.7498 14.0078 23.7498 13.8108C23.7498 13.6138 23.711 13.4187 23.6356 13.2367C23.5602 13.0547 23.4496 12.8893 23.3103 12.75ZM14.3103 21.75L5.00001 12.4397V4.50001H12.9397L22.25 13.8103L14.3103 21.75ZM9.50001 7.87501C9.50001 8.09751 9.43403 8.31502 9.31041 8.50002C9.18679 8.68503 9.01109 8.82922 8.80553 8.91437C8.59996 8.99952 8.37376 9.0218 8.15553 8.97839C7.9373 8.93498 7.73685 8.82784 7.57951 8.6705C7.42218 8.51317 7.31503 8.31271 7.27162 8.09448C7.22822 7.87626 7.25049 7.65006 7.33564 7.44449C7.42079 7.23892 7.56499 7.06322 7.74999 6.9396C7.935 6.81599 8.1525 6.75001 8.37501 6.75001C8.67338 6.75001 8.95952 6.86853 9.1705 7.07951C9.38148 7.29049 9.50001 7.57664 9.50001 7.87501Z" fill="#5D87FF"/>
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -0,0 +1,4 @@
<svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path opacity="0.2" d="M22.0311 12.5269L13.0311 21.5269C12.9619 21.5962 12.8798 21.6512 12.7894 21.6887C12.699 21.7262 12.6021 21.7455 12.5042 21.7455C12.4063 21.7455 12.3094 21.7262 12.219 21.6887C12.1286 21.6512 12.0465 21.5962 11.9773 21.5269L2.97733 12.5269C2.90806 12.4578 2.85309 12.3757 2.81559 12.2853C2.77809 12.1949 2.75879 12.0979 2.75879 12.0001C2.75879 11.9022 2.77809 11.8053 2.81559 11.7149C2.85309 11.6244 2.90806 11.5423 2.97733 11.4732L11.982 2.47318C12.0512 2.40391 12.1333 2.34894 12.2237 2.31144C12.3141 2.27394 12.411 2.25464 12.5089 2.25464C12.6068 2.25464 12.7037 2.27394 12.7941 2.31144C12.8845 2.34894 12.9666 2.40391 13.0358 2.47318L22.0358 11.4779C22.1736 11.6179 22.2505 11.8068 22.2496 12.0034C22.2488 12.1999 22.1702 12.3881 22.0311 12.5269Z" fill="#5D87FF"/>
<path d="M22.5617 10.9425L13.557 1.93692C13.276 1.65755 12.8958 1.50073 12.4995 1.50073C12.1033 1.50073 11.7231 1.65755 11.442 1.93692L2.44205 10.9425C2.16267 11.2236 2.00586 11.6038 2.00586 12C2.00586 12.3963 2.16267 12.7765 2.44205 13.0575L11.4467 22.0632C11.7278 22.3425 12.108 22.4994 12.5042 22.4994C12.9005 22.4994 13.2807 22.3425 13.5617 22.0632L22.5664 13.0575C22.8458 12.7765 23.0026 12.3963 23.0026 12C23.0026 11.6038 22.8458 11.2236 22.5664 10.9425H22.5617ZM12.4995 21L3.49955 12L12.4995 3.00005L21.4995 12L12.4995 21Z" fill="#5D87FF"/>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -0,0 +1,10 @@
<svg width="20" height="22" viewBox="0 0 20 22" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_21817_22413)">
<path d="M9.62959 6.0583C6.89678 6.0583 4.69248 8.2626 4.69248 10.9954C4.69248 13.7282 6.89678 15.9325 9.62959 15.9325C12.3624 15.9325 14.5667 13.7282 14.5667 10.9954C14.5667 8.2626 12.3624 6.0583 9.62959 6.0583ZM9.62959 14.2052C7.86357 14.2052 6.41982 12.7657 6.41982 10.9954C6.41982 9.2251 7.85928 7.78564 9.62959 7.78564C11.3999 7.78564 12.8394 9.2251 12.8394 10.9954C12.8394 12.7657 11.3956 14.2052 9.62959 14.2052ZM15.9202 5.85635C15.9202 6.49658 15.4046 7.00791 14.7687 7.00791C14.1284 7.00791 13.6171 6.49229 13.6171 5.85635C13.6171 5.22041 14.1327 4.70478 14.7687 4.70478C15.4046 4.70478 15.9202 5.22041 15.9202 5.85635ZM19.1901 7.0251C19.1171 5.48252 18.7647 4.11611 17.6347 2.99033C16.5089 1.86455 15.1425 1.51221 13.5999 1.43486C12.0101 1.34463 7.24482 1.34463 5.65498 1.43486C4.1167 1.50791 2.75029 1.86025 1.62021 2.98604C0.490137 4.11182 0.14209 5.47822 0.0647461 7.0208C-0.0254883 8.61064 -0.0254883 13.3759 0.0647461 14.9657C0.137793 16.5083 0.490137 17.8747 1.62021 19.0005C2.75029 20.1263 4.1124 20.4786 5.65498 20.556C7.24482 20.6462 12.0101 20.6462 13.5999 20.556C15.1425 20.4829 16.5089 20.1306 17.6347 19.0005C18.7605 17.8747 19.1128 16.5083 19.1901 14.9657C19.2804 13.3759 19.2804 8.61494 19.1901 7.0251ZM17.1362 16.6716C16.8011 17.5138 16.1522 18.1626 15.3058 18.5021C14.0382 19.0048 11.0304 18.8888 9.62959 18.8888C8.22881 18.8888 5.2167 19.0005 3.95342 18.5021C3.11123 18.1669 2.4624 17.5181 2.12295 16.6716C1.62021 15.404 1.73623 12.3962 1.73623 10.9954C1.73623 9.59463 1.62451 6.58252 2.12295 5.31924C2.45811 4.47705 3.10693 3.82822 3.95342 3.48877C5.221 2.98603 8.22881 3.10205 9.62959 3.10205C11.0304 3.10205 14.0425 2.99033 15.3058 3.48877C16.148 3.82393 16.7968 4.47275 17.1362 5.31924C17.639 6.58682 17.5229 9.59463 17.5229 10.9954C17.5229 12.3962 17.639 15.4083 17.1362 16.6716Z" fill="#5D7287"/>
</g>
<defs>
<clipPath id="clip0_21817_22413">
<rect width="19.25" height="22" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@ -0,0 +1,3 @@
<svg width="24" height="21" viewBox="0 0 24 21" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M20.229 14.2831C20.3304 14.2248 20.4147 14.141 20.4734 14.0399C20.5322 13.9388 20.5633 13.824 20.5636 13.7071L20.5756 9.84907C20.576 9.73214 20.6071 9.61737 20.6659 9.51627C20.7246 9.41517 20.8089 9.3313 20.9103 9.27307L23.0016 8.07174C23.103 8.01353 23.2179 7.98299 23.3348 7.98319C23.4517 7.98339 23.5664 8.01431 23.6676 8.07286C23.7688 8.13141 23.8527 8.21553 23.9111 8.31678C23.9695 8.41803 24.0003 8.53285 24.0003 8.64974V15.6637C24.0003 15.781 23.9693 15.8962 23.9106 15.9977C23.8518 16.0992 23.7673 16.1833 23.6656 16.2417L15.773 20.7751C15.6722 20.8329 15.558 20.8635 15.4417 20.8636C15.3255 20.8637 15.2112 20.8334 15.1103 20.7757L8.91631 17.2331C8.81427 17.1748 8.72946 17.0906 8.67045 16.9889C8.61145 16.8873 8.58035 16.7719 8.58031 16.6544V13.1177C8.58031 13.1137 8.58498 13.1111 8.58898 13.1131C8.59231 13.1151 8.59698 13.1131 8.59698 13.1084V13.1044C8.59698 13.1017 8.59831 13.0991 8.60098 13.0977L13.7023 10.1671C13.707 10.1644 13.705 10.1571 13.6996 10.1571C13.6982 10.1571 13.6969 10.1565 13.6959 10.1555C13.6949 10.1545 13.6943 10.1532 13.6943 10.1517L13.7043 6.6844C13.7048 6.56715 13.6743 6.45186 13.616 6.35014C13.5577 6.24843 13.4736 6.16389 13.3721 6.10506C13.2707 6.04624 13.1556 6.0152 13.0383 6.01508C12.9211 6.01497 12.8059 6.04578 12.7043 6.1044L8.91298 8.28907C8.81179 8.34734 8.69707 8.378 8.58031 8.378C8.46355 8.378 8.34883 8.34734 8.24764 8.28907L4.44431 6.09907C4.34298 6.04072 4.22809 6.01005 4.11117 6.01014C3.99424 6.01022 3.8794 6.04106 3.77815 6.09955C3.67691 6.15804 3.59283 6.24213 3.53435 6.34338C3.47587 6.44463 3.44505 6.55948 3.44498 6.6764V12.9431C3.44506 13.0599 3.41445 13.1746 3.35621 13.2759C3.29798 13.3771 3.21417 13.4613 3.11317 13.52C3.01217 13.5787 2.89753 13.6098 2.78073 13.6102C2.66393 13.6106 2.54907 13.5803 2.44764 13.5224L0.336977 12.3157C0.234745 12.2573 0.149801 12.1729 0.0907832 12.071C0.0317657 11.9692 0.000780095 11.8535 0.0009775 11.7357L0.0196442 0.782404C0.0198982 0.665633 0.0508188 0.550977 0.109311 0.449912C0.167803 0.348846 0.251815 0.264918 0.352939 0.206525C0.454062 0.148133 0.568748 0.117326 0.685519 0.117188C0.80229 0.11705 0.91705 0.147585 1.01831 0.205737L8.24831 4.3584C8.34934 4.41642 8.46381 4.44695 8.58031 4.44695C8.69681 4.44695 8.81128 4.41642 8.91231 4.3584L16.1403 0.205737C16.2417 0.147501 16.3567 0.116963 16.4736 0.11719C16.5905 0.117416 16.7054 0.148398 16.8065 0.207027C16.9077 0.265656 16.9917 0.349868 17.0501 0.451211C17.1084 0.552555 17.1391 0.667463 17.139 0.784404V11.7404C17.139 11.8576 17.1082 11.9727 17.0495 12.0742C16.9909 12.1757 16.9065 12.2599 16.805 12.3184L13.0196 14.4984C12.918 14.557 12.8336 14.6414 12.775 14.7431C12.7164 14.8448 12.6857 14.9602 12.6859 15.0775C12.6862 15.1949 12.7175 15.3101 12.7765 15.4115C12.8356 15.5129 12.9204 15.5969 13.0223 15.6551L15.1103 16.8437C15.2112 16.9012 15.3254 16.9313 15.4415 16.931C15.5576 16.9308 15.6716 16.9003 15.7723 16.8424L20.229 14.2831ZM20.667 4.45507C20.6671 4.57297 20.6984 4.68873 20.7578 4.79056C20.8173 4.89239 20.9026 4.97663 21.0052 5.03471C21.1078 5.09279 21.224 5.12262 21.3419 5.12116C21.4598 5.1197 21.5752 5.087 21.6763 5.0264L23.6763 3.8264C23.775 3.76724 23.8568 3.68353 23.9135 3.58341C23.9703 3.48329 24.0002 3.37017 24.0003 3.25507V0.809737C24.0001 0.691896 23.9687 0.576216 23.9092 0.474482C23.8497 0.372748 23.7643 0.288596 23.6618 0.230597C23.5592 0.172599 23.4431 0.142828 23.3252 0.144316C23.2074 0.145805 23.0921 0.1785 22.991 0.23907L20.991 1.43907C20.8922 1.49823 20.8105 1.58195 20.7537 1.68207C20.697 1.78219 20.6671 1.8953 20.667 2.0104V4.45507Z" fill="#007FFF"/>
</svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

@ -0,0 +1,9 @@
<svg width="32" height="33" viewBox="0 0 32 33" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M14.9521 0.508611C14.8833 0.514867 14.6643 0.53676 14.4673 0.552398C9.92219 0.962113 5.66491 3.41415 2.96852 7.1829C1.46706 9.27839 0.506745 11.6554 0.143891 14.1731C0.0156403 15.0519 0 15.3115 0 16.5031C0 17.6947 0.0156403 17.9543 0.143891 18.8332C1.01349 24.8413 5.28954 29.8892 11.089 31.7595C12.1275 32.0942 13.2223 32.3225 14.4673 32.4601C14.9521 32.5133 17.0479 32.5133 17.5327 32.4601C19.6817 32.2224 21.5022 31.6907 23.2978 30.7743C23.573 30.6336 23.6262 30.5961 23.5887 30.5648C23.5636 30.546 22.3906 28.9729 20.983 27.0713L18.4242 23.6153L15.218 18.8707C13.4538 16.2623 12.0023 14.1293 11.9898 14.1293C11.9773 14.1262 11.9648 16.2342 11.9586 18.8082C11.9492 23.315 11.946 23.4964 11.8897 23.6028C11.8084 23.756 11.7458 23.8186 11.6145 23.8874C11.5144 23.9374 11.4268 23.9468 10.9544 23.9468H10.4133L10.2694 23.8561C10.1756 23.7967 10.1067 23.7185 10.0598 23.6278L9.99413 23.4871L10.0004 17.2162L10.0098 10.9423L10.1067 10.8203C10.1568 10.7546 10.2631 10.6702 10.3382 10.6295C10.4665 10.567 10.5165 10.5607 11.0577 10.5607C11.6958 10.5607 11.8022 10.5857 11.9679 10.7671C12.0149 10.8172 13.7509 13.4318 15.828 16.5813C17.905 19.7308 20.7453 24.0313 22.1404 26.1424L24.6741 29.9799L24.8023 29.8955C25.9378 29.1574 27.139 28.1065 28.0899 27.0119C30.1138 24.688 31.4182 21.8544 31.8561 18.8332C31.9844 17.9543 32 17.6947 32 16.5031C32 15.3115 31.9844 15.0519 31.8561 14.1731C30.9865 8.16496 26.7105 3.11703 20.911 1.24672C19.8882 0.915199 18.7996 0.686884 17.5797 0.54927C17.2794 0.517994 15.2117 0.483591 14.9521 0.508611ZM21.5022 10.1854C21.6524 10.2605 21.7744 10.4043 21.8182 10.5544C21.8432 10.6358 21.8495 12.3747 21.8432 16.2936L21.8338 21.917L20.8422 20.397L19.8475 18.877V14.7892C19.8475 12.1464 19.86 10.6608 19.8788 10.5889C19.9288 10.4137 20.0383 10.2761 20.1885 10.1948C20.3167 10.1291 20.3636 10.1228 20.8547 10.1228C21.3177 10.1228 21.399 10.1291 21.5022 10.1854Z" fill="url(#paint0_linear_21817_21575)"/>
<defs>
<linearGradient id="paint0_linear_21817_21575" x1="16" y1="0.5" x2="16" y2="32.5" gradientUnits="userSpaceOnUse">
<stop stop-color="#555555"/>
<stop offset="1"/>
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -0,0 +1,4 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path opacity="0.2" d="M21 7.5L12 12.75L3 7.5L12 2.25L21 7.5Z" fill="#5D87FF"/>
<path d="M21.6478 16.125C21.7469 16.297 21.7738 16.5011 21.7226 16.6928C21.6715 16.8845 21.5465 17.0481 21.375 17.1479L12.375 22.3979C12.2603 22.4647 12.1299 22.5 11.9972 22.5C11.8644 22.5 11.7341 22.4647 11.6194 22.3979L2.61938 17.1479C2.45034 17.0463 2.32811 16.8822 2.27916 16.6912C2.2302 16.5001 2.25846 16.2975 2.35781 16.1272C2.45717 15.9568 2.61962 15.8324 2.81 15.781C3.00037 15.7295 3.20336 15.7551 3.375 15.8522L12 20.8819L20.625 15.8522C20.7969 15.7532 21.0011 15.7263 21.1927 15.7774C21.3844 15.8285 21.5481 15.9535 21.6478 16.125ZM20.625 11.3522L12 16.3819L3.375 11.3522C3.20423 11.2672 3.00748 11.2505 2.82479 11.3054C2.6421 11.3603 2.4872 11.4828 2.39163 11.6479C2.29606 11.813 2.26699 12.0083 2.31035 12.1941C2.3537 12.3798 2.46622 12.5421 2.625 12.6479L11.625 17.8979C11.7397 17.9647 11.8701 18 12.0028 18C12.1356 18 12.2659 17.9647 12.3806 17.8979L21.3806 12.6479C21.4671 12.599 21.5429 12.5334 21.6038 12.4549C21.6647 12.3764 21.7094 12.2867 21.7353 12.1908C21.7612 12.0949 21.7679 11.9948 21.7548 11.8964C21.7417 11.7979 21.7092 11.703 21.6592 11.6172C21.6091 11.5315 21.5426 11.4565 21.4633 11.3966C21.384 11.3367 21.2937 11.2932 21.1975 11.2686C21.1013 11.2439 21.0011 11.2386 20.9028 11.253C20.8046 11.2673 20.7101 11.3011 20.625 11.3522ZM2.25 7.50005C2.2503 7.36868 2.2851 7.2397 2.35091 7.12602C2.41672 7.01233 2.51124 6.91792 2.625 6.85223L11.625 1.60224C11.7397 1.53536 11.8701 1.50012 12.0028 1.50012C12.1356 1.50012 12.2659 1.53536 12.3806 1.60224L21.3806 6.85223C21.4938 6.91829 21.5878 7.01286 21.6531 7.12652C21.7183 7.24018 21.7527 7.36897 21.7527 7.50005C21.7527 7.63112 21.7183 7.75991 21.6531 7.87357C21.5878 7.98724 21.4938 8.08181 21.3806 8.14786L12.3806 13.3979C12.2659 13.4647 12.1356 13.5 12.0028 13.5C11.8701 13.5 11.7397 13.4647 11.625 13.3979L2.625 8.14786C2.51124 8.08218 2.41672 7.98777 2.35091 7.87408C2.2851 7.76039 2.2503 7.63141 2.25 7.50005ZM4.48875 7.50005L12 11.8819L19.5112 7.50005L12 3.11817L4.48875 7.50005Z" fill="#5D87FF"/>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@ -0,0 +1,13 @@
<svg width="29" height="26" viewBox="0 0 29 26" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_21817_21560)">
<path d="M14.4444 15.7526C15.964 15.7526 17.1958 14.5208 17.1958 13.0013C17.1958 11.4818 15.964 10.25 14.4444 10.25C12.9249 10.25 11.6931 11.4818 11.6931 13.0013C11.6931 14.5208 12.9249 15.7526 14.4444 15.7526Z" fill="#139FCD"/>
<path d="M14.4441 19.1895C22.0417 19.1895 28.2007 16.418 28.2007 12.9991C28.2007 9.58016 22.0417 6.80859 14.4441 6.80859C6.84655 6.80859 0.6875 9.58016 0.6875 12.9991C0.6875 16.418 6.84655 19.1895 14.4441 19.1895Z" stroke="#139FCD" stroke-width="1.5"/>
<path d="M9.08309 16.0962C12.8819 22.6759 18.3616 26.624 21.3225 24.9146C24.2834 23.2051 23.6041 16.4855 19.8053 9.90576C16.0065 3.32608 10.5268 -0.622027 7.56589 1.08743C4.60503 2.79688 5.28431 9.51655 9.08309 16.0962Z" stroke="#139FCD" stroke-width="1.5"/>
<path d="M9.08307 9.90669C5.28428 16.4864 4.60501 23.2061 7.56587 24.9155C10.5267 26.625 16.0065 22.6769 19.8053 16.0972C23.6041 9.51748 24.2833 2.79781 21.3225 1.08836C18.3616 -0.621097 12.8819 3.32701 9.08307 9.90669Z" stroke="#139FCD" stroke-width="1.5"/>
</g>
<defs>
<clipPath id="clip0_21817_21560">
<rect width="28.8889" height="26" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -0,0 +1,3 @@
<svg width="26" height="25" viewBox="0 0 26 25" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M18.0153 17.3479C18.9747 17.2486 19.7026 16.4214 19.6695 15.4288C19.6365 14.4362 18.8093 13.6421 17.8167 13.6421H17.7506C16.7248 13.6752 15.9308 14.5354 15.9639 15.5611C15.997 16.0574 16.1955 16.4875 16.4932 16.7853C15.3683 19.0022 13.6479 20.6235 11.0672 21.98C9.31358 22.9065 7.49389 23.2374 5.67419 23.0058C4.18529 22.8073 3.02727 22.1456 2.29927 21.0536C1.24058 19.4324 1.14136 17.6787 2.0347 15.9251C2.66337 14.6678 3.65584 13.7413 4.28451 13.2781C4.15218 12.848 3.95362 12.1201 3.8544 11.5907C-0.94311 15.0649 -0.446775 19.7632 1.00902 21.98C2.10082 23.6345 4.31762 24.6602 6.76599 24.6602C7.42767 24.6602 8.08935 24.594 8.75113 24.4286C12.9862 23.6014 16.1956 21.0867 18.0153 17.3479ZM23.8384 13.2451C21.3239 10.3003 17.6182 8.67902 13.3832 8.67902H12.8538C12.5561 8.08345 11.9274 7.68634 11.2326 7.68634H11.1664C10.1408 7.71945 9.3468 8.57969 9.3798 9.60547C9.41291 10.598 10.24 11.3922 11.2326 11.3922H11.2987C12.0266 11.359 12.6553 10.8958 12.92 10.2671H13.5155C16.0301 10.2671 18.4123 10.995 20.563 12.4178C22.2172 13.5097 23.4083 14.9325 24.07 16.653C24.6325 18.0427 24.5993 19.3992 24.0038 20.5574C23.0774 22.3109 21.5224 23.2705 19.4711 23.2705C18.1476 23.2705 16.8904 22.8734 16.2286 22.5756C15.8647 22.9065 15.2029 23.4358 14.7397 23.7668C16.1625 24.4285 17.6182 24.7925 19.0078 24.7925C22.1841 24.7925 24.5332 23.0388 25.4266 21.2853C26.386 19.3661 26.3198 16.0574 23.8384 13.2451ZM7.03066 17.9102C7.06377 18.9029 7.8909 19.6969 8.88347 19.6969H8.94969C9.97537 19.6639 10.7694 18.8036 10.7363 17.7779C10.7033 16.7852 9.87604 15.9912 8.88347 15.9912H8.81735C8.75113 15.9912 8.6518 15.9912 8.58579 16.0242C7.22922 13.7743 6.66676 11.3259 6.86532 8.67892C6.99755 6.69367 7.65933 4.9731 8.81735 3.55031C9.77681 2.32608 11.6296 1.73052 12.887 1.69751C16.394 1.63129 17.8828 5.99878 17.9821 7.75246C18.4123 7.85169 19.1402 8.08335 19.6365 8.2488C19.2394 2.88873 15.9308 0.109375 12.7546 0.109375C9.77681 0.109375 7.03066 2.26006 5.93876 5.43643C4.41685 9.67159 5.40942 13.7413 7.26222 16.9508C7.09688 17.1823 6.99755 17.5462 7.03066 17.9102Z" fill="#764ABC"/>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@ -0,0 +1,4 @@
<svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path opacity="0.2" d="M18.5 3.75V20.25C18.5 20.6478 18.342 21.0294 18.0607 21.3107C17.7794 21.592 17.3978 21.75 17 21.75H8C7.60218 21.75 7.22064 21.592 6.93934 21.3107C6.65804 21.0294 6.5 20.6478 6.5 20.25V3.75C6.5 3.35218 6.65804 2.97064 6.93934 2.68934C7.22064 2.40804 7.60218 2.25 8 2.25H17C17.3978 2.25 17.7794 2.40804 18.0607 2.68934C18.342 2.97064 18.5 3.35218 18.5 3.75Z" fill="#5D87FF"/>
<path d="M17 1.5H8C7.40326 1.5 6.83097 1.73705 6.40901 2.15901C5.98705 2.58097 5.75 3.15326 5.75 3.75V20.25C5.75 20.8467 5.98705 21.419 6.40901 21.841C6.83097 22.2629 7.40326 22.5 8 22.5H17C17.5967 22.5 18.169 22.2629 18.591 21.841C19.0129 21.419 19.25 20.8467 19.25 20.25V3.75C19.25 3.15326 19.0129 2.58097 18.591 2.15901C18.169 1.73705 17.5967 1.5 17 1.5ZM17.75 20.25C17.75 20.4489 17.671 20.6397 17.5303 20.7803C17.3897 20.921 17.1989 21 17 21H8C7.80109 21 7.61032 20.921 7.46967 20.7803C7.32902 20.6397 7.25 20.4489 7.25 20.25V3.75C7.25 3.55109 7.32902 3.36032 7.46967 3.21967C7.61032 3.07902 7.80109 3 8 3H17C17.1989 3 17.3897 3.07902 17.5303 3.21967C17.671 3.36032 17.75 3.55109 17.75 3.75V20.25ZM13.625 5.625C13.625 5.8475 13.559 6.06501 13.4354 6.25002C13.3118 6.43502 13.1361 6.57922 12.9305 6.66436C12.725 6.74951 12.4988 6.77179 12.2805 6.72838C12.0623 6.68498 11.8618 6.57783 11.7045 6.4205C11.5472 6.26316 11.44 6.06271 11.3966 5.84448C11.3532 5.62625 11.3755 5.40005 11.4606 5.19448C11.5458 4.98891 11.69 4.81321 11.875 4.6896C12.06 4.56598 12.2775 4.5 12.5 4.5C12.7984 4.5 13.0845 4.61853 13.2955 4.8295C13.5065 5.04048 13.625 5.32663 13.625 5.625Z" fill="#5D87FF"/>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -0,0 +1,4 @@
<svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path opacity="0.2" d="M20 5.25V18.75C20 18.9489 19.921 19.1397 19.7803 19.2803C19.6397 19.421 19.4489 19.5 19.25 19.5H5.75C5.55109 19.5 5.36032 19.421 5.21967 19.2803C5.07902 19.1397 5 18.9489 5 18.75V5.25C5 5.05109 5.07902 4.86032 5.21967 4.71967C5.36032 4.57902 5.55109 4.5 5.75 4.5H19.25C19.4489 4.5 19.6397 4.57902 19.7803 4.71967C19.921 4.86032 20 5.05109 20 5.25Z" fill="#5D87FF"/>
<path d="M5.96899 9.53055L2.96899 6.53055C2.89926 6.4609 2.84394 6.37818 2.80619 6.28713C2.76845 6.19609 2.74902 6.09849 2.74902 5.99993C2.74902 5.90137 2.76845 5.80377 2.80619 5.71272C2.84394 5.62168 2.89926 5.53896 2.96899 5.4693L5.96899 2.4693C6.10972 2.32857 6.30059 2.24951 6.49961 2.24951C6.69864 2.24951 6.88951 2.32857 7.03024 2.4693C7.17097 2.61003 7.25003 2.80091 7.25003 2.99993C7.25003 3.19895 7.17097 3.38982 7.03024 3.53055L4.55993 5.99993L7.03024 8.4693C7.17097 8.61003 7.25003 8.80091 7.25003 8.99993C7.25003 9.19895 7.17097 9.38982 7.03024 9.53055C6.88951 9.67128 6.69864 9.75035 6.49961 9.75035C6.30059 9.75035 6.10972 9.67128 5.96899 9.53055ZM9.71899 9.53055C9.78864 9.60029 9.87136 9.65561 9.96241 9.69335C10.0535 9.73109 10.1511 9.75052 10.2496 9.75052C10.3482 9.75052 10.4458 9.73109 10.5368 9.69335C10.6279 9.65561 10.7106 9.60029 10.7802 9.53055L13.7802 6.53055C13.85 6.4609 13.9053 6.37818 13.943 6.28713C13.9808 6.19609 14.0002 6.09849 14.0002 5.99993C14.0002 5.90137 13.9808 5.80377 13.943 5.71272C13.9053 5.62168 13.85 5.53896 13.7802 5.4693L10.7802 2.4693C10.6395 2.32857 10.4486 2.24951 10.2496 2.24951C10.0506 2.24951 9.85972 2.32857 9.71899 2.4693C9.57826 2.61003 9.4992 2.80091 9.4992 2.99993C9.4992 3.19895 9.57826 3.38982 9.71899 3.53055L12.1893 5.99993L9.71899 8.4693C9.64926 8.53896 9.59394 8.62168 9.55619 8.71272C9.51845 8.80377 9.49902 8.90137 9.49902 8.99993C9.49902 9.09849 9.51845 9.19609 9.55619 9.28713C9.59394 9.37818 9.64926 9.4609 9.71899 9.53055ZM19.2496 3.74993H16.9996C16.8007 3.74993 16.6099 3.82895 16.4693 3.9696C16.3286 4.11025 16.2496 4.30102 16.2496 4.49993C16.2496 4.69884 16.3286 4.88961 16.4693 5.03026C16.6099 5.17091 16.8007 5.24993 16.9996 5.24993H19.2496V18.7499H5.74961V12.7499C5.74961 12.551 5.6706 12.3603 5.52994 12.2196C5.38929 12.0789 5.19853 11.9999 4.99961 11.9999C4.8007 11.9999 4.60994 12.0789 4.46928 12.2196C4.32863 12.3603 4.24961 12.551 4.24961 12.7499V18.7499C4.24961 19.1478 4.40765 19.5293 4.68895 19.8106C4.97026 20.0919 5.35179 20.2499 5.74961 20.2499H19.2496C19.6474 20.2499 20.029 20.0919 20.3103 19.8106C20.5916 19.5293 20.7496 19.1478 20.7496 18.7499V5.24993C20.7496 4.8521 20.5916 4.47057 20.3103 4.18927C20.029 3.90796 19.6474 3.74993 19.2496 3.74993Z" fill="#5D87FF"/>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

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