@@ -27,42 +27,66 @@ export default defineEventHandler(async (event) => {
27
27
type : 'session' ,
28
28
title : 'Session' ,
29
29
list : speakers
30
- . filter ( ( speaker : Speaker ) => {
31
- if ( process . env . NODE_ENV === 'production' ) return speaker . session_type === 'session' && speaker . is_open === true
32
- return speaker . session_type === 'session'
33
- } )
30
+ . filter ( speaker => speaker . session_type === 'session' && speaker . display_order !== null )
34
31
. sort ( ( a : Speaker , b : Speaker ) => {
35
32
if ( b . display_order && a . display_order ) return a . display_order - b . display_order
36
- return a . created_at < b . created_at ? - 1 : 1
37
- } ) ,
33
+ return 1
34
+ } )
35
+ . concat (
36
+ speakers
37
+ . filter ( ( speaker : Speaker ) => {
38
+ if ( process . env . NODE_ENV === 'production' ) return speaker . session_type === 'session' && speaker . is_open === true
39
+ return speaker . session_type === 'session'
40
+ } )
41
+ . filter ( s => s . display_order === null )
42
+ . sort ( ( a : Speaker , b : Speaker ) => {
43
+ return a . created_at < b . created_at ? - 1 : 1
44
+ } ) ,
45
+ ) ,
38
46
}
39
47
40
48
const lightningTalkSpeakers : SpeakerInfo = {
41
49
type : 'lightning-talk' ,
42
50
title : 'Lightning talk' ,
43
51
list : speakers
44
- . filter ( ( speaker : Speaker ) => {
45
- if ( process . env . NODE_ENV === 'production' ) return speaker . session_type === 'lightning-talk' && speaker . is_open === true
46
- return speaker . session_type === 'lightning-talk'
47
- } )
52
+ . filter ( speaker => speaker . session_type === 'lightning-talk' && speaker . display_order !== null )
48
53
. sort ( ( a : Speaker , b : Speaker ) => {
49
54
if ( b . display_order && a . display_order ) return a . display_order - b . display_order
50
- return a . created_at < b . created_at ? - 1 : 1
51
- } ) ,
55
+ return 1
56
+ } )
57
+ . concat (
58
+ speakers
59
+ . filter ( ( speaker : Speaker ) => {
60
+ if ( process . env . NODE_ENV === 'production' ) return speaker . session_type === 'lightning-talk' && speaker . is_open === true
61
+ return speaker . session_type === 'lightning-talk'
62
+ } )
63
+ . filter ( s => s . display_order === null )
64
+ . sort ( ( a : Speaker , b : Speaker ) => {
65
+ return a . created_at < b . created_at ? - 1 : 1
66
+ } ) ,
67
+ ) ,
52
68
}
53
69
54
70
const sponsorSessionSpeakers : SpeakerInfo = {
55
71
type : 'sponsor-session' ,
56
72
title : 'Sponsor session' ,
57
73
list : speakers
58
- . filter ( ( speaker : Speaker ) => {
59
- if ( process . env . NODE_ENV === 'production' ) return speaker . session_type === 'sponsor-session' && speaker . is_open === true
60
- return speaker . session_type === 'sponsor-session'
61
- } )
74
+ . filter ( speaker => speaker . session_type === 'sponsor-session' && speaker . display_order !== null )
62
75
. sort ( ( a : Speaker , b : Speaker ) => {
63
76
if ( b . display_order && a . display_order ) return a . display_order - b . display_order
64
- return a . created_at < b . created_at ? - 1 : 1
65
- } ) ,
77
+ return 1
78
+ } )
79
+ . concat (
80
+ speakers
81
+ . filter ( ( speaker : Speaker ) => {
82
+ if ( process . env . NODE_ENV === 'production' ) return speaker . session_type === 'sponsor-session' && speaker . is_open === true
83
+ return speaker . session_type === 'sponsor-session'
84
+ } )
85
+ . filter ( s => s . display_order === null )
86
+ . sort ( ( a : Speaker , b : Speaker ) => {
87
+ return a . created_at < b . created_at ? - 1 : 1
88
+ } ) ,
89
+ ) ,
66
90
}
67
91
68
92
const panelEventPanelers : PanelerInfo = {
0 commit comments