2023-01-08 15:21:09 +09:00
|
|
|
import type { mastodon } from 'masto'
|
2023-01-04 19:21:18 +09:00
|
|
|
import type { MarkNonNullable, Mutable } from './utils'
|
2024-02-24 21:24:21 +09:00
|
|
|
import type { RouteLocationRaw } from '#vue-router'
|
2022-11-16 00:48:23 +09:00
|
|
|
|
|
|
|
export interface AppInfo {
|
|
|
|
id: string
|
|
|
|
name: string
|
|
|
|
website: string | null
|
|
|
|
redirect_uri: string
|
|
|
|
client_id: string
|
|
|
|
client_secret: string
|
|
|
|
vapid_key: string
|
|
|
|
}
|
|
|
|
|
|
|
|
export interface UserLogin {
|
|
|
|
server: string
|
2022-11-30 05:51:52 +09:00
|
|
|
token?: string
|
2023-01-08 15:21:09 +09:00
|
|
|
account: mastodon.v1.AccountCredentials
|
2022-12-18 08:29:16 +09:00
|
|
|
vapidKey?: string
|
2023-01-08 15:21:09 +09:00
|
|
|
pushSubscription?: mastodon.v1.WebPushSubscription
|
2022-11-16 00:48:23 +09:00
|
|
|
}
|
2022-11-17 01:11:08 +09:00
|
|
|
|
2022-11-17 16:35:42 +09:00
|
|
|
export type PaginatorState = 'idle' | 'loading' | 'done' | 'error'
|
2022-11-21 15:55:31 +09:00
|
|
|
|
2022-11-30 09:47:54 +09:00
|
|
|
export interface GroupedNotifications {
|
|
|
|
id: string
|
2023-01-09 21:23:15 +09:00
|
|
|
type: 'grouped-follow'
|
2023-01-08 15:21:09 +09:00
|
|
|
items: mastodon.v1.Notification[]
|
2022-11-30 09:47:54 +09:00
|
|
|
}
|
2022-11-30 13:50:29 +09:00
|
|
|
|
2022-12-12 07:40:40 +09:00
|
|
|
export interface GroupedAccountLike {
|
2023-01-08 15:21:09 +09:00
|
|
|
account: mastodon.v1.Account
|
|
|
|
favourite?: mastodon.v1.Notification
|
|
|
|
reblog?: mastodon.v1.Notification
|
2022-12-12 07:40:40 +09:00
|
|
|
}
|
|
|
|
|
|
|
|
export interface GroupedLikeNotifications {
|
|
|
|
id: string
|
|
|
|
type: 'grouped-reblogs-and-favourites'
|
2023-01-08 15:21:09 +09:00
|
|
|
status: mastodon.v1.Status
|
2022-12-12 07:40:40 +09:00
|
|
|
likes: GroupedAccountLike[]
|
|
|
|
}
|
|
|
|
|
2023-01-08 15:21:09 +09:00
|
|
|
export type NotificationSlot = GroupedNotifications | GroupedLikeNotifications | mastodon.v1.Notification
|
2022-12-12 07:40:40 +09:00
|
|
|
|
2022-11-30 13:50:29 +09:00
|
|
|
export type TranslateFn = ReturnType<typeof useI18n>['t']
|
2022-12-13 23:03:30 +09:00
|
|
|
|
2024-04-08 18:53:26 +09:00
|
|
|
export interface DraftItem {
|
2023-01-08 15:21:09 +09:00
|
|
|
editingStatus?: mastodon.v1.Status
|
2022-12-13 23:03:30 +09:00
|
|
|
initialText?: string
|
2024-01-09 17:56:15 +09:00
|
|
|
params: MarkNonNullable<Mutable<Omit<mastodon.rest.v1.CreateStatusParams, 'poll'>>, 'status' | 'language' | 'sensitive' | 'spoilerText' | 'visibility'> & { poll: Mutable<mastodon.rest.v1.CreateStatusParams['poll']> }
|
2023-01-08 15:21:09 +09:00
|
|
|
attachments: mastodon.v1.MediaAttachment[]
|
2023-01-06 00:42:36 +09:00
|
|
|
lastUpdated: number
|
2023-01-13 09:33:04 +09:00
|
|
|
mentions?: string[]
|
2022-12-13 23:03:30 +09:00
|
|
|
}
|
2023-01-13 09:33:04 +09:00
|
|
|
|
2024-04-08 18:53:26 +09:00
|
|
|
export type DraftMap = Record<string, Array<DraftItem>
|
|
|
|
// For backward compatibility we need to support single draft items
|
|
|
|
| DraftItem>
|
2022-12-27 04:33:19 +09:00
|
|
|
|
2024-03-09 18:52:41 +09:00
|
|
|
export interface ConfirmDialogOptions {
|
2023-01-07 17:55:01 +09:00
|
|
|
title: string
|
|
|
|
description?: string
|
|
|
|
confirm?: string
|
|
|
|
cancel?: string
|
2024-03-09 18:52:41 +09:00
|
|
|
extraOptionType?: 'mute'
|
|
|
|
}
|
|
|
|
export interface ConfirmDialogChoice {
|
|
|
|
choice: 'confirm' | 'cancel'
|
|
|
|
extraOptions?: {
|
|
|
|
mute: {
|
|
|
|
duration: number
|
|
|
|
notifications: boolean
|
|
|
|
}
|
|
|
|
}
|
2023-01-07 17:55:01 +09:00
|
|
|
}
|
|
|
|
|
2024-02-24 21:24:21 +09:00
|
|
|
export interface CommonRouteTabOption {
|
|
|
|
to: RouteLocationRaw
|
|
|
|
display: string
|
|
|
|
disabled?: boolean
|
|
|
|
name?: string
|
|
|
|
icon?: string
|
|
|
|
hide?: boolean
|
|
|
|
match?: boolean
|
|
|
|
}
|
|
|
|
export interface CommonRouteTabMoreOption {
|
|
|
|
options: CommonRouteTabOption[]
|
|
|
|
icon?: string
|
|
|
|
tooltip?: string
|
|
|
|
match?: boolean
|
|
|
|
}
|
|
|
|
|
2023-02-05 21:10:19 +09:00
|
|
|
export interface ErrorDialogData {
|
|
|
|
title: string
|
|
|
|
messages: string[]
|
|
|
|
close: string
|
|
|
|
}
|
|
|
|
|
2022-12-27 04:33:19 +09:00
|
|
|
export interface BuildInfo {
|
|
|
|
version: string
|
|
|
|
commit: string
|
2023-02-23 20:17:28 +09:00
|
|
|
shortCommit: string
|
2022-12-27 04:33:19 +09:00
|
|
|
time: number
|
|
|
|
branch: string
|
2023-01-07 01:20:12 +09:00
|
|
|
env: 'preview' | 'canary' | 'dev' | 'release'
|
2022-12-27 04:33:19 +09:00
|
|
|
}
|