Revert scroll nav buttons to full-height style
Reverted back to previous design: - Buttons span full height (top-0 bottom-0) - No separate container wrapper - Direct glassmorphic styling on button - 48px width (w-12) - 32px icon size (w-8 h-8) - Positioned at edges (left-0, right-0) Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
84
deploy-to-archipelago.sh
Executable file
84
deploy-to-archipelago.sh
Executable file
@@ -0,0 +1,84 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
# Configuration
|
||||
REMOTE_SERVER="archipelago@192.168.1.228"
|
||||
REMOTE_DIR="/tmp/indeedhub-build"
|
||||
CONTAINER_NAME="indeedhub"
|
||||
IMAGE_NAME="localhost/indeedhub:latest"
|
||||
|
||||
echo "╔════════════════════════════════════════════════════════════════╗"
|
||||
echo "║ Deploying Indeedhub to Archipelago Dev Server ║"
|
||||
echo "╚════════════════════════════════════════════════════════════════╝"
|
||||
echo ""
|
||||
|
||||
# Step 1: Sync source code to remote server
|
||||
echo "📦 Step 1: Syncing source code to remote server..."
|
||||
echo " (You may be prompted for SSH password)"
|
||||
rsync -avz --exclude 'node_modules' --exclude 'dist' --exclude '.git' --exclude '.cursor' \
|
||||
-e "ssh -o PreferredAuthentications=keyboard-interactive,password" \
|
||||
. "$REMOTE_SERVER:$REMOTE_DIR/"
|
||||
echo " ✅ Source code synced"
|
||||
|
||||
# Step 2: Build and deploy on remote server
|
||||
echo ""
|
||||
echo "📦 Step 2: Building and deploying on remote server..."
|
||||
ssh -o PreferredAuthentications=keyboard-interactive,password -t "$REMOTE_SERVER" bash <<'REMOTE_SCRIPT'
|
||||
set -e
|
||||
|
||||
cd /tmp/indeedhub-build
|
||||
CONTAINER_NAME="indeedhub"
|
||||
IMAGE_NAME="localhost/indeedhub:latest"
|
||||
|
||||
echo ""
|
||||
echo " Building Docker image with Podman..."
|
||||
sudo podman build --platform linux/amd64 -t "$IMAGE_NAME" .
|
||||
|
||||
echo ""
|
||||
echo " Stopping existing container (if any)..."
|
||||
sudo podman stop "$CONTAINER_NAME" 2>/dev/null || true
|
||||
sudo podman rm "$CONTAINER_NAME" 2>/dev/null || true
|
||||
|
||||
echo ""
|
||||
echo " Starting new container..."
|
||||
sudo podman run -d \
|
||||
--name "$CONTAINER_NAME" \
|
||||
--restart unless-stopped \
|
||||
-p 7777:7777 \
|
||||
--label "com.archipelago.app=indeedhub" \
|
||||
--label "com.archipelago.category=media" \
|
||||
--health-cmd "curl -f http://localhost:7777/health || exit 1" \
|
||||
--health-interval 30s \
|
||||
--health-timeout 10s \
|
||||
--health-retries 3 \
|
||||
--health-start-period 40s \
|
||||
"$IMAGE_NAME"
|
||||
|
||||
echo ""
|
||||
echo " ✅ Container started!"
|
||||
echo ""
|
||||
echo " Container status:"
|
||||
sudo podman ps --filter "name=$CONTAINER_NAME" --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
|
||||
|
||||
echo ""
|
||||
echo " Cleaning up build directory..."
|
||||
cd /tmp
|
||||
rm -rf /tmp/indeedhub-build
|
||||
|
||||
REMOTE_SCRIPT
|
||||
|
||||
echo ""
|
||||
echo "╔════════════════════════════════════════════════════════════════╗"
|
||||
echo "║ ✅ INDEEDHUB DEPLOYED! ║"
|
||||
echo "╚════════════════════════════════════════════════════════════════╝"
|
||||
echo ""
|
||||
echo "🎬 Access Indeedhub at:"
|
||||
echo " • HTTP: http://192.168.1.228:7777"
|
||||
echo " • HTTPS: https://192.168.1.228:7777 (if reverse proxy configured)"
|
||||
echo ""
|
||||
echo "📝 Useful commands:"
|
||||
echo " • Check logs: ssh $REMOTE_SERVER 'sudo podman logs -f $CONTAINER_NAME'"
|
||||
echo " • Check status: ssh $REMOTE_SERVER 'sudo podman ps | grep $CONTAINER_NAME'"
|
||||
echo " • Restart: ssh $REMOTE_SERVER 'sudo podman restart $CONTAINER_NAME'"
|
||||
echo " • Stop: ssh $REMOTE_SERVER 'sudo podman stop $CONTAINER_NAME'"
|
||||
echo ""
|
||||
@@ -6,19 +6,15 @@
|
||||
|
||||
<div class="relative group">
|
||||
<!-- Scroll Left Button -->
|
||||
<div
|
||||
<button
|
||||
v-if="canScrollLeft"
|
||||
class="scroll-nav-container hidden md:flex absolute left-4 top-1/2 -translate-y-1/2 z-10"
|
||||
@click="scrollLeft"
|
||||
class="scroll-nav-button hidden md:flex items-center justify-center absolute left-0 top-0 bottom-0 z-10 w-12 transition-all"
|
||||
>
|
||||
<button
|
||||
@click="scrollLeft"
|
||||
class="scroll-nav-button flex items-center justify-center w-10 h-10 transition-all"
|
||||
>
|
||||
<svg class="w-6 h-6" fill="currentColor" viewBox="0 0 24 24">
|
||||
<path d="M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"/>
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
<svg class="w-8 h-8" fill="currentColor" viewBox="0 0 24 24">
|
||||
<path d="M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"/>
|
||||
</svg>
|
||||
</button>
|
||||
|
||||
<!-- Content Slider -->
|
||||
<div
|
||||
@@ -48,19 +44,15 @@
|
||||
</div>
|
||||
|
||||
<!-- Scroll Right Button -->
|
||||
<div
|
||||
<button
|
||||
v-if="canScrollRight"
|
||||
class="scroll-nav-container hidden md:flex absolute right-4 top-1/2 -translate-y-1/2 z-10"
|
||||
@click="scrollRight"
|
||||
class="scroll-nav-button hidden md:flex items-center justify-center absolute right-0 top-0 bottom-0 z-10 w-12 transition-all"
|
||||
>
|
||||
<button
|
||||
@click="scrollRight"
|
||||
class="scroll-nav-button flex items-center justify-center w-10 h-10 transition-all"
|
||||
>
|
||||
<svg class="w-6 h-6" fill="currentColor" viewBox="0 0 24 24">
|
||||
<path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"/>
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
<svg class="w-8 h-8" fill="currentColor" viewBox="0 0 24 24">
|
||||
<path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"/>
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
@@ -133,7 +125,7 @@ onUnmounted(() => {
|
||||
letter-spacing: 0.05em; /* 5% character spacing */
|
||||
}
|
||||
|
||||
.scroll-nav-container {
|
||||
.scroll-nav-button {
|
||||
background: rgba(0, 0, 0, 0.35);
|
||||
backdrop-filter: blur(24px);
|
||||
-webkit-backdrop-filter: blur(24px);
|
||||
@@ -141,33 +133,21 @@ onUnmounted(() => {
|
||||
box-shadow:
|
||||
0 8px 24px rgba(0, 0, 0, 0.45),
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.15);
|
||||
border-radius: 12px;
|
||||
padding: 2px;
|
||||
color: rgba(255, 255, 255, 0.8);
|
||||
opacity: 0.7;
|
||||
transition: all 0.3s ease;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.scroll-nav-container:hover {
|
||||
.scroll-nav-button:hover {
|
||||
background: rgba(0, 0, 0, 0.45);
|
||||
border-color: rgba(255, 255, 255, 0.15);
|
||||
opacity: 1;
|
||||
color: rgba(255, 255, 255, 1);
|
||||
box-shadow:
|
||||
0 12px 32px rgba(0, 0, 0, 0.6),
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.2);
|
||||
}
|
||||
|
||||
.scroll-nav-button {
|
||||
background: transparent;
|
||||
border: none;
|
||||
color: rgba(255, 255, 255, 0.8);
|
||||
cursor: pointer;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.scroll-nav-container:hover .scroll-nav-button {
|
||||
color: rgba(255, 255, 255, 1);
|
||||
}
|
||||
|
||||
.glass-card {
|
||||
background: linear-gradient(135deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.02));
|
||||
border: 1px solid rgba(255, 255, 255, 0.1);
|
||||
|
||||
Reference in New Issue
Block a user