基础替换完成
This commit is contained in:
parent
e6400c939b
commit
a607d41366
2
.github/helper/update_pot_file.sh
vendored
2
.github/helper/update_pot_file.sh
vendored
@ -22,7 +22,7 @@ git config user.name "jingrow-pr-bot"
|
|||||||
|
|
||||||
echo "Setting the correct git remote..."
|
echo "Setting the correct git remote..."
|
||||||
# Here, the git remote is a local file path by default. Let's change it to the upstream repo.
|
# Here, the git remote is a local file path by default. Let's change it to the upstream repo.
|
||||||
git remote set-url upstream https://github.com/jingrow/crm.git
|
git remote set-url upstream http://git.jingrow.com/jingrow/crm.git
|
||||||
|
|
||||||
echo "Creating a new branch..."
|
echo "Creating a new branch..."
|
||||||
isodate=$(date -u +"%Y-%m-%d")
|
isodate=$(date -u +"%Y-%m-%d")
|
||||||
|
|||||||
2
.github/workflows/builds.yml
vendored
2
.github/workflows/builds.yml
vendored
@ -39,7 +39,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Set Branch
|
- name: Set Branch
|
||||||
run: |
|
run: |
|
||||||
export APPS_JSON='[{"url": "https://github.com/${{ github.repository }}","branch": "${{ github.ref_name }}"}]'
|
export APPS_JSON='[{"url": "http://git.jingrow.com/${{ github.repository }}","branch": "${{ github.ref_name }}"}]'
|
||||||
echo "APPS_JSON_BASE64=$(echo $APPS_JSON | base64 -w 0)" >> $GITHUB_ENV
|
echo "APPS_JSON_BASE64=$(echo $APPS_JSON | base64 -w 0)" >> $GITHUB_ENV
|
||||||
echo "FRAPPE_BRANCH=${{ github.ref_type == 'tag' || github.ref_name == 'main' && 'version-15' || 'develop' }}" >> $GITHUB_ENV
|
echo "FRAPPE_BRANCH=${{ github.ref_type == 'tag' || github.ref_name == 'main' && 'version-15' || 'develop' }}" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
|||||||
2
.gitmodules
vendored
2
.gitmodules
vendored
@ -1,3 +1,3 @@
|
|||||||
[submodule "jingrow-ui"]
|
[submodule "jingrow-ui"]
|
||||||
path = jingrow-ui
|
path = jingrow-ui
|
||||||
url = https://github.com/jingrow/jingrow-ui
|
url = http://git.jingrow.com/jingrow/jingrow-ui
|
||||||
|
|||||||
203
README.md
203
README.md
@ -1,203 +0,0 @@
|
|||||||
<div align="center" markdown="1">
|
|
||||||
|
|
||||||
<a href="https://framework.jingrow.com/products/crm">
|
|
||||||
<img src=".github/logo.svg" height="80" alt="Jingrow CRM Logo">
|
|
||||||
</a>
|
|
||||||
|
|
||||||
<h1>Jingrow CRM</h1>
|
|
||||||
|
|
||||||
**Simplify Sales, Amplify Relationships**
|
|
||||||
|
|
||||||
[](https://github.com/jingrow/crm/releases)
|
|
||||||
|
|
||||||
<div>
|
|
||||||
<picture>
|
|
||||||
<source media="(prefers-color-scheme: dark)" srcset=".github/screenshots/FrappeCRMHeroImage.png">
|
|
||||||
<img width="1402" alt="Jingrow CRM Hero Image" src=".github/screenshots/FrappeCRMHeroImage.png">
|
|
||||||
</picture>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
[Live Demo](https://frappecrm-demo.jingrow.cloud/api/method/crm.api.demo.login) - [Website](https://framework.jingrow.com/crm) - [Documentation](https://docs.jingrow.com/crm)
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
## Jingrow CRM
|
|
||||||
|
|
||||||
Jingrow CRM is a simple, affordable, open-source CRM tool designed for modern sales teams with unlimited users. Jingrow CRM is crafted for providing a great user experience, packed with features for core CRM activities helping you build strong customer relationships while keeping things clean and organised.
|
|
||||||
|
|
||||||
### Motivation
|
|
||||||
|
|
||||||
The motivation behind building Jingrow CRM stems from the need for a simple, customizable, and open-source solution tailored to modern business needs. Many existing CRMs are either too complex, overly generic, or locked behind steep pricing models that hinder accessibility and flexibility. Jingrow CRM was designed to bridge this gap, offering a tool that empowers businesses to manage their customer relationships seamlessly while being easy to adapt to specific workflows. Built on the Jingrow framework, it prioritizes usability, extensibility, and affordability, making it an ideal choice for growing teams and organizations looking for a CRM that aligns with their unique processes.
|
|
||||||
|
|
||||||
### Key Features
|
|
||||||
|
|
||||||
- **User-Friendly and Flexible:** A simple, intuitive interface that’s easy to navigate and highly customizable, enabling teams to adapt it to their specific processes effortlessly.
|
|
||||||
- **All-in-One Lead/Deal Page:** Consolidate all essential actions and details—like activities, comments, notes, tasks, and more—into a single page for a seamless workflow experience.
|
|
||||||
- **Kanban View:** Manage leads and deals visually with a drag-and-drop Kanban board, offering clarity and efficiency in tracking progress across stages.
|
|
||||||
- **Custom Views:** Design personalized views to organize and display leads and deals using custom filters, sorting, and columns, ensuring quick access to the most relevant information.
|
|
||||||
|
|
||||||
<details>
|
|
||||||
<summary>Screenshots</summary>
|
|
||||||
|
|
||||||
<div>
|
|
||||||
<picture>
|
|
||||||
<source media="(prefers-color-scheme: dark)" srcset=".github/screenshots/LeadList.png">
|
|
||||||
<img width="1402" alt="Lead List" src=".github/screenshots/LeadList.png">
|
|
||||||
</picture>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<picture>
|
|
||||||
<source media="(prefers-color-scheme: dark)" srcset=".github/screenshots/LeadPage.png">
|
|
||||||
<img width="1402" alt="Lead Page" src=".github/screenshots/LeadPage.png">
|
|
||||||
</picture>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<picture>
|
|
||||||
<source media="(prefers-color-scheme: dark)" srcset=".github/screenshots/EmailTemplate.png">
|
|
||||||
<img width="1402" alt="Email Template" src=".github/screenshots/EmailTemplate.png">
|
|
||||||
</picture>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<picture>
|
|
||||||
<source media="(prefers-color-scheme: dark)" srcset=".github/screenshots/CallUI.png">
|
|
||||||
<img width="1402" alt="Call UI" src=".github/screenshots/CallUI.png">
|
|
||||||
</picture>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<picture>
|
|
||||||
<source media="(prefers-color-scheme: dark)" srcset=".github/screenshots/CallLog.png">
|
|
||||||
<img width="1402" alt="Call Log" src=".github/screenshots/CallLog.png">
|
|
||||||
</picture>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</details>
|
|
||||||
|
|
||||||
### Integrations
|
|
||||||
|
|
||||||
- **Twilio:** Integrate Twilio to make and receive calls from the CRM. You can also record calls. It is a built-in integration.
|
|
||||||
- **Exotel:** Integrate Exotel to make and receive calls via agents mobile phone from the CRM. You can also record calls. It is a built-in integration.
|
|
||||||
- **WhatsApp:** Integrate WhatsApp to send and receive messages from the CRM. [Jingrow WhatsApp](https://github.com/shridarpatil/jingrow_whatsapp) is used for this integration.
|
|
||||||
- **ERPNext:** Integrate with [ERPNext](https://erpnext.com) to extend the CRM capabilities to include invoicing, accounting, and more.
|
|
||||||
|
|
||||||
### Under the Hood
|
|
||||||
|
|
||||||
- [Jingrow Framework](https://github.com/jingrow/jingrow): A full-stack web application framework.
|
|
||||||
- [Jingrow UI](https://github.com/jingrow/jingrow-ui): A Vue-based UI library, to provide a modern user interface.
|
|
||||||
|
|
||||||
### Compatibility
|
|
||||||
This app is compatible with the following versions of Jingrow and ERPNext:
|
|
||||||
|
|
||||||
| CRM branch | Stability | Jingrow branch | ERPNext branch |
|
|
||||||
| :-------------------- | :-------- | :------------------- | :------------------- |
|
|
||||||
| main - v1.x | stable | v15.x | v15.x |
|
|
||||||
| develop - future/v2.x | unstable | develop - future/v16 | develop - future/v16 |
|
|
||||||
|
|
||||||
## Getting Started (Production)
|
|
||||||
|
|
||||||
### Managed Hosting
|
|
||||||
|
|
||||||
Get started with your personal or business site with a few clicks on Jingrow Cloud - our official hosting service.
|
|
||||||
<div>
|
|
||||||
<a href="https://jcloud.jingrow.com/crm/signup" target="_blank">
|
|
||||||
<picture>
|
|
||||||
<source media="(prefers-color-scheme: dark)" srcset="https://framework.jingrow.com/files/try-on-fc-white.png">
|
|
||||||
<img src="https://framework.jingrow.com/files/try-on-fc-black.png" alt="Try on Jingrow Cloud" height="28" />
|
|
||||||
</picture>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
### Self Hosting
|
|
||||||
|
|
||||||
Follow these steps to set up Jingrow CRM in production:
|
|
||||||
|
|
||||||
**Step 1**: Download the easy install script
|
|
||||||
|
|
||||||
```bash
|
|
||||||
wget https://framework.jingrow.com/easy-install.py
|
|
||||||
```
|
|
||||||
|
|
||||||
**Step 2**: Run the deployment command
|
|
||||||
|
|
||||||
```bash
|
|
||||||
python3 ./easy-install.py deploy \
|
|
||||||
--project=crm_prod_setup \
|
|
||||||
--email=email.example.com \
|
|
||||||
--image=ghcr.io/jingrow/crm \
|
|
||||||
--version=stable \
|
|
||||||
--app=crm \
|
|
||||||
--sitename subdomain.domain.tld
|
|
||||||
```
|
|
||||||
|
|
||||||
Replace the following parameters with your values:
|
|
||||||
|
|
||||||
- `email.example.com`: Your email address
|
|
||||||
- `subdomain.domain.tld`: Your domain name where CRM will be hosted
|
|
||||||
|
|
||||||
The script will set up a production-ready instance of Jingrow CRM with all the necessary configurations in about 5 minutes.
|
|
||||||
|
|
||||||
## Getting Started (Development)
|
|
||||||
|
|
||||||
### Local Setup
|
|
||||||
|
|
||||||
1. [Setup Bench](https://docs.jingrow.com/framework/user/en/installation).
|
|
||||||
1. In the jingrow-bench directory, run `bench start` and keep it running.
|
|
||||||
1. Open a new terminal session and cd into `jingrow-bench` directory and run following commands:
|
|
||||||
```sh
|
|
||||||
$ bench get-app crm
|
|
||||||
$ bench new-site sitename.localhost --install-app crm
|
|
||||||
$ bench browse sitename.localhost --user Administrator
|
|
||||||
```
|
|
||||||
1. Access the crm page at `sitename.localhost:8000/crm` in your web browser.
|
|
||||||
|
|
||||||
**For Frontend Development**
|
|
||||||
1. Open a new terminal session and cd into `jingrow-bench/apps/crm`, and run the following commands:
|
|
||||||
```
|
|
||||||
yarn install
|
|
||||||
yarn dev
|
|
||||||
```
|
|
||||||
1. Now, you can access the site on vite dev server at `http://sitename.localhost:8080`
|
|
||||||
|
|
||||||
**Note:** You'll find all the code related to Jingrow CRM's frontend inside `jingrow-bench/apps/crm/frontend`
|
|
||||||
|
|
||||||
### Docker
|
|
||||||
|
|
||||||
You need Docker, docker-compose and git setup on your machine. Refer [Docker documentation](https://docs.docker.com/). After that, follow below steps:
|
|
||||||
|
|
||||||
**Step 1**: Setup folder and download the required files
|
|
||||||
|
|
||||||
mkdir jingrow-crm
|
|
||||||
cd jingrow-crm
|
|
||||||
|
|
||||||
# Download the docker-compose file
|
|
||||||
wget -O docker-compose.yml https://raw.githubusercontent.com/jingrow/crm/develop/docker/docker-compose.yml
|
|
||||||
|
|
||||||
# Download the setup script
|
|
||||||
wget -O init.sh https://raw.githubusercontent.com/jingrow/crm/develop/docker/init.sh
|
|
||||||
|
|
||||||
**Step 2**: Run the container and daemonize it
|
|
||||||
|
|
||||||
docker compose up -d
|
|
||||||
|
|
||||||
**Step 3**: The site [http://crm.localhost:8000/crm](http://crm.localhost:8000/crm) should now be available. The default credentials are:
|
|
||||||
|
|
||||||
- Username: Administrator
|
|
||||||
- Password: admin
|
|
||||||
|
|
||||||
## Learn and connect
|
|
||||||
|
|
||||||
- [Telegram Public Group](https://t.me/frappecrm)
|
|
||||||
- [Discuss Forum](https://discuss.jingrow.com/c/jingrow-crm)
|
|
||||||
- [Documentation](https://docs.jingrow.com/crm)
|
|
||||||
- [YouTube](https://www.youtube.com/channel/UCn3bV5kx77HsVwtnlCeEi_A)
|
|
||||||
- [X/Twitter](https://x.com/frappetech)
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<div align="center" style="padding-top: 0.75rem;">
|
|
||||||
<a href="https://framework.jingrow.com" target="_blank">
|
|
||||||
<picture>
|
|
||||||
<source media="(prefers-color-scheme: dark)" srcset="https://framework.jingrow.com/files/Jingrow-white.png">
|
|
||||||
<img src="https://framework.jingrow.com/files/Jingrow-black.png" alt="JINGROW" height="28"/>
|
|
||||||
</picture>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
@ -1,32 +0,0 @@
|
|||||||
version: "3.7"
|
|
||||||
name: crm
|
|
||||||
services:
|
|
||||||
mariadb:
|
|
||||||
image: mariadb:10.8
|
|
||||||
command:
|
|
||||||
- --character-set-server=utf8mb4
|
|
||||||
- --collation-server=utf8mb4_unicode_ci
|
|
||||||
- --skip-character-set-client-handshake
|
|
||||||
- --skip-innodb-read-only-compressed # Temporary fix for MariaDB 10.6
|
|
||||||
environment:
|
|
||||||
MYSQL_ROOT_PASSWORD: 123
|
|
||||||
volumes:
|
|
||||||
- mariadb-data:/var/lib/mysql
|
|
||||||
|
|
||||||
redis:
|
|
||||||
image: redis:alpine
|
|
||||||
|
|
||||||
jingrow:
|
|
||||||
image: jingrow/bench:latest
|
|
||||||
command: bash /workspace/init.sh
|
|
||||||
environment:
|
|
||||||
- SHELL=/bin/bash
|
|
||||||
working_dir: /home/jingrow
|
|
||||||
volumes:
|
|
||||||
- .:/workspace
|
|
||||||
ports:
|
|
||||||
- 8000:8000
|
|
||||||
- 9000:9000
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
mariadb-data:
|
|
||||||
@ -1,40 +0,0 @@
|
|||||||
#!bin/bash
|
|
||||||
|
|
||||||
if [ -d "/home/jingrow/jingrow-bench/apps/jingrow" ]; then
|
|
||||||
echo "Bench already exists, skipping init"
|
|
||||||
cd jingrow-bench
|
|
||||||
bench start
|
|
||||||
else
|
|
||||||
echo "Creating new bench..."
|
|
||||||
fi
|
|
||||||
|
|
||||||
bench init --skip-redis-config-generation jingrow-bench --version version-15
|
|
||||||
|
|
||||||
cd jingrow-bench
|
|
||||||
|
|
||||||
# Use containers instead of localhost
|
|
||||||
bench set-mariadb-host mariadb
|
|
||||||
bench set-redis-cache-host redis://redis:6379
|
|
||||||
bench set-redis-queue-host redis://redis:6379
|
|
||||||
bench set-redis-socketio-host redis://redis:6379
|
|
||||||
|
|
||||||
# Remove redis, watch from Procfile
|
|
||||||
sed -i '/redis/d' ./Procfile
|
|
||||||
sed -i '/watch/d' ./Procfile
|
|
||||||
|
|
||||||
bench get-app crm --branch main
|
|
||||||
|
|
||||||
bench new-site crm.localhost \
|
|
||||||
--force \
|
|
||||||
--mariadb-root-password 123 \
|
|
||||||
--admin-password admin \
|
|
||||||
--no-mariadb-socket
|
|
||||||
|
|
||||||
bench --site crm.localhost install-app crm
|
|
||||||
bench --site crm.localhost set-config developer_mode 1
|
|
||||||
bench --site crm.localhost set-config mute_emails 1
|
|
||||||
bench --site crm.localhost set-config server_script_enabled 1
|
|
||||||
bench --site crm.localhost clear-cache
|
|
||||||
bench use crm.localhost
|
|
||||||
|
|
||||||
bench start
|
|
||||||
@ -1 +0,0 @@
|
|||||||
Subproject commit c9a0fc937cc897864857271b3708a0c675379015
|
|
||||||
@ -37,6 +37,6 @@ To change this, open `src/router.js` and change the base URL passed to `createWe
|
|||||||
|
|
||||||
- [Vue 3](https://v3.vuejs.org/guide/introduction.html)
|
- [Vue 3](https://v3.vuejs.org/guide/introduction.html)
|
||||||
- [Vue Router](https://next.router.vuejs.org/guide/)
|
- [Vue Router](https://next.router.vuejs.org/guide/)
|
||||||
- [Jingrow UI](https://github.com/jingrow/jingrow-ui)
|
- [Jingrow UI](http://git.jingrow.com/jingrow/jingrow-ui)
|
||||||
- [TailwindCSS](https://tailwindcss.com/docs/utility-first)
|
- [TailwindCSS](https://tailwindcss.com/docs/utility-first)
|
||||||
- [Vite](https://vitejs.dev/guide/)
|
- [Vite](https://vitejs.dev/guide/)
|
||||||
|
|||||||
2
frontend/components.d.ts
vendored
2
frontend/components.d.ts
vendored
@ -1,7 +1,7 @@
|
|||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
// @ts-nocheck
|
// @ts-nocheck
|
||||||
// Generated by unplugin-vue-components
|
// Generated by unplugin-vue-components
|
||||||
// Read more: https://github.com/vuejs/core/pull/3399
|
// Read more: http://git.jingrow.com/vuejs/core/pull/3399
|
||||||
// biome-ignore lint: disable
|
// biome-ignore lint: disable
|
||||||
export {}
|
export {}
|
||||||
|
|
||||||
|
|||||||
@ -55,7 +55,7 @@ let links = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: __('GitHub Repository'),
|
label: __('GitHub Repository'),
|
||||||
url: 'https://github.com/jingrow/crm',
|
url: 'http://git.jingrow.com/jingrow/crm',
|
||||||
icon: LucideGitHub,
|
icon: LucideGitHub,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -70,7 +70,7 @@ let links = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: __('Report an Issue'),
|
label: __('Report an Issue'),
|
||||||
url: 'https://github.com/jingrow/crm/issues',
|
url: 'http://git.jingrow.com/jingrow/crm/issues',
|
||||||
icon: LucideBug,
|
icon: LucideBug,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@ -145,7 +145,7 @@ export const services = [
|
|||||||
info: __(
|
info: __(
|
||||||
`Setting up Jingrow Mail requires you to have an API key and API Secret of your email account. Read more `,
|
`Setting up Jingrow Mail requires you to have an API key and API Secret of your email account. Read more `,
|
||||||
),
|
),
|
||||||
link: 'https://github.com/jingrow/mail',
|
link: 'http://git.jingrow.com/jingrow/mail',
|
||||||
custom: true,
|
custom: true,
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|||||||
@ -14,7 +14,7 @@
|
|||||||
v-bind="{ togglePopover, updatePosition, open, close, isOpen }"
|
v-bind="{ togglePopover, updatePosition, open, close, isOpen }"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<teleport to="#frappeui-popper-root">
|
<teleport to="#jingrowui-popper-root">
|
||||||
<div
|
<div
|
||||||
ref="popover"
|
ref="popover"
|
||||||
class="relative z-[100]"
|
class="relative z-[100]"
|
||||||
@ -104,9 +104,9 @@ export default {
|
|||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
if (typeof window === 'undefined') return
|
if (typeof window === 'undefined') return
|
||||||
if (!document.getElementById('frappeui-popper-root')) {
|
if (!document.getElementById('jingrowui-popper-root')) {
|
||||||
const root = document.createElement('div')
|
const root = document.createElement('div')
|
||||||
root.id = 'frappeui-popper-root'
|
root.id = 'jingrowui-popper-root'
|
||||||
document.body.appendChild(root)
|
document.body.appendChild(root)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -124,7 +124,7 @@ export default {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
const root = document.getElementById('frappeui-popper-root')
|
const root = document.getElementById('jingrowui-popper-root')
|
||||||
const insidePopoverRoot = root.contains(clickedElement)
|
const insidePopoverRoot = root.contains(clickedElement)
|
||||||
if (!insidePopoverRoot) {
|
if (!insidePopoverRoot) {
|
||||||
return this.close()
|
return this.close()
|
||||||
@ -10,7 +10,7 @@ import { posthogPlugin } from './telemetry'
|
|||||||
import App from './App.vue'
|
import App from './App.vue'
|
||||||
|
|
||||||
import {
|
import {
|
||||||
FrappeUI,
|
JingrowUI,
|
||||||
Button,
|
Button,
|
||||||
Input,
|
Input,
|
||||||
TextInput,
|
TextInput,
|
||||||
@ -42,7 +42,7 @@ let pinia = createPinia()
|
|||||||
let app = createApp(App)
|
let app = createApp(App)
|
||||||
|
|
||||||
setConfig('resourceFetcher', frappeRequest)
|
setConfig('resourceFetcher', frappeRequest)
|
||||||
app.use(FrappeUI)
|
app.use(JingrowUI)
|
||||||
app.use(pinia)
|
app.use(pinia)
|
||||||
app.use(router)
|
app.use(router)
|
||||||
app.use(translationPlugin)
|
app.use(translationPlugin)
|
||||||
|
|||||||
@ -2,17 +2,17 @@ import { defineConfig } from 'vite'
|
|||||||
import vue from '@vitejs/plugin-vue'
|
import vue from '@vitejs/plugin-vue'
|
||||||
import vueJsx from '@vitejs/plugin-vue-jsx'
|
import vueJsx from '@vitejs/plugin-vue-jsx'
|
||||||
import path from 'path'
|
import path from 'path'
|
||||||
import frappeui from 'jingrow-ui/vite'
|
import jingrowui from 'jingrow-ui/vite'
|
||||||
import { VitePWA } from 'vite-plugin-pwa'
|
import { VitePWA } from 'vite-plugin-pwa'
|
||||||
|
|
||||||
// https://vitejs.dev/config/
|
// https://vitejs.dev/config/
|
||||||
export default defineConfig(async ({ mode }) => {
|
export default defineConfig(async ({ mode }) => {
|
||||||
const isDev = mode === 'development'
|
const isDev = mode === 'development'
|
||||||
const frappeui = await importFrappeUIPlugin(isDev)
|
const jingrowui = await importFrappeUIPlugin(isDev)
|
||||||
|
|
||||||
const config = {
|
const config = {
|
||||||
plugins: [
|
plugins: [
|
||||||
frappeui({
|
jingrowui({
|
||||||
frappeProxy: true,
|
frappeProxy: true,
|
||||||
lucideIcons: true,
|
lucideIcons: true,
|
||||||
jinjaBootData: true,
|
jinjaBootData: true,
|
||||||
|
|||||||
@ -5,6 +5,6 @@
|
|||||||
"postinstall": "cd frontend && yarn install",
|
"postinstall": "cd frontend && yarn install",
|
||||||
"dev": "cd frontend && yarn dev",
|
"dev": "cd frontend && yarn dev",
|
||||||
"build": "cd frontend && yarn build",
|
"build": "cd frontend && yarn build",
|
||||||
"upgrade-frappeui": "cd frontend && yarn add jingrow-ui@latest && cd .."
|
"upgrade-jingrowui": "cd frontend && yarn add jingrow-ui@latest && cd .."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user