Skip to content

Commit

Permalink
Expand Screen with a base set for Mobile.
Browse files Browse the repository at this point in the history
  • Loading branch information
pixlwave committed Dec 1, 2021
1 parent d21ccab commit e038ca3
Show file tree
Hide file tree
Showing 5 changed files with 263 additions and 36 deletions.
55 changes: 40 additions & 15 deletions schemas/Screen.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,21 +7,46 @@
},
"screenName": {
"type": "string",
"enum": [
"Home",
"Room",
"RoomDirectory",
"User",
"Group",
"MyGroups",
"WebLoading",
"WebWelcome",
"WebLogin",
"WebRegister",
"WebForgotPassword",
"WebCompleteSecurity",
"WebE2ESetup",
"WebSoftLogout"
"oneOf": [
{"const": "Home", "description": "The Home tab on iOS | possibly the same on Android? | The Home space on Web?"},
{"const": "Room", "description": "The screen that displays the messages and events received in a room."},
{"const": "RoomDetails", "description": "The screen shown when tapping the name of a room from the Room screen."},
{"const": "RoomMembers", "description": "The screen that displays the list of members that are part of a room."},
{"const": "User", "description": "A screen that shows information about a room member."},
{"const": "RoomSearch", "description": "The screen that allows you to search for messages/files in a specific room."},
{"const": "RoomUploads", "description": "The screen that allows you to see all of the files sent in a specific room."},
{"const": "RoomSettings", "description": "The settings screen shown from the Room Details screen."},
{"const": "RoomNotifications", "description": "The notifications settings screen shown from the Room Details screen."},
{"const": "RoomDirectory", "description": "The screen that lists public rooms for you to discover."},
{"const": "StartChat", "description": "The screen shown to create a new (non-direct) room."},
{"const": "CreateRoom", "description": "The screen shown to create a new (non-direct) room."},
{"const": "Settings", "description": "The global settings screen shown in the app."},
{"const": "SettingsSecurity", "description": "The global security settings screen."},
{"const": "SettingsDefaultNotifications", "description": "The settings screen to change the default notification options."},
{"const": "SettingsMentionsAndKeywords", "description": "The settings screen to manage notification mentions and keywords."},
{"const": "DeactivateAccount", "description": "The confirmation screen shown before deactivating an account."},
{"const": "Group", "description": "Legacy: The screen that shows information about a specific group."},
{"const": "MyGroups", "description": "Legacy: The screen that shows all groups/communities you have joined."},

{"const": "MobileSidebar", "description": "The sidebar shown on mobile with spaces, settings etc."},
{"const": "MobileFavourites", "description": "The Favourites tab on mobile that lists your favourite people/rooms."},
{"const": "MobilePeople", "description": "The People tab on mobile that lists all the DM rooms you have joined."},
{"const": "MobileRooms", "description": "The Rooms tab on mobile that lists all the (non-direct) rooms you've joined."},
{"const": "MobileSearchRooms", "description": "The Rooms tab shown in the global search screen on Mobile."},
{"const": "MobileSearchMessages", "description": "The Messages tab shown in the global search screen on Mobile."},
{"const": "MobileSearchPeople", "description": "The People tab shown in the global search screen on Mobile."},
{"const": "MobileSearchFiles", "description": "The Files tab shown in the global search screen on Mobile."},
{"const": "MobileSwitchDirectory", "description": "The screen shown to select which room directory you'd like to use."},
{"const": "MobileInviteFriends", "description": "The screen shown to share a link to download the app."},

{"const": "WebLoading", "description": "?"},
{"const": "WebWelcome", "description": "?"},
{"const": "WebLogin", "description": "?"},
{"const": "WebRegister", "description": "?"},
{"const": "WebForgotPassword", "description": "?"},
{"const": "WebCompleteSecurity", "description": "?"},
{"const": "WebE2ESetup", "description": "?"},
{"const": "WebSoftLogout", "description": "?"}
]
},
"durationMs": {
Expand Down
19 changes: 1 addition & 18 deletions types/kotlin/Screen.kt
Original file line number Diff line number Diff line change
Expand Up @@ -10,26 +10,9 @@ data class Screen (
val durationMS: Long? = null,

val eventName: EventName,
val screenName: ScreenName
val screenName: String
)

enum class EventName {
Screen
}

enum class ScreenName {
Group,
Home,
MyGroups,
Room,
RoomDirectory,
User,
WebCompleteSecurity,
WebE2ESetup,
WebForgotPassword,
WebLoading,
WebLogin,
WebRegister,
WebSoftLogout,
WebWelcome
}
134 changes: 134 additions & 0 deletions types/kotlin2/Screen.kt
Original file line number Diff line number Diff line change
Expand Up @@ -33,19 +33,153 @@ data class Screen(
) : VectorAnalyticsScreen {

enum class ScreenName {
/**
* The screen shown to create a new (non-direct) room.
*/
CreateRoom,
/**
* The confirmation screen shown before deactivating an account.
*/
DeactivateAccount,
/**
* Legacy: The screen that shows information about a specific group.
*/
Group,
/**
* The Home tab on iOS | possibly the same on Android? | The Home space on Web?
*/
Home,
/**
* The Favourites tab on mobile that lists your favourite people/rooms.
*/
MobileFavourites,
/**
* The screen shown to share a link to download the app.
*/
MobileInviteFriends,
/**
* The People tab on mobile that lists all the DM rooms you have joined.
*/
MobilePeople,
/**
* The Rooms tab on mobile that lists all the (non-direct) rooms you've joined.
*/
MobileRooms,
/**
* The Files tab shown in the global search screen on Mobile.
*/
MobileSearchFiles,
/**
* The Messages tab shown in the global search screen on Mobile.
*/
MobileSearchMessages,
/**
* The People tab shown in the global search screen on Mobile.
*/
MobileSearchPeople,
/**
* The Rooms tab shown in the global search screen on Mobile.
*/
MobileSearchRooms,
/**
* The sidebar shown on mobile with spaces, settings etc.
*/
MobileSidebar,
/**
* The screen shown to select which room directory you'd like to use.
*/
MobileSwitchDirectory,
/**
* Legacy: The screen that shows all groups/communities you have joined.
*/
MyGroups,
/**
* The screen that displays the messages and events received in a room.
*/
Room,
/**
* The screen shown when tapping the name of a room from the Room screen.
*/
RoomDetails,
/**
* The screen that lists public rooms for you to discover.
*/
RoomDirectory,
/**
* The screen that displays the list of members that are part of a room.
*/
RoomMembers,
/**
* The notifications settings screen shown from the Room Details screen.
*/
RoomNotifications,
/**
* The screen that allows you to search for messages/files in a specific room.
*/
RoomSearch,
/**
* The settings screen shown from the Room Details screen.
*/
RoomSettings,
/**
* The screen that allows you to see all of the files sent in a specific room.
*/
RoomUploads,
/**
* The global settings screen shown in the app.
*/
Settings,
/**
* The settings screen to change the default notification options.
*/
SettingsDefaultNotifications,
/**
* The settings screen to manage notification mentions and keywords.
*/
SettingsMentionsAndKeywords,
/**
* The global security settings screen.
*/
SettingsSecurity,
/**
* The screen shown to create a new (non-direct) room.
*/
StartChat,
/**
* A screen that shows information about a room member.
*/
User,
/**
* ?
*/
WebCompleteSecurity,
/**
* ?
*/
WebE2ESetup,
/**
* ?
*/
WebForgotPassword,
/**
* ?
*/
WebLoading,
/**
* ?
*/
WebLogin,
/**
* ?
*/
WebRegister,
/**
* ?
*/
WebSoftLogout,
/**
* ?
*/
WebWelcome,
}

Expand Down
60 changes: 60 additions & 0 deletions types/swift/Screen.swift
Original file line number Diff line number Diff line change
Expand Up @@ -33,19 +33,79 @@ extension AnalyticsEvent {
}

public enum ScreenName: String {
/// The screen shown to create a new (non-direct) room.
case CreateRoom
/// The confirmation screen shown before deactivating an account.
case DeactivateAccount
/// Legacy: The screen that shows information about a specific group.
case Group
/// The Home tab on iOS | possibly the same on Android? | The Home space on Web?
case Home
/// The Favourites tab on mobile that lists your favourite people/rooms.
case MobileFavourites
/// The screen shown to share a link to download the app.
case MobileInviteFriends
/// The People tab on mobile that lists all the DM rooms you have joined.
case MobilePeople
/// The Rooms tab on mobile that lists all the (non-direct) rooms you've joined.
case MobileRooms
/// The Files tab shown in the global search screen on Mobile.
case MobileSearchFiles
/// The Messages tab shown in the global search screen on Mobile.
case MobileSearchMessages
/// The People tab shown in the global search screen on Mobile.
case MobileSearchPeople
/// The Rooms tab shown in the global search screen on Mobile.
case MobileSearchRooms
/// The sidebar shown on mobile with spaces, settings etc.
case MobileSidebar
/// The screen shown to select which room directory you'd like to use.
case MobileSwitchDirectory
/// Legacy: The screen that shows all groups/communities you have joined.
case MyGroups
/// The screen that displays the messages and events received in a room.
case Room
/// The screen shown when tapping the name of a room from the Room screen.
case RoomDetails
/// The screen that lists public rooms for you to discover.
case RoomDirectory
/// The screen that displays the list of members that are part of a room.
case RoomMembers
/// The notifications settings screen shown from the Room Details screen.
case RoomNotifications
/// The screen that allows you to search for messages/files in a specific room.
case RoomSearch
/// The settings screen shown from the Room Details screen.
case RoomSettings
/// The screen that allows you to see all of the files sent in a specific room.
case RoomUploads
/// The global settings screen shown in the app.
case Settings
/// The settings screen to change the default notification options.
case SettingsDefaultNotifications
/// The settings screen to manage notification mentions and keywords.
case SettingsMentionsAndKeywords
/// The global security settings screen.
case SettingsSecurity
/// The screen shown to create a new (non-direct) room.
case StartChat
/// A screen that shows information about a room member.
case User
/// ?
case WebCompleteSecurity
/// ?
case WebE2ESetup
/// ?
case WebForgotPassword
/// ?
case WebLoading
/// ?
case WebLogin
/// ?
case WebRegister
/// ?
case WebSoftLogout
/// ?
case WebWelcome
}

Expand Down
31 changes: 28 additions & 3 deletions types/typescript/Screen.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,21 +10,46 @@
*/
export interface Screen {
eventName: "Screen";
screenName:
screenName: (
| "Home"
| "Room"
| "RoomDirectory"
| "RoomDetails"
| "RoomMembers"
| "User"
| "RoomSearch"
| "RoomUploads"
| "RoomSettings"
| "RoomNotifications"
| "RoomDirectory"
| "StartChat"
| "CreateRoom"
| "Settings"
| "SettingsSecurity"
| "SettingsDefaultNotifications"
| "SettingsMentionsAndKeywords"
| "DeactivateAccount"
| "Group"
| "MyGroups"
| "MobileSidebar"
| "MobileFavourites"
| "MobilePeople"
| "MobileRooms"
| "MobileSearchRooms"
| "MobileSearchMessages"
| "MobileSearchPeople"
| "MobileSearchFiles"
| "MobileSwitchDirectory"
| "MobileInviteFriends"
| "WebLoading"
| "WebWelcome"
| "WebLogin"
| "WebRegister"
| "WebForgotPassword"
| "WebCompleteSecurity"
| "WebE2ESetup"
| "WebSoftLogout";
| "WebSoftLogout"
) &
string;
/**
* How long the screen was displayed for in milliseconds.
*/
Expand Down

0 comments on commit e038ca3

Please sign in to comment.