@@ -27,14 +27,44 @@ const TorchHistorySwiper = ({
27
27
( holder ) => holder . address === currentHolderAddress
28
28
)
29
29
30
+ // Create an array of 10 items, filling with placeholders for future holders
31
+ const totalCards = 10
32
+ const allCards = Array . from ( { length : totalCards } , ( _ , index ) => {
33
+ if ( index < holders . length ) {
34
+ // Use actual holder data
35
+ return {
36
+ ...holders [ index ] ,
37
+ isPlaceholder : false ,
38
+ }
39
+ } else {
40
+ // Create placeholder for future holder
41
+ return {
42
+ address : `placeholder-${ index } ` as Address ,
43
+ name : `Future Bearer ${ index + 1 } ` ,
44
+ role : "Coming soon..." ,
45
+ twitter : "" ,
46
+ event : {
47
+ from : "0x0000000000000000000000000000000000000000" as Address ,
48
+ to : `placeholder-${ index } ` as Address ,
49
+ blockNumber : BigInt ( 0 ) ,
50
+ transactionHash : "" ,
51
+ timestamp : 0 ,
52
+ } ,
53
+ isPlaceholder : true ,
54
+ }
55
+ }
56
+ } )
57
+
30
58
return (
31
59
< SwiperContainer className = "w-full" >
32
60
< Swiper
33
61
effect = "coverflow"
34
62
grabCursor
35
63
centeredSlides
36
64
slidesPerView = "auto"
37
- initialSlide = { currentHolderIndex || holders . length - 1 }
65
+ initialSlide = {
66
+ currentHolderIndex >= 0 ? currentHolderIndex : holders . length - 1
67
+ }
38
68
coverflowEffect = { {
39
69
rotate : 0 ,
40
70
stretch : - 50 ,
@@ -45,20 +75,27 @@ const TorchHistorySwiper = ({
45
75
modules = { [ EffectCoverflow , Navigation ] }
46
76
className = "w-full"
47
77
>
48
- { holders . map ( ( holder , idx ) => (
78
+ { allCards . map ( ( card , idx ) => (
49
79
< SwiperSlide
50
80
key = { idx }
51
81
className = "flex !min-h-[400px] !w-60 justify-center"
52
82
>
53
83
< TorchHistoryCard
54
84
className = "!min-h-[400px]"
55
- name = { holder . name }
56
- role = { holder . role }
57
- avatar = { getBlockieImage ( holder . address ) }
58
- from = { holder . event . timestamp }
59
- to = { holder . event . timestamp }
60
- transactionHash = { holder . event . transactionHash }
61
- isCurrentHolder = { holder . address === currentHolderAddress }
85
+ name = { card . name }
86
+ role = { card . role }
87
+ avatar = {
88
+ card . isPlaceholder
89
+ ? "/images/10-year-anniversary/torch-cover.webp"
90
+ : getBlockieImage ( card . address )
91
+ }
92
+ from = { card . event . timestamp }
93
+ to = { card . event . timestamp }
94
+ transactionHash = { card . event . transactionHash }
95
+ isCurrentHolder = {
96
+ ! card . isPlaceholder && card . address === currentHolderAddress
97
+ }
98
+ isPlaceholder = { card . isPlaceholder }
62
99
/>
63
100
</ SwiperSlide >
64
101
) ) }
0 commit comments