feat: added memo base

This commit is contained in:
Corentin Thomasset 2021-03-14 23:37:57 +01:00
parent 1034296359
commit 0a4abde23d
No known key found for this signature in database
GPG key ID: DBD997E935996158
16 changed files with 537 additions and 151 deletions

View file

@ -1,6 +1,5 @@
<template>
<ToolWrapper :config="config()" noCard="true">
<ToolWrapper :config="config()" no-card="true">
<FileUploader v-model="file"/>
<div v-if="base64 || loading" class="mt-10">
@ -23,16 +22,15 @@
</v-card-text>
</v-card>
</div>
</ToolWrapper>
</template>
<script lang="ts">
import {Component, Watch} from 'nuxt-property-decorator'
import {CopyableMixin} from '@/mixins/copyable.mixin'
import Tool from '@/components/Tool'
import {ToolConfig} from '@/types/ToolConfig'
import FileUploader from '~/components/FileUploader'
import Tool from '@/components/Tool.vue'
import type {ToolConfig} from '@/types/ToolConfig'
import FileUploader from '~/components/FileUploader.vue'
@Component({
mixins: [CopyableMixin],
@ -43,28 +41,30 @@ export default class FileToBase64 extends Tool {
return {
title: 'File to base64',
description: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Delectus distinctio dolor dolorum eaque eligendi, facilis impedit laboriosam odit placeat.',
icon: 'mdi-key-chain-variant',
icon: 'mdi-file-link-outline',
keywords: ['file', 'base64']
}
}
file = null
file: Blob | null = null
loading = false
base64= ''
base64 = ''
handleBase64(base64) {
handleBase64(base64: string) {
this.base64 = base64
this.loading = false
}
@Watch('file')
onFile() {
this.loading = true
this.base64 = ''
const reader = new FileReader()
reader.onload = () => this.handleBase64(reader.result)
reader.onerror = () => this.handleBase64('[An error as occurred]')
reader.readAsDataURL(this.file)
if (this.file) {
this.loading = true
this.base64 = ''
const reader = new FileReader()
reader.onload = () => this.handleBase64(reader.result as string)
reader.onerror = () => this.handleBase64('[An error as occurred]')
reader.readAsDataURL(this.file)
}
}
}

View file

@ -46,7 +46,7 @@
import {Component} from 'nuxt-property-decorator'
import {CopyableMixin} from '@/mixins/copyable.mixin'
import Tool from '@/components/Tool.vue'
import {ToolConfig} from '@/types/ToolConfig'
import type {ToolConfig} from '@/types/ToolConfig'
import CryptoJS from 'crypto-js'
const algos = {

View file

@ -32,8 +32,7 @@ import {Component} from 'nuxt-property-decorator'
import CryptoJS from 'crypto-js'
import {CopyableMixin} from '~/mixins/copyable.mixin'
import Tool from '~/components/Tool.vue'
import {ToolConfig} from '~/types/ToolConfig'
import type {ToolConfig} from '~/types/ToolConfig'
const algos = {
MD5: CryptoJS.MD5,
SHA1: CryptoJS.SHA1,

View file

@ -29,7 +29,7 @@
<script lang="ts">
import {Component} from 'nuxt-property-decorator'
import Tool from '~/components/Tool.vue'
import {ToolConfig} from '~/types/ToolConfig'
import type {ToolConfig} from '~/types/ToolConfig'
import {CopyableMixin} from '~/mixins/copyable.mixin'
import {shuffle} from '~/utils/string'

View file

@ -32,7 +32,7 @@
import {Component, Ref, Watch} from 'nuxt-property-decorator'
import {CopyableMixin} from '@/mixins/copyable.mixin'
import {ToolConfig} from '@/types/ToolConfig'
import type {ToolConfig} from '@/types/ToolConfig'
import { VTextField } from 'vuetify/lib'
import Tool from '~/components/Tool.vue'

View file

@ -0,0 +1,63 @@
<script lang="ts">
import {Component} from 'nuxt-property-decorator'
import type {ToolConfig} from '@/types/ToolConfig'
import Memo from '~/components/Memo.vue'
@Component
export default class GitMemo extends Memo {
config(): ToolConfig {
return {
title: 'Git memo',
description: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Delectus distinctio dolor dolorum eaque eligendi, facilis impedit laboriosam odit placeat.',
icon: 'mdi-git',
keywords: ['git', 'memo', 'cheat', 'sheet']
}
}
}
</script>
<i18n lang="yaml">
en:
memo:
- section: Titre de la section 1
items:
- text: Tip n°1
- text: Tip n°2 (avec sous titre
subtitle: Un super sous titre
- text: Tip n°3 (avec du code !)
code: rm -rf / --no-preserve-root
- text: Tip n°4 (avec du code et un sous titre !)
code: rm -rf / --no-preserve-root
subtitle: Un super sous titre, yeah
- section: Titre de la section 2
items:
- text: Tip n°1
- text: Tip n°2
- text: Tip n°3 (avec du code !)
code: rm -rf / --no-preserve-root
- text: Tip n°4
- section: Titre de la section 3
items:
- text: Tip n°1
- text: Tip n°2 (avec sous titre
subtitle: Un super sous titre
- text: Tip n°3 (avec du code !)
code: rm -rf / --no-preserve-root
- text: Tip n°4 (avec du code et un sous titre !)
code: rm -rf / --no-preserve-root
subtitle: Un super sous titre, yeah
- section: Titre de la section 4
items:
- text: Tip n°1
- text: Tip n°2 (avec sous titre
subtitle: Un super sous titre
- text: Tip n°3 (avec du code !)
code: rm -rf / --no-preserve-root
- text: Tip n°4 (avec du code et un sous titre !)
code: rm -rf / --no-preserve-root
subtitle: Un super sous titre, yeah
</i18n>