mirror of https://github.com/nocodb/nocodb
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
199 lines
5.8 KiB
199 lines
5.8 KiB
<script setup lang="ts"> |
|
import { enumColor as colors } from '#imports' |
|
|
|
const { $e } = useNuxtApp() |
|
|
|
const { lang: currentLang } = useGlobal() |
|
|
|
const isRtlLang = computed(() => ['fa', 'ar'].includes(currentLang.value)) |
|
|
|
function openKeyboardShortcutDialog() { |
|
$e('a:actions:keyboard-shortcut') |
|
|
|
const isOpen = ref(true) |
|
|
|
const { close } = useDialog(resolveComponent('DlgKeyboardShortcuts'), { |
|
'modelValue': isOpen, |
|
'onUpdate:modelValue': closeDialog, |
|
}) |
|
|
|
function closeDialog() { |
|
isOpen.value = false |
|
close(1000) |
|
} |
|
} |
|
</script> |
|
|
|
<template> |
|
<a-card :body-style="{ padding: '0px' }" class="w-[300px] shadow-sm !rounded-lg"> |
|
<a-list class="w-full" dense> |
|
<slot name="before" /> |
|
|
|
<a-list-item> |
|
<nuxt-link |
|
v-e="['e:docs']" |
|
no-prefetch |
|
rel="noopener" |
|
class="text-primary !no-underline !text-current" |
|
target="_blank" |
|
to="https://docs.nocodb.com/" |
|
> |
|
<div class="ml-3 flex items-center text-sm"> |
|
<component :is="iconMap.book" class="text-lg text-accent" /> |
|
<span class="ml-3">{{ $t('labels.documentation') }}</span> |
|
</div> |
|
</nuxt-link> |
|
</a-list-item> |
|
|
|
<a-list-item> |
|
<nuxt-link |
|
v-e="['e:api-docs']" |
|
no-prefetch |
|
rel="noopener" |
|
class="text-primary !no-underline !text-current" |
|
target="_blank" |
|
to="https://apis.nocodb.com/" |
|
> |
|
<div class="ml-3 flex items-center text-sm"> |
|
<component :is="iconMap.json" class="text-lg text-green-500" /> |
|
<!-- todo: i18n --> |
|
<span class="ml-3">API {{ $t('labels.documentation') }}</span> |
|
</div> |
|
</nuxt-link> |
|
</a-list-item> |
|
|
|
<a-list-item> |
|
<nuxt-link |
|
v-e="['e:community:github']" |
|
no-prefetch |
|
no-rel |
|
class="text-primary !no-underline !text-current" |
|
to="https://github.com/nocodb/nocodb" |
|
target="_blank" |
|
> |
|
<div class="flex items-center text-sm"> |
|
<component :is="iconMap.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') }} |
|
{{ ' ' }} |
|
<!-- us on Github --> |
|
{{ $t('labels.community.starUs2') }} |
|
</div> |
|
</div> |
|
</nuxt-link> |
|
</a-list-item> |
|
|
|
<a-list-item> |
|
<nuxt-link |
|
v-e="['e:community:book-demo']" |
|
no-prefetch |
|
no-rel |
|
class="!no-underline !text-current" |
|
to="https://calendly.com/nocodb-meeting" |
|
target="_blank" |
|
> |
|
<div class="flex items-center text-sm"> |
|
<component :is="iconMap.calendar" 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 |
|
v-e="['e:community:discord']" |
|
no-prefetch |
|
no-rel |
|
class="!no-underline !text-current" |
|
to="https://discord.gg/5RgZmkW" |
|
target="_blank" |
|
> |
|
<div class="flex items-center text-sm"> |
|
<component :is="iconMap.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 |
|
v-e="['e:community:twitter']" |
|
no-prefetch |
|
no-rel |
|
class="!no-underline !text-current" |
|
to="https://twitter.com/NocoDB" |
|
target="_blank" |
|
> |
|
<div class="flex items-center text-sm"> |
|
<component :is="iconMap.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> |
|
<nuxt-link |
|
v-e="['e:hiring']" |
|
no-prefetch |
|
rel="noopener" |
|
class="!no-underline !text-current" |
|
target="_blank" |
|
to="http://careers.nocodb.com" |
|
> |
|
<div class="flex items-center text-sm"> |
|
<!-- todo: i18n --> |
|
<div class="ml-3"> |
|
🚀 <span class="ml-3">{{ $t('labels.weAreHiring') }}!!!</span> |
|
</div> |
|
</div> |
|
</nuxt-link> |
|
</a-list-item> |
|
|
|
<a-list-item> |
|
<nuxt-link |
|
v-e="['e:community:reddit']" |
|
no-prefetch |
|
no-rel |
|
class="!no-underline !text-current" |
|
target="_blank" |
|
to="https://www.reddit.com/r/NocoDB/" |
|
> |
|
<div class="ml-3 flex items-center text-sm"> |
|
<component :is="iconMap.reddit" color="red" /> |
|
<span class="ml-4">/r/NocoDB/</span> |
|
</div> |
|
</nuxt-link> |
|
</a-list-item> |
|
|
|
<a-list-item @click="openKeyboardShortcutDialog"> |
|
<div class="ml-3 flex items-center text-sm cursor-pointer"> |
|
<component :is="iconMap.keyboard" class="text-lg text-primary" /> |
|
<span class="ml-4">{{ $t('title.keyboardShortcut') }}</span> |
|
</div> |
|
</a-list-item> |
|
</a-list> |
|
</a-card> |
|
</template> |
|
|
|
<style scoped> |
|
:deep(.ant-list-item) { |
|
@apply hover:(bg-gray-100 !text-primary); |
|
} |
|
</style>
|
|
|