#!/bin/bash # DYNR Module: Rclone Wizard run_rclone_wizard() { BLUE='\033[38;5;45m'; PURPLE='\033[38;5;127m'; GOLD='\033[38;5;178m'; NC='\033[0m' HIST_FILE="$HOME/.rclone_dir_history" echo -e "${PURPLE}--- DYNASTY RCLONE WIZARD ---${NC}" # 1. Action Selection PS3=$(echo -e "\n${BLUE}Select Stance:${NC} ") options=("Copy" "Move" "Quit") select opt in "${options[@]}"; do case $opt in "Copy") ACTION="copy"; break;; "Move") ACTION="move"; break;; "Quit") return;; esac done # 2. File Selection (Space-Safe) echo -e "\n${BLUE}📜 Gathering archives...${NC}" FILES=$(find . -maxdepth 2 -not -path '*/.*' -print0 | fzf --read0 -m --ansi --color="fg:#1fd9f0,hl:#dba608") [ -z "$FILES" ] && return # 3. Remote Selection REMOTE=$(rclone listremotes | fzf --ansi --header="Select Kingdom (Remote)") [ -z "$REMOTE" ] && return # 4. Destination History if [ -f "$HIST_FILE" ]; then DEST_DIR=$( (echo "--- NEW PATH ---"; cat "$HIST_FILE") | fzf) fi if [[ "$DEST_DIR" == "--- NEW PATH ---" ]] || [[ -z "$DEST_DIR" ]]; then read -p "Enter Target Path: " DEST_DIR [ ! -z "$DEST_DIR" ] && echo "$DEST_DIR" >> "$HIST_FILE" && sort -u -o "$HIST_FILE" "$HIST_FILE" fi # 5. Execution echo "$FILES" | tr '\0' '\n' | while read -r FILE; do if [ ! -z "$FILE" ]; then echo -e "${BLUE}🐉 Transmitting:${NC} $FILE" rclone "$ACTION" -P "$FILE" "$REMOTE$DEST_DIR" echo -e "\a" fi done }