# This file defines user-definable routes for the frontend of your Bolt website.
# Check below for examples, or read the documentation at
# https://docs.bolt.cm/configuration/routing

# ------------------------------------------------------------------------------
# Place your own routes here, that have a HIGHER priority than the default routes.



# ------------------------------------------------------------------------------
# These are the routes defining the default behaviour of Bolt's frontend.
# Changing these might give unexpected results or even break your website. If
# possible, only add NEW routes above or below these.

homepage:
    path: /
    defaults:
#        _controller: controller.frontend:homepage
        _controller: controller.frontend:template
        template: index

search:
    path: /search
    defaults:
        _controller: controller.frontend:search

preview:
    path: /preview/{contenttypeslug}
    defaults:
        _controller: controller.frontend:preview
    requirements:
        contenttypeslug: controller.requirement:anyContentType
    methods: [POST]

contentlink:
    path: /{contenttypeslug}/{slug}
    defaults:
        _controller: controller.frontend:record
    requirements:
        contenttypeslug: controller.requirement:anyContentType

taxonomylink:
    path: /{taxonomytype}/{slug}
    defaults:
        _controller: controller.frontend:taxonomy
    requirements:
        taxonomytype: controller.requirement:anyTaxonomyType

contentlisting:
    path: /{contenttypeslug}
    defaults:
        _controller: controller.frontend:listing
    requirements:
        contenttypeslug: controller.requirement:pluralContentTypes

contact:
    path: /kontakt
    defaults:
        _controller: controller.frontend:template
        template: contact
contact-bp:
    path: /biuro-prasowe
    defaults:
        _controller: controller.frontend:template
        template: contact

download:
    path: /pobierz-prezentacje
    defaults:
        _controller: controller.frontend:template
        template: download

policy-privacy:
    path: /polityka-prywatnosci
    defaults:
        _controller: controller.frontend:template
        template: policy-privacy

# ------------------------------------------------------------------------------
# Place your own routes here, that have a LOWER priority than the default routes.


channels:
    path: /kanaly
    defaults:
        _controller: controller.frontend:template
        template: channels

video:
    path: /wideo/{slug}
    defaults:
        _controller: controller.frontend:record
        contenttypeslug: programs
    contenttype: programs


# ------------------------------------------------------------------------------
# Routes examples:

# Example to route old '.html' pages to pages genereated by bolt.

# oldpages:
#     path: /{slug}.html
#     defaults:
#         _controller: controller.frontend:record
#         contenttypeslug: page
#     requirements:
#         slug: '[a-z0-9-_]+'


# Example route with a host requirement

# example:
#     path: /example
#     defaults:
#         _controller: controller.frontend:record
#         contenttypeslug: page
#         slug: example
#     host: www.mydomain.org


# Example override for a specific contenttype

# pagebinding:
#     path: /{slug}
#     defaults:
#         _controller: controller.frontend:record
#         contenttypeslug: page
#     contenttype: pages



# Example single record override

# aboutbinding:
#     path: /about
#     defaults:
#         _controller: controller.frontend:record
#         contenttypeslug: page
#         slug: about
#     recordslug: page/about


# Supported internal defaults are:
#  _controller   the controller class::method to be called
#  _before       the before to call, if non-existent the 'before()' of the controller will be called
#  _after        the after to call, if non-existent the 'after()' of the controller will be called
#
# Both _before and _after support a shortcut notation which re-uses the controller class: '::before'


# Example: rendering a "static" template from the current theme with no associated record/content.
# Note that you can still load and render content from within the template.

# templatebinding:
#     path: /static-page
#     defaults:
#         _controller: controller.frontend:template
#         template: static-page
