zhangwei 3 år sedan
förälder
incheckning
aff3ecd96c

BIN
src/assets/gif/001.gif


BIN
src/assets/gif/open.gif


+ 3 - 0
src/assets/subject/001-back-head-top.svg

@@ -0,0 +1,3 @@
+<svg width="375" height="150" viewBox="0 0 375 150" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M0 0H375V117.057C375 117.057 320.624 150 187.5 150C54.376 150 0 117.057 0 117.057V0Z" fill="#389AFF"/>
+</svg>

BIN
src/assets/subject/001-card.png


+ 1 - 1
src/assets/svg/icon-done.svg → src/assets/subject/001-icon-done.svg

@@ -1,4 +1,4 @@
 <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
-<circle cx="12" cy="12" r="12" fill="#EF4545"/>
+<circle cx="12" cy="12" r="12" fill="#389AFF"/>
 <path d="M6.59961 11.9992L10.7996 16.7992L17.9996 7.19922" stroke="white" stroke-width="2"/>
 </svg>

+ 0 - 3
src/assets/svg/back-down.svg

@@ -1,3 +0,0 @@
-<svg width="375" height="247" viewBox="0 0 375 247" fill="none" xmlns="http://www.w3.org/2000/svg">
-<path d="M0 0C0 0 49 28 187.5 28C326 28 375 0 375 0V247H0V0Z" fill="#EF4545"/>
-</svg>

+ 0 - 3
src/assets/svg/back-head-top.svg

@@ -1,3 +0,0 @@
-<svg width="375" height="149" viewBox="0 0 375 149" fill="none" xmlns="http://www.w3.org/2000/svg">
-<path d="M0 0H375V120.073C375 120.073 322 149 187.5 149C53 149 0 120.073 0 120.073V0Z" fill="#EF4545"/>
-</svg>

+ 0 - 17
src/assets/svg/back-top.svg

@@ -1,17 +0,0 @@
-<svg width="375" height="340" viewBox="0 0 375 340" fill="none" xmlns="http://www.w3.org/2000/svg">
-<g filter="url(#filter0_d_14214_17508)">
-<path d="M1.01863e-10 0H375V263.653C375 263.653 322 292 187.5 292C53 292 0 263.653 0 263.653L1.01863e-10 0Z" fill="#EF4545"/>
-</g>
-<defs>
-<filter id="filter0_d_14214_17508" x="-44" y="-40" width="463" height="380" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
-<feFlood flood-opacity="0" result="BackgroundImageFix"/>
-<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
-<feOffset dy="4"/>
-<feGaussianBlur stdDeviation="22"/>
-<feComposite in2="hardAlpha" operator="out"/>
-<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0"/>
-<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_14214_17508"/>
-<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_14214_17508" result="shape"/>
-</filter>
-</defs>
-</svg>

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 5 - 57
src/assets/svg/icon-error.svg


+ 29 - 0
src/assets/svg/icon-open.svg

