@@ -5,8 +5,10 @@ import Code.Definition.Reference exposing (Reference)
55import Code.FullyQualifiedName as FQN
66import Code.Hash as Hash
77import Code.Perspective as Perspective
8+ import Code.ProjectDependency as ProjectDependency
89import Code.Syntax as Syntax
910import Code.Syntax.SyntaxConfig as SyntaxConfig
11+ import Code.Version as Version
1012import Html exposing (Html , br , code , div , h2 , label , p , pre , span , strong , text )
1113import Html.Attributes exposing (class , id , style )
1214import Http
@@ -666,58 +668,89 @@ viewChangedDefinitionsCards projectRef toggledChangeLines maxBadgeLength branchD
666668
667669
668670viewLibDep : Int -> LibDep -> Html msg
669- viewLibDep maxBadgeLength dep =
671+ viewLibDep maxBadgeLength libDep =
670672 let
671673 viewCard content =
672674 Card . card
673- [ div [ class " definition-change-header" ] [ div [ class " change-line" ] content ] ]
675+ [ div [ class " definition-change-header" ]
676+ [ div [ class " change-line" ] content ]
677+ ]
674678 |> Card . withClassName " definition-change lib-dep"
675679 |> Card . asContained
676680 |> Card . view
677681
678682 badge icon type_ =
679- Tooltip . text type_
680- |> Tooltip . tooltip
681- |> Tooltip . withArrow Tooltip . Start
682- |> Tooltip . view
683- ( viewChangeBadge_ maxBadgeLength icon type_)
683+ viewChangeBadge_ maxBadgeLength icon type_
684684
685- viewTitle name =
686- let
687- fqn =
688- FQN . fromList [ " lib" , name ]
689- in
690- div [ class " change-title" ] [ FQN . view fqn ]
685+ viewDepInfoBadge dep =
686+ div [ class " dep-info change-info" ]
687+ [ div [ class " change-title" ]
688+ [ ProjectDependency . viewLibraryBadge_ { withVersion = True , withTooltip = False } dep. dep
689+ , span [ class " lib-namespace-info" ] [ text " (" , FQN . view dep. name, text " )" ]
690+ ]
691+ ]
691692 in
692- case dep of
693- LibDep . Added { name } ->
693+ case libDep of
694+ LibDep . Added dep ->
694695 viewCard
695696 [ badge Icon . largePlus " Added"
696- , div [ class " def-icon-anchor" ]
697- [ Tooltip . text " Lib dependency"
698- |> Tooltip . tooltip
699- |> Tooltip . withArrow Tooltip . Start
700- |> Tooltip . view ( span [ class " def-icon" ] [ Icon . view Icon . book ] )
701- ]
702- , div [ class " change-info" ] [ viewTitle name ]
697+ , viewDepInfoBadge dep
703698 ]
704699
705- LibDep . Removed { name } ->
700+ LibDep . Removed dep ->
706701 viewCard
707702 [ badge Icon . dash " Removed"
708- , div [ class " def-icon-anchor" ]
709- [ Tooltip . text " Lib dependency"
710- |> Tooltip . tooltip
711- |> Tooltip . withArrow Tooltip . Start
712- |> Tooltip . view ( span [ class " def-icon" ] [ Icon . view Icon . book ] )
703+ , viewDepInfoBadge dep
704+ ]
705+
706+ LibDep . Updated { before, after } ->
707+ let
708+ toFrom =
709+ case ( before. dep. version, after. dep. version ) of
710+ ( Just beforeV, Just afterV ) ->
711+ [ ProjectDependency . viewLibraryBadge_
712+ { withVersion = False
713+ , withTooltip = False
714+ }
715+ before. dep
716+ , Version . view beforeV
717+ , Icon . view Icon . arrowRight
718+ , Version . view afterV
719+ , span [ class " lib-namespace-info" ]
720+ [ text " ("
721+ , FQN . view before. name
722+ , Icon . view Icon . arrowRight
723+ , FQN . view after. name
724+ , text " )"
725+ ]
726+ ]
727+
728+ _ ->
729+ [ ProjectDependency . viewLibraryBadge before. dep
730+ , Icon . view Icon . arrowRight
731+ , ProjectDependency . viewLibraryBadge after. dep
732+ , span [ class " lib-namespace-info" ]
733+ [ text " ("
734+ , FQN . view before. name
735+ , Icon . view Icon . arrowRight
736+ , FQN . view after. name
737+ , text " )"
738+ ]
739+ ]
740+ in
741+ viewCard
742+ [ badge Icon . refreshSmallBold " Updated"
743+ , div [ class " dep-info change-info" ]
744+ [ div [ class " change-title" ] toFrom
713745 ]
714- , div [ class " change-info" ] [ viewTitle name ]
715746 ]
716747
717748
718749viewLibDeps : Int -> List LibDep -> List (Html msg )
719750viewLibDeps maxBadgeLength deps =
720- List . map ( viewLibDep maxBadgeLength) deps
751+ deps
752+ |> LibDep . mergeUpdated
753+ |> List . map ( viewLibDep maxBadgeLength)
721754
722755
723756viewBranchDiff : ProjectRef -> ToggledChangeLines -> BranchDiff -> Html Msg
0 commit comments