module IHP.IDE.SchemaDesigner.View.Schema.GeneratedCode where import IHP.ViewPrelude import IHP.IDE.SchemaDesigner.Types import IHP.IDE.ToolServer.Types import IHP.IDE.SchemaDesigner.View.Layout data GeneratedCodeView = GeneratedCodeView { GeneratedCodeView -> [Statement] statements :: [Statement] , GeneratedCodeView -> Text generatedHaskellCode :: Text } instance View GeneratedCodeView where html :: (?context::ControllerContext, ?view::GeneratedCodeView) => GeneratedCodeView -> Html html GeneratedCodeView { [Statement] Text $sel:statements:GeneratedCodeView :: GeneratedCodeView -> [Statement] $sel:generatedHaskellCode:GeneratedCodeView :: GeneratedCodeView -> Text statements :: [Statement] generatedHaskellCode :: Text .. } = [hsx| {visualNav} <div class="container"> <div class="row no-gutters bg-white"> {renderObjectSelector (zip [0..] statements) Nothing} </div> </div> {renderModal modal} {customCss} |] where modalContent :: Html modalContent = [hsx| <pre class="generated-haskell-code"><code>{generatedHaskellCode}</code></pre> |] modalFooter :: Maybe Html modalFooter = Maybe Html forall a. Monoid a => a mempty modalCloseUrl :: Text modalCloseUrl = TablesController -> Text forall controller. HasPath controller => controller -> Text pathTo TablesController TablesAction modalTitle :: Text modalTitle = Text "Generated Haskell Code" modal :: Modal modal = Modal { Html modalContent :: Html $sel:modalContent:Modal :: Html modalContent, Maybe Html modalFooter :: Maybe Html $sel:modalFooter:Modal :: Maybe Html modalFooter, Text modalCloseUrl :: Text $sel:modalCloseUrl:Modal :: Text modalCloseUrl, Text modalTitle :: Text $sel:modalTitle:Modal :: Text modalTitle } customCss :: Html customCss = String -> Html forall a. ToMarkup a => a -> Html preEscapedToHtml [plain| <style> #modal-inner { max-width: 90vw !important; } </style>|]