@@ -0,0 +1,29 @@
+<svg width="335" height="50" viewBox="0 0 335 50" fill="none" xmlns="http://www.w3.org/2000/svg">
+<g clip-path="url(#clip0_14272_1343)">
+<rect width="335" height="50" rx="25" fill="white" fill-opacity="0.1"/>
+<rect x="0.5" y="0.5" width="334" height="49" rx="24.5" stroke="white" stroke-opacity="0.3"/>
+<rect x="-10.0498" width="345.05" height="20" rx="10" fill="url(#paint0_linear_14272_1343)"/>
+<g filter="url(#filter0_d_14272_1343)">
+<path d="M128.084 18.8145C124.531 18.8145 122.307 21.1968 122.307 25.0151C122.307 28.8252 124.531 31.2075 128.084 31.2075C131.628 31.2075 133.861 28.8252 133.861 25.0151C133.861 21.1968 131.628 18.8145 128.084 18.8145ZM128.084 20.9062C130.043 20.9062 131.296 22.5 131.296 25.0151C131.296 27.522 130.043 29.1074 128.084 29.1074C126.117 29.1074 124.863 27.522 124.863 25.0151C124.863 22.5 126.125 20.9062 128.084 20.9062ZM135.78 19.022V31H138.287V27.2231H140.528C143.051 27.2231 144.803 25.5796 144.803 23.1226C144.803 20.6572 143.11 19.022 140.653 19.022H135.78ZM138.287 21.0059H139.988C141.425 21.0059 142.255 21.7695 142.255 23.1309C142.255 24.5005 141.416 25.2642 139.98 25.2642H138.287V21.0059ZM154.524 28.9248H149.096V25.9033H154.217V23.9775H149.096V21.0889H154.524V19.022H146.589V31H154.524V28.9248ZM159.033 31V23.1558H159.108L164.711 31H166.786V19.022H164.387V26.8247H164.32L158.726 19.022H156.634V31H159.033ZM175.155 31V23.1558H175.23L180.833 31H182.908V19.022H180.509V26.8247H180.443L174.848 19.022H172.756V31H175.155ZM190.613 18.8145C187.06 18.8145 184.835 21.1968 184.835 25.0151C184.835 28.8252 187.06 31.2075 190.613 31.2075C194.157 31.2075 196.39 28.8252 196.39 25.0151C196.39 21.1968 194.157 18.8145 190.613 18.8145ZM190.613 20.9062C192.571 20.9062 193.825 22.5 193.825 25.0151C193.825 27.522 192.571 29.1074 190.613 29.1074C188.645 29.1074 187.392 27.522 187.392 25.0151C187.392 22.5 188.654 20.9062 190.613 20.9062ZM205.065 22.8154H205.14L207.414 31H209.78L212.959 19.022H210.361L208.469 27.6963H208.402L206.161 19.022H204.044L201.803 27.6963H201.737L199.852 19.022H197.254L200.425 31H202.791L205.065 22.8154Z" fill="white"/>
+</g>
+</g>
+<defs>
+<filter id="filter0_d_14272_1343" x="119.307" y="16.8145" width="96.6523" height="18.3926" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
+<feFlood flood-opacity="0" result="BackgroundImageFix"/>
+<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
+<feOffset dy="1"/>
+<feGaussianBlur stdDeviation="1.5"/>
+<feComposite in2="hardAlpha" operator="out"/>
+<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.15 0"/>
+<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_14272_1343"/>
+<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_14272_1343" result="shape"/>
+</filter>
+<linearGradient id="paint0_linear_14272_1343" x1="162.475" y1="0" x2="162.475" y2="20" gradientUnits="userSpaceOnUse">
+<stop stop-color="white" stop-opacity="0.5"/>
+<stop offset="1" stop-color="white" stop-opacity="0"/>
+</linearGradient>
+<clipPath id="clip0_14272_1343">
+<path d="M0 25C0 11.1929 11.1929 0 25 0H310C323.807 0 335 11.1929 335 25C335 38.8071 323.807 50 310 50H25C11.1929 50 0 38.8071 0 25Z" fill="white"/>
+</clipPath>
+</defs>
+</svg>

+ 160 - 69
src/view/red-packet.vue

@@ -3,11 +3,11 @@
   <div class="content">
     <!-- open -->
     <div v-if="data.status == 'opened'" class="opened">
-      <div class="header" :style="{ 'backgroundImage': `url(${require('../assets/svg/back-head-top.svg')})` }">
+      <div class="header" :style="{ 'backgroundImage': `url(${require('../assets/subject/001-back-head-top.svg')})` }">
         <div class="seat"></div>
         <div class="title">Awesome! You Will Get</div>
         <div class="money">
-          <img :src="require('../assets/svg/icon-dollar.svg')" alt />
+          <img :src="data.detail.currencyIconUrl" alt />
           <span class="big">{{ data.money / 100 }}</span>
           <span class="small">{{ data.detail.amountCurrencyCode || '' }}</span>
         </div>
@@ -24,7 +24,7 @@
                 <div v-else class="btn" @click="clickFollowAll(item.relatedUsers)">Follow All</div>
               </div>
               <div class="item-follow-area">
