Initial commit: StreamFlow IPTV platform
This commit is contained in:
commit
73a8ae9ffd
1240 changed files with 278451 additions and 0 deletions
112
scripts/generate-assets.sh
Executable file
112
scripts/generate-assets.sh
Executable file
|
|
@ -0,0 +1,112 @@
|
|||
#!/bin/bash
|
||||
|
||||
# StreamFlow - Platform Asset Generator
|
||||
# Generates optimized assets for PWA, Android, and Desktop
|
||||
|
||||
set -e
|
||||
|
||||
echo "🎨 StreamFlow Platform Asset Generator"
|
||||
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||||
|
||||
cd "$(dirname "$0")/.."
|
||||
PROJECT_ROOT="$(pwd)"
|
||||
|
||||
# Check for ImageMagick
|
||||
if ! command -v convert &> /dev/null; then
|
||||
echo "❌ ImageMagick is not installed. Installing..."
|
||||
if command -v apt-get &> /dev/null; then
|
||||
sudo apt-get update && sudo apt-get install -y imagemagick
|
||||
elif command -v brew &> /dev/null; then
|
||||
brew install imagemagick
|
||||
else
|
||||
echo "Please install ImageMagick manually: https://imagemagick.org/script/download.php"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
SOURCE_ICON="frontend/public/icons/icon-512x512.svg"
|
||||
|
||||
if [ ! -f "$SOURCE_ICON" ]; then
|
||||
echo "❌ Source icon not found: $SOURCE_ICON"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "📱 Generating PWA icons..."
|
||||
PWA_SIZES=(72 96 128 144 152 192 384 512)
|
||||
for size in "${PWA_SIZES[@]}"; do
|
||||
echo " → ${size}x${size}px"
|
||||
convert "$SOURCE_ICON" -resize ${size}x${size} "frontend/public/icons/icon-${size}x${size}.png"
|
||||
done
|
||||
|
||||
echo ""
|
||||
echo "🍎 Generating iOS icons..."
|
||||
convert "$SOURCE_ICON" -resize 180x180 "frontend/public/icons/apple-touch-icon.png"
|
||||
convert "$SOURCE_ICON" -resize 167x167 "frontend/public/icons/apple-touch-icon-ipad.png"
|
||||
|
||||
echo ""
|
||||
echo "🤖 Generating Android icons..."
|
||||
ANDROID_SIZES=(48 72 96 144 192)
|
||||
ANDROID_DENSITIES=(mdpi hdpi xhdpi xxhdpi xxxhdpi)
|
||||
mkdir -p frontend/public/android-icons
|
||||
|
||||
for i in "${!ANDROID_SIZES[@]}"; do
|
||||
size="${ANDROID_SIZES[$i]}"
|
||||
density="${ANDROID_DENSITIES[$i]}"
|
||||
echo " → ${density} (${size}x${size}px)"
|
||||
convert "$SOURCE_ICON" -resize ${size}x${size} "frontend/public/android-icons/icon-${density}.png"
|
||||
done
|
||||
|
||||
echo ""
|
||||
echo "🐧 Generating Linux Desktop icons..."
|
||||
convert "$SOURCE_ICON" -resize 512x512 "desktop-app/build/icon.png"
|
||||
cp "$SOURCE_ICON" "desktop-app/build/icon.svg"
|
||||
|
||||
echo ""
|
||||
echo "🌐 Generating favicon..."
|
||||
convert "$SOURCE_ICON" -resize 32x32 "frontend/public/favicon.png"
|
||||
convert "$SOURCE_ICON" -resize 16x16 -resize 32x32 -resize 48x48 "frontend/public/favicon.ico"
|
||||
|
||||
echo ""
|
||||
echo "📄 Generating splash screens..."
|
||||
# PWA splash screens for iOS
|
||||
IOS_SPLASH_SIZES=(
|
||||
"640x1136:iphone5"
|
||||
"750x1334:iphone6"
|
||||
"828x1792:iphone11"
|
||||
"1125x2436:iphonex"
|
||||
"1242x2208:iphone6plus"
|
||||
"1242x2688:iphonemax"
|
||||
"1536x2048:ipad"
|
||||
"1668x2224:ipadpro10"
|
||||
"1668x2388:ipadpro11"
|
||||
"2048x2732:ipadpro12"
|
||||
)
|
||||
|
||||
mkdir -p frontend/public/splash
|
||||
|
||||
for splash_config in "${IOS_SPLASH_SIZES[@]}"; do
|
||||
IFS=':' read -r size name <<< "$splash_config"
|
||||
IFS='x' read -r width height <<< "$size"
|
||||
echo " → ${name} (${width}x${height}px)"
|
||||
|
||||
# Create splash with icon centered on background
|
||||
convert -size ${width}x${height} xc:"#121212" \
|
||||
\( "$SOURCE_ICON" -resize 256x256 \) \
|
||||
-gravity center -composite \
|
||||
"frontend/public/splash/splash-${name}.png"
|
||||
done
|
||||
|
||||
echo ""
|
||||
echo "✅ Asset generation complete!"
|
||||
echo ""
|
||||
echo "📦 Generated assets:"
|
||||
echo " PWA: frontend/public/icons/*.png"
|
||||
echo " iOS: frontend/public/icons/apple-touch-icon*.png"
|
||||
echo " Android: frontend/public/android-icons/*.png"
|
||||
echo " Desktop: desktop-app/build/icon.{png,svg}"
|
||||
echo " Favicon: frontend/public/favicon.{ico,png}"
|
||||
echo " Splash: frontend/public/splash/*.png"
|
||||
echo ""
|
||||
echo "🔄 Next: Rebuild Docker container to include new assets"
|
||||
echo " docker compose build --no-cache"
|
||||
Loading…
Add table
Add a link
Reference in a new issue