Decode.vue 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. <template>
  2. <NuxtLayout name="sandbox">
  3. <template #intro>
  4. <div class="max-w-xl">
  5. <h2 class="text-4xl font-extrabold text-gray-100 sm:text-5xl sm:tracking-tight lg:text-6xl">
  6. Decode
  7. </h2>
  8. <p class="mt-5 text-xl text-indigo-300">
  9. Perform a comprehensive suite of <span class="text-gray-100 font-medium">automated audits</span> on your application's smart contracts and backend services.
  10. </p>
  11. </div>
  12. </template>
  13. <template #options>
  14. <div class="mt-10 w-full max-w-xs lg:mt-0">
  15. <label for="currency" class="block text-base font-medium text-indigo-300 uppercase">
  16. Choose Your Platform
  17. </label>
  18. <div class="mt-1.5 relative">
  19. <select id="currency" name="currency" class="block w-full bg-none bg-indigo-400 bg-opacity-25 border border-transparent text-white focus:ring-white focus:border-white rounded-md">
  20. <option class="bg-gray-900">Binance Smart Chain (BSC)</option>
  21. <option class="bg-gray-900">Ethereum (ETH)</option>
  22. <option class="bg-gray-900" selected>Smart Bitcoin (sBCH)</option>
  23. </select>
  24. <div class="pointer-events-none absolute inset-y-0 right-0 px-2 flex items-center">
  25. <!-- Heroicon name: solid/chevron-down -->
  26. <svg class="h-4 w-4 text-indigo-300" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true">
  27. <path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd" />
  28. </svg>
  29. </div>
  30. </div>
  31. </div>
  32. </template>
  33. <!-- Page Section -->
  34. <template #main>
  35. <div class="">
  36. <div class="grid grid-cols-3 gap-4">
  37. <div class="col-span-2">
  38. <div class="">
  39. <div class="">
  40. <div class="flex flex-row gap-4 justify-between">
  41. <textarea
  42. class="h-48 flex-grow m-5 border-4 border-indigo-500 rounded-lg"
  43. placeholder="Paste encoded text here"
  44. v-model="base64"
  45. ></textarea>
  46. <textarea
  47. class="h-48 flex-grow m-5 border-4 border-indigo-500 rounded-lg"
  48. placeholder="Decoded text will appear here"
  49. disabled
  50. :value="base64Decoded"
  51. ></textarea>
  52. </div>
  53. </div>
  54. </div>
  55. </div>
  56. <div class="col-span-1">
  57. <div class="card">
  58. <div class="card-header">
  59. <h3 class="card-title">
  60. <i class="fas fa-info-circle mr-1"></i>
  61. <font-awesome-icon icon="fa-solid fa-user-secret" />
  62. Decoding Tools
  63. </h3>
  64. </div>
  65. <div class="card-body">
  66. <dl class="row">
  67. <dt class="col-sm-4">Base64</dt>
  68. <dd class="col-sm-8">
  69. Designed to carry data stored in <strong>binary formats</strong> across channels that only reliably support <strong>text (eg. UTF-8) content.</strong>
  70. </dd>
  71. <dt class="col-sm-4">Euismod</dt>
  72. <dd class="col-sm-8">Vestibulum id ligula porta felis euismod semper eget lacinia odio sem nec elit.</dd>
  73. <dd class="col-sm-8 offset-sm-4">Donec id elit non mi porta gravida at eget metus.</dd>
  74. <dt class="col-sm-4">Malesuada porta</dt>
  75. <dd class="col-sm-8">Etiam porta sem malesuada magna mollis euismod.</dd>
  76. <dt class="col-sm-4">Felis euismod semper eget lacinia</dt>
  77. <dd class="col-sm-8">Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo
  78. sit amet risus.
  79. </dd>
  80. </dl>
  81. </div>
  82. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Repellendus, ea sit voluptatibus, vero minus laudantium illo adipisci quos ex praesentium, amet quam hic quia. Officia eligendi sequi porro nemo atque.
  83. </div>
  84. </div>
  85. </div>
  86. </div>
  87. </template>
  88. <!-- <section class="mt-5">
  89. <p>
  90. Lorem ipsum dolor sit amet consectetur adipisicing elit. Ducimus, quasi magnam! Qui deleniti, nulla ipsam voluptatum, non quis ut libero at ipsum delectus, placeat perspiciatis. Atque repellat id earum dolorem?
  91. </p>
  92. </section> -->
  93. </NuxtLayout>
  94. </template>
  95. <script>
  96. export default {
  97. data: () => ({
  98. base64: null,
  99. }),
  100. head: () => ({
  101. title: 'Decode — APECS Dev',
  102. meta: [
  103. {
  104. hid: 'description', // `vmid` for it as it will not work
  105. name: 'description',
  106. content: 'Perform various decoding operations.'
  107. }
  108. ]
  109. }),
  110. computed: {
  111. base64Decoded() {
  112. if (this.base64) {
  113. return atob(this.base64)
  114. } else {
  115. return null
  116. }
  117. },
  118. },
  119. methods: {
  120. //
  121. },
  122. created: async function () {
  123. //
  124. },
  125. mounted: function () {
  126. //
  127. },
  128. }
  129. </script>