feat: add Friends View component displaying online/all users with status and direct message functionality.
All checks were successful
Build and Release / build-and-release (push) Successful in 12m41s
All checks were successful
Build and Release / build-and-release (push) Successful in 12m41s
This commit is contained in:
@@ -16,24 +16,27 @@ jobs:
|
||||
|
||||
- name: Setup Flatpak wrappers for Docker
|
||||
run: |
|
||||
# Wrap flatpak: log all calls, skip 'update' (runtimes pre-installed in image)
|
||||
# Wrap flatpak: skip 'update' (runtimes pre-installed in image),
|
||||
# inject --disable-sandbox for 'build-export' (bwrap can't create namespaces in Docker)
|
||||
mv /usr/bin/flatpak /usr/bin/flatpak.real
|
||||
cat > /usr/bin/flatpak << 'WRAPPER'
|
||||
#!/bin/bash
|
||||
echo "[flatpak-wrapper] flatpak $*" >&2
|
||||
if [ "$1" = "update" ]; then
|
||||
echo "[flatpak-wrapper] Skipping update (pre-installed)" >&2
|
||||
exit 0
|
||||
fi
|
||||
if [ "$1" = "build-export" ]; then
|
||||
shift
|
||||
exec /usr/bin/flatpak.real build-export --disable-sandbox "$@"
|
||||
fi
|
||||
exec /usr/bin/flatpak.real "$@"
|
||||
WRAPPER
|
||||
chmod +x /usr/bin/flatpak
|
||||
|
||||
# Wrap flatpak-builder: log and inject --disable-rofiles-fuse for Docker
|
||||
# Wrap flatpak-builder: inject --disable-rofiles-fuse for Docker
|
||||
mv /usr/bin/flatpak-builder /usr/bin/flatpak-builder.real
|
||||
cat > /usr/bin/flatpak-builder << 'FBWRAPPER'
|
||||
#!/bin/bash
|
||||
echo "[fb-wrapper] flatpak-builder --disable-rofiles-fuse $*" >&2
|
||||
exec /usr/bin/flatpak-builder.real --disable-rofiles-fuse "$@"
|
||||
FBWRAPPER
|
||||
chmod +x /usr/bin/flatpak-builder
|
||||
@@ -41,12 +44,6 @@ jobs:
|
||||
# Add user remote as fallback
|
||||
flatpak.real --user remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
||||
|
||||
# Show what's installed for debugging
|
||||
echo "=== Installed flatpak runtimes (system) ==="
|
||||
flatpak.real list --system 2>/dev/null || echo "(none or error listing)"
|
||||
echo "=== Installed flatpak runtimes (user) ==="
|
||||
flatpak.real list --user 2>/dev/null || echo "(none)"
|
||||
|
||||
- name: Cache npm and Electron
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
@@ -75,8 +72,7 @@ jobs:
|
||||
run: |
|
||||
cd Frontend/Electron
|
||||
npm run build
|
||||
npx electron-builder --linux AppImage
|
||||
npx electron-builder --linux flatpak || echo "::warning::Flatpak build failed (see logs above)"
|
||||
npx electron-builder --linux
|
||||
xvfb-run npx electron-builder --win || echo "electron-builder exited with non-zero code, checking artifacts..."
|
||||
test -f "dist/Discord Clone Setup"*.exe && echo "Windows build artifact verified" || exit 1
|
||||
env:
|
||||
@@ -84,7 +80,6 @@ jobs:
|
||||
WINEDEBUG: "-all"
|
||||
VITE_CONVEX_URL: ${{ secrets.VITE_CONVEX_URL }}
|
||||
VITE_LIVEKIT_URL: ${{ secrets.VITE_LIVEKIT_URL }}
|
||||
DEBUG: "@malept/flatpak-bundler*"
|
||||
|
||||
- name: List build artifacts
|
||||
run: ls -la Frontend/Electron/dist/
|
||||
|
||||
1
Frontend/Electron/src/assets/icons/message.svg
Normal file
1
Frontend/Electron/src/assets/icons/message.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg class="icon_f8fa06" aria-hidden="true" role="img" xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"><path fill="currentColor" d="M12 22a10 10 0 1 0-8.45-4.64c.13.19.11.44-.04.61l-2.06 2.37A1 1 0 0 0 2.2 22H12Z" class=""></path></svg>
|
||||
|
After Width: | Height: | Size: 278 B |
@@ -3,6 +3,7 @@ import { useQuery } from 'convex/react';
|
||||
import { api } from '../../../../convex/_generated/api';
|
||||
import Avatar from './Avatar';
|
||||
import { useOnlineUsers } from '../contexts/PresenceContext';
|
||||
import friendsIcon from '../assets/icons/friends.svg';
|
||||
|
||||
const FriendsView = ({ onOpenDM }) => {
|
||||
const [activeTab, setActiveTab] = useState('Online');
|
||||
@@ -52,10 +53,28 @@ const FriendsView = ({ onOpenDM }) => {
|
||||
flexShrink: 0
|
||||
}}>
|
||||
<div style={{ display: 'flex', alignItems: 'center', marginRight: '16px', paddingRight: '16px', borderRight: '1px solid var(--border-subtle)' }}>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" style={{ marginRight: 8, color: 'var(--text-muted)' }}>
|
||||
<path d="M13.5 2C13.5 2.82843 12.8284 3.5 12 3.5C11.1716 3.5 10.5 2.82843 10.5 2C10.5 1.17157 11.1716 0.5 12 0.5C12.8284 0.5 13.5 1.17157 13.5 2Z" fill="currentColor"/>
|
||||
<path d="M7 13C7 11.8954 7.89543 11 9 11H15C16.1046 11 17 11.8954 17 13V15H7V13Z" fill="currentColor"/>
|
||||
</svg>
|
||||
<div style={{ marginRight: '12px' }}>
|
||||
<div style={{
|
||||
width: 24,
|
||||
height: 24,
|
||||
overflow: 'hidden',
|
||||
display: 'flex',
|
||||
alignItems: 'center',
|
||||
justifyContent: 'center',
|
||||
flexShrink: 0
|
||||
}}>
|
||||
<img
|
||||
src={friendsIcon}
|
||||
alt=""
|
||||
style={{
|
||||
width: 24,
|
||||
height: 24,
|
||||
transform: 'translateX(-1000px)',
|
||||
filter: `drop-shadow(1000px 0 0 var(--interactive-normal))`
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
Friends
|
||||
</div>
|
||||
|
||||
|
||||
1183
build logs/log2.txt
Normal file
1183
build logs/log2.txt
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user