{-# OPTIONS_GHC -Wall #-} {-# LANGUAGE OverloadedStrings #-} module Data.Aviation.Casr.Logbook.Reports.Meta.Html( htmlExpenseReport , htmlReports ) where import Control.Category((.)) import Data.Aviation.Casr.Logbook.Reports(getFlightTimeReport, getSimulatorTimeReport) import Data.Aviation.Casr.Logbook.Reports.Html(htmlFlightTimeReport, htmlSimulatorTimeReport, htmlTakeOffLanding90, takeoffslandings90) import Data.Aviation.Casr.Logbook.Reports.Meta(ExpenseReport(ExpenseReport), logbookExpenseReport) import Data.Aviation.Casr.Logbook.Meta(AircraftFlightMeta, SimulatorFlightMeta, ExamMeta, BriefingMeta) import Data.Aviation.Casr.Logbook.Meta.Html(showThousandCentsAsDollars, showHundredCentsAsDollars) import Data.Aviation.Casr.Logbook.Types(Logbook) import Data.Function(($)) import Data.String(fromString) import qualified Data.Text as Text(pack) import Lucid( hr_ , class_ , ul_ , li_ , span_ , h3_ , div_ , a_ , id_ , href_ , Html ) import Prelude((+)) htmlExpenseReport :: Logbook AircraftFlightMeta SimulatorFlightMeta ExamMeta BriefingMeta -> ExpenseReport -> Html () htmlExpenseReport :: Logbook AircraftFlightMeta SimulatorFlightMeta ExamMeta BriefingMeta -> ExpenseReport -> HtmlT Identity () htmlExpenseReport Logbook AircraftFlightMeta SimulatorFlightMeta ExamMeta BriefingMeta _ (ExpenseReport Int ag Int al Int b Int e Int s) = [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result div_ [Text -> Attribute class_ Text "expensereport"] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result a_ [Text -> Attribute id_ Text "RPT_Expense"] HtmlT Identity () "" [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result a_ [Text -> Attribute href_ (String -> Text Text.pack String "#RPT_Expense")] (HtmlT Identity () -> HtmlT Identity ()) -> (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "entrytag"] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ HtmlT Identity () "RPT" [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result h3_ [Text -> Attribute class_ Text "expensereportname"] HtmlT Identity () "Expense Report" do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result ul_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "key"] HtmlT Identity () "Aircraft: " [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "value"] (HtmlT Identity () -> HtmlT Identity ()) -> (Int -> HtmlT Identity ()) -> Int -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . String -> HtmlT Identity () forall a. IsString a => String -> a fromString (String -> HtmlT Identity ()) -> (Int -> String) -> Int -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . (Char '$'Char -> String -> String forall a. a -> [a] -> [a] :) (String -> String) -> (Int -> String) -> Int -> String forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . Int -> String showThousandCentsAsDollars (Int -> HtmlT Identity ()) -> Int -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ Int ag Int -> Int -> Int forall a. Num a => a -> a -> a + Int al [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result ul_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "key"] HtmlT Identity () "Usage: " [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "value"] (HtmlT Identity () -> HtmlT Identity ()) -> (Int -> HtmlT Identity ()) -> Int -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . String -> HtmlT Identity () forall a. IsString a => String -> a fromString (String -> HtmlT Identity ()) -> (Int -> String) -> Int -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . (Char '$'Char -> String -> String forall a. a -> [a] -> [a] :) (String -> String) -> (Int -> String) -> Int -> String forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . Int -> String showThousandCentsAsDollars (Int -> HtmlT Identity ()) -> Int -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ Int ag [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "key"] HtmlT Identity () "Landing: " [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "value"] (HtmlT Identity () -> HtmlT Identity ()) -> (Int -> HtmlT Identity ()) -> Int -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . String -> HtmlT Identity () forall a. IsString a => String -> a fromString (String -> HtmlT Identity ()) -> (Int -> String) -> Int -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . (Char '$'Char -> String -> String forall a. a -> [a] -> [a] :) (String -> String) -> (Int -> String) -> Int -> String forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . Int -> String showHundredCentsAsDollars (Int -> HtmlT Identity ()) -> Int -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ Int al [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "key"] HtmlT Identity () "Briefing: " [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "value"] (HtmlT Identity () -> HtmlT Identity ()) -> (Int -> HtmlT Identity ()) -> Int -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . String -> HtmlT Identity () forall a. IsString a => String -> a fromString (String -> HtmlT Identity ()) -> (Int -> String) -> Int -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . (Char '$'Char -> String -> String forall a. a -> [a] -> [a] :) (String -> String) -> (Int -> String) -> Int -> String forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . Int -> String showThousandCentsAsDollars (Int -> HtmlT Identity ()) -> Int -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ Int b [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "key"] HtmlT Identity () "Exam: " [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "value"] (HtmlT Identity () -> HtmlT Identity ()) -> (Int -> HtmlT Identity ()) -> Int -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . String -> HtmlT Identity () forall a. IsString a => String -> a fromString (String -> HtmlT Identity ()) -> (Int -> String) -> Int -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . (Char '$'Char -> String -> String forall a. a -> [a] -> [a] :) (String -> String) -> (Int -> String) -> Int -> String forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . Int -> String showHundredCentsAsDollars (Int -> HtmlT Identity ()) -> Int -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ Int e [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "key"] HtmlT Identity () "Simulator: " [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "value"] (HtmlT Identity () -> HtmlT Identity ()) -> (Int -> HtmlT Identity ()) -> Int -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . String -> HtmlT Identity () forall a. IsString a => String -> a fromString (String -> HtmlT Identity ()) -> (Int -> String) -> Int -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . (Char '$'Char -> String -> String forall a. a -> [a] -> [a] :) (String -> String) -> (Int -> String) -> Int -> String forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . Int -> String showThousandCentsAsDollars (Int -> HtmlT Identity ()) -> Int -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ Int s [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "key"] HtmlT Identity () "TOTAL: " [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "value"] (HtmlT Identity () -> HtmlT Identity ()) -> (Int -> HtmlT Identity ()) -> Int -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . String -> HtmlT Identity () forall a. IsString a => String -> a fromString (String -> HtmlT Identity ()) -> (Int -> String) -> Int -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . (Char '$'Char -> String -> String forall a. a -> [a] -> [a] :) (String -> String) -> (Int -> String) -> Int -> String forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . Int -> String showThousandCentsAsDollars (Int -> HtmlT Identity ()) -> Int -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ (Int ag Int -> Int -> Int forall a. Num a => a -> a -> a + Int al Int -> Int -> Int forall a. Num a => a -> a -> a + Int b Int -> Int -> Int forall a. Num a => a -> a -> a + Int e Int -> Int -> Int forall a. Num a => a -> a -> a + Int s) htmlReports :: Logbook AircraftFlightMeta SimulatorFlightMeta ExamMeta BriefingMeta -> Html () htmlReports :: Logbook AircraftFlightMeta SimulatorFlightMeta ExamMeta BriefingMeta -> HtmlT Identity () htmlReports Logbook AircraftFlightMeta SimulatorFlightMeta ExamMeta BriefingMeta b = do Logbook AircraftFlightMeta SimulatorFlightMeta ExamMeta BriefingMeta -> FlightTimeReport -> HtmlT Identity () forall a b c d. Logbook a b c d -> FlightTimeReport -> HtmlT Identity () htmlFlightTimeReport Logbook AircraftFlightMeta SimulatorFlightMeta ExamMeta BriefingMeta b (Logbook AircraftFlightMeta SimulatorFlightMeta ExamMeta BriefingMeta -> FlightTimeReport forall a b c d. Logbook a b c d -> FlightTimeReport getFlightTimeReport Logbook AircraftFlightMeta SimulatorFlightMeta ExamMeta BriefingMeta b) [Attribute] -> HtmlT Identity () forall (m :: * -> *). Applicative m => [Attribute] -> HtmlT m () hr_ [] Logbook AircraftFlightMeta SimulatorFlightMeta ExamMeta BriefingMeta -> SimulatorTimeReport -> HtmlT Identity () forall a b c d. Logbook a b c d -> SimulatorTimeReport -> HtmlT Identity () htmlSimulatorTimeReport Logbook AircraftFlightMeta SimulatorFlightMeta ExamMeta BriefingMeta b (Logbook AircraftFlightMeta SimulatorFlightMeta ExamMeta BriefingMeta -> SimulatorTimeReport forall a b c d. Logbook a b c d -> SimulatorTimeReport getSimulatorTimeReport Logbook AircraftFlightMeta SimulatorFlightMeta ExamMeta BriefingMeta b) [Attribute] -> HtmlT Identity () forall (m :: * -> *). Applicative m => [Attribute] -> HtmlT m () hr_ [] Logbook AircraftFlightMeta SimulatorFlightMeta ExamMeta BriefingMeta -> Maybe TakeOffLanding90 -> HtmlT Identity () forall a b c d. Logbook a b c d -> Maybe TakeOffLanding90 -> HtmlT Identity () htmlTakeOffLanding90 Logbook AircraftFlightMeta SimulatorFlightMeta ExamMeta BriefingMeta b (Logbook AircraftFlightMeta SimulatorFlightMeta ExamMeta BriefingMeta -> Maybe TakeOffLanding90 forall a b c d. Logbook a b c d -> Maybe TakeOffLanding90 takeoffslandings90 Logbook AircraftFlightMeta SimulatorFlightMeta ExamMeta BriefingMeta b) [Attribute] -> HtmlT Identity () forall (m :: * -> *). Applicative m => [Attribute] -> HtmlT m () hr_ [] Logbook AircraftFlightMeta SimulatorFlightMeta ExamMeta BriefingMeta -> ExpenseReport -> HtmlT Identity () htmlExpenseReport Logbook AircraftFlightMeta SimulatorFlightMeta ExamMeta BriefingMeta b (Logbook AircraftFlightMeta SimulatorFlightMeta ExamMeta BriefingMeta -> ExpenseReport logbookExpenseReport Logbook AircraftFlightMeta SimulatorFlightMeta ExamMeta BriefingMeta b)