-                <div class="item-follow" v-for="item2, i in item.relatedUsers" v-bind:key="i">
+                <div class="item-follow" v-for="item2, i in item.relatedUsers" v-bind:key="i" @click="clickFollowAll([{name:item2.name}])">
                   <span :class="{ finished: item2.finished }">@{{ item2.name }}</span>
                   <img v-if="item2.finished" :src="require('../assets/svg/icon-true-ed.svg')" alt />
                   <img v-else :src="require('../assets/svg/icon-add.svg')" alt />
@@ -52,10 +52,12 @@
         </div>
       </div>
       <div class="people" @click="clickRoad">
-        <div class="txt">Total ${{ data.detail.amountValue }} USD,{{ data.detail.receiveCount || 0 }}/{{
-          data.detail.totalCount || 0
-        }} People Got</div>
-        <div class="right">
+        <div class="txt">
+          {{ data.detail.receiveCount || 0 }}/{{ data.detail.totalCount || 0 }} Got,{{
+            data.detail.receiveAmountValue /
+              100
+          }}/{{ data.detail.amountValue / 100 }} {{ data.detail.amountCurrencyCode }}</div>
+        <div class="right" v-if="data.detail.allReceived">
           <template v-for="item, i in data.detail.allReceived.slice(0, 3)" v-bind:key="i">
             <img :src="item.simpleUserInfoVO.avatarUrl" alt :style="{ right: `${i * 16 + 14}px` }"
               v-if="item.simpleUserInfoVO.avatarUrl" />
@@ -76,22 +78,24 @@
 
     <!-- success -->
     <div v-else-if="data.status == 'success'" class="success">
-      <div class="header" :style="{ 'backgroundImage': `url(${require('../assets/svg/back-head-top.svg')})` }">
+      <div class="header" :style="{ 'backgroundImage': `url(${require('../assets/subject/001-back-head-top.svg')})` }">
         <div class="seat"></div>
         <div class="money">
-          <img :src="require('../assets/svg/icon-dollar.svg')" alt />
+          <img :src="data.detail.currencyIconUrl" alt />
           <span class="big">{{ data.money / 100 }}</span>
-          <span class="small">USD</span>
+          <span class="small">{{ data.detail.amountCurrencyCode }}</span>
         </div>
         <div class="done" @click="clickDone">
-          <img :src="require('../assets/svg/icon-done.svg')" alt class="icon-done" />
+          <img :src="require('../assets/subject/001-icon-done.svg')" alt class="icon-done" />
           <span>Giveaways transferred to Wallet</span>
           <img :src="require('../assets/svg/icon-right.svg')" alt class="icon-right" />
         </div>
       </div>
       <div class="luck-list-title">
-        <div>{{ data.detail.receiveCount || 0 }}/{{ data.detail.totalCount || 0 }} People Got</div>
-        <div>Total ${{ data.detail.amountValue || '' }} {{ data.detail.amountCurrencyCode || '' }}</div>
+        <div>{{ data.detail.receiveCount || 0 }}/{{ data.detail.totalCount || 0 }} Got</div>
+        <div> {{ data.detail.receiveAmountValue / 100 }} / {{ data.detail.amountValue / 100 || '' }} {{
+          data.detail.amountCurrencyCode || ''
+        }}</div>
       </div>
       <div class="luck-list" @scroll="handleScroll($event)">
         <div class="luck-item" v-for="item, i in data.detail.allReceived" v-bind:key="i">
@@ -104,7 +108,7 @@
             <div class="luck-time">{{ moment(item.receiveTimestamp).format('MM-DD hh:mm:ss') }}</div>
           </div>
           <div class="luck-money">
-            <img :src="require('../assets/svg/icon-dollar.svg')" alt />
+            <img :src="data.detail.currencyIconUrl" alt />
             <div class="luck-money-txt">{{ showLastTwoPlace(item.amountValue) || 0 }}</div>
           </div>
           <div class="luck-king" v-if="item.maxAmount">
@@ -118,15 +122,22 @@
 
     <!-- no-open -->
     <div v-else-if="data.status == 'not-open'" class="not-open">
