Dear all, cuma mau mengingatkan ke depanya kalau ada project di Q2, tolong gunakan web-components minimal dari component atomic. List componentya bisa diliat di https://tv-web-components.netlify.com/ (Password kalau belum diganti : guyfieri)
Q : Apa itu web components ?
A : web components adalah inisiatif untuk merapihkan web-ui, package lama yang sudah cukup berantakan, spek lengkapnya bisa dibaca di sini https://github.com/traveloka/www/issues/3569
Q : Kenapa harus make web-components ?
A : Bisa dibaca diskusinya di sini : https://github.com/traveloka/web-feedback/issues/2
Q : Apakah kita bisa adopt web-components sebagian dulu ?
A : Ya bisa ! Mari gunakan dari component atomic. Team flight sudah pakai dan jalan di prod, silahkan liat di PR ini : https://github.com/traveloka/www/pull/4302/files (di sini mereka make "Text"-nya web components)
Q : Apakah kita boleh pakai web-components di dalam web-ui ?
A : Tidak boleh, karena tujuan awal web-components agar bisa lebih bersih di pakai.
Q : Apa yang harus kita lakukan jika kita perlu component web-componetns dalam web-ui ? Contoh kasus, ada component buttonLike
yang dibuat oleh team user di dalam web-components
tapi kita perlu component itu di dalam HotelLightBox
yang ada di dalam web-ui
. Apa yang seharusnya dilakukan ?
A : Buat props baru di dalam hotellightbox yang menerima React Component, lalu inject component dari web-components lewat props itu. Liat contoh di bawah ini :
import { LikeButton } from '@traveloka/web-components';
import { HotelLightbox } from '@traveloka/web-ui';
<HotelLightbox likeButton={<LikeButton />} />
Q : Kerjaan saya kurang banyak nih, bagusnya ngapain ya ?
A : Ingin berkontribusi lebih banyak ? Silahkan bantu merapihkan / implementasi component - component atomic yang belum ada di web-components. Project timelinenya bisa liat di sini : https://github.com/traveloka/www/projects/1 atau join channel slack #web-ui