Merge branch 'develop' into feature/i18n-languages

This commit is contained in:
nico.benaz 2025-04-21 14:49:12 +02:00 committed by GitHub
commit b68849592e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 171 additions and 94 deletions

84
docs/contribution.md Normal file
View File

@ -0,0 +1,84 @@
# 🤝 Contributing Guide
Thank you for your interest in contributing! We follow a structured Git workflow to keep the project clean, stable, and production-ready at all times.
---
## 📦 Branch Overview
| Branch | Purpose |
|------------------|----------------------------------------------------------|
| `master` | Stable, production-ready code. All releases are tagged from here. |
| `develop` | Active development branch. All new features go here first. |
| `release/x.y.z` | Pre-release branch for staging, QA, and final polish. |
---
## 🌿 Creating a Feature or Fix
1. **Start from `develop`:**
```bash
git checkout develop
git checkout -b feature/your-feature-name
```
2. **Make your changes and commit them.**
3. **Push your branch:**
```bash
git push origin feature/your-feature-name
```
4. **Open a Pull Request into `develop`.**
---
## 🚀 Releasing Code (Maintainers Only)
A new `release/x.y.z` branch must be created for **every release**.
1. **Create a `release/` branch from `master`:**
```bash
git checkout master
git checkout -b release/1.2.0
```
2. **Merge in `develop` or selected branches if `develop` is not ready:**
```bash
git merge develop
# or
git merge feature/finished-feature
git merge feature/another-complete-feature
```
3. **Polish, test, and fix issues as needed.**
4. **Merge back into `develop`:**
```bash
git checkout develop
git merge release/1.2.0
git push origin develop
```
5. **Finalize the release:**
```bash
git checkout master
git merge release/1.2.0
git tag v1.2.0
git push origin master --tags
```
6. **Delete the release branch:**
```bash
git branch -d release/1.2.0
git push origin --delete release/1.2.0
```

View File

