1313
1414<script lang="ts" setup>
1515import { useMessage , type DataTableColumns } from ' naive-ui' ;
16- import { createPublicClient , http } from ' viem' ;
1716import { dateTimeToDate , dateTimeToDateAndTime } from ' ~/lib/misc/dates' ;
1817import { AirdropStatus , PaginationValues } from ' ~/lib/values/general.values' ;
1918
@@ -30,18 +29,11 @@ const props = defineProps({
3029 users: { type: Array < UserInterface > , required: true },
3130});
3231const message = useMessage ();
33- const txWait = useTxWait ();
3432const userStore = useUserStore ();
3533const { fetchStatistics } = useUser ();
3634const { handleError } = useErrors ();
37- const { network, ensureCorrectNetwork } = useWalletConnect ();
38- const publicClient = createPublicClient ({ chain: network .value , transport: http () });
39-
4035const loading = ref <number >(- 1 );
4136
42- const updateUserStatus = (id : number , status : number ) =>
43- ((userStore .users .find (u => u .id === id ) || ({} as UserInterface )).airdrop_status = status );
44-
4537const data = computed (() => {
4638 if (props .search ) {
4739 return props .users ;
@@ -152,47 +144,6 @@ const createColumns = (): DataTableColumns<UserInterface> => {
152144};
153145const columns = createColumns ();
154146
155- /** Admin mint
156- async function mint(userId: number) {
157- loading.value = userId;
158-
159- try {
160- const { data } = await $api.post<ClaimResponse>('/claim-admin', {
161- userId,
162- });
163- if (data.success) {
164- await ensureCorrectNetwork();
165- txWait.hash.value = data.transactionHash;
166- message.info('NFT minting has started');
167- updateUserStatus(userId, AirdropStatus.TRANSACTION_CREATED);
168-
169- const receipt: any = await Promise.race([
170- txWait.wait(),
171- publicClient.waitForTransactionReceipt({ hash: data.transactionHash }),
172- ]);
173- message.success('You successfully claimed NFT');
174-
175- const logs = receipt?.logs || receipt.data?.logs;
176- if (logs && logs[0].topics[3]) {
177- message.success('You successfully minted NFT');
178- updateUserStatus(userId, AirdropStatus.AIRDROP_COMPLETED);
179- } else {
180- message.error('Mint failed, missing NFT ID!');
181- updateUserStatus(userId, AirdropStatus.AIRDROP_ERROR);
182- }
183- } else {
184- message.error('Failed to claim NFT, please try again later.');
185- updateUserStatus(userId, AirdropStatus.AIRDROP_ERROR);
186- }
187- loading.value = -1;
188- } catch (e) {
189- handleError(e);
190- updateUserStatus(userId, AirdropStatus.AIRDROP_ERROR);
191- loading.value = -1;
192- }
193- }
194- */
195-
196147async function handleDeleteUser(id : number ) {
197148 loading .value = id ;
198149
0 commit comments