// import {call_api} from "@/api"; export class Result { domain: string; buy_price?: number; auction_price?: number; owner?: string; constructor(domain: string, buy_price?: number, auction_price?: number, owner?: string) { this.domain = domain; this.buy_price = buy_price; this.auction_price = auction_price; this.owner = owner; } getRouteParams(): any { return { domain_init: /* domain up to . */ this.domain.split('.')[0], domain: /* domain up to . */ this.domain.split('.')[0], zone: /* domain after . */ this.domain.split('.').slice(1).join('.') } } canAuction(): boolean { return this.auction_price !== undefined && this.auction_price !== null; } canBuy(): boolean { return this.buy_price !== undefined && this.buy_price !== null; } zone(): string { return this.domain.split('.').slice(1).join('.'); } } const sleep = (milliseconds: number) => { return new Promise(resolve => setTimeout(resolve, milliseconds)) } export async function get_search_results(query: string) { // return await call_api('find/' + query); await sleep(1000); return [ new Result(query + '.ton', 5, 3), new Result(query + '.ton', 1), new Result(query + '.ton', undefined, 2), new Result(query + '.ton', undefined, undefined, '123') ]; } export async function get_domain_result(domain: string) { // return await call_api('get/' + domain); await sleep(1000); if (domain === 'test.ton') { return new Result(domain); } return new Result(domain, 5, 3); } export class TonLink { address: string; sum?: number; message: string; constructor(address: string, message: string, sum?: number) { this.address = address; this.sum = sum; this.message = message; } getLink(): string { let link = `ton://${this.address}/transfer?message=${this.message}`; if (this.sum !== undefined) { link += `&amount=${this.sum}`; } return link; } } // Get the link for buying a domain export function get_ton_link(res: Result) { return new TonLink(res.zone(), res.buy_price!, 'b/' + res.domain); }