PowerShell, 93 91 9090 89 bytes
-2 Thanks to ASCII-only for pointing out extra parens
-1 Thanks to Mazzy for tweaking swap logic
param($n)0..--$n|%{"|("[!($x=$n-eq$_$x=($n-or!$_)*$_)]+($y=" "*($n-$_+1))+"/"+" "*$_+"\$y"+"|)"[$x]"[!$x]}
Trying to tweak thatTrying to tweak that There is a better $x=
bit. There's probably a smarter way to get the 1st and last line out in a few less bytes.$x=
bit. There's probably a smarter way to get the 1st and last line out in a few less bytesbut it isn't much cheaper.