require('pro-router')

tag router
	def render
		<self view=R.view> <{ view }>

tag switch
	prop key
	prop disabled

	css cursor:pointer

	def render
		<self .activated=R.params[key] .disabled=disabled @click.if(!disabled)=R.toggle(key)> <slot>

tag ref < a
	prop view
	prop target
	prop go

	def render
		<self .active=active? href=link @click.prevent.if(!active?)=R.go(href)> <slot>

	def active?
		R.to_path == link

	get link do #link ||= go || url

	#tu skonczylem:

	def url
		if target
			let attributes = L.reduce L.concat({}, target), do |map, el|
				map[el:type] = el:id
				map
		R.to_path view, L.defaults attributes || {}, R:safe_params

tag not_found
	def render do <self> "Page not found :/"