69f0cfdc54
* Get @mention in model * Add autocomplete logic * Get accounts to autocomplete from the server * Add autocomplete css * Check if we should show menu on account search * Add keyboard events * Update status with completed username * Trigger autocomplete when getting accounts back * Highlight choices on hover * Put focus on textarea after updating it * Fix clear draft * Hit the server only on non empty query * Lazzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy * Add missing lazy * Add keyboard subscriptions * Add images and display name * Better menu visibility handling * Add lazy to notifications * Js formatting. * Improve styles. * Add unique keys to costly lists. * Fix tests. * Coding style nits. * Use the encodeUrl helper in ApiUrl. * Nanonit. * Improve autocomplete box styling. * CamelCase draft record * Move all autocomplete stuff to Draft * Send status to ports with the reply prefix. * Clear draft after posting a status. * Move ports setStatus call to a dedicated Command helper. * Naming. * Fix navigation with arrow keys in textarea * Always autoselect the first item of the menu
261 lines
6.2 KiB
Elm
261 lines
6.2 KiB
Elm
module Fixtures exposing (..)
|
|
|
|
import Mastodon.Model exposing (..)
|
|
|
|
|
|
accountSkro : Account
|
|
accountSkro =
|
|
{ acct = "SkroZoC"
|
|
, avatar = ""
|
|
, created_at = "2017-04-24T20:25:37.398Z"
|
|
, display_name = "Skro"
|
|
, followers_count = 77
|
|
, following_count = 80
|
|
, header = ""
|
|
, id = 1391
|
|
, locked = False
|
|
, note = "Skro note"
|
|
, statuses_count = 161
|
|
, url = "https://mamot.fr/@SkroZoC"
|
|
, username = "SkroZoC"
|
|
}
|
|
|
|
|
|
accountVjousse : Account
|
|
accountVjousse =
|
|
{ acct = "vjousse"
|
|
, avatar = ""
|
|
, created_at = "2017-04-20T14:31:05.751Z"
|
|
, display_name = "Vincent Jousse"
|
|
, followers_count = 68
|
|
, following_count = 31
|
|
, header = ""
|
|
, id = 26303
|
|
, locked = False
|
|
, note = "Vjousse note"
|
|
, statuses_count = 88
|
|
, url = "https://mamot.fr/@vjousse"
|
|
, username = "vjousse"
|
|
}
|
|
|
|
|
|
accountNico : Account
|
|
accountNico =
|
|
{ acct = "n1k0"
|
|
, avatar = ""
|
|
, created_at = "2017-04-14T08:28:59.706Z"
|
|
, display_name = "NiKo`"
|
|
, followers_count = 162
|
|
, following_count = 79
|
|
, header = ""
|
|
, id = 17784
|
|
, locked = False
|
|
, note = "Niko note"
|
|
, statuses_count = 358
|
|
, url = "https://mamot.fr/@n1k0"
|
|
, username = "n1k0"
|
|
}
|
|
|
|
|
|
accountPloum : Account
|
|
accountPloum =
|
|
{ acct = "ploum"
|
|
, avatar = ""
|
|
, created_at = "2017-04-08T09:37:34.931Z"
|
|
, display_name = "ploum"
|
|
, followers_count = 1129
|
|
, following_count = 91
|
|
, header = ""
|
|
, id = 6840
|
|
, locked = False
|
|
, note = "Ploum note"
|
|
, statuses_count = 601
|
|
, url = "https://mamot.fr/@ploum"
|
|
, username = "ploum"
|
|
}
|
|
|
|
|
|
statusNicoToVjousse : Status
|
|
statusNicoToVjousse =
|
|
{ account = accountNico
|
|
, content = "<p>@vjousse coucou</p>"
|
|
, created_at = "2017-04-24T20:16:20.922Z"
|
|
, favourited = Nothing
|
|
, favourites_count = 0
|
|
, id = 737932
|
|
, in_reply_to_account_id = Just 26303
|
|
, in_reply_to_id = Just 737425
|
|
, media_attachments = []
|
|
, mentions =
|
|
[ { id = 26303
|
|
, url = "https://mamot.fr/@vjousse"
|
|
, username = "vjousse"
|
|
, acct = "vjousse"
|
|
}
|
|
]
|
|
, reblog = Nothing
|
|
, reblogged = Nothing
|
|
, reblogs_count = 0
|
|
, sensitive = Just False
|
|
, spoiler_text = ""
|
|
, tags = []
|
|
, uri = "tag:mamot.fr,2017-04-24:objectId=737932:objectType=Status"
|
|
, url = "https://mamot.fr/@n1k0/737932"
|
|
, visibility = "public"
|
|
}
|
|
|
|
|
|
statusNicoToVjousseAgain : Status
|
|
statusNicoToVjousseAgain =
|
|
{ account = accountNico
|
|
, content = "<p>@vjousse recoucou</p>"
|
|
, created_at = "2017-04-25T07:41:23.492Z"
|
|
, favourited = Nothing
|
|
, favourites_count = 0
|
|
, id = 752169
|
|
, in_reply_to_account_id = Just 26303
|
|
, in_reply_to_id = Just 752153
|
|
, media_attachments = []
|
|
, mentions =
|
|
[ { id = 26303
|
|
, url = "https://mamot.fr/@vjousse"
|
|
, username = "vjousse"
|
|
, acct = "vjousse"
|
|
}
|
|
]
|
|
, reblog = Nothing
|
|
, reblogged = Nothing
|
|
, reblogs_count = 0
|
|
, sensitive = Just False
|
|
, spoiler_text = ""
|
|
, tags = []
|
|
, uri = "tag:mamot.fr,2017-04-25:objectId=752169:objectType=Status"
|
|
, url = "https://mamot.fr/@n1k0/752169"
|
|
, visibility = "public"
|
|
}
|
|
|
|
|
|
statusPloumToVjousse : Status
|
|
statusPloumToVjousse =
|
|
{ account = accountPloum
|
|
, content = "<p>hey @vjousse</p>"
|
|
, created_at = "2017-04-25T07:41:23.492Z"
|
|
, favourited = Nothing
|
|
, favourites_count = 0
|
|
, id = 752169
|
|
, in_reply_to_account_id = Nothing
|
|
, in_reply_to_id = Nothing
|
|
, media_attachments = []
|
|
, mentions =
|
|
[ { id = 26303
|
|
, url = "https://mamot.fr/@vjousse"
|
|
, username = "vjousse"
|
|
, acct = "vjousse"
|
|
}
|
|
]
|
|
, reblog = Nothing
|
|
, reblogged = Nothing
|
|
, reblogs_count = 0
|
|
, sensitive = Just False
|
|
, spoiler_text = ""
|
|
, tags = []
|
|
, uri = "tag:mamot.fr,2017-04-25:objectId=752169:objectType=Status"
|
|
, url = "https://mamot.fr/@n1k0/752169"
|
|
, visibility = "public"
|
|
}
|
|
|
|
|
|
statusReblogged : Status
|
|
statusReblogged =
|
|
{ account = accountVjousse
|
|
, content = "<p>fake post</p>"
|
|
, created_at = "2017-04-24T20:16:20.922Z"
|
|
, favourited = Nothing
|
|
, favourites_count = 0
|
|
, id = 737932
|
|
, in_reply_to_account_id = Nothing
|
|
, in_reply_to_id = Nothing
|
|
, media_attachments = []
|
|
, mentions = []
|
|
, reblog = Just (Reblog statusPloumToVjousse)
|
|
, reblogged = Nothing
|
|
, reblogs_count = 0
|
|
, sensitive = Just False
|
|
, spoiler_text = ""
|
|
, tags = []
|
|
, uri = "tag:mamot.fr,2017-04-24:objectId=737932:objectType=Status"
|
|
, url = "https://mamot.fr/@n1k0/737932"
|
|
, visibility = "public"
|
|
}
|
|
|
|
|
|
notificationNicoMentionVjousse : Notification
|
|
notificationNicoMentionVjousse =
|
|
{ id = 224284
|
|
, type_ = "mention"
|
|
, created_at = "2017-04-24T20:16:20.973Z"
|
|
, account = accountNico
|
|
, status = Just statusNicoToVjousse
|
|
}
|
|
|
|
|
|
notificationNicoMentionVjousseAgain : Notification
|
|
notificationNicoMentionVjousseAgain =
|
|
{ id = 226516
|
|
, type_ = "mention"
|
|
, created_at = "2017-04-25T07:41:23.546Z"
|
|
, account = accountNico
|
|
, status = Just statusNicoToVjousseAgain
|
|
}
|
|
|
|
|
|
notificationNicoFollowsVjousse : Notification
|
|
notificationNicoFollowsVjousse =
|
|
{ id = 224257
|
|
, type_ = "follow"
|
|
, created_at = "2017-04-24T20:13:47.431Z"
|
|
, account = accountNico
|
|
, status = Nothing
|
|
}
|
|
|
|
|
|
notificationSkroFollowsVjousse : Notification
|
|
notificationSkroFollowsVjousse =
|
|
{ id = 224
|
|
, type_ = "follow"
|
|
, created_at = "2017-04-24T19:12:47.431Z"
|
|
, account = accountSkro
|
|
, status = Nothing
|
|
}
|
|
|
|
|
|
notificationPloumFollowsVjousse : Notification
|
|
notificationPloumFollowsVjousse =
|
|
{ id = 220
|
|
, type_ = "follow"
|
|
, created_at = "2017-04-24T18:12:47.431Z"
|
|
, account = accountPloum
|
|
, status = Nothing
|
|
}
|
|
|
|
|
|
accounts : List Account
|
|
accounts =
|
|
[ accountSkro, accountVjousse, accountNico ]
|
|
|
|
|
|
notifications : List Notification
|
|
notifications =
|
|
[ notificationNicoMentionVjousse
|
|
, notificationNicoFollowsVjousse
|
|
, notificationSkroFollowsVjousse
|
|
]
|
|
|
|
|
|
duplicateAccountNotifications : List Notification
|
|
duplicateAccountNotifications =
|
|
[ notificationSkroFollowsVjousse
|
|
, notificationSkroFollowsVjousse
|
|
, notificationSkroFollowsVjousse
|
|
]
|