@ -2235,42 +2235,40 @@ export const Group = ({
: '0px', : '0px',
}} }}
> >
{ <DesktopHeader
<DesktopHeader isPrivate={isPrivate}
isPrivate={isPrivate} selectedGroup={selectedGroup}
selectedGroup={selectedGroup} groupSection={groupSection}
groupSection={groupSection} isUnread={isUnread}
isUnread={isUnread} goToAnnouncements={goToAnnouncements}
goToAnnouncements={goToAnnouncements} isUnreadChat={isUnreadChat}
isUnreadChat={isUnreadChat} goToChat={goToChat}
goToChat={goToChat} goToThreads={goToThreads}
goToThreads={goToThreads} setOpenManageMembers={setOpenManageMembers}
setOpenManageMembers={setOpenManageMembers} groupChatHasUnread={groupChatHasUnread}
groupChatHasUnread={groupChatHasUnread} groupsAnnHasUnread={groupsAnnHasUnread}
groupsAnnHasUnread={groupsAnnHasUnread} directChatHasUnread={directChatHasUnread}
directChatHasUnread={directChatHasUnread} chatMode={chatMode}
chatMode={chatMode} openDrawerGroups={openDrawerGroups}
openDrawerGroups={openDrawerGroups} goToHome={goToHome}
goToHome={goToHome} setIsOpenDrawerProfile={setIsOpenDrawerProfile}
setIsOpenDrawerProfile={setIsOpenDrawerProfile} mobileViewMode={mobileViewMode}
mobileViewMode={mobileViewMode} setMobileViewMode={setMobileViewMode}
setMobileViewMode={setMobileViewMode} setMobileViewModeKeepOpen={setMobileViewModeKeepOpen}
setMobileViewModeKeepOpen={setMobileViewModeKeepOpen} hasUnreadGroups={groupChatHasUnread || groupsAnnHasUnread}
hasUnreadGroups={groupChatHasUnread || groupsAnnHasUnread} hasUnreadDirects={directChatHasUnread}
hasUnreadDirects={directChatHasUnread} myName={userInfo?.name || null}
myName={userInfo?.name || null} isHome={groupSection === 'home'}
isHome={groupSection === 'home'} isGroups={desktopSideView === 'groups'}
isGroups={desktopSideView === 'groups'} isDirects={desktopSideView === 'directs'}
isDirects={desktopSideView === 'directs'} setDesktopSideView={setDesktopSideView}
setDesktopSideView={setDesktopSideView} hasUnreadAnnouncements={isUnread}
hasUnreadAnnouncements={isUnread} isAnnouncement={groupSection === 'announcement'}
isAnnouncement={groupSection === 'announcement'} isChat={groupSection === 'chat'}
isChat={groupSection === 'chat'} hasUnreadChat={isUnreadChat}
hasUnreadChat={isUnreadChat} setGroupSection={setGroupSection}
setGroupSection={setGroupSection} isForum={groupSection === 'forum'}
isForum={groupSection === 'forum'} />
/>
}
<Box <Box
sx={{ sx={{
@ -2521,64 +2519,59 @@ export const Group = ({
</> </>
)} )}
{ <AppsDesktop
<AppsDesktop toggleSideViewGroups={toggleSideViewGroups}
toggleSideViewGroups={toggleSideViewGroups} toggleSideViewDirects={toggleSideViewDirects}
toggleSideViewDirects={toggleSideViewDirects} goToHome={goToHome}
goToHome={goToHome} mode={appsMode}
mode={appsMode} setMode={setAppsMode}
setMode={setAppsMode} setDesktopSideView={setDesktopSideView}
setDesktopSideView={setDesktopSideView} hasUnreadDirects={directChatHasUnread}
hasUnreadDirects={directChatHasUnread} show={desktopViewMode === 'apps'}
show={desktopViewMode === 'apps'} myName={userInfo?.name}
myName={userInfo?.name} isGroups={isOpenSideViewGroups}
isGroups={isOpenSideViewGroups} isDirects={isOpenSideViewDirects}
isDirects={isOpenSideViewDirects} hasUnreadGroups={groupChatHasUnread || groupsAnnHasUnread}
hasUnreadGroups={groupChatHasUnread || groupsAnnHasUnread} setDesktopViewMode={setDesktopViewMode}
setDesktopViewMode={setDesktopViewMode} isApps={desktopViewMode === 'apps'}
isApps={desktopViewMode === 'apps'} desktopViewMode={desktopViewMode}
desktopViewMode={desktopViewMode} />
/>
} <AppsDevMode
{ toggleSideViewGroups={toggleSideViewGroups}
<AppsDevMode toggleSideViewDirects={toggleSideViewDirects}
toggleSideViewGroups={toggleSideViewGroups} goToHome={goToHome}
toggleSideViewDirects={toggleSideViewDirects} mode={appsModeDev}
goToHome={goToHome} setMode={setAppsModeDev}
mode={appsModeDev} setDesktopSideView={setDesktopSideView}
setMode={setAppsModeDev} hasUnreadDirects={directChatHasUnread}
setDesktopSideView={setDesktopSideView} show={desktopViewMode === 'dev'}
hasUnreadDirects={directChatHasUnread} myName={userInfo?.name}
show={desktopViewMode === 'dev'} isGroups={isOpenSideViewGroups}
myName={userInfo?.name} isDirects={isOpenSideViewDirects}
isGroups={isOpenSideViewGroups} hasUnreadGroups={groupChatHasUnread || groupsAnnHasUnread}
isDirects={isOpenSideViewDirects} setDesktopViewMode={setDesktopViewMode}
hasUnreadGroups={groupChatHasUnread || groupsAnnHasUnread} desktopViewMode={desktopViewMode}
setDesktopViewMode={setDesktopViewMode} isApps={desktopViewMode === 'apps'}
desktopViewMode={desktopViewMode} />
isApps={desktopViewMode === 'apps'}
/> <HomeDesktop
} name={userInfo?.name}
refreshHomeDataFunc={refreshHomeDataFunc}
{ myAddress={myAddress}
<HomeDesktop isLoadingGroups={isLoadingGroups}
name={userInfo?.name} balance={balance}
refreshHomeDataFunc={refreshHomeDataFunc} userInfo={userInfo}
myAddress={myAddress} groups={groups}
isLoadingGroups={isLoadingGroups} setGroupSection={setGroupSection}
balance={balance} setSelectedGroup={setSelectedGroup}
userInfo={userInfo} getTimestampEnterChat={getTimestampEnterChat}
groups={groups} setOpenManageMembers={setOpenManageMembers}
setGroupSection={setGroupSection} setOpenAddGroup={setOpenAddGroup}
setSelectedGroup={setSelectedGroup} setMobileViewMode={setMobileViewMode}
getTimestampEnterChat={getTimestampEnterChat} setDesktopViewMode={setDesktopViewMode}
setOpenManageMembers={setOpenManageMembers} desktopViewMode={desktopViewMode}
setOpenAddGroup={setOpenAddGroup} />
setMobileViewMode={setMobileViewMode}
setDesktopViewMode={setDesktopViewMode}
desktopViewMode={desktopViewMode}
/>
}
</Box> </Box>
<AuthenticatedContainerInnerRight <AuthenticatedContainerInnerRight