module IHP.IDE.Data.View.ShowForeignKeyHoverCard where

import IHP.ViewPrelude
import IHP.IDE.ToolServer.Types

data ShowForeignKeyHoverCardView = ShowForeignKeyHoverCardView
    { ShowForeignKeyHoverCardView -> [DynamicField]
record :: [DynamicField]
    , ShowForeignKeyHoverCardView -> Text
foreignTableName :: Text
    }

instance View ShowForeignKeyHoverCardView where
    beforeRender :: (?context::ControllerContext) =>
ShowForeignKeyHoverCardView -> IO ()
beforeRender ShowForeignKeyHoverCardView
_ = (?context::ControllerContext) =>
((?context::ControllerContext) => Layout) -> IO ()
((?context::ControllerContext) => Layout) -> IO ()
setLayout (\Html
view -> Html
view)
    html :: (?context::ControllerContext,
 ?view::ShowForeignKeyHoverCardView) =>
ShowForeignKeyHoverCardView -> Html
html ShowForeignKeyHoverCardView { [DynamicField]
Text
$sel:record:ShowForeignKeyHoverCardView :: ShowForeignKeyHoverCardView -> [DynamicField]
$sel:foreignTableName:ShowForeignKeyHoverCardView :: ShowForeignKeyHoverCardView -> Text
record :: [DynamicField]
foreignTableName :: Text
.. } = [hsx| 
        <div class="foreign-key-hovercard">
            <h1>{tableNameToModelName foreignTableName}</h1>
            {forEach record renderField}
        </div>
    |]
        where
            renderField :: r -> Html
renderField r
field = [hsx|
                <div class="mb-2">
                    <div style="font-size: 12px; color: rgba(197, 207, 211, 0.8)">{field.fieldName}:</div>

                    <div>
                        {field.fieldValue}
                    </div>
                </div>
            |]