diff --git a/src/Foundation.hs b/src/Foundation.hs index c7ee463..24f64bc 100644 --- a/src/Foundation.hs +++ b/src/Foundation.hs @@ -21,7 +21,7 @@ import Yesod.Core.Types (Logger) import qualified Yesod.Core.Unsafe as Unsafe import Package -import Entry.Kind ( EntryKind ) +import Entry.Kind ( EntryKind, pluralise ) -- | The foundation datatype for your application. This can be a good place to -- keep settings and values requiring initialization before your application @@ -158,6 +158,10 @@ rightMenuItems = loggedOutItems `maybe` loggedInItems -- Define breadcrumbs. instance YesodBreadcrumbs App where breadcrumb (AuthR _) = return ("login", Just HomeR) + breadcrumb (EntriesR kind) = return (pluralise kind, Just HomeR) + breadcrumb (EntryR kind entryId _) = do + entry <- runDB . get404 $ entryId + return (entryName entry, Just $ EntriesR kind) breadcrumb _ = return ("home", Nothing) -- How to run database actions.