#!/bin/bash
choice=$(printf " Laravel Projekt\n Simple Web Projekt\n Node.js Projekt\n Vue Projekt\n⚛ React Projekt\n🐍 Python Projekt\n🦀 Rust Projekt\n🚀 Tauri Projekt\n Bash Projekt" | wofi --dmenu --prompt "Neues Projekt")
case "$choice" in
" Laravel Projekt")
kitty -e bash -lc '
cd "$HOME/Nextcloud/Development/Projekte" || exit
read -rp "Projektname: " NAME
[ -z "$NAME" ] && exit
composer create-project laravel/laravel "$NAME"
code "$HOME/Nextcloud/Development/Projekte/$NAME"
'
;;
" Simple Web Projekt")
kitty -e bash -lc '
cd "$HOME/Nextcloud/Development/Projekte" || exit
read -rp "Projektname: " NAME
[ -z "$NAME" ] && exit
mkdir -p "$NAME"
cd "$NAME" || exit
touch index.html style.css script.js
printf "\n\n
\n\n\n%s\n\n\n\nHello World
\n\n\n\n" "$NAME" > index.html
code "$HOME/Nextcloud/Development/Projekte/$NAME"
'
;;
" Node.js Projekt")
kitty -e bash -lc '
cd "$HOME/Nextcloud/Development/Projekte" || exit
read -rp "Projektname: " NAME
[ -z "$NAME" ] && exit
mkdir -p "$NAME"
cd "$NAME" || exit
npm init -y
touch index.js
code "$HOME/Nextcloud/Development/Projekte/$NAME"
'
;;
" Vue Projekt")
kitty -e bash -lc '
cd "$HOME/Nextcloud/Development/Projekte" || exit
read -rp "Projektname: " NAME
[ -z "$NAME" ] && exit
npm create vue@latest "$NAME"
code "$HOME/Nextcloud/Development/Projekte/$NAME"
'
;;
"⚛ React Projekt")
kitty -e bash -lc '
cd "$HOME/Nextcloud/Development/Projekte" || exit
read -rp "Projektname: " NAME
[ -z "$NAME" ] && exit
npm create vite@latest "$NAME" -- --template react
code "$HOME/Nextcloud/Development/Projekte/$NAME"
'
;;
"🐍 Python Projekt")
kitty -e bash -lc '
cd "$HOME/Nextcloud/Development/Projekte" || exit
read -rp "Projektname: " NAME
[ -z "$NAME" ] && exit
mkdir -p "$NAME"
cd "$NAME" || exit
python -m venv .venv
touch main.py requirements.txt
code "$HOME/Nextcloud/Development/Projekte/$NAME"
'
;;
"🦀 Rust Projekt")
kitty -e bash -lc '
cd "$HOME/Nextcloud/Development/Projekte" || exit
read -rp "Projektname: " NAME
[ -z "$NAME" ] && exit
cargo new "$NAME"
cd "$NAME" || exit
cat < README.md
# $NAME
Rust Projekt
## Start
\`\`\`bash
cargo run
\`\`\`
## Build
\`\`\`bash
cargo build
\`\`\`
EOF
code "$HOME/Nextcloud/Development/Projekte/$NAME"
'
;;
"🚀 Tauri Projekt")
kitty -e bash -lc '
cd "$HOME/Nextcloud/Development/Projekte" || exit
read -rp "Projektname: " NAME
[ -z "$NAME" ] && exit
npm create tauri-app@latest "$NAME"
cd "$NAME" || exit
cat < README.md
# $NAME
Tauri Projekt
## Dev Start
\`\`\`bash
npm install
npm run tauri dev
\`\`\`
## Build
\`\`\`bash
npm run tauri build
\`\`\`
EOF
code "$HOME/Nextcloud/Development/Projekte/$NAME"
'
;;
" Bash Projekt")
kitty -e bash -lc '
cd "$HOME/Nextcloud/Development/Projekte" || exit
read -rp "Projektname: " NAME
[ -z "$NAME" ] && exit
mkdir -p "$NAME"/{scripts,lib}
cd "$NAME" || exit
cat < main.sh
#!/usr/bin/env bash
set -e
echo "Hello from $NAME"
EOF
chmod +x main.sh
cat < README.md
# $NAME
Bash Script Projekt
## Start
\`\`\`bash
./main.sh
\`\`\`
EOF
code "$HOME/Nextcloud/Development/Projekte/$NAME"
'
;;
esac