A music player that connects to your cloud/distributed storage.
5
fork

Configure Feed

Select the types of activity you want to include in your feed.

Extract group view from list scene

+53 -35
+51
src/Applications/UI/Tracks/Scene.elm
··· 1 + module UI.Tracks.Scene exposing (..) 2 + 3 + import Chunky exposing (..) 4 + import Conditional exposing (..) 5 + import Css.Classes as C 6 + import Html exposing (Html, text) 7 + import Material.Icons exposing (Coloring(..)) 8 + import Material.Icons.Av as Icons 9 + import Tracks 10 + 11 + 12 + 13 + -- 🗺 14 + 15 + 16 + group : { index : Int } -> Tracks.Identifiers -> Html msg 17 + group { index } identifiers = 18 + let 19 + groupName = 20 + identifiers.group 21 + |> Maybe.map .name 22 + |> Maybe.withDefault "Unknown" 23 + in 24 + chunk 25 + [ C.font_display 26 + , C.font_semibold 27 + , C.leading_normal 28 + , C.pb_3 29 + , C.px_4 30 + , C.text_base04 31 + , C.text_xxs 32 + , C.tracking_tad_further 33 + , C.truncate 34 + 35 + -- 36 + , ifThenElse (0 == index) C.pt_3 C.pt_4 37 + ] 38 + [ groupIcon 39 + , inline [ C.align_middle ] [ text groupName ] 40 + ] 41 + 42 + 43 + 44 + -- ㊙️ 45 + 46 + 47 + groupIcon : Html msg 48 + groupIcon = 49 + inline 50 + [ C.align_middle, C.inline_block, C.leading_0, C.pr_2 ] 51 + [ Icons.library_music 16 Inherit ]
+2 -35
src/Applications/UI/Tracks/Scene/List.elm
··· 27 27 import UI.Kit 28 28 import UI.Reply as UI 29 29 import UI.Tracks.Reply exposing (..) 30 + import UI.Tracks.Scene as Scene 30 31 31 32 32 33 ··· 471 472 Html.div 472 473 [] 473 474 [ if shouldRenderGroup then 474 - groupNode idx identifiers 475 + Scene.group { index = idx } identifiers 475 476 476 477 else 477 478 text "" ··· 750 751 751 752 752 753 -- ROWS 753 - 754 - 755 - groupNode : Int -> Identifiers -> Html Msg 756 - groupNode idx identifiers = 757 - let 758 - groupName = 759 - identifiers.group 760 - |> Maybe.map .name 761 - |> Maybe.withDefault "Unknown" 762 - in 763 - chunk 764 - [ C.font_display 765 - , C.font_semibold 766 - , C.leading_normal 767 - , C.pb_3 768 - , C.px_4 769 - , C.text_base04 770 - , C.text_xxs 771 - , C.tracking_tad_further 772 - , C.truncate 773 - 774 - -- 775 - , ifThenElse (0 == idx) C.pt_3 C.pt_4 776 - ] 777 - [ groupIcon 778 - , inline [ C.align_middle ] [ text groupName ] 779 - ] 780 - 781 - 782 - groupIcon : Html msg 783 - groupIcon = 784 - inline 785 - [ C.align_middle, C.inline_block, C.leading_0, C.pr_2 ] 786 - [ Icons.library_music 16 Inherit ] 787 754 788 755 789 756 rowHeight : Int