-      <img :src="require('../assets/svg/back-top.svg')" alt class="up" />
-      <img :src="require('../assets/svg/back-down.svg')" alt class="down" />
-      <img class="open-gif" v-if="data.open_state" :src="require('../assets/gif/open.gif')" />
-      <div class="open" v-else @click="clickOpenRedPacket">OPEN</div>
+      <img :src="require('../assets/subject/001-card.png')" alt="">
+      <img class="open-gif" :src="require('../assets/gif/001.gif')" />
+
+      <img :src="require('../assets/svg/icon-open.svg')" alt="" class="open" @click="clickOpenRedPacket">
       <div class="title" v-if="data.detail.postUserInfo">
         <img :src="data.detail.postUserInfo.avatarUrl" alt />
-        <span>Giveaways from: {{ data.detail.postUserInfo.nickName }}</span>
+        <span>{{ data.detail.postUserInfo.nickName || 'FutureDoctor' }}</span>
+      </div>
+      <div class="money-area">
+        <div class="txt">{{ data.detail.amountCurrencyCode }} GIVEAWAY</div>
+        <div class="coin">
+          <img :src="data.detail.currencyIconUrl" alt />
+          <span>{{ data.detail.amountValue / 100 }}</span>
+        </div>
+        <div class="people">{{ data.detail.totalCount }} WINNERS TO SHARE</div>
       </div>
-      <div class="txt">Good Luck!</div>
     </div>
 
 
@@ -137,7 +148,9 @@
       </div>
       <div class="luck-list-title">
         <div>{{ data.detail.receiveCount || 0 }}/{{ data.detail.totalCount || 0 }} People Got</div>
-        <div>Total ${{ data.detail.amountValue || 0 }} {{ data.detail.amountCurrencyCode || '' }}</div>
+        <div> {{ data.detail.receiveAmountValue / 100 }} / {{ data.detail.amountValue / 100 || '' }} {{
+          data.detail.amountCurrencyCode || ''
+        }}</div>
       </div>
       <div class="luck-list" @scroll="handleScroll">
         <div class="luck-item" v-for="item, i in data.detail.allReceived" v-bind:key="i">
@@ -149,7 +162,7 @@
             <div class="luck-time">{{ moment(item.receiveTimestamp).format('MM-DD hh:mm:ss') }}</div>
           </div>
           <div class="luck-money">
-            <img :src="require('../assets/svg/icon-dollar.svg')" alt />
+            <img :src="data.detail.currencyIconUrl" alt />
             <div class="luck-money-txt">{{ showLastTwoPlace(item.amountValue) }}</div>
           </div>
 
@@ -163,14 +176,16 @@
 
     <!-- 红包被领完了 -->
     <div v-else-if="data.status == 'close'" class="close">
-      <div class="header" :style="{ 'backgroundImage': `url(${require('../assets/svg/back-head-top.svg')})` }">
+      <div class="header" :style="{ 'backgroundImage': `url(${require('../assets/subject/001-back-head-top.svg')})` }">
         <div class="seat"></div>
         <div class="close-title">{{ data.close_title }}</div>
         <div class="close-title" v-if="data.close_text">{{ data.close_text }}</div>
       </div>
       <div class="luck-list-title">
         <div>{{ data.detail.receiveCount || 0 }}/{{ data.detail.totalCount || 0 }} People Got</div>
-        <div>Total ${{ data.detail.amountValue || 0 }} {{ data.detail.amountCurrencyCode || '' }}</div>
+        <div> {{ data.detail.receiveAmountValue / 100 }} / {{ data.detail.amountValue / 100 || '' }} {{
+          data.detail.amountCurrencyCode || ''
+        }}</div>
       </div>
       <div class="luck-list" @scroll="handleScroll">
         <div class="luck-item" v-for="item, i in data.detail.allReceived" v-bind:key="i">
@@ -182,7 +197,7 @@
             <div class="luck-time">{{ moment(item.receiveTimestamp).format('MM-DD HH:mm:ss') }}</div>
           </div>
           <div class="luck-money">
-            <img :src="require('../assets/svg/icon-dollar.svg')" alt />
+            <img :src="data.detail.currencyIconUrl" alt />
             <div class="luck-money-txt">{{ showLastTwoPlace(item.amountValue) || 0 }}</div>
           </div>
           <div class="luck-king" v-if="item.maxAmount">
