WEBVTT

1
00:00:01.073 --> 00:00:09.893
Hi there! This is part one of a short series. First, let us meet a page that looks like a real product, but does not work yet.

2
00:00:10.915 --> 00:00:14.625
First, sign in. (This recording uses the demo login.)

3
00:00:14.776 --> 00:00:17.776
Open the sample shop.

4
00:00:19.501 --> 00:00:27.316
The catalog feature already has a shop page in it, adapted from a real template, plus a wishlist heart and panel.

5
00:00:27.416 --> 00:00:33.856
The page itself is frozen — wrapped, not rebuilt — so it does not even show up in this list.

6
00:00:36.875 --> 00:00:43.315
The heart and panel are new, hand-authored components, so Construct documents them normally.

7
00:00:46.293 --> 00:00:52.243
WishlistController: the wrapper. Right now it just forwards a fixed list of products.

8
00:00:55.235 --> 00:00:58.245
A new route, `/shop`, already points at it.

9
00:01:01.268 --> 00:01:06.238
One thing to look at: the wrapper is not exported from the feature yet.

10
00:01:07.748 --> 00:01:10.673
Here is that page in the Pages screen.

11
00:01:10.773 --> 00:01:14.273
Now let us open it, running for real, full screen.

12
00:01:17.087 --> 00:01:21.567
Try a heart. It renders, and it can be pressed. Nothing happens.

13
00:01:21.747 --> 00:01:25.037
Switch to Components and pick the heart button.

14
00:01:28.868 --> 00:01:39.344
Here is what it declares: `onToggle`, a callback. This table already exists today — Construct does not yet check whether any caller actually passes it.

15
00:01:39.444 --> 00:01:46.779
Reading the page confirms it: `ShopHome` never passes it. That gap is filed as a real ticket, number 473.

16
00:01:46.879 --> 00:01:49.879
Finally, the rules.

17
00:01:52.311 --> 00:01:57.673
No errors. One real warning: the wrapper is not exported from the feature yet.

18
00:01:57.773 --> 00:02:00.773
Next time, we wire it up. See you then.
