^{modalTrigger}|]
Right _ -> [whamlet|^{modalTrigger}|]
diff --git a/src/Utils.hs b/src/Utils.hs
index 05e93753a..8965c0009 100644
--- a/src/Utils.hs
+++ b/src/Utils.hs
@@ -100,6 +100,25 @@ unsupportedAuthPredicate = do
|]
+class RedirectUrl site url => HasRoute site url where
+ urlRoute :: url -> Route site
+
+instance HasRoute site (Route site) where
+ urlRoute = id
+instance (key ~ Text, val ~ Text) => HasRoute site (Route site, Map key val) where
+ urlRoute = view _1
+instance (key ~ Text, val ~ Text) => HasRoute site (Route site, [(key, val)]) where
+ urlRoute = view _1
+instance (HasRoute site a, PathPiece b) => HasRoute site (Fragment a b) where
+ urlRoute (a :#: _) = urlRoute a
+
+data SomeRoute site = forall url. HasRoute site url => SomeRoute url
+
+instance RedirectUrl site (SomeRoute site) where
+ toTextUrl (SomeRoute url) = toTextUrl url
+instance HasRoute site (SomeRoute site) where
+ urlRoute (SomeRoute url) = urlRoute url
+
---------------------
-- Text and String --
diff --git a/templates/adminTest.hamlet b/templates/adminTest.hamlet
index 0693ea1cc..2cc3f24f3 100644
--- a/templates/adminTest.hamlet
+++ b/templates/adminTest.hamlet
@@ -32,7 +32,7 @@
^{btnWdgt}
Modals:
- ^{modal "Klick mich für Ajax-Test" (Left UsersR)}
+ ^{modal "Klick mich für Ajax-Test" (Left $ SomeRoute UsersR)}
^{modal "Klick mich für Content-Test" (Right "Test Inhalt für Modal")}
^{modal "Email-Test" (Right emailWidget')}
diff --git a/templates/authpreds.hamlet b/templates/authpreds.hamlet
index abb3042c3..d7430fbae 100644
--- a/templates/authpreds.hamlet
+++ b/templates/authpreds.hamlet
@@ -1,2 +1,4 @@
-