@@ -200,6 +215,9 @@
       <div class="txt">
         {{ data.error_txt }}
       </div>
+      <div class="retry" v-show="data.retry" @click="clickRetry">
+        Retry
+      </div>
     </div>
 
 
@@ -220,6 +238,7 @@ import { onMounted, reactive } from "vue";
 import { getPostDetail, getRedPacket, finishRedPacket, oneKeyLike, oneKeyReTweet, oneKeyFollow, getTaskDetail, getReceivedList } from '../http/redPacket.js'
 import { getQueryString } from '../uilts/help.js'
 import { getChromeStorage } from '../uilts/chromeExtension.js'
+import { interfaceDeclaration } from "@babel/types";
 var moment = require('moment');
 
 let data = reactive({
@@ -241,6 +260,9 @@ let data = reactive({
     retweet: false
   }
 })
+function clickRetry(){
+  init()
+}
 async function clickLickBtn() {
   let _userInfo = await checkIsLogin()
   if (!_userInfo) {
@@ -518,6 +540,7 @@ onMounted(() => {
   data.postId = getQueryString('postId')
   data.tweetId = getQueryString('tweetId')
   init()
+  // data.status = 'error'
   // data.loading_show = true
 })
 
@@ -539,18 +562,15 @@ function handleRedPacket() {
   }).then((res) => {
     switch (res.code.toString()) {
       case "0":
-        data.open_state = false
         data.status = 'opened'
         data.money = res.data.receiveAmount
         init()
         break
       case "2008":
-        data.open_state = false
         data.status = 'close'
         data.close_title = 'Better luck next time!'
         break
       default:
-        data.open_state = false
     }
   })
 }
@@ -638,6 +658,7 @@ function handleFinishRedPacket() {
       case "2009":
         data.error_txt = `oops, new accounts cannot participate in this event,`
         data.status = 'error'
+        data.retry = true
         break
       case "-106":
         alert('Clicking too often, wait a moment and click again')
@@ -662,6 +683,8 @@ html,
 body {
   margin: 0;
   padding: 0;
+  width: 375px;
+  height: 500px;
 }
 
 .content {
@@ -691,12 +714,15 @@ body {
   }
 
   .error {
+    width: 100%;
+    height: 100%;
     text-align: center;
+    position: relative;
 
     img {
-      width: 160px;
-      height: 160px;
-      margin-top: 80px;
+      width: 100px;
+      height: 100px;
+      margin-top: 100px;
     }
 
     .txt {
@@ -708,6 +734,24 @@ body {
       color: #a8a8a8;
       margin: 34px 44px 0 44px;
     }
+
+    .retry {
+      position: absolute;
+      bottom: 30px;
+      left: 50%;
+      margin-left: -167.5px;
+      width: 335px;
+      height: 46px;
+      line-height: 46px;
+      text-align: center;
+      border-radius: 100px;
+      border: 1px solid #389AFF;
+      background: rgba(196, 196, 196, 0.01);
+      color: #389AFF;
+      font-size: 16px;
+      font-weight: 500;
+      cursor: pointer;
+    }
   }
 
   .success,
@@ -837,11 +881,13 @@ body {
 
     .luck-list-title {
       /*      margin-top: 47px;*/
-      padding: 0 16px;
+      margin: 0 16px;
+      padding: 14px 0 11px 0;
       background: #fff;
-      color: #9b9b9b;
       display: flex;
       justify-content: space-between;
+      color: #B0B0B0;
+      border-bottom: 1px solid #D1D1D1;
     }
 
     .luck-list {
@@ -850,8 +896,9 @@ body {
 
       .luck-item {
         display: flex;
-        padding: 12px 16px;
-        border-top: 1px solid #d1d1d1;
+        padding: 12px 0;
+        margin: 0 16px;
+        border-bottom: 1px solid #d1d1d1;
         justify-content: space-between;
         position: relative;
 
@@ -862,7 +909,7 @@ body {
         .luck-king {
           position: absolute;
           top: 36px;
-          right: 16px;
+          right: 0px;
           display: flex;
           align-items: center;
 
@@ -929,12 +976,18 @@ body {
           }
         }
       }
+
+      .luck-item:last-child {
+        border: 0;
+      }
     }
   }
 
   .success {
     .luck-list-title {
       margin-top: 47px;
+      margin-bottom: 11px;
+      border-bottom: 1px solid #D1D1D1;
     }
   }
 
@@ -1179,7 +1232,7 @@ body {
       }
 
       .btn {
-        background: #ef4545;
+        background: #389AFF;
         border-radius: 100px;
         color: #fff;
         width: 258px;
@@ -1194,19 +1247,64 @@ body {
   }
 
   .not-open {
-    filter: drop-shadow(0px 4px 94px rgba(0, 0, 0, 0.3));
+    width: 100%;
+    height: 100%;
+    filter: drop-shadow(0px 2px 20px rgba(0, 0, 0, 0.1));
     position: relative;
 
+    .money-area {
+      width: 100%;
+      position: absolute;
+      top: 65px;
+
+      .txt {
+        font-weight: 800;
+        font-size: 16px;
+        text-align: center;
+        letter-spacing: 0.3px;
+        color: #FFFFFF;
+      }
+
+      .coin {
+        text-align: center;
+        margin-top: 6px;
+        margin-bottom: 7px;
+
+        img {
+          width: 46px;
+          height: 46px;
+          border-radius: 50%;
+          border: 3px solid #FFFFFF;
+        }
+
+        span {
+          margin-left: 15px;
+          font-weight: 800;
+          font-size: 60px;
+          line-height: 76px;
+          color: #FFFFFF;
+        }
+      }
+
+      .people {
+        font-weight: 800;
+        font-size: 13px;
+        line-height: 16px;
+        letter-spacing: 0.05em;
+        text-align: center;
+        color: #FFFFFF;
+      }
+    }
+
     .title {
       position: absolute;
-      top: 46px;
+      top: 15px;
+      left: 15px;
       z-index: 3;
       width: 100%;
       display: flex;
       align-items: center;
 
-      justify-content: center;
-
       img {
         width: 24px;
         height: 24px;
@@ -1215,7 +1313,7 @@ body {
       }
 
       span {
-        margin-left: 11px;
+        margin-left: 10px;
         font-weight: 600;
         font-size: 16px;
         letter-spacing: 0.3px;
@@ -1223,19 +1321,19 @@ body {
       }
     }
 
-    .txt {
-      width: 100%;
-      position: absolute;
-      font-style: normal;
-      font-weight: 700;
-      font-size: 42px;
-      line-height: 50px;
-      text-align: center;
+    // .txt {
+    //   width: 100%;
+    //   position: absolute;
+    //   font-style: normal;
+    //   font-weight: 700;
+    //   font-size: 42px;
+    //   line-height: 50px;
+    //   text-align: center;
 
-      color: #FFF2D3;
-      top: 90px;
-      z-index: 3;
-    }
+    //   color: #FFF2D3;
+    //   top: 90px;
+    //   z-index: 3;
+    // }
 
     img {
       width: 100%;
@@ -1254,31 +1352,24 @@ body {
     }
 
     .open {
-      width: 110px;
-      height: 110px;
-      text-align: center;
-      font-size: 26px;
-      font-weight: 600;
-      background: #ffe9b5;
-      color: #ef4545;
+      width: 335px;
+      height: 50px;
       cursor: pointer;
-      border-radius: 50%;
-      line-height: 110px;
       position: absolute;
-      top: 235px;
+      bottom: 28px;
       left: 50%;
-      margin-left: -55px;
+      margin-left: -167.5px;
       z-index: 2;
     }
 
     .open-gif {
-      width: 110px;
-      height: 110px;
+      width: 200px;
+      height: 200px;
       text-align: center;
       position: absolute;
-      top: 235px;
+      bottom: 100px;
       left: 50%;
-      margin-left: -55px;
+      margin-left: -100px;
       z-index: 3;
     }
   }

Vissa filer visades inte eftersom för många filer har ändrats