New menu item type

Hi! I need to define a new menu item type. As a link I need to use the URL to the file set in theme.yaml field e.g. cookies_file (mediafinder).

Something like this doesn’t work:

Event::listen('pages.menuitem.listTypes', function () {
    return [
        'cookies-file' => 'Cookie Policy File',
    ];
});
Event::listen('pages.menuitem.getTypeInfo', function ($type) {
    if ($type === 'cookies-file') {
        return [
            'dynamicItems' => false,
        ];
    }
});
Event::listen('pages.menuitem.resolveItem', function ($type, $item, $url, $theme) {
    if ($type === 'cookies-file') {
        $theme = \Cms\Classes\Theme::getActiveTheme();
        $rodoUrl = '';
        if (!empty($theme->cookies_file )) {
            $rodoUrl = $theme->cookies_file;
        }
        return [
            'url' => url($rodoUrl),
            'isActive' => false,
            'title' => 'Test',
        ];

    }
});

What am I doing wrong?