Enhance UI components and improve user notifications
- Updated App.vue to include a toast notification system for new messages, enhancing user engagement. - Modified SplashScreen.vue to streamline the intro text display with improved typing effects. - Added Montserrat font styles in style.css for better typography across the application. - Improved controller navigation in useControllerNav.ts to support enhanced focus management and sound feedback. - Updated routing logic in index.ts to redirect authenticated users from the login page to the home page. - Enhanced the Login.vue view with transition effects for a smoother user experience during login and setup processes.
This commit is contained in:
@@ -0,0 +1,77 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Setup Archipelago kiosk mode on the server
|
||||
# Runs Chromium in kiosk mode so keyboard/touchpad control the web UI
|
||||
# Only starts when logging in at the physical console (tty1)
|
||||
#
|
||||
# Run on server: sudo ./setup-kiosk.sh
|
||||
#
|
||||
|
||||
set -e
|
||||
|
||||
KIOSK_USER="${1:-archipelago}"
|
||||
ARCHIPELAGO_URL="${ARCHIPELAGO_URL:-http://localhost}"
|
||||
|
||||
echo "Setting up kiosk for user: $KIOSK_USER"
|
||||
echo "URL: $ARCHIPELAGO_URL"
|
||||
echo ""
|
||||
|
||||
# Create .xinitrc for kiosk
|
||||
HOMEDIR=$(getent passwd "$KIOSK_USER" | cut -d: -f6)
|
||||
XINITRC="$HOMEDIR/.xinitrc"
|
||||
|
||||
cat > "$XINITRC" << 'XINITRC_EOF'
|
||||
#!/bin/bash
|
||||
# Archipelago kiosk - Chromium fullscreen
|
||||
exec chromium --kiosk \
|
||||
--app=http://localhost \
|
||||
--noerrdialogs \
|
||||
--disable-infobars \
|
||||
--disable-translate \
|
||||
--no-first-run \
|
||||
--check-for-update-interval=31536000 \
|
||||
--disable-features=TranslateUI \
|
||||
--disable-session-crashed-bubble
|
||||
XINITRC_EOF
|
||||
|
||||
# Replace localhost with actual URL if different
|
||||
if [ "$ARCHIPELAGO_URL" != "http://localhost" ]; then
|
||||
sed -i "s|http://localhost|$ARCHIPELAGO_URL|g" "$XINITRC"
|
||||
fi
|
||||
|
||||
chown "$KIOSK_USER:$KIOSK_USER" "$XINITRC"
|
||||
chmod +x "$XINITRC"
|
||||
|
||||
# Add startx to .bash_profile only when on console (tty1)
|
||||
BASHPROFILE="$HOMEDIR/.bash_profile"
|
||||
if [ ! -f "$BASHPROFILE" ]; then
|
||||
touch "$BASHPROFILE"
|
||||
chown "$KIOSK_USER:$KIOSK_USER" "$BASHPROFILE"
|
||||
fi
|
||||
|
||||
# Remove any existing kiosk block
|
||||
if grep -q "ARCHIPELAGO_KIOSK" "$BASHPROFILE" 2>/dev/null; then
|
||||
sed -i '/# ARCHIPELAGO_KIOSK/,/^# END ARCHIPELAGO_KIOSK/d' "$BASHPROFILE"
|
||||
fi
|
||||
|
||||
# Add kiosk startup (only runs on physical console tty1)
|
||||
cat >> "$BASHPROFILE" << 'BASHPROFILE_EOF'
|
||||
|
||||
# ARCHIPELAGO_KIOSK - Start X/kiosk when logging in at physical console
|
||||
if [ -z "$DISPLAY" ] && [ "$(tty)" = "/dev/tty1" ]; then
|
||||
exec startx
|
||||
fi
|
||||
# END ARCHIPELAGO_KIOSK
|
||||
BASHPROFILE_EOF
|
||||
|
||||
chown "$KIOSK_USER:$KIOSK_USER" "$BASHPROFILE"
|
||||
|
||||
echo "✅ Kiosk installed!"
|
||||
echo ""
|
||||
echo " When you log in at the physical console (monitor + keyboard):"
|
||||
echo " - X will start automatically"
|
||||
echo " - Chromium will open in kiosk mode"
|
||||
echo " - Your keyboard/touchpad will control the Archipelago UI"
|
||||
echo ""
|
||||
echo " To use: Connect a display, plug in keyboard, reboot (or log in at tty1)"
|
||||
echo ""
|
||||
Reference in New Issue
Block a user