diff --git a/README.md b/README.md new file mode 100644 index 0000000..cb2612f --- /dev/null +++ b/README.md @@ -0,0 +1,136 @@ +# لایبریری uikit + +یک کتابخانه‌ی React برای استفاده‌ی مشترک بین پروژه‌ها. + +این پکیج شامل این موارد است: + +* base api config +* keycloak config +* permissions config +* BiProvider + +--- + +## نصب لایبریری + +```bash +yarn add git+https://git.d.aiengines.ir/bi/uikit.git +``` + +اگر این پکیج روی پروژه نصب شد ولی خطای dependency گرفتی، این‌ها را هم نصب کن: + +```bash +yarn add @chakra-ui/react @emotion/react @emotion/styled framer-motion keycloak-js axios @tanstack/react-query react-icons +``` + +--- + +## آپدیت لایبریری + +```bash +yarn upgrade uikit +``` + +--- + +## استفاده اصلی + +```jsx +import { BiProvider } from "uikit"; + +export default function App() { + return ( + + + + ); +} +``` + +--- + +## پراپس های `BiProvider` + +| Prop | توضیح | +| -------------------- | ----------------------------------------------- | +| `apiBaseUrl` | آدرس اصلی API | +| `keycloakClientId` | client id مربوط به Keycloak | +| `permissionClientId` | client id مربوط به Permission | +| `keycloakUrl` | آدرس Keycloak | +| `keycloakRealm` | realm مربوط به Keycloak | +| `permissionUrl` | آدرس API مربوط به permission | +| `loading` | کامپوننت loading | +| `updateChecker` | فعال یا غیرفعال کردن بررسی آپدیت | +| `updateCheckerProps` | props مربوط به UpdateChecker | + +--- + +## مقدارهای پیش‌فرض + +```js +keycloakUrl = "https://auth.ibagher.ir" +keycloakRealm = "bi" +permissionUrl = "https://api.d.aiengines.ir/user_api/v1/permissions/list" +updateChecker = true +``` + +--- + +## غیرفعال کردن `UpdateChecker` + +اگر پروژه فایل نیاز به چک کردن مداوم نسخه ندارد، بهتر است `updateChecker` را خاموش کنی: + +```jsx + + + +``` + +و اگر `true` باشد نیاز هست تا فایل `write-version.js` در روت پروژه گذاشته شود و اسکریپت `prebuild` نیز به `package.json` اضافه شود. + +--- + +## موارد دیگر `js` + +```js +toFaDigits(); +toEnDigits(); +toFaNumber(); +``` + +## موارد دیگر `jsx` + +```jsx + + + +``` + +--- + +## موارد دیگر `keycloak` + +```js +const token = getKeycloakToken(); +logoutKeycloak(); +loginKeycloak(); +``` + +--- + +## موارد دیگر `permission` + +```js + + + +```