import { useUser } from '@sageprotocol/sdk/react';import { useWallet } from '@suiet/wallet-kit';function FavoritePost({ ownedUserId, authorSharedUserId, postId }) { const { addFavoritePost } = useUser(); const { account, signAndExecuteTransaction } = useWallet(); async function handleFavorite() { const result = await addFavoritePost({ appId: 'your-app-id', // Required application ID network: 'testnet', // 'testnet' or 'mainnet' authorSharedUserId, // Author's shared user ID postId, // Post ID to bookmark ownedUserId // Your owned user ID }); if (result.ok) { await signAndExecuteTransaction({ transaction: result.transaction }); console.log("Post bookmarked successfully!"); } else { console.error("Error bookmarking post:", result.err); } } return <button onClick={handleFavorite}>Bookmark Post</button>;}export default FavoritePost;
Direct JavaScript Example for Adding Favorite Posts
import { SageClient } from '@sageprotocol/sdk';const sageClient = new SageClient({ appId: 'your-app-id', // Required application ID channelRegistryId: 'your-registry-id', // Required channel registry ID network: 'testnet' // 'testnet' or 'mainnet'});await sageClient.initialize();async function addFavoritePost(ownedUserId, authorSharedUserId, postId) { const result = await sageClient.addFavoritePost({ authorSharedUserId, // Author's shared user ID postId, // Post ID to bookmark ownedUserId // Your owned user ID }); if (result.ok) { await signAndExecuteTransaction({ transaction: result.transaction }); console.log("Post bookmarked successfully!"); } else { console.error("Error bookmarking post:", result.err); }}addFavoritePost('your-owned-user-id', 'author-shared-user-id', 'target-post-id');
import { useUser } from '@sageprotocol/sdk/react';import { useWallet } from '@suiet/wallet-kit';function RemoveFavoritePost({ ownedUserId, postId }) { const { removeFavoritePost } = useUser(); const { account, signAndExecuteTransaction } = useWallet(); async function handleRemoveFavorite() { const result = await removeFavoritePost({ appId: 'your-app-id', // Required application ID network: 'testnet', // 'testnet' or 'mainnet' postId, // Post ID to remove from bookmarks ownedUserId // Your owned user ID }); if (result.ok) { await signAndExecuteTransaction({ transaction: result.transaction }); console.log("Post removed from bookmarks successfully!"); } else { console.error("Error removing bookmark:", result.err); } } return <button onClick={handleRemoveFavorite}>Remove Bookmark</button>;}export default RemoveFavoritePost;
Direct JavaScript Example for Removing a Favorite Post
import { SageClient } from '@sageprotocol/sdk';const sageClient = new SageClient({ appId: 'your-app-id', // Required application ID channelRegistryId: 'your-registry-id', // Required channel registry ID network: 'testnet' // 'testnet' or 'mainnet'});await sageClient.initialize();async function removeFavoritePost(ownedUserId, postId) { const result = await sageClient.removeFavoritePost({ postId, // Post ID to remove from bookmarks ownedUserId // Your owned user ID }); if (result.ok) { await signAndExecuteTransaction({ transaction: result.transaction }); console.log("Post removed from bookmarks successfully!"); } else { console.error("Error removing bookmark:", result.err); }}removeFavoritePost('your-owned-user-id', 'target-post-id');