fix: use TextArea instead of Rich