topics are now correctly alphanumerically sorted with browsers localeCompre option "numeric: true"

This commit is contained in:
كارل مبارك 2021-10-21 13:03:53 +02:00
parent f2e705950f
commit 069859d583

View file

@ -133,21 +133,21 @@ export default createStore({
strict: process.env.NODE_ENV !== 'production', strict: process.env.NODE_ENV !== 'production',
state: { state: {
isMobile: false, isMobile : false,
streams: [], streams : [],
currentStream: {}, currentStream : {},
rules: [], rules : [],
topics: [], topics : [],
pubStr: 'pub-', pubStr : 'pub-',
}, },
mutations: { mutations: {
setMobile: (state, mobile) => state.isMobile = mobile, setMobile : (state, mobile) => state.isMobile = mobile,
setStreams: (state, streams) => state.streams = streams, setStreams : (state, streams) => state.streams = streams,
setCurStream: (state, stream) => state.currentStream = stream, setCurStream : (state, stream) => state.currentStream = stream,
setTopics: (state, topics) => state.topics = topics, setTopics : (state, topics) => state.topics = topics,
addMessage: (state, message) => { addMessage : (state, message) => {
if (message.content.startsWith('@_**')) { if (message.content.startsWith('@_**')) {
handleMDReply(message) handleMDReply(message)
} else if ( } else if (
@ -253,14 +253,25 @@ export default createStore({
}, },
getters: { getters: {
rules: state => state.rules, rules: state => state.rules,
sortedTopics: state => (
filteredTopics: state => (
[...state.topics] [...state.topics]
.sort((a, b) => a.title.localeCompare(b.title)) .filter(t => (
.filter(t => ( t.messages.length > 0 &&
t.messages.length > 0 && t.title != 'stream events'
t.title != 'stream events' ))
)) ),
sortedTopics: (state, getters) => (
getters.filteredTopics
.sort((a,b) =>
a.title.localeCompare(b.title, undefined, {
numeric : true,
sensitivity : 'base'
})
)
) )
} }