How I could have done it better
I originally kept all the navigation-based code to three main files: one for the markup, one for the styles, and one for the scripts. It initially made working on the navigation simple. However, as I kept working on this component and maintaining it after it was deployed, it became frustrating to sift through hundreds of lines of code just to get to the one part I needed to change.
Splitting up this large component into smaller components, like separating the header navigation bar from the full mobile navigation menu, would have kept things much more logically separated. It would allow myself and other developers to go exactly where we need to instead of having to needlessly scroll through those giant files.