Let $c \in \mathbb C$ and
$$A_c:=\begin{pmatrix}1 && 0 \\ 1-c && c\end{pmatrix}\in \mathbb C^{2\times2}$$
Does this work like here but with $^*$ (adjugate) instead of $^T$ (transpose)? because our matrix is complex.
What do I have to do if $A_c$ is not a regular matrix?
$$W=A^*A=\begin{pmatrix}1&&1-\bar c\\0&&\bar c\end{pmatrix}\begin{pmatrix}1&&0\\1-c&&c\end{pmatrix}=\begin{pmatrix}1+(1-\bar c)(1-c)&&(1-\bar c)c\\\bar c(1-c)&&\bar c c\end{pmatrix}=\begin{pmatrix}2+|c|^2-\bar c -c &&-|c|^2+c\\-|c|^2+\bar c&&|c|^2\end{pmatrix}$$
Now, using a computer algebra system I end up with the following eigenvalues and corresponding eigenvectors of the matrix $W$ (eigenvalues on the left, eigenvectors on the right):

So, obviously I'm doing something wrong because $\begin{pmatrix}0\\0\end{pmatrix}$ can't be an eigenvector
It works exactly the same as in the link, and you indeed have to change the transpose by the complex adjugate.
If $A_c$ is singular, the calculation is still the same. In that case one of the eigenvalues of $A_c^* A_c$ will be zero, so the matrix $\Sigma$ will be of the form $\mathrm{diag}(\sigma_1, 0)$.
The only difference that I can think of is that you can't use an expression like $u_2 = \frac{1}{\sigma_2}A_c v_2$ when you want to calculate $u_2$, since $\sigma_2=0$. But you can find $u_2$ by taking a unit vector orthogonal to $u_1$.