1+ #! /bin/bash
2+
3+ # Colors
4+ RED=' \033[0;31m'
5+ GREEN=' \033[0;32m'
6+ YELLOW=' \033[1;33m'
7+ BLUE=' \033[0;34m'
8+ PURPLE=' \033[0;35m'
9+ CYAN=' \033[0;36m'
10+ WHITE=' \033[1;37m'
11+ BOLD=' \033[1m'
12+ NC=' \033[0m' # No Color
13+
14+ # Function to print with typewriter effect
15+ typewriter () {
16+ text=" $1 "
17+ delay=${2:- 0.03}
18+ for (( i= 0 ; i< ${# text} ; i++ )) ; do
19+ printf " %s" " ${text: $i : 1} "
20+ sleep $delay
21+ done
22+ }
23+
24+ # Function to create animated border
25+ animate_border () {
26+ local width=80
27+ local chars=" βββ βββ"
28+
29+ for frame in {1..3}; do
30+ printf " \r${CYAN} "
31+ for (( i= 0 ; i< width; i++ )) ; do
32+ printf " %s" " ${chars: $((($i + $frame ) % 7)): 1} "
33+ done
34+ printf " ${NC} "
35+ sleep 0.1
36+ done
37+ echo
38+ }
39+
40+ # Clear screen and start the show
41+ clear
42+
43+ # Animated border
44+ animate_border
45+
46+ echo -e " ${BOLD}${BLUE} "
47+ echo "
48+ βββββββ βββββββββββ βββ ββββββββββββ ββββββ βββββββββββββ βββββββ ββββ βββββββ ββββββββββββββββ ββββββββββββ
49+ βββββββββββββββββββ βββ βββββββββββββ ββββββ ββββββββββββββββββββββββββββ ββββββββ ββββββββββββββββββ ββββββββββββ
50+ βββ βββββββββ βββ βββ ββββββ ββββββ ββββββ βββββββββββββββββ βββββββββ ββββββββββββββββββββ ββββββ βββ βββ
51+ βββ βββββββββ ββββ ββββ ββββββ ββββββββββββββ ββββββββββββββββββ ββββββββββββββββββββββββββββββ ββββββββββ βββ
52+ ββββββββββββββββ βββββββ βββββββββββ ββββββ βββββββ ββββββ βββββββββββββββ βββββββββ βββ ββββββββββββββ ββββββ βββ
53+ βββββββ ββββββββ βββββ βββββββββββ βββββ βββββ ββββββ βββ βββββββ βββ ββββββββ ββββββββββββββ βββββ βββ
54+ "
55+ echo -e " ${NC} "
56+
57+ # NHS Logo in ASCII
58+ echo -e " ${BLUE}${BOLD} "
59+ echo "
60+ ββββ ββββββ βββββββββββ
61+ βββββ ββββββ βββββββββββ
62+ ββββββ βββββββββββββββββββ
63+ ββββββββββββββββββββββββββ
64+ βββ βββββββββ βββββββββββ
65+ βββ ββββββββ βββββββββββ
66+ "
67+
68+ echo -e " ${RED}${BOLD} "
69+ echo "
70+ ββββ βββ βββββββ βββββββββββββββββββββββ βββ
71+ βββββ ββββββββββββββββββββββββββββββββββββ ββββ
72+ ββββββ ββββββ βββ βββ βββββββββ βββββββ
73+ βββββββββββββ βββ βββ βββββββββ βββββ
74+ βββ βββββββββββββββ βββ ββββββ βββ
75+ βββ βββββ βββββββ βββ ββββββ βββ
76+ "
77+ echo -e " ${NC} "
78+
79+ # Animated loading bar
80+ echo -e " ${YELLOW}${BOLD} Initializing NHS Notify Development Environment...${NC} "
81+ echo -e " ${CYAN} ["
82+ for i in {1..50}; do
83+ printf " ${GREEN} β${NC} "
84+ sleep 0.02
85+ done
86+ echo -e " ${CYAN} ]${NC} "
87+ echo
88+
89+ # System info with style
90+ echo -e " ${PURPLE}${BOLD} ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ${NC} "
91+ echo -e " ${PURPLE}${BOLD} β${NC} ${BOLD}${WHITE} CONTAINER INFORMATION${NC} ${PURPLE}${BOLD} β${NC} "
92+ echo -e " ${PURPLE}${BOLD} β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ£${NC} "
93+ echo -e " ${PURPLE}${BOLD} β${NC} ${CYAN} π³ Container:${NC} NHS Notify Development Environment ${PURPLE}${BOLD} β${NC} "
94+ echo -e " ${PURPLE}${BOLD} β${NC} ${CYAN} π
Date:${NC} $( date +' %A, %B %d, %Y' ) ${PURPLE}${BOLD} β${NC} "
95+ echo -e " ${PURPLE}${BOLD} β${NC} ${CYAN} β° Time:${NC} $( date +' %H:%M:%S %Z' ) ${PURPLE}${BOLD} β${NC} "
96+ echo -e " ${PURPLE}${BOLD} β${NC} ${CYAN} π€ User:${NC} $( whoami) ${PURPLE}${BOLD} β${NC} "
97+ echo -e " ${PURPLE}${BOLD} β${NC} ${CYAN} π₯οΈ Host:${NC} $( hostname) ${PURPLE}${BOLD} β${NC} "
98+ echo -e " ${PURPLE}${BOLD} β${NC} ${CYAN} π Workspace:${NC} $( pwd) ${PURPLE}${BOLD} β${NC} "
99+ echo -e " ${PURPLE}${BOLD} ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ${NC} "
100+ echo
101+
102+ # Feature showcase
103+ echo -e " ${GREEN}${BOLD} π READY TO DEVELOP WITH:${NC} "
104+ echo
105+ echo -e " ${YELLOW} β¨ Node.js & npm${NC} - JavaScript/TypeScript development"
106+ echo -e " ${YELLOW} π Python & pip${NC} - Python development tools"
107+ echo -e " ${YELLOW} π Git${NC} - Version control"
108+ echo -e " ${YELLOW} π³ Docker${NC} - Container management"
109+ echo -e " ${YELLOW} π VS Code Extensions${NC} - Enhanced development experience"
110+ echo -e " ${YELLOW} π§ ESLint & Prettier${NC} - Code formatting and linting"
111+ echo
112+
113+ # Fun message with typewriter effect
114+ echo -e " ${BOLD}${CYAN} "
115+ typewriter " π‘ Tip: This environment is optimized for NHS Notify development!"
116+ echo -e " ${NC} "
117+ echo
118+
119+ # Motivational quote
120+ quotes=(
121+ " \" Innovation distinguishes between a leader and a follower.\" - Steve Jobs"
122+ " \" The best time to plant a tree was 20 years ago. The second best time is now.\" - Chinese Proverb"
123+ " \" Code is like humor. When you have to explain it, it's bad.\" - Cory House"
124+ " \" First, solve the problem. Then, write the code.\" - John Johnson"
125+ " \" Experience is the name everyone gives to their mistakes.\" - Oscar Wilde"
126+ )
127+
128+ random_quote=${quotes[$RANDOM % ${#quotes[@]} ]}
129+ echo -e " ${ITALIC}${BLUE} π ${random_quote}${NC} "
130+ echo
131+
132+ # Final animated border
133+ animate_border
134+
135+ echo -e " ${BOLD}${GREEN} π Welcome to your NHS Notify development journey! Happy coding! π${NC} "
136+ echo
0 commit comments