Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(v4): 4.0 Release - Updated designs, faster & smoother experience #846

Open
wants to merge 68 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
68 commits
Select commit Hold shift + click to select a range
c122fad
feat: Add contact store (#840)
muhsin-k Nov 26, 2024
eb5e976
feat: Inbox store (#841)
muhsin-k Nov 26, 2024
b3e0f6e
Merge branch 'develop' into release/v4.0.0
muhsin-k Nov 26, 2024
0d47462
chore: add camelcase-keys package
muhsin-k Nov 26, 2024
0f014fa
chore: update pnpm-lock.yaml
muhsin-k Nov 26, 2024
6bedde8
feat: Add label and assignable agents store (#848)
muhsin-k Nov 27, 2024
8994136
feat: Add `swipeable` component (#843)
muhsin-k Nov 27, 2024
dec32a7
feat: add conversation filter related slices
muhsin-k Nov 28, 2024
9143c0c
feat: add conversation action slice
muhsin-k Nov 28, 2024
34f1d02
feat: add filter components
muhsin-k Nov 28, 2024
b3e4520
chore: add missing stories
muhsin-k Nov 29, 2024
b801d38
chore: add missing packages
muhsin-k Nov 29, 2024
f5761af
Update ReactotronConfig.js
muhsin-k Nov 29, 2024
ad26ffc
feat: add conversation item components
muhsin-k Nov 29, 2024
3281d65
chore: revert conversation item
muhsin-k Nov 29, 2024
1c2eabc
feat: Add conversation header (#854)
muhsin-k Nov 29, 2024
a129e9f
feat: Add conversation filters components (#855)
muhsin-k Dec 4, 2024
dc292c6
feat: Add single/bulk action sheet components (#856)
muhsin-k Dec 4, 2024
d6d4289
feat: add notification store
muhsin-k Dec 4, 2024
d6760fa
feat: Add conversation item component (#857)
muhsin-k Dec 4, 2024
f53a37b
feat: add missing files
muhsin-k Dec 6, 2024
7726dcb
feat: add debug menu
muhsin-k Dec 6, 2024
936884c
feat(v4): Revamp conversation and inbox screen (#858)
muhsin-k Dec 10, 2024
f873924
feat(v4): Revamp chat screen (#861)
muhsin-k Dec 11, 2024
a7051bc
chore: remove unused pcakges
muhsin-k Dec 11, 2024
2742703
chore: remove mentions
muhsin-k Dec 11, 2024
b44cbcc
feat: add reply email head
muhsin-k Dec 11, 2024
c9d2f71
chore: Fix reply email header styles
iamsivin Dec 11, 2024
3173cb1
chore: fix bot message styles
muhsin-k Dec 11, 2024
4a9e86f
feat: add mentions
muhsin-k Dec 11, 2024
d2a881b
chore: add conditional check in email reply head
muhsin-k Dec 11, 2024
fe73406
chore: add validations for attachments
muhsin-k Dec 11, 2024
6a7657e
feat: fetch conversation when click on any notification
muhsin-k Dec 11, 2024
e0369d6
chore: chat screen crash issue when open from inbox screen
muhsin-k Dec 12, 2024
2a85bd7
fix: layout issues in typing indicators
muhsin-k Dec 12, 2024
53aa54b
chore: fix email attributes
muhsin-k Dec 12, 2024
75923fc
chore: store migration fixes
muhsin-k Dec 12, 2024
9b87124
chore: store migration fixes
muhsin-k Dec 12, 2024
f6c1a36
chore: store migration fixes
muhsin-k Dec 12, 2024
7e1a368
chore: bump up app version
muhsin-k Dec 12, 2024
9e7d0d1
chore: add more logs
muhsin-k Dec 12, 2024
1b1236a
chore: reset old store
muhsin-k Dec 12, 2024
bcbba25
chore: change url crash issues
muhsin-k Dec 12, 2024
7bfa88d
feat: add basic message text stories
muhsin-k Dec 12, 2024
a64671d
chore: badge on the app doesn't reset when we mark the notification i…
muhsin-k Dec 13, 2024
fcfe5bf
chore: fix bottom padding in team/agent assignement
muhsin-k Dec 13, 2024
e5bd1c8
fix: participants count
muhsin-k Dec 13, 2024
e9ee817
chore: update actions button texts
muhsin-k Dec 13, 2024
700060f
chore: add open instead of mute buttons
muhsin-k Dec 13, 2024
94973dc
fix: update crash issues in participant list
muhsin-k Dec 13, 2024
93a7055
chore: update team search text
muhsin-k Dec 13, 2024
e7115fd
chore: typing indicator does not reset when contact changes:
muhsin-k Dec 13, 2024
8bddae0
chore: add more logs
muhsin-k Dec 13, 2024
23ce4ce
chore: fix attachment select issue
muhsin-k Dec 15, 2024
63dab7f
chore: fix layout issues in chat screen
muhsin-k Dec 15, 2024
76ff70d
chore: cleanup stories
muhsin-k Dec 15, 2024
ce8463a
chore: add more email message data
muhsin-k Dec 15, 2024
adffa74
chore: update i.g mock data
muhsin-k Dec 16, 2024
cd53ca3
chore: fix private note text styles
muhsin-k Dec 16, 2024
bb0f4d1
chore: fix mention user style fixes
muhsin-k Dec 16, 2024
f73c360
fix: can't scroll the mention list if there is a long list of users
muhsin-k Dec 19, 2024
a5985b4
fix: wrong label getting added when the search is used.
muhsin-k Dec 19, 2024
35f6b29
chore: ref renaming
muhsin-k Dec 19, 2024
7b15daa
fix: flash list flashes when selecting an option.
muhsin-k Dec 19, 2024
deb6a7b
fix: chat header
muhsin-k Dec 19, 2024
c5097f9
chore: disable no internet bar
muhsin-k Dec 19, 2024
e494b21
fix: SLA details are not visible if the keyboard is active.
muhsin-k Dec 20, 2024
11cd530
chore: fix android navigation bar styles
muhsin-k Dec 20, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
25 changes: 23 additions & 2 deletions .storybook/preview.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
import type { Preview } from '@storybook/react';
import React from 'react';
import { View } from 'react-native';
import { GestureHandlerRootView } from 'react-native-gesture-handler';
import { BottomSheetModalProvider } from '@gorhom/bottom-sheet';
import { RefsProvider } from '../src/context/RefsContext';

const preview: Preview = {
const preview = {
parameters: {
controls: {
matchers: {
Expand All @@ -9,6 +13,23 @@ const preview: Preview = {
},
},
},

decorators: [
(Story, { parameters }) => (
<GestureHandlerRootView style={{ flex: 1 }}>
<BottomSheetModalProvider>
<RefsProvider>
<View
style={{
flex: 1,
}}>
<Story />
</View>
</RefsProvider>
</BottomSheetModalProvider>
</GestureHandlerRootView>
),
],
};

export default preview;
20 changes: 13 additions & 7 deletions App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,17 @@ if (!__DEV__) {
if (__DEV__) {
require('./ReactotronConfig');
}

// Ref: https://dev.to/dannyhw/how-to-swap-between-react-native-storybook-and-your-app-p3o
export default isStorybookEnabled
? // eslint-disable-next-line
require('./.storybook').default
: !__DEV__
? Sentry.wrap(App)
: App;
export default (() => {
if (isStorybookEnabled === 'true') {
// eslint-disable-next-line
return require('./.storybook').default;
}

if (!__DEV__) {
return Sentry.wrap(App);
}

console.log('Loading Development App');
return App;
})();
5 changes: 4 additions & 1 deletion ReactotronConfig.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
import Reactotron from 'reactotron-react-native';
// Don't remove this import, this is used by reactotron-redux only in dev mode
import { reactotronRedux } from 'reactotron-redux';

const reactotron = Reactotron.useReactNative() // add all built-in react native plugins
.use(reactotronRedux())
.connect(); //Don't forget about me!

export default reactotron;
export default reactotron;
3 changes: 3 additions & 0 deletions __mocks__/@sentry/react-native.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
jest.mock('@sentry/react-native', () => ({
captureException: jest.fn(),
}));
1 change: 1 addition & 0 deletions __mocks__/reactotron-react-native.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
jest.mock('reactotron-react-native');
1 change: 1 addition & 0 deletions __mocks__/reactotron-redux.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
jest.mock('reactotron-redux');
5 changes: 4 additions & 1 deletion app.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ export default ({ config }: ConfigContext): ExpoConfig => {
return {
name: 'Chatwoot',
slug: process.env.EXPO_PUBLIC_APP_SLUG || 'chatwoot-mobile',
version: '1.10.52',
version: '1.10.53',
orientation: 'portrait',
icon: './assets/icon.png',
userInterfaceStyle: 'light',
Expand Down Expand Up @@ -80,5 +80,8 @@ export default ({ config }: ConfigContext): ExpoConfig => {
},
],
],
androidNavigationBar: {
backgroundColor: '#ffffff',
},
};
};
28 changes: 17 additions & 11 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@chatwoot/mobile-app",
"version": "1.10.52",
"version": "1.10.53",
"main": "expo/AppEntry.js",
"scripts": {
"start": "expo start",
Expand All @@ -27,6 +27,8 @@
"storybook:android": "cross-env EXPO_STORYBOOK_ENABLED='true' expo android"
},
"dependencies": {
"@alantoa/lightbox": "0.3.1",
"@chatwoot/markdown-to-txt": "^2.0.4",
"@chatwoot/react-native-widget": "^0.0.21",
"@chatwoot/utils": "^0.0.25",
"@gorhom/bottom-sheet": "^4.6.3",
Expand All @@ -44,12 +46,17 @@
"@reduxjs/toolkit": "^1.9.5",
"@sentry/react-native": "^5.24.3",
"@shopify/flash-list": "^1.5.0",
"@types/lodash": "^4.17.9",
"axios": "^1.6.4",
"camelcase": "^8.0.0",
"camelcase-keys": "^7.0.2",
"cross-env": "^7.0.3",
"date-fns": "2.21.1",
"expo": "~51.0.28",
"expo-application": "~5.9.1",
"expo-av": "~14.0.7",
"expo-build-properties": "~0.12.5",
"expo-constants": "^16.0.2",
"expo-font": "~12.0.10",
"expo-haptics": "~13.0.1",
"expo-image": "~1.13.0",
Expand All @@ -58,42 +65,41 @@
"expo-system-ui": "~3.0.7",
"expo-web-browser": "~13.0.3",
"i18n-js": "^3.8.0",
"lodash.filter": "^4.6.0",
"lodash": "^4.17.21",
"lodash.groupby": "^4.6.0",
"markdown-it": "^12.3.2",
"moment": "^2.30.1",
"prop-types": "^15.8.1",
"react": "18.2.0",
"react-hook-form": "^7.52.1",
"react-native": "0.74.5",
"react-native-animatable": "^1.3.3",
"react-native-audio-recorder-player": "^3.6.11",
"react-native-autoheight-webview": "^1.6.5",
"react-native-controlled-mentions": "^2.2.5",
"react-native-device-info": "^11.1.0",
"react-native-document-picker": "^9.3.1",
"react-native-file-viewer": "^2.1.5",
"react-native-gesture-handler": "^2.17.1",
"react-native-html-parser": "^0.1.0",
"react-native-image-pan-zoom": "^2.1.12",
"react-native-image-picker": "^7.1.2",
"react-native-keyboard-controller": "^1.13.4",
"react-native-linear-gradient": "^2.8.3",
"react-native-markdown-display": "^7.0.0-alpha.2",
"react-native-pager-view": "^6.2.1",
"react-native-permissions": "^5.0.0",
"react-native-reanimated": "^3.14.0",
"react-native-render-html": "^6.3.4",
"react-native-safe-area-context": "^4.10.8",
"react-native-screens": "^3.32.0",
"react-native-snackbar": "^2.6.2",
"react-native-svg": "^15.4.0",
"react-native-tab-view": "^3.5.2",
"react-native-track-player": "^4.1.1",
"react-native-webview": "^13.8.6",
"react-redux": "^8.1.2",
"reactotron-redux": "^3.1.10",
"redux": "^4.2.1",
"redux-persist": "^6.0.0",
"rn-fetch-blob": "^0.12.0",
"semver": "^7.6.3",
"tailwindcss": "^3.4.12",
"twrnc": "^4.5.1"
"twrnc": "^4.5.1",
"use-deep-compare-effect": "^1.8.1",
"zeego": "^1.10.0"
},
"devDependencies": {
"@babel/core": "^7.20.0",
Expand Down
Loading