/** * 24k buy - Purchase an item */ import { Command } from "commander"; import chalk from "chalk"; import ora from "ora"; import { api } from "../api.js"; import { isAuthenticated } from "../config.js"; export const buyCommand = new Command("buy") .description("Purchase an item at its listed price") .argument("", "ID of the item to purchase") .action(async (itemId) => { if (!isAuthenticated()) { console.log(chalk.red("❌ Not logged in. Run '24k join' first.")); return; } const spinner = ora("Processing purchase...").start(); const result = await api.buyItem(itemId); if (result.error) { spinner.fail(chalk.red(`Failed: ${result.error}`)); return; } const data = result.data!; spinner.succeed(chalk.green("Purchase complete! 🎉")); console.log(""); console.log(` Price: ${chalk.yellow(`◆${data.price}`)}`); console.log(` New balance: ${chalk.green(`◆${data.newBuyerBalance}`)}`); console.log(""); console.log(chalk.dim(`Transaction: ${data.transactionId}`)); });