Initial commit: FunConnect project with server, relay, client and admin panel

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-02-24 20:56:36 +08:00
parent eb6e901440
commit b6891483ae
167 changed files with 16147 additions and 106 deletions

9
client/icons/.gitkeep Normal file
View File

@@ -0,0 +1,9 @@
# Icon files should be placed here
# Required icons:
# - 32x32.png
# - 128x128.png
# - 128x128@2x.png
# - icon.icns (macOS)
# - icon.ico (Windows)
#
# Use `cargo tauri icon` command to generate icons from a source image

BIN
client/icons/128x128.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 B

BIN
client/icons/128x128@2x.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 B

BIN
client/icons/32x32.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 B

BIN
client/icons/icon.icns Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 B

BIN
client/icons/icon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

42
client/icons/icon.svg Normal file
View File

@@ -0,0 +1,42 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
<defs>
<linearGradient id="bg" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" style="stop-color:#1a1d27"/>
<stop offset="100%" style="stop-color:#0f1117"/>
</linearGradient>
<linearGradient id="accent" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" style="stop-color:#4ade80"/>
<stop offset="100%" style="stop-color:#22c55e"/>
</linearGradient>
</defs>
<!-- Background -->
<rect width="512" height="512" rx="100" fill="url(#bg)"/>
<!-- Border -->
<rect x="8" y="8" width="496" height="496" rx="92" fill="none" stroke="url(#accent)" stroke-width="4" opacity="0.5"/>
<!-- Minecraft-style cube layers -->
<g transform="translate(256, 256)">
<!-- Bottom layer -->
<path d="M0 60 L-100 10 L0 -40 L100 10 Z" fill="#22c55e" opacity="0.6"/>
<!-- Middle layer -->
<path d="M0 20 L-100 -30 L0 -80 L100 -30 Z" fill="#4ade80" opacity="0.8"/>
<!-- Top layer -->
<path d="M0 -20 L-100 -70 L0 -120 L100 -70 Z" fill="#86efac"/>
<!-- Left side -->
<path d="M-100 -70 L-100 -30 L0 20 L0 -20 Z" fill="#16a34a" opacity="0.9"/>
<!-- Right side -->
<path d="M100 -70 L100 -30 L0 20 L0 -20 Z" fill="#15803d" opacity="0.9"/>
</g>
<!-- Connection lines representing multiplayer -->
<g stroke="#4ade80" stroke-width="3" fill="none" opacity="0.4">
<circle cx="130" cy="150" r="20"/>
<circle cx="382" cy="150" r="20"/>
<circle cx="130" cy="362" r="20"/>
<circle cx="382" cy="362" r="20"/>
<line x1="150" y1="150" x2="236" y2="200"/>
<line x1="362" y1="150" x2="276" y2="200"/>
<line x1="150" y1="362" x2="236" y2="312"/>
<line x1="362" y1="362" x2="276" y2="312"/>
</g>
<!-- FunMC text -->
<text x="256" y="440" text-anchor="middle" font-family="Arial, sans-serif" font-size="48" font-weight="bold" fill="#e2e8f0">FunMC</text>
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB