@@ -33,25 +33,31 @@ BOLD='\033[1m'
33
33
DIM=' \033[2m'
34
34
RESET=' \033[0m'
35
35
36
- # Gradient colors
37
- GRAD1=' \033[38;5;198m ' # Hot pink
38
- GRAD2=' \033[38;5;199m ' # Pink
39
- GRAD3=' \033[38;5;200m ' # Light pink
40
- GRAD4=' \033[38;5;135m ' # Purple
41
- GRAD5=' \033[38;5;99m ' # Dark purple
42
- GRAD6=' \033[38;5;63m ' # Blue purple
36
+ # Dartotsu gradient colors (teal to cyan)
37
+ GRAD1=' \033[38;5;30m ' # Dark teal
38
+ GRAD2=' \033[38;5;36m ' # Medium teal
39
+ GRAD3=' \033[38;5;42m ' # Teal
40
+ GRAD4=' \033[38;5;48m ' # Light teal
41
+ GRAD5=' \033[38;5;51m ' # Cyan
42
+ GRAD6=' \033[38;5;87m ' # Bright cyan
43
43
44
44
# Icons
45
- ICON_SUCCESS=" ✅"
46
- ICON_ERROR=" ❌"
47
- ICON_WARNING=" ⚠️ "
48
- ICON_INFO=" ℹ️ "
49
- ICON_ROCKET=" 🚀"
50
- ICON_DOWNLOAD=" ⬇️ "
51
- ICON_INSTALL=" 📦"
52
- ICON_UNINSTALL=" 🗑️ "
53
- ICON_UPDATE=" 🔄"
54
- ICON_SPARKLES=" ✨"
45
+ ICON_FIRE=" 🔥"
46
+ ICON_LIGHTNING=" ⚡"
47
+ ICON_STAR=" ⭐"
48
+ ICON_DIAMOND=" 💎"
49
+ ICON_BOMB=" 💣"
50
+ ICON_SKULL=" 💀"
51
+ ICON_ROBOT=" 🤖"
52
+ ICON_ALIEN=" 👽"
53
+ ICON_GHOST=" 👻"
54
+ ICON_MAGIC=" 🪄"
55
+ ICON_CRYSTAL=" 🔮"
56
+ ICON_SWORD=" ⚔️"
57
+ ICON_SHIELD=" 🛡️"
58
+ ICON_CROWN=" 👑"
59
+ ICON_COMET=" ☄️"
60
+ ICON_GALAXY=" 🌌"
55
61
56
62
# =============================================================================
57
63
# 🎭 ANIMATION & UI FUNCTIONS
@@ -81,47 +87,90 @@ progress_bar() {
81
87
local filled=$(( current * width / total))
82
88
local empty=$(( width - filled))
83
89
84
- printf " \r${BOLD} Progress: ${RESET} ["
85
- printf " ${GREEN} %*s${RESET} " $filled | tr ' ' ' █'
86
- printf " %*s" $empty | tr ' ' ' ░'
87
- printf " ] ${BOLD} %d%%${RESET} " $percentage
90
+ # Color gradient based on progress
91
+ local color=" "
92
+ if [ $percentage -lt 25 ]; then
93
+ color=" ${RED} "
94
+ elif [ $percentage -lt 50 ]; then
95
+ color=" ${YELLOW} "
96
+ elif [ $percentage -lt 75 ]; then
97
+ color=" ${CYAN} "
98
+ else
99
+ color=" ${GREEN} "
100
+ fi
101
+
102
+ printf " \r${BOLD}${ICON_LIGHTNING} Progress: ${RESET} ["
103
+ printf " ${color} %*s${RESET} " $filled | tr ' ' ' █'
104
+ printf " ${GRAY} %*s${RESET} " $empty | tr ' ' ' ░'
105
+ printf " ] ${BOLD}${color} %d%%${RESET} ${ICON_FIRE} " $percentage
88
106
}
89
107
90
108
# Compare commit SHAs between repos
91
109
compare_commits () {
92
110
local main_repo=" aayush2622/Dartotsu"
93
111
local alpha_repo=" grayankit/Dartotsu-Downloader"
94
112
95
- echo -ne " ${CYAN}${ICON_INFO}${RESET} Checking commit synchronization..."
113
+ echo
114
+ echo -ne " ${CYAN}${ICON_ROBOT}${RESET} ${BOLD} Initiating quantum commit analysis${RESET} "
115
+ for i in {1..5}; do
116
+ sleep 0.3
117
+ echo -ne " ${CYAN} .${RESET} "
118
+ done
119
+ echo -e " ${GREEN}${ICON_LIGHTNING}${RESET} "
120
+
121
+ # Matrix-style loading
122
+ echo -e " ${GREEN}${DIM} > Accessing GitHub API...${RESET} "
123
+ sleep 0.5
124
+ echo -e " ${GREEN}${DIM} > Scanning commit trees...${RESET} "
125
+ sleep 0.5
126
+ echo -e " ${GREEN}${DIM} > Cross-referencing SHA hashes...${RESET} "
127
+ sleep 0.5
96
128
97
- # Get latest commits from both repos
129
+ # Get data
98
130
local main_commit=$( curl -s " https://api.github.com/repos/${main_repo} /commits" | grep ' "sha"' | head -1 | cut -d ' "' -f 4 | cut -c1-7)
99
131
local main_date=$( curl -s " https://api.github.com/repos/${main_repo} /commits" | grep ' "date"' | head -1 | cut -d ' "' -f 4)
132
+ local main_author=$( curl -s " https://api.github.com/repos/${main_repo} /commits" | grep ' "name"' | head -1 | cut -d ' "' -f 4)
100
133
101
134
local alpha_release=$( curl -s " https://api.github.com/repos/${alpha_repo} /releases/latest" )
102
135
local alpha_tag=$( echo " $alpha_release " | grep ' "tag_name"' | cut -d ' "' -f 4)
103
136
local alpha_date=$( echo " $alpha_release " | grep ' "published_at"' | cut -d ' "' -f 4)
104
137
105
- echo -e " ${GREEN}${ICON_SUCCESS}${RESET} "
106
138
echo
107
- echo -e " ${BOLD}${BLUE} ╭─ COMMIT COMPARISON ────────────────────────────────╮${RESET} "
108
- echo -e " ${BOLD}${BLUE} │${RESET} Main Repo (${main_repo} ): ${BLUE}${BOLD} │${RESET} "
109
- echo -e " ${BOLD}${BLUE} │${RESET} Latest Commit: ${YELLOW}${main_commit}${RESET} ${BLUE}${BOLD} │${RESET} "
110
- echo -e " ${BOLD}${BLUE} │${RESET} Date: ${GRAY} $( date -d " $main_date " ' +%Y-%m-%d %H:%M:%S' ) ${RESET} ${BLUE}${BOLD} │${RESET} "
111
- echo -e " ${BOLD}${BLUE} │${RESET} ${BLUE}${BOLD} │${RESET} "
112
- echo -e " ${BOLD}${BLUE} │${RESET} Alpha Repo (${alpha_repo} ): ${BLUE}${BOLD} │${RESET} "
113
- echo -e " ${BOLD}${BLUE} │${RESET} Latest Tag: ${PURPLE}${alpha_tag}${RESET} ${BLUE}${BOLD} │${RESET} "
114
- echo -e " ${BOLD}${BLUE} │${RESET} Date: ${GRAY} $( date -d " $alpha_date " ' +%Y-%m-%d %H:%M:%S' ) ${RESET} ${BLUE}${BOLD} │${RESET} "
115
- echo -e " ${BOLD}${BLUE} │${RESET} ${BLUE}${BOLD} │${RESET} "
116
-
117
- # Check if commits match (simplified comparison)
139
+ echo -e " ${BOLD}${PURPLE} ╔═══════════════════════════════════════════════════════════════╗${RESET} "
140
+ echo -e " ${BOLD}${PURPLE} ║${RESET} ${ICON_CRYSTAL} COMMIT MATRIX ${ICON_CRYSTAL} ${PURPLE}${BOLD} ║${RESET} "
141
+ echo -e " ${BOLD}${PURPLE} ╠═══════════════════════════════════════════════════════════════╣${RESET} "
142
+ echo -e " ${BOLD}${PURPLE} ║${RESET} ${PURPLE}${BOLD} ║${RESET} "
143
+ echo -e " ${BOLD}${PURPLE} ║${RESET} ${ICON_GALAXY} ${BOLD} MAIN REPOSITORY${RESET} ${GRAY} (${main_repo} )${RESET} ${PURPLE}${BOLD} ║${RESET} "
144
+ echo -e " ${BOLD}${PURPLE} ║${RESET} ${ICON_DIAMOND} Commit SHA: ${YELLOW}${BOLD}${main_commit}${RESET} ${PURPLE}${BOLD} ║${RESET} "
145
+ echo -e " ${BOLD}${PURPLE} ║${RESET} ${ICON_STAR} Author: ${CYAN}${main_author}${RESET} ${PURPLE}${BOLD} ║${RESET} "
146
+ echo -e " ${BOLD}${PURPLE} ║${RESET} ${ICON_COMET} Timestamp: ${GRAY} $( date -d " $main_date " ' +%Y-%m-%d %H:%M:%S UTC' ) ${RESET} ${PURPLE}${BOLD} ║${RESET} "
147
+ echo -e " ${BOLD}${PURPLE} ║${RESET} ${PURPLE}${BOLD} ║${RESET} "
148
+ echo -e " ${BOLD}${PURPLE} ║${RESET} ${ICON_ALIEN} ${BOLD} ALPHA REPOSITORY${RESET} ${GRAY} (${alpha_repo} )${RESET} ${PURPLE}${BOLD} ║${RESET} "
149
+ echo -e " ${BOLD}${PURPLE} ║${RESET} ${ICON_BOMB} Release Tag: ${PURPLE}${BOLD}${alpha_tag}${RESET} ${PURPLE}${BOLD} ║${RESET} "
150
+ echo -e " ${BOLD}${PURPLE} ║${RESET} ${ICON_GHOST} Published: ${GRAY} $( date -d " $alpha_date " ' +%Y-%m-%d %H:%M:%S UTC' ) ${RESET} ${PURPLE}${BOLD} ║${RESET} "
151
+ echo -e " ${BOLD}${PURPLE} ║${RESET} ${PURPLE}${BOLD} ║${RESET} "
152
+
153
+ # Sync status with epic effects
118
154
if [[ " $alpha_tag " == * " $main_commit " * ]]; then
119
- echo -e " ${BOLD}${BLUE} │${RESET} Status: ${GREEN}${ICON_SUCCESS} Synchronized${RESET} ${BLUE}${BOLD} │${RESET} "
155
+ echo -e " ${BOLD}${PURPLE} ║${RESET} ${ICON_MAGIC} SYNC STATUS: ${GREEN}${BOLD}${ICON_FIRE} PERFECTLY SYNCHRONIZED ${ICON_FIRE}${RESET} ${PURPLE}${BOLD} ║${RESET} "
156
+ echo -e " ${BOLD}${PURPLE} ║${RESET} ${GREEN}${ICON_LIGHTNING} Repositories are in perfect harmony! ${ICON_LIGHTNING}${RESET} ${PURPLE}${BOLD} ║${RESET} "
120
157
else
121
- echo -e " ${BOLD}${BLUE} │${RESET} Status: ${YELLOW}${ICON_WARNING} Out of sync${RESET} ${BLUE}${BOLD} │${RESET} "
158
+ echo -e " ${BOLD}${PURPLE} ║${RESET} ${ICON_CRYSTAL} SYNC STATUS: ${YELLOW}${BOLD}${ICON_SWORD} DIVERGED TIMELINES ${ICON_SWORD}${RESET} ${PURPLE}${BOLD} ║${RESET} "
159
+ echo -e " ${BOLD}${PURPLE} ║${RESET} ${YELLOW}${ICON_SKULL} Alpha may contain different features ${ICON_SKULL}${RESET} ${PURPLE}${BOLD} ║${RESET} "
122
160
fi
123
161
124
- echo -e " ${BOLD}${BLUE} ╰────────────────────────────────────────────────────╯${RESET} "
162
+ echo -e " ${BOLD}${PURPLE} ║${RESET} ${PURPLE}${BOLD} ║${RESET} "
163
+ echo -e " ${BOLD}${PURPLE} ╚═══════════════════════════════════════════════════════════════╝${RESET} "
164
+ echo
165
+
166
+ # Cool countdown
167
+ echo -ne " ${BOLD}${CYAN} Preparing alpha download in: ${RESET} "
168
+ for i in 3 2 1; do
169
+ echo -ne " ${RED}${BOLD} $i ${RESET} "
170
+ sleep 0.8
171
+ echo -ne " \b \b"
172
+ done
173
+ echo -e " ${GREEN}${BOLD} GO! ${ICON_ROCKET}${RESET} "
125
174
echo
126
175
}
127
176
@@ -140,15 +189,23 @@ type_text() {
140
189
show_banner () {
141
190
clear
142
191
echo
192
+ # Animated border effect
193
+ for i in {1..3}; do
194
+ echo -e " ${GRAD1} ════════════════════════════════════════════════════════════════════════${RESET} "
195
+ sleep 0.05
196
+ printf " \033[1A\033[K"
197
+ done
198
+
143
199
echo -e " ${GRAD1} ██████╗ █████╗ ██████╗ ████████╗ ██████╗ ████████╗███████╗██╗ ██╗${RESET} "
144
200
echo -e " ${GRAD2} ██╔══██╗██╔══██╗██╔══██╗╚══██╔══╝██╔═══██╗╚══██╔══╝██╔════╝██║ ██║${RESET} "
145
201
echo -e " ${GRAD3} ██║ ██║███████║██████╔╝ ██║ ██║ ██║ ██║ ███████╗██║ ██║${RESET} "
146
202
echo -e " ${GRAD4} ██║ ██║██╔══██║██╔══██╗ ██║ ██║ ██║ ██║ ╚════██║██║ ██║${RESET} "
147
203
echo -e " ${GRAD5} ██████╔╝██║ ██║██║ ██║ ██║ ╚██████╔╝ ██║ ███████║╚██████╔╝${RESET} "
148
204
echo -e " ${GRAD6} ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚══════╝ ╚═════╝ ${RESET} "
149
205
echo
150
- echo -e " ${CYAN}${BOLD} The Ultimate Anime & Manga Experience${RESET} "
206
+ echo -e " ${CYAN}${BOLD} ${ICON_FIRE}${ICON_LIGHTNING} The Ultimate Anime & Manga Experience ${ICON_LIGHTNING}${ICON_FIRE} ${RESET}"
151
207
echo -e " ${GRAY} ═══════════════════════════════════════${RESET} "
208
+ echo -e " ${PURPLE}${DIM} ${ICON_GALAXY} Powered by Dreams ${ICON_GALAXY}${RESET} "
152
209
echo
153
210
}
154
211
@@ -197,31 +254,53 @@ warn_msg() {
197
254
198
255
# Stylized menu
199
256
show_menu () {
200
- echo -e " ${BOLD}${PURPLE} ┌─ SELECT ACTION ────────────────────────────────────┐${RESET} "
201
- echo -e " ${BOLD}${PURPLE} │${RESET} ${PURPLE}${BOLD} │${RESET} "
202
- echo -e " ${BOLD}${PURPLE} │${RESET} ${ICON_INSTALL} ${GREEN}${BOLD} [I]${RESET} Install Dartotsu ${PURPLE}${BOLD} │${RESET} "
203
- echo -e " ${BOLD}${PURPLE} │${RESET} ${ICON_UPDATE} ${YELLOW}${BOLD} [U]${RESET} Update Dartotsu ${PURPLE}${BOLD} │${RESET} "
204
- echo -e " ${BOLD}${PURPLE} │${RESET} ${ICON_UNINSTALL} ${RED}${BOLD} [R]${RESET} Remove Dartotsu ${PURPLE}${BOLD} │${RESET} "
205
- echo -e " ${BOLD}${PURPLE} │${RESET} ${ICON_SPARKLES} ${CYAN}${BOLD} [Q]${RESET} Quit ${PURPLE}${BOLD} │${RESET} "
206
- echo -e " ${BOLD}${PURPLE} │${RESET} ${PURPLE}${BOLD} │${RESET} "
207
- echo -e " ${BOLD}${PURPLE} └────────────────────────────────────────────────────┘${RESET} "
257
+ # Glitch effect
258
+ echo -e " ${GRAD1} █${GRAD2} █${GRAD3} █${GRAD4} █${GRAD5} █${GRAD6} █${RESET} ${BOLD} DARTOTSU CONTROL PANEL${RESET} ${GRAD6} █${GRAD5} █${GRAD4} █${GRAD3} █${GRAD2} █${GRAD1} █${RESET} "
259
+ echo
260
+ echo -e " ${BOLD}${CYAN} ╔═══════════════════════════════════════════════════════╗${RESET} "
261
+ echo -e " ${BOLD}${CYAN} ║${RESET} ${CYAN}${BOLD} ║${RESET} "
262
+ echo -e " ${BOLD}${CYAN} ║${RESET} ${ICON_ROBOT} ${GREEN}${BOLD} [I]${RESET} ${ICON_DOWNLOAD} Install Dartotsu ${GRAY} (Get Started)${RESET} ${CYAN}${BOLD} ║${RESET} "
263
+ echo -e " ${BOLD}${CYAN} ║${RESET} ${GREEN} Deploy the ultimate anime experience${RESET} ${CYAN}${BOLD} ║${RESET} "
264
+ echo -e " ${BOLD}${CYAN} ║${RESET} ${CYAN}${BOLD} ║${RESET} "
265
+ echo -e " ${BOLD}${CYAN} ║${RESET} ${ICON_LIGHTNING} ${YELLOW}${BOLD} [U]${RESET} ${ICON_UPDATE} Update Dartotsu ${GRAY} (Stay Current)${RESET} ${CYAN}${BOLD} ║${RESET} "
266
+ echo -e " ${BOLD}${CYAN} ║${RESET} ${YELLOW} Upgrade to the latest and greatest${RESET} ${CYAN}${BOLD} ║${RESET} "
267
+ echo -e " ${BOLD}${CYAN} ║${RESET} ${CYAN}${BOLD} ║${RESET} "
268
+ echo -e " ${BOLD}${CYAN} ║${RESET} ${ICON_BOMB} ${RED}${BOLD} [R]${RESET} ${ICON_UNINSTALL} Remove Dartotsu ${GRAY} (Nuclear Option)${RESET} ${CYAN}${BOLD} ║${RESET} "
269
+ echo -e " ${BOLD}${CYAN} ║${RESET} ${RED} Complete annihilation of installation${RESET} ${CYAN}${BOLD} ║${RESET} "
270
+ echo -e " ${BOLD}${CYAN} ║${RESET} ${CYAN}${BOLD} ║${RESET} "
271
+ echo -e " ${BOLD}${CYAN} ║${RESET} ${ICON_GHOST} ${CYAN}${BOLD} [Q]${RESET} ${ICON_SPARKLES} Quit ${GRAY} (Escape the Matrix)${RESET} ${CYAN}${BOLD} ║${RESET} "
272
+ echo -e " ${BOLD}${CYAN} ║${RESET} ${CYAN} Return to the real world${RESET} ${CYAN}${BOLD} ║${RESET} "
273
+ echo -e " ${BOLD}${CYAN} ║${RESET} ${CYAN}${BOLD} ║${RESET} "
274
+ echo -e " ${BOLD}${CYAN} ╚═══════════════════════════════════════════════════════╝${RESET} "
208
275
echo
209
- echo -ne " ${BOLD}${WHITE} Your choice ${RESET} ${GRAY} (I/U/R/Q)${RESET} : "
276
+ echo -ne " ${BOLD}${WHITE} Enter the matrix ${RESET} ${GRAY} (I/U/R/Q)${RESET} ${ICON_MAGIC } : "
210
277
}
211
278
212
279
# Version selection menu
213
- # Replace the existing version_menu function with:
214
280
version_menu () {
215
281
echo
216
- echo -e " ${BOLD}${CYAN} ┌─ VERSION SELECTION ────────────────────────────────┐${RESET} "
217
- echo -e " ${BOLD}${CYAN} │${RESET} ${CYAN}${BOLD} │${RESET} "
218
- echo -e " ${BOLD}${CYAN} │${RESET} ${ICON_ROCKET} ${GREEN}${BOLD} [S]${RESET} Stable Release ${GRAY} (Recommended)${RESET} ${CYAN}${BOLD} │${RESET} "
219
- echo -e " ${BOLD}${CYAN} │${RESET} ${ICON_SPARKLES} ${YELLOW}${BOLD} [P]${RESET} Pre-release ${GRAY} (Latest Features)${RESET} ${CYAN}${BOLD} │${RESET} "
220
- echo -e " ${BOLD}${CYAN} │${RESET} ${ICON_SPARKLES} ${PURPLE}${BOLD} [A]${RESET} Alpha Build ${GRAY} (Experimental)${RESET} ${CYAN}${BOLD} │${RESET} "
221
- echo -e " ${BOLD}${CYAN} │${RESET} ${CYAN}${BOLD} │${RESET} "
222
- echo -e " ${BOLD}${CYAN} └────────────────────────────────────────────────────┘${RESET} "
282
+ # Animated title
283
+ for char in " V" " E" " R" " S" " I" " O" " N" " " " S" " E" " L" " E" " C" " T" " I" " O" " N" ; do
284
+ echo -ne " ${BOLD}${PURPLE} $char ${RESET} "
285
+ sleep 0.05
286
+ done
287
+ echo
288
+ echo
289
+
290
+ echo -e " ${BOLD}${GRAD2} ╔═══════════════════════════════════════════════════════╗${RESET} "
291
+ echo -e " ${BOLD}${GRAD2} ║${RESET} ${GRAD2}${BOLD} ║${RESET} "
292
+ echo -e " ${BOLD}${GRAD2} ║${RESET} ${ICON_CROWN} ${GREEN}${BOLD} [S]${RESET} Stable Release ${GRAY} (Battle-Tested)${RESET} ${GRAD2}${BOLD} ║${RESET} "
293
+ echo -e " ${BOLD}${GRAD2} ║${RESET} ${ICON_SHIELD} Rock solid, enterprise ready ${GRAD2}${BOLD} ║${RESET} "
294
+ echo -e " ${BOLD}${GRAD2} ║${RESET} ${GRAD2}${BOLD} ║${RESET} "
295
+ echo -e " ${BOLD}${GRAD2} ║${RESET} ${ICON_LIGHTNING} ${YELLOW}${BOLD} [P]${RESET} Pre-release ${GRAY} (Bleeding Edge)${RESET} ${GRAD2}${BOLD} ║${RESET} "
296
+ echo -e " ${BOLD}${GRAD2} ║${RESET} ${ICON_FIRE} Latest features, some bugs possible ${GRAD2}${BOLD} ║${RESET} "
297
+ echo -e " ${BOLD}${GRAD2} ║${RESET} ${GRAD2}${BOLD} ║${RESET} "
298
+ echo -e " ${BOLD}${GRAD2} ║${RESET} ${ICON_BOMB} ${PURPLE}${BOLD} [A]${RESET} Alpha Build ${GRAY} (Danger Zone!)${RESET} ${GRAD2}${BOLD} ║${RESET} "
299
+ echo -e " ${BOLD}${GRAD2} ║${RESET} ${ICON_SKULL} Experimental, use at your own risk ${GRAD2}${BOLD} ║${RESET} "
300
+ echo -e " ${BOLD}${GRAD2} ║${RESET} ${GRAD2}${BOLD} ║${RESET} "
301
+ echo -e " ${BOLD}${GRAD2} ╚═══════════════════════════════════════════════════════╝${RESET} "
223
302
echo
224
- echo -ne " ${BOLD}${WHITE} Your choice ${RESET} ${GRAY} (S/P/A)${RESET} : "
303
+ echo -ne " ${BOLD}${WHITE} Choose your destiny ${RESET} ${GRAY} (S/P/A)${RESET} ${ICON_MAGIC } : "
225
304
}
226
305
227
306
# =============================================================================
0 commit comments