quest item add click function

This commit is contained in:
yuexin 2024-04-13 16:50:53 +08:00
parent de68cf1420
commit cd46fe3a9e
2 changed files with 36 additions and 14 deletions

View File

@ -1,5 +1,5 @@
<template>
<el-button class="mybtn" :loading="timeLeft > 0" @click="beginAction">{{ timeLeft > 0 ? timeLeft + 's' : title }}</el-button>
<el-button class="mybtn" :loading="timeLeft > 0" @click.stop="beginAction">{{ timeLeft > 0 ? timeLeft + 's' : title }}</el-button>
</template>
<script>

View File

@ -166,6 +166,7 @@
</div>
<div class="quest-list">
<li v-for="(item, index) in activeList" :key="index">
<div class="quest-item" @click="toPost(item, true)">
<div class="content-right-left">
<!-- <div class="img-logo">
<img src="./../../assets/home/twitter.png" alt />
@ -180,13 +181,14 @@
</div>
<div v-if="token != null" class="btn">
<div class="is-btn">
<div v-if="item.status == 0" class="started" @click="toPost(item)">{{ item.actionTitle }}</div>
<div v-if="item.status == 0" class="started" @click.stop="toPost(item)">{{ item.actionTitle }}</div>
<CheckBtn v-if="item.status == 1" @stateupdate="toCheck" :dataid="item.id" time="10" title="Check" class="started">Check</CheckBtn>
<div v-if="item.status == 2" class="claim" @click="getTaskClaim(item.id)">Claim</div>
<div v-if="item.status == 2" class="claim" @click.stop="getTaskClaim(item.id)">Claim</div>
<div v-if="item.status == 3" class="success">+{{ item.score }} <img src="./../../assets/home/Checkmark.png" alt=""></div>
</div>
</div>
<div class='light-btn' v-else @click="onWalletLogin">Connect Wallet</div>
<div class='light-btn' v-else @click.stop="onWalletLogin">Connect Wallet</div>
</div>
</li>
</div>
</div>
@ -710,14 +712,18 @@ export default {
},
//
async toPost(data) {
let res = await apiBeginActivity(data.id);
if(res.errcode == 0) {
this.getProgress()
// console.log("", res, data);
async toPost(data, onlyaction) {
// debugger
if(data.status == 0 || !onlyaction){
let res = await apiBeginActivity(data.id);
if(res.errcode == 0) {
await this.getProgress()
// console.log("", res, data);
}
}
if (data.task == "TwitterConnect") {
this.loginTwitter(data.id);
await this.loginTwitter(data.id);
} else if(data.task == "TwitterFollow") {
followTwitter(data.cfg.account)
} else if(data.task == "TwitterRetweet") {
@ -738,7 +744,7 @@ export default {
await this.getProgress()
// console.log(res, "------------------");
},
loginTwitter() {
async loginTwitter() {
// const _address = "0x8c10Ae04BF525734eaC00d5F7c062567461c207F";
const clientId = "aG1Jdm1YX0NhSU9rYU5sM0xQeVI6MTpjaQ";
// const codeChallenge = crypto.randomUUID()
@ -752,8 +758,16 @@ export default {
)}&response_type=code&scope=tweet.read+users.read+follows.read+offline.access+like.read&state=${encodeURIComponent(
state
)}`;
location.href = url;
this.getActivitrStatue(data.id)
let newwin = window.open(url, "twitter connect");
console.log(newwin.closed);
var timer = setInterval(function() {
if (newwin.closed) {
clearInterval(timer);
alert(newwin.closed, "window closed");
}
}, 10);
// location.href = url;
await this.getActivitrStatue(data.id)
},
async loginDiscord() {
const _address = this.$store.state.user.address;
@ -1468,7 +1482,10 @@ export default {
height: 380px;
overflow-y: scroll;
overflow-x: hidden;
li {
li:hover{
background-color: #27242e;
}
li .quest-item{
display: flex;
justify-content: space-between;
align-items: center;
@ -1479,6 +1496,7 @@ export default {
margin-bottom: 10px;
box-sizing: border-box;
color: #fff;
cursor: pointer;
.content-right-left {
display: flex;
align-items: center;
@ -1513,6 +1531,7 @@ export default {
color: #000;
cursor: pointer;
position: relative;
font-weight: normal;
.is-btn {
width: 80px;
height: 35px;
@ -1559,6 +1578,9 @@ export default {
}
}
}
.btn:hover{
color: deepskyblue;
}
}
}
::v-deep .quest-list::-webkit-scrollbar {