2016-07-20 18:45:28 +00:00
|
|
|
import store from './store'
|
2016-07-07 18:20:22 +00:00
|
|
|
|
2017-04-24 02:27:21 +00:00
|
|
|
const DEFAULTS = [
|
|
|
|
'+1',
|
|
|
|
'grinning',
|
|
|
|
'kissing_heart',
|
|
|
|
'heart_eyes',
|
|
|
|
'laughing',
|
|
|
|
'stuck_out_tongue_winking_eye',
|
|
|
|
'sweat_smile',
|
|
|
|
'joy',
|
|
|
|
'scream',
|
|
|
|
'disappointed',
|
|
|
|
'unamused',
|
|
|
|
'weary',
|
|
|
|
'sob',
|
|
|
|
'sunglasses',
|
|
|
|
'heart',
|
|
|
|
'poop',
|
|
|
|
]
|
2017-04-19 13:30:56 +00:00
|
|
|
|
|
|
|
let frequently = store.get('frequently')
|
2016-07-07 18:20:22 +00:00
|
|
|
|
|
|
|
function add(emoji) {
|
|
|
|
var { id } = emoji
|
|
|
|
|
2017-04-24 02:27:21 +00:00
|
|
|
frequently || (frequently = {})
|
2016-07-07 18:20:22 +00:00
|
|
|
frequently[id] || (frequently[id] = 0)
|
|
|
|
frequently[id] += 1
|
|
|
|
|
|
|
|
store.set('last', id)
|
|
|
|
store.set('frequently', frequently)
|
|
|
|
}
|
|
|
|
|
2017-04-24 02:27:21 +00:00
|
|
|
function get(perLine) {
|
|
|
|
if (!frequently) {
|
|
|
|
frequently = {}
|
|
|
|
|
|
|
|
Array(perLine).fill('').forEach((_, i) => {
|
|
|
|
frequently[DEFAULTS[i]] = perLine - i
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
var quantity = perLine * 4,
|
|
|
|
sorted = Object.keys(frequently).sort((a, b) => frequently[a] - frequently[b]).reverse(),
|
2016-07-07 18:20:22 +00:00
|
|
|
sliced = sorted.slice(0, quantity),
|
|
|
|
last = store.get('last')
|
|
|
|
|
|
|
|
if (last && sliced.indexOf(last) == -1) {
|
|
|
|
sliced.pop()
|
|
|
|
sliced.push(last)
|
|
|
|
}
|
|
|
|
|
|
|
|
return sliced
|
|
|
|
}
|
|
|
|
|
|
|
|
export default { add, get }
|