From df82e58958afff57e6e8e050af797e9a1725f276 Mon Sep 17 00:00:00 2001
From: "Ng Wing Tat, David"
Date: Tue, 26 Sep 2023 14:14:40 +0800
Subject: [PATCH 1/8] =?UTF-8?q?=F0=9F=9A=9A=20Move=20store=20page=20folder?=
=?UTF-8?q?=20structure?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/pages/{store.vue => store/index.vue} | 0
1 file changed, 0 insertions(+), 0 deletions(-)
rename src/pages/{store.vue => store/index.vue} (100%)
diff --git a/src/pages/store.vue b/src/pages/store/index.vue
similarity index 100%
rename from src/pages/store.vue
rename to src/pages/store/index.vue
From f4ead42ef393cfef92d7aee51f060c70acfd3fc6 Mon Sep 17 00:00:00 2001
From: "Ng Wing Tat, David"
Date: Tue, 26 Sep 2023 14:14:57 +0800
Subject: [PATCH 2/8] =?UTF-8?q?=E2=9C=A8=20Add=20more=20NFT=20Books=20page?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/NFTBook/ItemCard.vue | 20 +++++----
src/constant/index.js | 39 +++++++++++++++---
src/locales/en.json | 4 +-
src/locales/zh-Hant.json | 4 +-
src/pages/index.vue | 4 +-
src/pages/store/books.vue | 64 +++++++++++++++++++++++++++++
src/pages/store/index.vue | 19 +++++++--
7 files changed, 132 insertions(+), 22 deletions(-)
create mode 100644 src/pages/store/books.vue
diff --git a/src/components/NFTBook/ItemCard.vue b/src/components/NFTBook/ItemCard.vue
index 10afa5fb5..c865a6188 100644
--- a/src/components/NFTBook/ItemCard.vue
+++ b/src/components/NFTBook/ItemCard.vue
@@ -300,16 +300,18 @@ export default {
methods: {
async fetchInfo() {
await this.lazyFetchNFTClassAggregatedData();
+ if (this.preset === PRESET_TYPE.DETAILS) {
+ return;
+ }
+
try {
- if ([PRESET_TYPE.CAMPAIGN, PRESET_TYPE.SHELF].includes(this.preset)) {
- await this.fetchNFTBookPriceByClassId(this.classId).catch(error => {
- if (error.response?.status !== 400) {
- throw error;
- } else {
- return Promise.resolve();
- }
- });
- }
+ await this.fetchNFTBookPriceByClassId(this.classId).catch(error => {
+ if (error.response?.status !== 400) {
+ throw error;
+ } else {
+ return Promise.resolve();
+ }
+ });
} catch (error) {
if (!error.response?.status === 404) {
// eslint-disable-next-line no-console
diff --git a/src/constant/index.js b/src/constant/index.js
index e62a24fe8..ee4fc4a36 100644
--- a/src/constant/index.js
+++ b/src/constant/index.js
@@ -82,12 +82,13 @@ export const LIKECOIN_NFT_CLASS_FREE_MINT = IS_TESTNET
? 'likenft1t2a7n9px9y5mhayjpk4s7m40zwjr3wvyg4ucg32w77jxmsw7889qg6ky8d'
: 'likenft1wtq5cqjw9vhpjqq6g8l55jhez6dpn78nxmna4dz235wrlwa203qs7j234q';
-export const LIKECOIN_NFT_BOOK_ITEMS = IS_TESTNET
+export const LIKECOIN_NFT_BOOK_FEATURED_ITEMS = IS_TESTNET
? [
- 'likenft1fsf4x0tsm8gj8x0adkcce68es2xt5gwk9y7zjf06wwh92t27s99q3ktwpn',
- 'likenft1xj9jkxcernd2fzd6597tee3v57hzy8r4tzpmr7hu5mqvzah7ztaqua9yvh',
- 'likenft1yycuh6458s9045xvy6205xp2uhpl7r4lukfdclhg0phwjlfytq3skmuq8j',
- 'likenft1j3azrgn736esh3sm0y03l93pecmy8mkuf43n0w3j22zeqn3r6uwsz40spa',
+ 'likenft17425skd9dfq8djm9j6c73vv2393ffaq9gpes6ewq77x2mgp4w2xqp7vkla',
+ 'likenft1dgvyx97wv5f3kz3ag9uk0u2t4rwd6azth9yxre7ux2pwz6f75ytstfktxm',
+ 'likenft1h5td83etzwrrqvjnedwh800nkfzcnc3773l3pzupegcvyug749dslxgn5m',
+ 'likenft15raex2xg55l0vutfww8faxnsjxxeqead87mtaj7tczzvmpgxmn3s95vnp2',
+ 'likenft1cstgwjga3295rnp7rukqwschu7c9zka99x0lm2xwphx3aksqmp7s38d3v4',
]
: [
// 天工開物・栩栩如真
@@ -104,6 +105,34 @@ export const LIKECOIN_NFT_BOOK_ITEMS = IS_TESTNET
'likenft1ku4ra0e7dgknhd0wckrkxspuultynl4mgkxa3j08xeshfr2l0ujqmmvy83',
];
+export const LIKECOIN_NFT_BOOK_ITEMS = IS_TESTNET
+ ? [
+ 'likenft1kramesxthl5f09pf5elrejvml9zufmtn9cuf74r5zmwhlf866udq5d5x25',
+ 'likenft10rur203yk5mc7ufx0r56ssj5q7656upwfp56sccxm7hut0nft2gq9k70wv',
+ 'likenft1pvzffhcdk5yn6sh4hju7h0k56mrd30j8nd39pemw0u4qnxzg3ynsfkhg0d',
+ 'likenft1yuqkfvv9zsju94paak03sqn28rn5vrnfad3kuercenpuh3eax06qcug578',
+ ]
+ : [
+ // Animal Farm
+ 'likenft14tuskytm0ewn4aadxrmlfgszexppk0f5xef2xu7zhjltdz3eud9s743mrj',
+ // Brave New World
+ 'likenft16744dyfn96vswqsy6286hzatnymzg0vwnr6aqrpwm9d7hpfnh7rqmktxua',
+ // The Count of Monte Christo
+ 'likenft1f7nfpgsaen3uwkhp6a3trl6u59qaapd597lnwplh75m3fer8ls2q2rmv5g',
+ // 吶喊
+ 'likenft1v0y53j55l96ye4dzm00gqfhkazzy6mrytlav4cy35stthvflk9ls7fpqhs',
+ // Oliver Twist
+ 'likenft1yulzjeeuz4fdj754tugqw6342dyfd5wtkfyraly45ea79h9qnjxs8cqxfe',
+ // 呼蘭河傳
+ 'likenft1hfx5j4utxp9mpdzf5g5r7w9gve4lw9q2a402k00t45ruf8pca2eqndap32',
+ // 死水微瀾
+ 'likenft1tjyaqr0e3pfv9squz0grs95sdnfjgr6kd59e2aen3krmdge28cesnjt8de',
+ // 沉淪
+ 'likenft1cjf56z3dju27dv77hqxdpm3e034gluq3etmagxygssexr86sem6sk3szyq',
+ // The Call of the Wild
+ 'likenft1yxedh53ay49u8xu6aqg6aa0gr6jj9svy40q3wjv266v6pvrzyj4s6hszzj',
+ ];
+
export const LIKECOIN_NFT_CAMPAIGN_ITEMS = IS_TESTNET
? [
'likenft1qehd8pcp33ds3myxpmpanag2aqz4ygzmrukgtn8a69qyhswa5uqs952yjn',
diff --git a/src/locales/en.json b/src/locales/en.json
index 90c695b6d..cdac7c5ce 100644
--- a/src/locales/en.json
+++ b/src/locales/en.json
@@ -657,8 +657,8 @@
"language": "Language",
"title": "Settings"
},
- "shopping_cart_checkout_button_by_LIKE": "Checkout by LIKE",
"shopping_cart_checkout_button_by_card": "Checkout by card",
+ "shopping_cart_checkout_button_by_LIKE": "Checkout by LIKE",
"shopping_cart_empty_notice": "Backpack is empty",
"shopping_cart_empty_notice_button": "Browse NFT",
"shopping_cart_error_insufficient_balance": "Insufficient balance, you only have {balance}",
@@ -689,6 +689,8 @@
"snackbar_error_seq_mismatch": "Transaction sequence error. Please wait for a moment until the account status matches, and then try purchasing again.",
"snackbar_success_collect": "Complete the collect of \"{NFT}\".",
"snackbar_success_transfer": "Complete the transfer of NFT.",
+ "store_books_page_title": "More Books",
+ "store_nft_book_more_button": "More Books",
"subVPs": [
"The easiest way to send and receive LikeCoin.",
"View the weekly, daily statistics of your LikeCoin bonus, down to each workpiece.",
diff --git a/src/locales/zh-Hant.json b/src/locales/zh-Hant.json
index 65dc55d27..0f16037c9 100644
--- a/src/locales/zh-Hant.json
+++ b/src/locales/zh-Hant.json
@@ -648,8 +648,8 @@
"language": "介面語言",
"title": "設定"
},
- "shopping_cart_checkout_button_by_LIKE": "以 LIKE 結帳",
"shopping_cart_checkout_button_by_card": "以信用卡結帳",
+ "shopping_cart_checkout_button_by_LIKE": "以 LIKE 結帳",
"shopping_cart_empty_notice": "背包是空的",
"shopping_cart_empty_notice_button": "瀏覽 NFT",
"shopping_cart_error_insufficient_balance": "餘額不足,你只有 {balance}",
@@ -680,6 +680,8 @@
"snackbar_error_seq_mismatch": "交易序列錯誤,請稍等一段時間等帳戶狀態同步後,再重試購買",
"snackbar_success_collect": "完成收藏 \"{NFT}\".",
"snackbar_success_transfer": "已完成發送作品",
+ "store_books_page_title": "更多書目",
+ "store_nft_book_more_button": "更多書目",
"subVPs": [
"用 Liker Land 收發 LikeCoin 最便捷",
"每週、每天、每篇文章所獲賺賞,一目了然",
diff --git a/src/pages/index.vue b/src/pages/index.vue
index b2f30fa2e..b924ea32a 100644
--- a/src/pages/index.vue
+++ b/src/pages/index.vue
@@ -1252,7 +1252,7 @@ import animatedBookCover from '~/assets/images/index/nft-book-cover.mp4';
import {
LIKECOIN_NFT_CLASS_FREE_MINT,
- LIKECOIN_NFT_BOOK_ITEMS,
+ LIKECOIN_NFT_BOOK_FEATURED_ITEMS,
} from '~/constant';
import { logTrackerEvent } from '~/util/EventLogger';
@@ -1346,7 +1346,7 @@ export default {
return LIKECOIN_NFT_CLASS_FREE_MINT;
},
featuredNFTBookClassId() {
- return LIKECOIN_NFT_BOOK_ITEMS[0];
+ return LIKECOIN_NFT_BOOK_FEATURED_ITEMS[0];
},
animatedBookCoverSrc() {
return animatedBookCover;
diff --git a/src/pages/store/books.vue b/src/pages/store/books.vue
new file mode 100644
index 000000000..950b38e56
--- /dev/null
+++ b/src/pages/store/books.vue
@@ -0,0 +1,64 @@
+
+
+
+ {{ $t('home_section_book_title') }}
+
+ -
+ handleClickItem(nft.classId)"
+ @click-avatar="() => handleClickItemAvatar(nft.classId)"
+ />
+
+
+
+
+
+
+
diff --git a/src/pages/store/index.vue b/src/pages/store/index.vue
index 7874d6157..67274c8fd 100644
--- a/src/pages/store/index.vue
+++ b/src/pages/store/index.vue
@@ -11,7 +11,7 @@
>
{{ $t('home_section_book_title') }}
-
@@ -159,7 +167,7 @@ import { mapActions, mapGetters } from 'vuex';
import {
LIKECOIN_NFT_CAMPAIGN_ITEMS,
- LIKECOIN_NFT_BOOK_ITEMS,
+ LIKECOIN_NFT_BOOK_FEATURED_ITEMS,
} from '~/constant';
import { checkIsLikeCoinAppInAppBrowser } from '~/util/client';
@@ -177,7 +185,7 @@ export default {
const title = this.$t('campaign_nft_page_title');
const description = this.$t('campaign_nft_page_description');
const link = [{ rel: 'canonical', href: `${this.$route.path}` }];
- LIKECOIN_NFT_BOOK_ITEMS.forEach(item => {
+ LIKECOIN_NFT_BOOK_FEATURED_ITEMS.forEach(item => {
link.push({
rel: 'prefetch',
href: `/api/nft/metadata?class_id=${item}`,
@@ -246,7 +254,7 @@ export default {
});
},
nftBooks() {
- return LIKECOIN_NFT_BOOK_ITEMS.map(classId => ({ classId }));
+ return LIKECOIN_NFT_BOOK_FEATURED_ITEMS.map(classId => ({ classId }));
},
nftBooksOnShelf() {
return this.nftBooks.slice(1);
@@ -323,6 +331,9 @@ export default {
query: { ...query, tab },
});
},
+ handleClickNFTBookMoreButton() {
+ logTrackerEvent(this, 'Store', 'StoreViewMoreNFTBookClick', '', 1);
+ },
handleClickAboutWritingNFTButton() {
logTrackerEvent(
this,
From 93d65bb141e24e618269b7b25a525e102a6b1cbc Mon Sep 17 00:00:00 2001
From: "Ng Wing Tat, David"
Date: Tue, 26 Sep 2023 23:15:46 +0800
Subject: [PATCH 3/8] =?UTF-8?q?=E2=9C=A8=20Show=20author=20if=20exists=20f?=
=?UTF-8?q?or=20NFT=20Book?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/NFTBook/ItemCard.vue | 78 ++++++++++++++-----------
src/components/NFTPage/PreviewCard.vue | 9 +++
src/locales/en.json | 2 +
src/locales/zh-Hant.json | 2 +
src/mixins/nft.js | 3 +
src/pages/nft/class/_classId/_nftId.vue | 1 +
src/pages/nft/class/_classId/index.vue | 1 +
7 files changed, 62 insertions(+), 34 deletions(-)
diff --git a/src/components/NFTBook/ItemCard.vue b/src/components/NFTBook/ItemCard.vue
index c865a6188..32a5348dd 100644
--- a/src/components/NFTBook/ItemCard.vue
+++ b/src/components/NFTBook/ItemCard.vue
@@ -44,7 +44,7 @@
-
+
+ -
+ {{ $t('identity_type_author') }}
+ {{ iscnAuthor | ellipsis }}
+
-
-
-
- {{
- $t('identity_type_creator')
- }}
- {{ creatorDisplayName | ellipsis }}
-
-
+ -
+
+
+
+ {{ $t(iscnAuthor ? 'identity_type_publisher' : 'identity_type_creator') }}
+ {{ creatorDisplayName | ellipsis }}
+
+
+
-
+
diff --git a/src/components/NFTPage/PreviewCard.vue b/src/components/NFTPage/PreviewCard.vue
index 61e4ed237..146d1e0bf 100644
--- a/src/components/NFTPage/PreviewCard.vue
+++ b/src/components/NFTPage/PreviewCard.vue
@@ -55,6 +55,11 @@
displayName | ellipsis
}}
+
+
+ {{ $t('identity_type_author') }}
+ {{ iscnAuthor | ellipsis }}
+