From e7f10aa5f08337fbc4142317d4264f64168ceb29 Mon Sep 17 00:00:00 2001
From: Bryan1029384756 <23323626+Bryan1029384756@users.noreply.github.com>
Date: Fri, 20 Feb 2026 03:36:36 -0600
Subject: [PATCH] feat: Introduce swipe navigation between new Chat and Sidebar
components and establish initial multi-platform project structure.
---
.gitea/workflows/release.yml | 25 ++
.gitignore | 2 +
apps/android/package.json | 2 +-
apps/electron/package.json | 2 +-
apps/web/package.json | 2 +-
packages/shared/package.json | 2 +-
packages/shared/src/components/Sidebar.jsx | 2 +-
.../shared/src/hooks/useSwipeNavigation.js | 233 ++++++++++++++++++
packages/shared/src/index.css | 46 +++-
packages/shared/src/pages/Chat.jsx | 90 ++++---
packages/shared/src/styles/themes.css | 40 +++
11 files changed, 402 insertions(+), 44 deletions(-)
create mode 100644 packages/shared/src/hooks/useSwipeNavigation.js
diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml
index 32b4541..1324944 100644
--- a/.gitea/workflows/release.yml
+++ b/.gitea/workflows/release.yml
@@ -79,6 +79,31 @@ jobs:
npx cap add android
echo "sdk.dir=${ANDROID_SDK_ROOT}" > android/local.properties
+ # Patch AndroidManifest.xml to add required permissions
+ node -e "
+ const fs = require('fs');
+ const manifestPath = 'android/app/src/main/AndroidManifest.xml';
+ let manifest = fs.readFileSync(manifestPath, 'utf8');
+
+ const permissions = [
+ '',
+ '',
+ '',
+ '',
+ '',
+ ''
+ ];
+
+ const permBlock = permissions.join('\n ');
+ manifest = manifest.replace(
+ '',
+ ' ' + permBlock + '\n'
+ );
+
+ fs.writeFileSync(manifestPath, manifest);
+ console.log('Patched AndroidManifest.xml with permissions');
+ "
+
# Append a merged android block with signingConfigs + buildTypes.release signing
# Gradle merges multiple android {} blocks, and within one block signingConfigs
# is evaluated before buildTypes, so the reference resolves correctly.
diff --git a/.gitignore b/.gitignore
index dd2b73a..2638a3c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -11,3 +11,5 @@ apps/android/android
# Legacy
discord-html-copy
+
+todo
\ No newline at end of file
diff --git a/apps/android/package.json b/apps/android/package.json
index a841af4..63787ec 100644
--- a/apps/android/package.json
+++ b/apps/android/package.json
@@ -1,7 +1,7 @@
{
"name": "@discord-clone/android",
"private": true,
- "version": "1.0.27",
+ "version": "1.0.28",
"type": "module",
"scripts": {
"cap:sync": "npx cap sync",
diff --git a/apps/electron/package.json b/apps/electron/package.json
index 2c25345..8a79d19 100644
--- a/apps/electron/package.json
+++ b/apps/electron/package.json
@@ -1,7 +1,7 @@
{
"name": "@discord-clone/electron",
"private": true,
- "version": "1.0.27",
+ "version": "1.0.28",
"description": "Discord Clone - Electron app",
"author": "Moyettes",
"type": "module",
diff --git a/apps/web/package.json b/apps/web/package.json
index bf5aeb0..13270be 100644
--- a/apps/web/package.json
+++ b/apps/web/package.json
@@ -1,7 +1,7 @@
{
"name": "@discord-clone/web",
"private": true,
- "version": "1.0.27",
+ "version": "1.0.28",
"type": "module",
"scripts": {
"dev": "vite",
diff --git a/packages/shared/package.json b/packages/shared/package.json
index 9cbbd86..2ebfaef 100644
--- a/packages/shared/package.json
+++ b/packages/shared/package.json
@@ -1,7 +1,7 @@
{
"name": "@discord-clone/shared",
"private": true,
- "version": "1.0.27",
+ "version": "1.0.28",
"type": "module",
"main": "src/App.jsx",
"dependencies": {
diff --git a/packages/shared/src/components/Sidebar.jsx b/packages/shared/src/components/Sidebar.jsx
index 51d5b00..e79961e 100644
--- a/packages/shared/src/components/Sidebar.jsx
+++ b/packages/shared/src/components/Sidebar.jsx
@@ -1385,7 +1385,7 @@ const Sidebar = ({ channels, categories, activeChannel, onSelectChannel, usernam
};
const renderServerView = () => (
-
+
setIsServerSettingsOpen(true)}>{serverName}