准备0726版本
This commit is contained in:
parent
3c53269ca2
commit
15715d28cf
4
.env.dev
4
.env.dev
@ -1,7 +1,7 @@
|
|||||||
VUE_APP_BASE_API='https://market.cebg.games'
|
VUE_APP_BASE_API='https://market.cebg.games'
|
||||||
VUE_APP_BASE_API2='https://invitation.counterfire.games'
|
VUE_APP_BASE_API2='https://invitation.counterfire.games'
|
||||||
//VUE_APP_BASE_API2='http://192.168.100.83:3000/'
|
//VUE_APP_BASE_API2='http://192.168.100.83:3000/'
|
||||||
VUE_APP_GPAL_API='https://game2006api.cebggame.com/'
|
VUE_APP_GPAL_API='https://game2006sapi.cebggame.com/'
|
||||||
# VUE_APP_PASSPORT_PUBLISHABLE_KEY=pk_imapik-test-8c2FAlWxWAoRITk1v9rH
|
# VUE_APP_PASSPORT_PUBLISHABLE_KEY=pk_imapik-test-8c2FAlWxWAoRITk1v9rH
|
||||||
VUE_APP_PASSPORT_PUBLISHABLE_KEY=pk_imapik-test-eRr-kyOKaZ0jIdrvrPCn
|
VUE_APP_PASSPORT_PUBLISHABLE_KEY=pk_imapik-test-eRr-kyOKaZ0jIdrvrPCn
|
||||||
VUE_APP_PASSPORT_REDIRECT_URI=http://localhost:4000
|
VUE_APP_PASSPORT_REDIRECT_URI=http://localhost:4000
|
||||||
@ -9,7 +9,7 @@ VUE_APP_PASSPORT_LOGOUT_URI=http://localhost:4000
|
|||||||
# VUE_APP_PASSPORT_CLIENT_ID=eTmUah69p7ZdRhRYzBta6lZRKXXeXDYj
|
# VUE_APP_PASSPORT_CLIENT_ID=eTmUah69p7ZdRhRYzBta6lZRKXXeXDYj
|
||||||
VUE_APP_PASSPORT_CLIENT_ID=0FNfXxQywm7wjdbyLTDzWt4txc53yRrT
|
VUE_APP_PASSPORT_CLIENT_ID=0FNfXxQywm7wjdbyLTDzWt4txc53yRrT
|
||||||
VUE_APP_PASSPORT_MARKET_ADDRESS=0x7d117aA8BD6D31c4fa91722f246388f38ab1942c
|
VUE_APP_PASSPORT_MARKET_ADDRESS=0x7d117aA8BD6D31c4fa91722f246388f38ab1942c
|
||||||
VUE_APP_UAW_API='https://oauth-svr.cebggame.com'
|
VUE_APP_UAW_API='https://oauth-svr.cebggame.com/task'
|
||||||
VUE_APP_MKT_API='https://market-test.kingsome.cn'
|
VUE_APP_MKT_API='https://market-test.kingsome.cn'
|
||||||
VUE_APP_NET_ID='13473'
|
VUE_APP_NET_ID='13473'
|
||||||
VUE_APP_MARKET_CURRENCY='0xFd42bfb03212dA7e1A4608a44d7658641D99CF34'
|
VUE_APP_MARKET_CURRENCY='0xFd42bfb03212dA7e1A4608a44d7658641D99CF34'
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
VUE_APP_BASE_API='https://market.cebg.games'
|
VUE_APP_BASE_API='https://market.cebg.games'
|
||||||
VUE_APP_BASE_API2='https://invitation.counterfire.games'
|
VUE_APP_BASE_API2='https://invitation.counterfire.games'
|
||||||
//VUE_APP_BASE_API2='http://192.168.100.83:3000/'
|
//VUE_APP_BASE_API2='http://192.168.100.83:3000/'
|
||||||
VUE_APP_GPAL_API='https://game2006api.cebggame.com/'
|
VUE_APP_GPAL_API='https://game2006sapi.cebggame.com/'
|
||||||
# VUE_APP_PASSPORT_PUBLISHABLE_KEY=pk_imapik-test-8c2FAlWxWAoRITk1v9rH
|
# VUE_APP_PASSPORT_PUBLISHABLE_KEY=pk_imapik-test-8c2FAlWxWAoRITk1v9rH
|
||||||
VUE_APP_PASSPORT_PUBLISHABLE_KEY=pk_imapik-test-eRr-kyOKaZ0jIdrvrPCn
|
VUE_APP_PASSPORT_PUBLISHABLE_KEY=pk_imapik-test-eRr-kyOKaZ0jIdrvrPCn
|
||||||
VUE_APP_PASSPORT_REDIRECT_URI=https://market.kingsome.cn
|
VUE_APP_PASSPORT_REDIRECT_URI=https://market.kingsome.cn
|
||||||
@ -9,7 +9,7 @@ VUE_APP_PASSPORT_LOGOUT_URI=https://market.kingsome.cn
|
|||||||
# VUE_APP_PASSPORT_CLIENT_ID=eTmUah69p7ZdRhRYzBta6lZRKXXeXDYj
|
# VUE_APP_PASSPORT_CLIENT_ID=eTmUah69p7ZdRhRYzBta6lZRKXXeXDYj
|
||||||
VUE_APP_PASSPORT_CLIENT_ID=0FNfXxQywm7wjdbyLTDzWt4txc53yRrT
|
VUE_APP_PASSPORT_CLIENT_ID=0FNfXxQywm7wjdbyLTDzWt4txc53yRrT
|
||||||
VUE_APP_PASSPORT_MARKET_ADDRESS=0x7d117aA8BD6D31c4fa91722f246388f38ab1942c
|
VUE_APP_PASSPORT_MARKET_ADDRESS=0x7d117aA8BD6D31c4fa91722f246388f38ab1942c
|
||||||
VUE_APP_UAW_API='https://oauth-svr.cebggame.com'
|
VUE_APP_UAW_API='https://oauth-svr.cebggame.com/task'
|
||||||
VUE_APP_MKT_API='https://market-test.kingsome.cn'
|
VUE_APP_MKT_API='https://market-test.kingsome.cn'
|
||||||
VUE_APP_NET_ID='13473'
|
VUE_APP_NET_ID='13473'
|
||||||
VUE_APP_MARKET_CURRENCY='0xFd42bfb03212dA7e1A4608a44d7658641D99CF34'
|
VUE_APP_MARKET_CURRENCY='0xFd42bfb03212dA7e1A4608a44d7658641D99CF34'
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
"version": "0.0.0",
|
"version": "0.0.0",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"task": "vite --host --mode dev",
|
"task": "vite --host --mode dev",
|
||||||
|
"test": "vite --host --mode test",
|
||||||
"dev": "vite --host --mode development",
|
"dev": "vite --host --mode development",
|
||||||
"prod": "vite --host --mode production",
|
"prod": "vite --host --mode production",
|
||||||
"build:task": "vite build --mode dev",
|
"build:task": "vite build --mode dev",
|
||||||
|
@ -300,10 +300,12 @@ onMounted(() => {
|
|||||||
height: 30px;
|
height: 30px;
|
||||||
top: 20px;
|
top: 20px;
|
||||||
left: 20px;
|
left: 20px;
|
||||||
|
font-size: 18px;
|
||||||
}
|
}
|
||||||
.img-btm {
|
.img-btm {
|
||||||
bottom: 30px;
|
bottom: 30px;
|
||||||
left: 30px;
|
left: 30px;
|
||||||
|
font-size: 18px;
|
||||||
>div {
|
>div {
|
||||||
width: 120px;
|
width: 120px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
|
@ -139,9 +139,9 @@ const getMyAssets = async () => {
|
|||||||
reqData.value.cursor = next_cursor.value.next_cursor
|
reqData.value.cursor = next_cursor.value.next_cursor
|
||||||
// let res = await apiLockState(myADdress, reqData.value)
|
// let res = await apiLockState(myADdress, reqData.value)
|
||||||
let res = await apiActivity(data, myADdress)
|
let res = await apiActivity(data, myADdress)
|
||||||
console.log(res,'--------------------------------')
|
// console.log(res,'--------------------------------')
|
||||||
return
|
// return
|
||||||
// nftList.value = [...nftList.value, ...res.rows]
|
nftList.value = [...nftList.value, ...res.rows]
|
||||||
// nftListBox = nftList.value.reduce((acc, obj) => {
|
// nftListBox = nftList.value.reduce((acc, obj) => {
|
||||||
// const existingObj = acc.find(item => item.token_id == obj.token_id)
|
// const existingObj = acc.find(item => item.token_id == obj.token_id)
|
||||||
// if(!existingObj) {
|
// if(!existingObj) {
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
<div class="total">
|
<div class="total">
|
||||||
<p>Total Contribution Credits: <span>{{ contributionPointTotal }}</span></p>
|
<p>Total Contribution Credits: <span>{{ contributionPointTotal }}</span></p>
|
||||||
<img src="@/assets/img/marketplace/totalContribution.png" alt="">
|
<img src="@/assets/img/marketplace/totalContribution.png" alt="">
|
||||||
<img class="icon" @click="rulesDialogVisible = true" src="@/assets/img/marketplace/History.png" alt="">
|
<img class="icon" @click="conLogDialogVisible = true" src="@/assets/img/marketplace/History.png" alt="">
|
||||||
</div>
|
</div>
|
||||||
<div class="day">
|
<div class="day">
|
||||||
<p>Daily Expected: <span>+{{ contributionPoint }}/d</span></p>
|
<p>Daily Expected: <span>+{{ contributionPoint }}/d</span></p>
|
||||||
@ -42,17 +42,59 @@
|
|||||||
<div class="uaw-cec-amount">
|
<div class="uaw-cec-amount">
|
||||||
<p>
|
<p>
|
||||||
CEC:
|
CEC:
|
||||||
<span v-if="cecInfo?.total != 0">{{ priceCalculated(BigInt(cecInfo?.total),18) }}</span>
|
<span v-if="cecInfo?.total != 0">{{ priceCalculated(BigInt(cecInfo?.total),18).toString().match(/^\d+(?:\.\d{0,2})?/)[0] }}</span>
|
||||||
<span v-else>0</span>
|
<span v-else>0</span>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="btn">
|
<div class="btn">
|
||||||
<span class="yes" v-if="cecInfo?.stages[0]?.unlocked || cecInfo?.stages[1]?.unlocked" @click="confirmDialogVisible = false">Collection</span>
|
<!-- <span class="yes" v-if="cecInfo?.stages[0]?.unlocked || cecInfo?.stages[1]?.unlocked" @click="confirmDialogVisible = false">Collection</span>
|
||||||
<span class="no" v-else @click="confirmCec">Collection</span>
|
<span class="no" v-else @click="confirmCec">Collection</span> -->
|
||||||
</div>
|
</div>
|
||||||
<div ref="logModal">
|
<div ref="conLogModal">
|
||||||
<a-modal :class="'logModal'" :getContainer="() => $refs.logModal" v-model:open="logDialogVisible" :closable="false" :footer="null" :maskClosable="false">
|
<a-modal :class="'conLogModal'" :getContainer="() => $refs.conLogModal" v-model:open="conLogDialogVisible" :closable="false" :footer="null" :maskClosable="false">
|
||||||
<div class="log-title">CEC Incentives Record</div>
|
<div class="log-title">Staking Contribution Credits Record</div>
|
||||||
|
<div class="closable" @click="conLogDialogVisible = false">
|
||||||
|
<img src="@/assets/img/marketplace/Close_counter.png" alt="">
|
||||||
|
</div>
|
||||||
|
<div class="log-content">
|
||||||
|
<div class="log-header">
|
||||||
|
<!-- <li>
|
||||||
|
Event
|
||||||
|
</li> -->
|
||||||
|
<li>
|
||||||
|
Date
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
Reward
|
||||||
|
</li>
|
||||||
|
</div>
|
||||||
|
<div class="log-body">
|
||||||
|
<div v-if="contributionList == undefined || contributionList.length <= 0" class="no-data">
|
||||||
|
<div>
|
||||||
|
<img src="@/assets/img/marketplace/Empty_state.png" alt="">
|
||||||
|
</div>
|
||||||
|
<p>No Data</p>
|
||||||
|
</div>
|
||||||
|
<div v-else class="pages" v-for="(item, index) in contributionList" :key="index">
|
||||||
|
<!-- <li>
|
||||||
|
<span>contributionList</span>
|
||||||
|
</li> -->
|
||||||
|
<li>
|
||||||
|
{{ timeFormat(item.date*1000) }}
|
||||||
|
</li>
|
||||||
|
<li class="cec-amount">
|
||||||
|
<!-- <span>{{ priceCalculated(BigInt(item.contribution_point),18).toString().match(/^\d+(?:\.\d{0,2})?/)[0] }}</span> -->
|
||||||
|
<span>{{item.contribution_point.match(/^\d+(?:\.\d{0,.})?/)[0]}}</span>
|
||||||
|
<img src="@/assets/img/marketplace/totalContribution.png" alt="">
|
||||||
|
</li>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a-modal>
|
||||||
|
</div>
|
||||||
|
<div ref="cecLogModal">
|
||||||
|
<a-modal :class="'cecLogModal'" :getContainer="() => $refs.cecLogModal" v-model:open="logDialogVisible" :closable="false" :footer="null" :maskClosable="false">
|
||||||
|
<div class="log-title">CEC Allocation Record</div>
|
||||||
<div class="closable" @click="logDialogVisible = false">
|
<div class="closable" @click="logDialogVisible = false">
|
||||||
<img src="@/assets/img/marketplace/Close_counter.png" alt="">
|
<img src="@/assets/img/marketplace/Close_counter.png" alt="">
|
||||||
</div>
|
</div>
|
||||||
@ -74,13 +116,14 @@
|
|||||||
<span v-if="item.desc == 'uaw'">Hill's Treasure Hunt</span>
|
<span v-if="item.desc == 'uaw'">Hill's Treasure Hunt</span>
|
||||||
<span v-else-if="item.desc == 'p2a'">Wheel of Fortune</span>
|
<span v-else-if="item.desc == 'p2a'">Wheel of Fortune</span>
|
||||||
<span v-else-if="item.desc == 'game test parse 1'">P2E Season 1</span>
|
<span v-else-if="item.desc == 'game test parse 1'">P2E Season 1</span>
|
||||||
|
<span v-else>{{ item.desc }}</span>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
{{ item.earnTime }}
|
{{ item.earnTime }}
|
||||||
</li>
|
</li>
|
||||||
<li class="cec-amount">
|
<li class="cec-amount">
|
||||||
<span v-if="item.desc != ''">{{ priceCalculated(BigInt(item.amount),18) }}</span>
|
<span v-if="item.desc != ''">{{ priceCalculated(BigInt(item.amount),18).toString().match(/^\d+(?:\.\d{0,2})?/)[0] }}</span>
|
||||||
<img v-if="item.desc != ''" src="@/assets/img/marketplace/Icon_Points.png" alt="">
|
<img v-if="item.desc != ''" src="@/assets/img/marketplace/CECIcon.png" alt="">
|
||||||
</li>
|
</li>
|
||||||
</div>
|
</div>
|
||||||
<div class="no-data" v-if="cecInfo?.total == 0">
|
<div class="no-data" v-if="cecInfo?.total == 0">
|
||||||
@ -266,8 +309,8 @@
|
|||||||
import { ref, watch, computed, onMounted } from "vue"
|
import { ref, watch, computed, onMounted } from "vue"
|
||||||
import ConfirmDialog from "@/components/Dialogs/confirmDialog.vue";
|
import ConfirmDialog from "@/components/Dialogs/confirmDialog.vue";
|
||||||
import {createModal} from "@/utils/model.util";
|
import {createModal} from "@/utils/model.util";
|
||||||
import { apiCecInfo, apiExpected, apiUserData } from "@/utils/marketplace"
|
import { apiCecInfo, apiExpected, apiUserData, apiContribution } from "@/utils/marketplace"
|
||||||
import { priceCalculated } from "@/configs/priceCalculate"
|
import { priceCalculated, timeFormat } from "@/configs/priceCalculate"
|
||||||
import { useMarketplaceStore } from "@/store/marketplace"
|
import { useMarketplaceStore } from "@/store/marketplace"
|
||||||
import {walletStore} from "@/store/wallet";
|
import {walletStore} from "@/store/wallet";
|
||||||
|
|
||||||
@ -338,6 +381,20 @@ const getCecInfo = async () => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const conLogDialogVisible = ref(false)
|
||||||
|
const contributionList = ref()
|
||||||
|
const getContribution = async () => {
|
||||||
|
let address = localWalletStore.address
|
||||||
|
if(address) {
|
||||||
|
const {Rows, errcode} = await apiContribution(address)
|
||||||
|
if(errcode == 0) {
|
||||||
|
contributionList.value = Rows
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const contributionPoint = ref(0)
|
const contributionPoint = ref(0)
|
||||||
const getExpected = async () => {
|
const getExpected = async () => {
|
||||||
let address = localWalletStore.address
|
let address = localWalletStore.address
|
||||||
@ -367,6 +424,7 @@ const getUserData = async () => {
|
|||||||
|
|
||||||
const dataInfo = async () => {
|
const dataInfo = async () => {
|
||||||
await getCecInfo()
|
await getCecInfo()
|
||||||
|
await getContribution()
|
||||||
await getExpected()
|
await getExpected()
|
||||||
await getUserData()
|
await getUserData()
|
||||||
}
|
}
|
||||||
@ -458,6 +516,11 @@ onMounted(() => {
|
|||||||
height: 23px;
|
height: 23px;
|
||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
}
|
}
|
||||||
|
.icon {
|
||||||
|
width: 27px;
|
||||||
|
height: 27px;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.day {
|
.day {
|
||||||
font-family: 'Poppins';
|
font-family: 'Poppins';
|
||||||
@ -589,7 +652,250 @@ onMounted(() => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
:deep(.logModal) {
|
:deep(.conLogModal) {
|
||||||
|
width: 1052px !important;
|
||||||
|
height: 714px;
|
||||||
|
background: #1A1821;
|
||||||
|
box-shadow: 0px 15px 28px 3px rgba(22,22,22,0.13);
|
||||||
|
border-radius: 100px;
|
||||||
|
border: 1px solid #B966FF;
|
||||||
|
.ant-modal-content {
|
||||||
|
padding: 0 99px;
|
||||||
|
color: #FFF;
|
||||||
|
background: #1A1821;
|
||||||
|
box-shadow: 0px 0px 0px 0px rgba(22,22,22,0.13);
|
||||||
|
border-radius: 100px;
|
||||||
|
.ant-modal-body {
|
||||||
|
overflow: hidden;
|
||||||
|
.log-title {
|
||||||
|
font-family: 'Anton';
|
||||||
|
font-weight: 400;
|
||||||
|
font-size: 48px;
|
||||||
|
color: #FFFFFF;
|
||||||
|
margin-top: 23px;
|
||||||
|
}
|
||||||
|
.closable {
|
||||||
|
position: absolute;
|
||||||
|
right: -30px;
|
||||||
|
top: -30px;
|
||||||
|
z-index: 99;
|
||||||
|
cursor: pointer;
|
||||||
|
img {
|
||||||
|
width: 120px;
|
||||||
|
height: 120px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.log-content {
|
||||||
|
min-height: 510px;
|
||||||
|
.log-header {
|
||||||
|
display: flex;
|
||||||
|
li {
|
||||||
|
width: 50%;
|
||||||
|
height: 48px;
|
||||||
|
line-height: 48px;
|
||||||
|
text-align: center;
|
||||||
|
font-family: 'Poppins';
|
||||||
|
font-weight: 400;
|
||||||
|
font-size: 14px;
|
||||||
|
color: #A8A5AC;
|
||||||
|
background: #2d2738;
|
||||||
|
&:nth-child(1) {
|
||||||
|
border-radius: 50px 0 0 50px;
|
||||||
|
}
|
||||||
|
// &:nth-child(2) {
|
||||||
|
// width: 40%;
|
||||||
|
// }
|
||||||
|
&:nth-child(2) {
|
||||||
|
border-radius: 0 50px 50px 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.log-body {
|
||||||
|
width: 100%;
|
||||||
|
height: 520px;
|
||||||
|
overflow-y: auto;
|
||||||
|
.pages {
|
||||||
|
display: flex;
|
||||||
|
width: 100%;
|
||||||
|
li {
|
||||||
|
width: 50%;
|
||||||
|
height: 60px;
|
||||||
|
line-height: 60px;
|
||||||
|
font-weight: 600;
|
||||||
|
font-size: 16px;
|
||||||
|
font-family: 'Poppins';
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.cec-amount {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
color: #9950FA;
|
||||||
|
span {
|
||||||
|
display: flex;
|
||||||
|
justify-content: end;
|
||||||
|
// width: 80px;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
img {
|
||||||
|
width: 28px;
|
||||||
|
height: 25px;
|
||||||
|
margin-left: 15px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.no-data {
|
||||||
|
position: relative;
|
||||||
|
margin-top: 60px;
|
||||||
|
div {
|
||||||
|
width: 260px;
|
||||||
|
height: 260px;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
p {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 50px;
|
||||||
|
left: 52%;
|
||||||
|
transform: translateX(-50%);
|
||||||
|
font-family: 'Poppins';
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 28px;
|
||||||
|
color: #8587B2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&::-webkit-scrollbar {
|
||||||
|
width: 5px;
|
||||||
|
}
|
||||||
|
&::-webkit-scrollbar-track {
|
||||||
|
background: #171220;
|
||||||
|
border-radius: 2px;
|
||||||
|
}
|
||||||
|
&::-webkit-scrollbar-corner {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
&::-webkit-scrollbar-thumb {
|
||||||
|
height: 15px;
|
||||||
|
background: #9950fd;
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.pagination {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
// background: #1778f1;
|
||||||
|
// .prev {
|
||||||
|
// // width: 100px;
|
||||||
|
// // height: 100px;
|
||||||
|
// display: flex;
|
||||||
|
// align-items: center;
|
||||||
|
// div {
|
||||||
|
// width: 100px;
|
||||||
|
// height: 100px;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
.pager {
|
||||||
|
span {
|
||||||
|
display: inline-block;
|
||||||
|
width: 29px;
|
||||||
|
height: 29px;
|
||||||
|
line-height: 29px;
|
||||||
|
text-align: center;
|
||||||
|
border-radius: 10px;
|
||||||
|
margin: 0 5px;
|
||||||
|
background: #2d2738;
|
||||||
|
font-family: 'Poppins';
|
||||||
|
font-weight: 200;
|
||||||
|
font-size: 14px;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
.active {
|
||||||
|
background: #5d5275;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.prev, .next {
|
||||||
|
// width: 100px;
|
||||||
|
// height: 100px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
font-family: 'Poppins';
|
||||||
|
font-weight: 600;
|
||||||
|
font-size: 16px;
|
||||||
|
color: #9950FD;
|
||||||
|
cursor: pointer;
|
||||||
|
div {
|
||||||
|
width: 100px;
|
||||||
|
height: 100px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
img {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.ant-table-wrapper {
|
||||||
|
.ant-spin-nested-loading {
|
||||||
|
.ant-spin-container {
|
||||||
|
.ant-table {
|
||||||
|
background: #2d2738;
|
||||||
|
border-bottom: 0px solid #2d2738;
|
||||||
|
color: #FFF;
|
||||||
|
.ant-table-container {
|
||||||
|
.ant-table-content {
|
||||||
|
.ant-table-thead {
|
||||||
|
border-radius: 60px;
|
||||||
|
tr {
|
||||||
|
border-radius: 60px;
|
||||||
|
overflow: hidden;
|
||||||
|
height: 40px;
|
||||||
|
line-height: 40px;
|
||||||
|
th {
|
||||||
|
background: #2d2738;
|
||||||
|
border-color: rgba(0,0,0,0);
|
||||||
|
text-align: center;
|
||||||
|
font-family: 'Poppins';
|
||||||
|
font-weight: 400;
|
||||||
|
font-size: 14px;
|
||||||
|
color: #A8A5AC;
|
||||||
|
border-radius: 50px !important;
|
||||||
|
padding: 0;
|
||||||
|
overflow: hidden;
|
||||||
|
&::before {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.ant-table-cell {
|
||||||
|
overflow: hidden;
|
||||||
|
border-radius: 50px !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.ant-table-cell {
|
||||||
|
overflow: hidden;
|
||||||
|
border-radius: 50px !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.ant-table-tbody {
|
||||||
|
tr {
|
||||||
|
background: #16141b;
|
||||||
|
td {
|
||||||
|
border-color: rgba(0,0,0,0);
|
||||||
|
background: #16141b !important;
|
||||||
|
overflow: visible !important;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
:deep(.cecLogModal) {
|
||||||
width: 1052px !important;
|
width: 1052px !important;
|
||||||
height: 714px;
|
height: 714px;
|
||||||
background: #1A1821;
|
background: #1A1821;
|
||||||
@ -626,7 +932,7 @@ onMounted(() => {
|
|||||||
.log-header {
|
.log-header {
|
||||||
display: flex;
|
display: flex;
|
||||||
li {
|
li {
|
||||||
width: 33%;
|
width: 30%;
|
||||||
height: 48px;
|
height: 48px;
|
||||||
line-height: 48px;
|
line-height: 48px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
@ -638,6 +944,9 @@ onMounted(() => {
|
|||||||
&:nth-child(1) {
|
&:nth-child(1) {
|
||||||
border-radius: 50px 0 0 50px;
|
border-radius: 50px 0 0 50px;
|
||||||
}
|
}
|
||||||
|
&:nth-child(2) {
|
||||||
|
width: 40%;
|
||||||
|
}
|
||||||
&:nth-child(3) {
|
&:nth-child(3) {
|
||||||
border-radius: 0 50px 50px 0;
|
border-radius: 0 50px 50px 0;
|
||||||
}
|
}
|
||||||
@ -649,13 +958,16 @@ onMounted(() => {
|
|||||||
display: flex;
|
display: flex;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
li {
|
li {
|
||||||
width: 33%;
|
width: 30%;
|
||||||
height: 60px;
|
height: 60px;
|
||||||
line-height: 60px;
|
line-height: 60px;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
font-family: 'Poppins';
|
font-family: 'Poppins';
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
&:nth-child(2) {
|
||||||
|
width: 40%;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.cec-amount {
|
.cec-amount {
|
||||||
display: flex;
|
display: flex;
|
||||||
@ -663,7 +975,7 @@ onMounted(() => {
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
color: #9950FA;
|
color: #9950FA;
|
||||||
img {
|
img {
|
||||||
width: 20px;
|
width: 25px;
|
||||||
height: 28px;
|
height: 28px;
|
||||||
margin-left: 15px;
|
margin-left: 15px;
|
||||||
}
|
}
|
||||||
@ -671,6 +983,7 @@ onMounted(() => {
|
|||||||
}
|
}
|
||||||
.no-data {
|
.no-data {
|
||||||
position: relative;
|
position: relative;
|
||||||
|
margin-top: 60px;
|
||||||
div {
|
div {
|
||||||
width: 260px;
|
width: 260px;
|
||||||
height: 260px;
|
height: 260px;
|
||||||
|
@ -43,7 +43,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="card-btn" v-if="nftData.type != 13 && LOCKER_ADDRESS.toLowerCase() != nftData.owner_address.toLowerCase()">
|
<div class="card-btn" v-if="nftData.type != 13 && LOCKER_ADDRESS.toLowerCase() != nftData.owner_address.toLowerCase()">
|
||||||
<div class="card-sell" v-if="nftData.on_sale == 0">
|
<div class="card-sell" v-if="nftData.on_sale == 0">
|
||||||
<span v-if="nftData?.status">loading</span>
|
<span v-if="nftData?.status" class="bgC">loading</span>
|
||||||
<span v-else @click="sellNft(nftData)">List</span>
|
<span v-else @click="sellNft(nftData)">List</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-cancel" v-if="nftData.on_sale == 1" @click="cancelNft(nftData)">Cancel listing</div>
|
<div class="card-cancel" v-if="nftData.on_sale == 1" @click="cancelNft(nftData)">Cancel listing</div>
|
||||||
@ -53,10 +53,10 @@
|
|||||||
<span v-if="nftData?.status">loading</span>
|
<span v-if="nftData?.status">loading</span>
|
||||||
<span @click="unStake(nftData)">Unstake</span>
|
<span @click="unStake(nftData)">Unstake</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-sell" v-else>
|
<!-- <div class="card-sell" v-else>
|
||||||
<span v-if="nftData?.status">loading</span>
|
<span v-if="nftData?.status">loading</span>
|
||||||
<span v-else @click="lockToGame('founder')">Stake</span>
|
<span v-else @click="lockToGame('founder')">Stake</span>
|
||||||
</div>
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
<SellDialog :sellDialogVisible="sellDialogVisible" :floorPrice="floorPrice" :sellDataArr="sellDataArr" @handleClose="sellHandleClose" />
|
<SellDialog :sellDialogVisible="sellDialogVisible" :floorPrice="floorPrice" :sellDataArr="sellDataArr" @handleClose="sellHandleClose" />
|
||||||
<LoadingDialog :loadingDialogVisible="loadingDialogVisible" />
|
<LoadingDialog :loadingDialogVisible="loadingDialogVisible" />
|
||||||
@ -504,6 +504,16 @@ onMounted(() => {
|
|||||||
width: 140px;
|
width: 140px;
|
||||||
height: 48px;
|
height: 48px;
|
||||||
}
|
}
|
||||||
|
span {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
border-radius: 10px;
|
||||||
|
align-items: center;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
color: #FF6271;
|
||||||
|
border: 2px solid #ff6978;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.enabled {
|
.enabled {
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
@ -548,6 +558,12 @@ onMounted(() => {
|
|||||||
.card-cancel {
|
.card-cancel {
|
||||||
background: #ff6271;
|
background: #ff6271;
|
||||||
}
|
}
|
||||||
|
.card-sell {
|
||||||
|
.bgC {
|
||||||
|
background: #ff6271;
|
||||||
|
border-radius: 12px;
|
||||||
|
}
|
||||||
|
}
|
||||||
.card-cat {
|
.card-cat {
|
||||||
width: 71px;
|
width: 71px;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
@ -11,11 +11,14 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</a-table-column>
|
</a-table-column>
|
||||||
<a-table-column title="Status" data-index="nft" :width="400">
|
<a-table-column title="Status" data-index="type" :width="400">
|
||||||
<template #default="{ text: nft }">
|
<template #default="{ text: type }">
|
||||||
<div class="status">
|
<div class="status">
|
||||||
<div class="nft-status" v-if="nft.item_id == '10017' || nft.item_id == '10018'">Redeem</div>
|
<!-- <div class="nft-status" v-if="nft.item_id == '10017' || nft.item_id == '10018'">Redeem</div>
|
||||||
<div class="nft-status" v-else>Stake</div>
|
<div class="nft-status" v-else>Stake</div> -->
|
||||||
|
<div class="nft-status" v-if="type == 1">Mint</div>
|
||||||
|
<div class="nft-status" v-else-if="type == 2">Stake</div>
|
||||||
|
<div class="nft-status" v-else-if="type == 3">UnStake</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</a-table-column>
|
</a-table-column>
|
||||||
@ -27,10 +30,10 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</a-table-column>
|
</a-table-column>
|
||||||
<a-table-column title="From" data-index="event" :width="400">
|
<a-table-column title="From" data-index="from" :width="400">
|
||||||
<template #default="{ text: event }">
|
<template #default="{ text: from }">
|
||||||
<div class="sender">
|
<div class="sender">
|
||||||
<div class="nft-sender">{{ sliceAddress(localWalletStore.address) }}</div>
|
<div class="nft-sender">{{ sliceAddress(from) }}</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</a-table-column>
|
</a-table-column>
|
||||||
@ -41,17 +44,17 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</a-table-column>
|
</a-table-column>
|
||||||
<a-table-column title="To" data-index="nft" :width="400">
|
<a-table-column title="To" data-index="to" :width="400">
|
||||||
<template #default="{ text: nft }">
|
<template #default="{ text: to }">
|
||||||
<div class="recipient">
|
<div class="recipient">
|
||||||
<div class="nft-recipient">{{ sliceAddress(nft.owner_address) }}</div>
|
<div class="nft-recipient">{{ sliceAddress(to) }}</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</a-table-column>
|
</a-table-column>
|
||||||
<a-table-column title="Date" data-index="nft" :width="400">
|
<a-table-column title="Date" data-index="date" :width="400">
|
||||||
<template #default="{ text: nft }">
|
<template #default="{ text: date }">
|
||||||
<div class="date">
|
<div class="date">
|
||||||
<div class="nft-date">{{ timeFormat(nft.last_lock_time*1000) }}</div>
|
<div class="nft-date">{{ timeFormat(date*1000) }}</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</a-table-column>
|
</a-table-column>
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="price">
|
<div class="price">
|
||||||
<h2>Price</h2>
|
<h2>Price (USDT)</h2>
|
||||||
<div class="sort-price">
|
<div class="sort-price">
|
||||||
<a-input v-model:value="minPriceValue" placeholder="Min" />
|
<a-input v-model:value="minPriceValue" placeholder="Min" />
|
||||||
<span>to</span>
|
<span>to</span>
|
||||||
|
@ -109,11 +109,7 @@ const navList = reactive([
|
|||||||
{ id: 0, name: "ABOUT", path: "/about" },
|
{ id: 0, name: "ABOUT", path: "/about" },
|
||||||
// { id: 1, name: "ASSETS", path: "https://pledge.kingsome.cn/" },
|
// { id: 1, name: "ASSETS", path: "https://pledge.kingsome.cn/" },
|
||||||
// { id: 1, name: "planet", path: "https://planet.kingsome.cn/" },
|
// { id: 1, name: "planet", path: "https://planet.kingsome.cn/" },
|
||||||
// {
|
|
||||||
// id: 2,
|
|
||||||
// name: "STAKE",
|
|
||||||
// path: "https://pledge.kingsome.cn",
|
|
||||||
// },
|
|
||||||
// {
|
// {
|
||||||
// id: 3,
|
// id: 3,
|
||||||
// name: "hashrate",
|
// name: "hashrate",
|
||||||
@ -139,18 +135,6 @@ const navList = reactive([
|
|||||||
{ label: "Discord", link: "https://discord.gg/counterfire" },
|
{ label: "Discord", link: "https://discord.gg/counterfire" },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
// {
|
|
||||||
// id: 5,
|
|
||||||
// name: "EVENT",
|
|
||||||
// path: "/contact",
|
|
||||||
// submenu: [
|
|
||||||
// { label: "Badge", link: "https://badge.counterfire.games/" },
|
|
||||||
// {
|
|
||||||
// label: "Gacha",
|
|
||||||
// link: "https://gacha.counterfire.games/",
|
|
||||||
// },
|
|
||||||
// ],
|
|
||||||
// },
|
|
||||||
{
|
{
|
||||||
id: 2,
|
id: 2,
|
||||||
name: "MARKETPLACE",
|
name: "MARKETPLACE",
|
||||||
@ -160,12 +144,36 @@ const navList = reactive([
|
|||||||
id: 3,
|
id: 3,
|
||||||
name: "ASSETS",
|
name: "ASSETS",
|
||||||
path: "/assets",
|
path: "/assets",
|
||||||
|
submenu: [
|
||||||
|
{ label: "Before 2024", link: "https://pledge.kingsome.cn" },
|
||||||
|
{
|
||||||
|
label: "After 2024",
|
||||||
|
path: "/assets",
|
||||||
|
},
|
||||||
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 4,
|
id: 4,
|
||||||
name: "NOTICE",
|
name: "NOTICE",
|
||||||
path: "/notice",
|
path: "/notice",
|
||||||
}
|
},
|
||||||
|
{
|
||||||
|
id: 5,
|
||||||
|
name: "EVENT",
|
||||||
|
path: "/contact",
|
||||||
|
submenu: [
|
||||||
|
{ label: "Badge", link: "https://badge.counterfire.games/" },
|
||||||
|
{
|
||||||
|
label: "Gacha",
|
||||||
|
link: "https://gacha.counterfire.games/",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
// {
|
||||||
|
// id: 6,
|
||||||
|
// name: "STAKE",
|
||||||
|
// path: "https://pledge.kingsome.cn",
|
||||||
|
// },
|
||||||
]);
|
]);
|
||||||
function click(event) {
|
function click(event) {
|
||||||
router.push(event.key);
|
router.push(event.key);
|
||||||
@ -185,6 +193,8 @@ const handlHome = () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
function handNavCurent(nav) {
|
function handNavCurent(nav) {
|
||||||
|
// console.log(nav)
|
||||||
|
// return
|
||||||
activeIndex.value = nav.id;
|
activeIndex.value = nav.id;
|
||||||
// if (nav.id == 1) {
|
// if (nav.id == 1) {
|
||||||
// window.open(nav.path, "_blank");
|
// window.open(nav.path, "_blank");
|
||||||
@ -194,9 +204,13 @@ function handNavCurent(nav) {
|
|||||||
} else if(nav.id == 2) {
|
} else if(nav.id == 2) {
|
||||||
router.push(nav.path);
|
router.push(nav.path);
|
||||||
} else if(nav.id == 3) {
|
} else if(nav.id == 3) {
|
||||||
router.push(nav.path);
|
if(nav.submenu[1]?.path) {
|
||||||
|
router.push(nav.submenu[1]?.path)
|
||||||
|
}
|
||||||
} else if(nav.id == 4) {
|
} else if(nav.id == 4) {
|
||||||
router.push(nav.path);
|
router.push(nav.path);
|
||||||
|
// } else if(nav.id == 6) {
|
||||||
|
// window.open(nav.path, "_blank");
|
||||||
}
|
}
|
||||||
// if (nav.id == 1 || nav.id == 2 || nav.id == 3) {
|
// if (nav.id == 1 || nav.id == 2 || nav.id == 3) {
|
||||||
// window.open(nav.path, "_blank");
|
// window.open(nav.path, "_blank");
|
||||||
|
@ -115,7 +115,7 @@ export const nftDetail = async(address, tokenId) => {
|
|||||||
|
|
||||||
// UAW查询领取
|
// UAW查询领取
|
||||||
export const apiCecInfo = async(address) => {
|
export const apiCecInfo = async(address) => {
|
||||||
let res = await axios.get(`${API_UAW}/task/api/cec/info/${address}`)
|
let res = await axios.get(`${API_UAW}/api/cec/info/${address}`)
|
||||||
return res.data
|
return res.data
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -156,6 +156,12 @@ export const apiTxHash = async (net_id, account_address) => {
|
|||||||
|
|
||||||
// 活动交易记录
|
// 活动交易记录
|
||||||
export const apiActivity = async (data, account_address) => {
|
export const apiActivity = async (data, account_address) => {
|
||||||
const url = `${API_BASE}/api/chain/activity/${account_address}`
|
const url = `${API_BASE}/api/chain/event/activity/${account_address}`
|
||||||
return httpPost(url, data)
|
return httpPost(url, data)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 贡献值记录
|
||||||
|
export const apiContribution = async (account_address) => {
|
||||||
|
const url = `${API_BASE}/api/activity/stacking/history/${account_address}`
|
||||||
|
return httpGet(url, {})
|
||||||
|
}
|
||||||
|
@ -85,17 +85,20 @@
|
|||||||
<div v-if="myAddress == detailData.nft.owner_address && detailData.nft?.status != 1">
|
<div v-if="myAddress == detailData.nft.owner_address && detailData.nft?.status != 1">
|
||||||
<div class="sell" @click="beginSell" v-if="detailData.nft.on_sale == 0 && detailData.nft.type != 13">List</div>
|
<div class="sell" @click="beginSell" v-if="detailData.nft.on_sale == 0 && detailData.nft.type != 13">List</div>
|
||||||
<div class="cancel" @click="cancelSell" v-if="detailData.nft.on_sale == 1">Cancel listing</div>
|
<div class="cancel" @click="cancelSell" v-if="detailData.nft.on_sale == 1">Cancel listing</div>
|
||||||
<div v-if="detailData.nft?.status == 1" class="cancel">
|
<div class="redeem" v-if="detailData.nft.on_sale == 0 && (detailData.nft.type == 1 || detailData.nft.type == 12)" @click="lockToGame('convert')">
|
||||||
<span>Loading</span>
|
<span>Stake</span>
|
||||||
</div>
|
|
||||||
<div class="redeem" v-else-if="detailData.nft.on_sale == 0 && (detailData.nft.type == 1 || detailData.nft.type == 12)">
|
|
||||||
<span @click="lockToGame('convert')">Stake</span>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="redeem" v-else-if="detailData.nft.type == 13">
|
<div class="redeem" v-else-if="detailData.nft.type == 13">
|
||||||
<span @click="lockToGame('founder')">Stake</span>
|
<span v-if="detailData.nft?.status == 1" @click="lockToGame('founder')">Loading</span>
|
||||||
|
<span v-else @click="lockToGame('founder')">Stake</span>
|
||||||
</div>
|
</div>
|
||||||
<!-- <div class="redeem" @click="lockToGame('redeem')" v-if="detailData.nft.on_sale == 0 && detailData.nft.type == 11">Redeem</div> -->
|
<!-- <div class="redeem" @click="lockToGame('redeem')" v-if="detailData.nft.on_sale == 0 && detailData.nft.type == 11">Redeem</div> -->
|
||||||
</div>
|
</div>
|
||||||
|
<!-- <div v-else-if="detailData.nft?.status == 1">
|
||||||
|
<div class="cancel">
|
||||||
|
<span>Loading</span>
|
||||||
|
</div>
|
||||||
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
<div class="info">
|
<div class="info">
|
||||||
<h2>Info</h2>
|
<h2>Info</h2>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user