refactor(js+cs+html): roles and article states