The X gate is given by $\big(\begin{smallmatrix} 0 & 1 \\ 1 & 0 \end{smallmatrix}\big)$ in the computational basis. In the Hadamard basis, the gate is $X_H = \big(\begin{smallmatrix} 1 & 0\\ 0 & -1 \end{smallmatrix}\big) = |+ \rangle \langle +| - |-\rangle \langle-|$. When I apply the gate to the Hadamard basis vectors, the vectors should flip, and they do when I use matrix notation but not when I'm using dirac notation. I know I'm making a mistake somewhere.
$X_H |+\rangle = (|+ \rangle \langle +| - |-\rangle \langle-|)|+\rangle = |+ \rangle \langle +|+\rangle - |-\rangle \langle-|+\rangle = |+\rangle(1) - |-\rangle(0) = |+\rangle$ and $X_H |-\rangle = (|+ \rangle \langle +| - |-\rangle \langle-|)|-\rangle = |+ \rangle \langle +|-\rangle - |-\rangle \langle-|-\rangle = |+\rangle (0) -|-\rangle(1) = -|-\rangle$
Meanwhile, in matrix notation,
$X_H|+\rangle = \big(\begin{smallmatrix} 1 & 0\\ 0 & -1 \end{smallmatrix}\big) \frac{1}{\sqrt{2}}\big( \begin{smallmatrix} 1 \\ 1 \end{smallmatrix}\big) = \frac{1}{\sqrt{2}}\big( \begin{smallmatrix} 1 \\ -1 \end{smallmatrix}\big) = |-\rangle $
$X_H|-\rangle = \big(\begin{smallmatrix} 1 & 0\\ 0 & -1 \end{smallmatrix}\big) \frac{1}{\sqrt{2}}\big( \begin{smallmatrix} 1 \\ -1 \end{smallmatrix}\big) = \frac{1}{\sqrt{2}}\big( \begin{smallmatrix} 1 \\ 1 \end{smallmatrix}\big) = |+\rangle $