mirror of https://github.com/nocodb/nocodb
Raju Udava
2 years ago
committed by
GitHub
12 changed files with 356 additions and 118 deletions
@ -0,0 +1,9 @@ |
|||||||
|
<script setup lang="ts"> |
||||||
|
import GithubButton from 'vue-github-button' |
||||||
|
</script> |
||||||
|
|
||||||
|
<template> |
||||||
|
<GithubButton href="https://github.com/nocodb/nocodb" data-icon="octicon-star" :data-show-count="true" data-size="large" |
||||||
|
>Star</GithubButton |
||||||
|
> |
||||||
|
</template> |
@ -0,0 +1,73 @@ |
|||||||
|
<script setup lang="ts"> |
||||||
|
import { enumColor as colors } from '#imports' |
||||||
|
|
||||||
|
const { lang: currentLang } = useGlobal() |
||||||
|
|
||||||
|
const isRtlLang = $computed(() => ['fa'].includes(currentLang.value)) |
||||||
|
</script> |
||||||
|
|
||||||
|
<template> |
||||||
|
<a-list class="w-[300px] pa-3 elevation-4 rounded-xl mr-10" dense> |
||||||
|
<a-list-item class="cursor-pointer"> |
||||||
|
<nuxt-link class="text-primary" to="https://github.com/nocodb/nocodb" target="_blank"> |
||||||
|
<div class="flex items-center text-sm"> |
||||||
|
<mdi-github class="mx-3 text-lg" /> |
||||||
|
<div v-if="isRtlLang"> |
||||||
|
<!-- us on Github --> |
||||||
|
{{ $t('labels.community.starUs2') }} |
||||||
|
<!-- Star --> |
||||||
|
{{ $t('labels.community.starUs1') }} |
||||||
|
<mdi-star-outline /> |
||||||
|
</div> |
||||||
|
<div v-else class="flex items-center"> |
||||||
|
<!-- Star --> |
||||||
|
{{ $t('labels.community.starUs1') }} |
||||||
|
<mdi-star-outline class="mx-1" /> |
||||||
|
<!-- us on Github --> |
||||||
|
{{ $t('labels.community.starUs2') }} |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</nuxt-link> |
||||||
|
</a-list-item> |
||||||
|
<a-list-item> |
||||||
|
<nuxt-link class="text-primary" to="https://calendly.com/nocodb-meeting" target="_blank"> |
||||||
|
<div class="flex items-center text-sm"> |
||||||
|
<mdi-calendar-month class="mx-3 text-lg" :color="colors.dark[3 % colors.dark.length]" /> |
||||||
|
<!-- Book a Free DEMO --> |
||||||
|
<div> |
||||||
|
{{ $t('labels.community.bookDemo') }} |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</nuxt-link> |
||||||
|
</a-list-item> |
||||||
|
<a-list-item> |
||||||
|
<nuxt-link class="text-primary" to="https://discord.gg/5RgZmkW" target="_blank"> |
||||||
|
<div class="flex items-center text-sm"> |
||||||
|
<mdi-discord class="mx-3 text-lg" :color="colors.dark[0 % colors.dark.length]" /> |
||||||
|
<!-- Get your questions answered --> |
||||||
|
<div> |
||||||
|
{{ $t('labels.community.getAnswered') }} |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</nuxt-link> |
||||||
|
</a-list-item> |
||||||
|
<a-list-item> |
||||||
|
<nuxt-link class="text-primary" to="https://twitter.com/NocoDB" target="_blank"> |
||||||
|
<div class="flex items-center text-sm"> |
||||||
|
<mdi-twitter class="mx-3 text-lg" :color="colors.dark[1 % colors.dark.length]" /> |
||||||
|
<!-- Follow NocoDB --> |
||||||
|
<div> |
||||||
|
{{ $t('labels.community.followNocodb') }} |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</nuxt-link> |
||||||
|
</a-list-item> |
||||||
|
<a-list-item v-t="['e:hiring']"> |
||||||
|
<nuxt-link class="text-primary" target="_blank" to="http://careers.nocodb.com"> |
||||||
|
<div class="flex items-center text-sm"> |
||||||
|
<div class="ml-3">🚀 <span class="ml-2">We are Hiring!!!</span></div> |
||||||
|
</div> |
||||||
|
</nuxt-link> |
||||||
|
</a-list-item> |
||||||
|
</a-list> |
||||||
|
</template> |
@ -0,0 +1,22 @@ |
|||||||
|
<script setup lang="ts"> |
||||||
|
import { message } from 'ant-design-vue' |
||||||
|
const { api } = useApi() |
||||||
|
|
||||||
|
async function deleteCache() { |
||||||
|
try { |
||||||
|
await api.utils.cacheDelete() |
||||||
|
message.info('Deleted Cache Successfully') |
||||||
|
} catch (e: any) { |
||||||
|
message.error(e.message) |
||||||
|
} |
||||||
|
} |
||||||
|
</script> |
||||||
|
|
||||||
|
<template> |
||||||
|
<a-tooltip> |
||||||
|
<template #title> |
||||||
|
<span> Delete Cache </span> |
||||||
|
</template> |
||||||
|
<mdi-delete class="cursor-pointer mx-3" @click="deleteCache" /> |
||||||
|
</a-tooltip> |
||||||
|
</template> |
@ -0,0 +1,33 @@ |
|||||||
|
<script setup lang="ts"> |
||||||
|
import { message } from 'ant-design-vue' |
||||||
|
import FileSaver from 'file-saver' |
||||||
|
|
||||||
|
const { api } = useApi() |
||||||
|
|
||||||
|
async function exportCache() { |
||||||
|
try { |
||||||
|
const data = await api.utils.cacheGet() |
||||||
|
if (!data) { |
||||||
|
message.info('Cache is empty') |
||||||
|
return |
||||||
|
} |
||||||
|
const blob = new Blob([JSON.stringify(data)], { |
||||||
|
type: 'text/plain;charset=utf-8', |
||||||
|
}) |
||||||
|
FileSaver.saveAs(blob, 'cache_exported.json') |
||||||
|
message.info('Exported Cache Successfully') |
||||||
|
} catch (e: any) { |
||||||
|
message.error(e.message) |
||||||
|
} |
||||||
|
} |
||||||
|
</script> |
||||||
|
|
||||||
|
<template> |
||||||
|
<!-- Export Cache --> |
||||||
|
<a-tooltip> |
||||||
|
<template #title> |
||||||
|
<span> Export Cache </span> |
||||||
|
</template> |
||||||
|
<mdi-export class="cursor-pointer mx-3" @click="exportCache" /> |
||||||
|
</a-tooltip> |
||||||
|
</template> |
Loading…
Reference in new issue