- minimize material ui bundle size: https://material-ui.com/guides/minimizing-bundle-size/#option-2
- get proper border effects using panel component alone
- make redux variables sidebarWidth, viewPanelWidth
- move divider to outside flexbox, position absolutely, dragging uses reducers...
- visual effects on divider drag (toggle visibility, color transitions)
- add new users to default server
- fetch initial data:
- users servers ->
- servers channels ->
- check last messages read / last message posted,
- user info,
- other routes
- info on other users (status, names...) => AS NEEDED
- channel creation
- -> backend
- -> frontend
- server creation
- -> backend
- -> frontend
events that require notifying other users
some are emitted by client, some are result of client hitting a route, and route calling socket event
- message received in channel i have access to
- server made ACTIVE SERVER by client ( become listener )
- user joined server
- channel created / deleted -> called by route...
- message edited
- message deleted
-
add server menu
-
dark backgroud modal looking menu
-
menu name,
-
menu close button
-
menu description
-
menu form,
-
button that's greyed out if invalid entry
-
add channel button
-
channel list (closeable) - icon and channel name list items.
-
add channel button below list
-
add channel button to right of top "channel" label
-
add channel menu
-
everything in server menu
-
channel description text field
-
isPrivate toggle, (channel creation)
- check channel name conflict on channel creation
- [] exclude socketio debug from browser bundle with webpack-remove-debug