finish migrating react code to preact
patronage page - refactor code to suit the new ssr preact spa paradigm
settings page - refactor code to suit the new ssr preact spa paradigm
move from preact-router to wouter-preact to handle regex routes
profile page - refactor code to suit ssr preact spa paradigm
daily posts page - migrate fullstack code to ssr preact paradigm
article page - refactor how the article is converted from JSON to html to use SlateJS
text editor - refactor autosave with slatejs
text editor - implement helper to initialize the editor state depending on the input format (HTML, draftjs, or slatejs)
text editor - implement new SlateJS hovering toolbar
install and read doc of SlateJS to replace DraftJS
text editor page - refactor code to suit the new ssr preact spa paradigm
added an API endpoint to write a new article
dashboard page, notification page, article page - refactor code to suit the new ssr preact spa paradigm
re-implement csrf protection mechanism to work with the new single page app paradigm
re-implement recaptcha to work with the new single page app paradigm
login/registration pages - migrate code to ssr preact spa
FAQ, Privacy terms, Terms of Services pages - migrate code to ssr preact spa
fellowship page - migrate back and front logic to ssr preact spa
homepage - migrate page to preact and ssr spa architecture
webpack - implement asset versioning support
fix configuration problem with server-side preact/compat
integrated preact and lazy-loaded ssr routes
experiment with ssr loadable-component
implementing an offline-first architecture
added a report button
We have some spam problem, so I gave the ability to experienced users to report spammers. A reported user /article ceases to be displayed until I review or ban him/her.