The reencryption process involves converting a ciphertext that was encrypted with the FHE blockchain key into one that is encrypted with the NaCl public key generated by the dApp.
First, your contract needs to implement a view function to return the ciphertext to reencrypt:
Then, you can implement the client side code. This example would run in a browser: