diff --git a/src/constants/index.ts b/src/constants/index.ts index 37a812ce..c8369369 100644 --- a/src/constants/index.ts +++ b/src/constants/index.ts @@ -1,9 +1,10 @@ -export * from './context'; -export * from './itemType'; -export * from './permissionLevel'; export * from './constants'; +export * from './context'; export * from './httpMethod'; -export * from './mentions'; -export * from './limits'; export * from './itemLogin'; +export * from './itemType'; +export * from './limits'; +export * from './mentions'; export * from './mimeTypes'; +export * from './permissionLevel'; +export * from './ui'; diff --git a/src/constants/mimeTypes.ts b/src/constants/mimeTypes.ts index d9cd4c73..3684aa50 100644 --- a/src/constants/mimeTypes.ts +++ b/src/constants/mimeTypes.ts @@ -1,4 +1,4 @@ -const IMAGE = { +const Image = { JPG: 'image/jpg', JPEG: 'image/jpeg', PNG: 'image/png', @@ -6,7 +6,7 @@ const IMAGE = { SVG: 'image/svg+xml', }; -const VIDEO = { +const Video = { MP4: 'video/mp4', // https://stackoverflow.com/questions/15277147/m4v-mimetype-video-mp4-or-video-m4v MP4_Apple: 'video/x-m4v', @@ -15,7 +15,7 @@ const VIDEO = { WEBM: 'video/webm', }; -const AUDIO = { +const Audio = { MPEG: 'audio/mpeg', MP3: 'audio/mp3', WAV: 'audio/wav', @@ -26,15 +26,15 @@ const PDF = 'application/pdf'; const ZIP = 'application/zip'; -export const MIME_TYPES = { - IMAGE, - VIDEO, - AUDIO, +export const MimeTypes = { + Image, + Video, + Audio, PDF, ZIP, - isImage: (mimetype: string) => Object.values(IMAGE).includes(mimetype), - isAudio: (mimetype: string) => Object.values(AUDIO).includes(mimetype), - isVideo: (mimetype: string) => Object.values(VIDEO).includes(mimetype), + isImage: (mimetype: string) => Object.values(Image).includes(mimetype), + isAudio: (mimetype: string) => Object.values(Audio).includes(mimetype), + isVideo: (mimetype: string) => Object.values(Video).includes(mimetype), isPdf: (mimetype: string) => [PDF].includes(mimetype), isZip: (mimetype: string) => [ZIP].includes(mimetype), } as const; diff --git a/src/constants/ui.ts b/src/constants/ui.ts new file mode 100644 index 00000000..dba238ce --- /dev/null +++ b/src/constants/ui.ts @@ -0,0 +1,9 @@ +/** + * Size of Thumbnail to use + */ +export const ThumbnailSize = { + Small: 'small', + Medium: 'medium', + Large: 'large', + Original: 'original', +} as const; diff --git a/src/frontend/ui.ts b/src/frontend/ui.ts index 6bf46f5b..3fb45059 100644 --- a/src/frontend/ui.ts +++ b/src/frontend/ui.ts @@ -1,11 +1,4 @@ -/** - * Size of Thumbnail to use - */ -export const ThumbnailSize = { - SMALL: 'small', - MEDIUM: 'medium', - LARGE: 'large', - ORIGINAL: 'original', -} as const; +import { ThumbnailSize } from '@/constants/ui'; + export type ThumbnailSizeVariant = `${(typeof ThumbnailSize)[keyof typeof ThumbnailSize]}`; diff --git a/src/utils/extra.ts b/src/utils/extra.ts index 54e846f2..4d921825 100644 --- a/src/utils/extra.ts +++ b/src/utils/extra.ts @@ -102,4 +102,5 @@ export const buildShortcutExtra = (target: string): ShortcutItemExtra => ({ // todo: improve extra typing export const buildItemLoginSchemaExtra = ( schema?: ItemLoginSchema, -): { itemLogin?: ItemLogin } => schema ? ({ itemLogin: { loginSchema: schema }, }) : ({}); +): { itemLogin?: ItemLogin } => + schema ? { itemLogin: { loginSchema: schema } } : {};