# Tuitio Client React ## Introduction **Tuitio Client React** is an npm package written in TypeScript that simplifies the integration of a React application with [Tuitio](https://lab.code-rove.com/gitea/tudor.stanciu/tuitio). This package builds upon [tuitio-client](https://lab.code-rove.com/gitea/bricks/tuitio-client#readme) by adding state management via React Context and providing various hooks for seamless access to data and actions. ## Installation Install the package using **npm**: ```sh npm install @flare/tuitio-client-react --registry https://lab.code-rove.com/public-node-registry ``` Alternatively, add it directly to your `package.json` file: ```json "dependencies": { "@flare/tuitio-client-react": "1.0.0" } ``` ## Usage ### Importing the package Using **CommonJS**: ```javascript const { TuitioProvider, useTuitioClient, useTuitioUser, useTuitioToken, useTuitioUserInfo } = require("@flare/tuitio-client-react"); ``` Using **ES Modules**: ```javascript import { TuitioProvider, useTuitioClient, useTuitioUser, useTuitioToken, useTuitioUserInfo } from "@flare/tuitio-client-react"; ``` ### Example usage Wrap your application with `TuitioProvider`: ```jsx import { TuitioProvider } from "@flare/tuitio-client-react"; function App() { return ( ); } ``` Access Tuitio services via hooks: ```jsx import { useTuitioUser, useTuitioToken } from "@flare/tuitio-client-react"; function UserProfile() { const user = useTuitioUser(); const token = useTuitioToken(); return (

Welcome, {user.name}

Your token: {token}

); } ``` ## Unit testing Unit tests are written using [Jest](https://jestjs.io/). - Test files follow the naming convention `*.test.ts`. - Run all tests with: ```sh npm test ``` ## Changelog ### 1.3.0 - Migrated from `@flare/js-utils` to `@flare/utiliyo`. - Upgraded dependencies to their latest versions. - Refactored codebase to use ES6 modules and syntax. ### 1.2.x - **1.2.10** - Upgraded `@flare/tuitio-client`. - **1.2.9** - Upgraded `@flare/tuitio-client`. - **1.2.8** - Included the `src` directory in the npm package. - **1.2.7** - Set React version range in peer dependencies. - **1.2.6** - Removed hardcoded user groups and roles; records are now dynamic. - **1.2.5** - Upgraded `@flare/tuitio-client`. - **1.2.4** - Upgraded `@flare/tuitio-client`. - **1.2.3** - Handled user roles in `useTuitioUserInfo` hook. - **1.2.2** - Upgraded `@flare/tuitio-client` and `@flare/js-utils`. - **1.2.1** - Added `decodedToken` in `useTuitioToken` hook. - **1.2.0** - Implemented `user-info` method from Tuitio API. ### 1.1.x - **1.1.1** - Fixed account logout bug. - **1.1.0** - Implemented account logout and latest Tuitio API changes. ### 1.0.x - **1.0.1** - Added default options for `useTuitioClient`. - **1.0.0** - Initial package release. --- For further details, contributions, or issue reporting, visit the [repository](https://lab.code-rove.com/gitea/bricks/tuitio-client-react).