19 declare(strict_types=1);
48 $f = $DIC->ui()->factory();
55 $primary_id =
"Building Better UX by Considering Information Architecture and User Intent";
56 $secondary_id =
$f->symbol()->icon()->standard(
'crs',
'course icon',
'large');
59 $entity =
$f->entity()->standard(
69 $f->button()->shy(
"ILIAS",
"https://www.ilias.de"),
70 $f->button()->shy(
"GitHub",
"https://www.github.com")
72 $entity = $entity->withActions(...$actions);
78 $av_data = [
'Available Seats' => 4,
'Available' =>
'until 24.12.2023',
'Expected Preconditions' =>
'UI Design 101',
'Passed Courses' =>
'Painting'];
80 $blocking =
$f->listing()->property();
81 $availability =
$f->listing()->property();
83 $precondition_link =
$f->link()->standard(
"Preconditions",
"http://www.ilias.de");
86 $blocking = ($av_data[
'Expected Preconditions'] === $av_data[
'Passed Courses'])
87 ? $blocking : $blocking->withProperty(
"Preconditions", $precondition_link,
false);
90 $blocking = ($av_data[
'Available Seats'] === 0)
91 ? $blocking->withProperty(
"Available Seats", (
string) $av_data[
'Available Seats']) : $blocking;
92 $availability = ($av_data[
'Available Seats'] > 0)
93 ? $availability->withProperty(
"Available Seats", (
string) $av_data[
'Available Seats']) : $availability;
96 $availability = $availability->withProperty(
"Available", $av_data[
'Available']);
99 ->withBlockingAvailabilityConditions($blocking)
100 ->withAvailability($availability);
107 $f->button()->tag(
'UX/UI',
'#'),
$f->button()->tag(
'First Semester',
'#')
110 $details =
$f->listing()->property()
111 ->withProperty(
'Duration',
'90 minutes')
112 ->withProperty(
'Recording',
'recording available',
false)
115 $status =
$f->legacy()->content(
116 $renderer->render(
$f->symbol()->icon()->custom(
'./assets/images/learning_progress/in_progress.svg',
'incomplete'))
121 ->withPersonalStatus($status)
122 ->withDetails($details)
123 ->withReactions(...$reactions)
130 $featured_properties =
$f->listing()->property()
131 ->withProperty(
'Event Date',
'14.02.2023');
134 $f->symbol()->glyph()->love()
135 ->withCounter(
$f->counter()->status(2)),
136 $f->symbol()->glyph()->comment()
137 ->withCounter(
$f->counter()->novelty(3))
138 ->withCounter(
$f->counter()->status(7))
141 $main_detail_1 =
$f->listing()->property()
142 ->withProperty(
'Room',
'7')
144 $main_detail_2 =
$f->listing()->property()
145 ->withProperty(
'Description',
'This lecture is an introduction to basic concepts fundamental for an intuitive user experience. These basic principles are not directly connected to the visual design, yet they help us to discover a hierarchy in relevance that needs to be respected for the visual appearance.',
false)
149 ->withFeaturedProperties($featured_properties)
150 ->withMainDetails($main_detail_1, $main_detail_2)
151 ->withPrioritizedReactions(...$prio_reactions)
base()
expected output: > Entities arrange information about e.g.