fix(console): refine onboarding styles and behavior, i18n (#5616)

* fix: console onboarding styles and behavior, i18n

* action-row classes

* fix: only consider real user events in the onboarding view (#5617)

* fix(onboarding): only human events

* explicitly exclude system api events

---------

Co-authored-by: Max Peintner <[email protected]>

---------

Co-authored-by: Elio Bischof <[email protected]>
Co-authored-by: Elio Bischof <[email protected]>
This commit is contained in:
Max Peintner
2023-04-06 12:02:46 +00:00
committed by GitHub
co-authored by Elio Bischof Elio Bischof
parent 698f46fe6a
commit 2ee7b9c381
18 changed files with 364 additions and 100 deletions
+31 -4
View File
@@ -267,9 +267,20 @@ export interface OnboardingActions {
oneof: string[];
link: string | string[];
fragment?: string | undefined;
iconClasses?: string;
darkcolor: string;
lightcolor: string;
}
type OnboardingEvent = { order: number; link: string; fragment: string | undefined; event: Event.AsObject | undefined };
type OnboardingEvent = {
order: number;
link: string;
fragment: string | undefined;
event: Event.AsObject | undefined;
iconClasses?: string;
darkcolor: string;
lightcolor: string;
};
type OnboardingEventEntries = Array<[string, OnboardingEvent]> | [];
@Injectable({
@@ -286,14 +297,30 @@ export class AdminService {
const eventsReq = new ListEventsRequest().setAsc(true).setEventTypesList(searchForTypes).setAsc(false);
return from(this.listEvents(eventsReq)).pipe(
map((events) => {
const el = events.toObject().eventsList.filter((e) => e.editor?.service !== 'System-API');
const el = events.toObject().eventsList.filter((e) => e.editor?.service !== 'System-API' && e.editor?.userId);
let obj: { [type: string]: OnboardingEvent } = {};
actions.map((action) => {
const filtered = el.filter((event) => event.type?.type && action.oneof.includes(event.type.type));
(obj as any)[action.eventType] = filtered.length
? { order: action.order, link: action.link, fragment: action.fragment, event: filtered[0] }
: { order: action.order, link: action.link, fragment: action.fragment, event: undefined };
? {
order: action.order,
link: action.link,
fragment: action.fragment,
event: filtered[0],
iconClasses: action.iconClasses,
darkcolor: action.darkcolor,
lightcolor: action.lightcolor,
}
: {
order: action.order,
link: action.link,
fragment: action.fragment,
event: undefined,
iconClasses: action.iconClasses,
darkcolor: action.darkcolor,
lightcolor: action.lightcolor,
};
});
const toArray = Object.entries(obj).sort(([key0, a], [key1, b]) => a.order - b.order);