import { ViewTypes } from 'nocodb-sdk' import { themeV2Colors } from '#imports' import MdiGridIcon from '~icons/mdi/grid-large' import MdiFormIcon from '~icons/mdi/form-select' import MdiCalendarIcon from '~icons/mdi/calendar' import MdiGalleryIcon from '~icons/mdi/camera-image' import MdiKanbanIcon from '~icons/mdi/tablet-dashboard' import MdiMapIcon from '~icons/mdi/map-outline' import MdiEyeIcon from '~icons/mdi/eye-circle-outline' import type { Language } from '~/lib' export const viewIcons: Record = { [ViewTypes.GRID]: { icon: MdiGridIcon, color: '#8f96f2' }, [ViewTypes.FORM]: { icon: MdiFormIcon, color: themeV2Colors.pink['500'] }, calendar: { icon: MdiCalendarIcon, color: 'purple' }, [ViewTypes.GALLERY]: { icon: MdiGalleryIcon, color: 'orange' }, [ViewTypes.MAP]: { icon: MdiMapIcon, color: 'blue' }, [ViewTypes.KANBAN]: { icon: MdiKanbanIcon, color: 'green' }, view: { icon: MdiEyeIcon, color: 'blue' }, } export const viewTypeAlias: Record = { [ViewTypes.GRID]: 'grid', [ViewTypes.FORM]: 'form', [ViewTypes.GALLERY]: 'gallery', [ViewTypes.KANBAN]: 'kanban', [ViewTypes.MAP]: 'map', } export const isRtlLang = (lang: keyof typeof Language) => ['fa', 'ar'].includes(lang) const rtl = 'rtl' as const const ltr = 'ltr' as const export function applyLanguageDirection(dir: typeof rtl | typeof ltr) { const oppositeDirection = dir === ltr ? rtl : ltr document.body.classList.remove(oppositeDirection) document.body.classList.add(dir) document.body.style.direction = dir } export const getViewIcon = (key?: string | number) => { if (!key) return return viewIcons[key] }