feat: so very close

This commit is contained in:
Nick 2024-12-27 23:24:35 -06:00
parent 185d922ffb
commit 071c823c41
20 changed files with 293 additions and 570 deletions

View file

@ -195,7 +195,6 @@ articleMaker device article =
el
[ alignLeft
, alignTop
, width fill
, paddingEach
{ top = 0
, right = 10
@ -204,20 +203,22 @@ articleMaker device article =
}
]
<|
imageSquareMaker device (imagePathMaker M.BlogArticle article.articleImage) True size
imageSquareMaker device (imagePathMaker M.BlogCard article.articleImage) True size
in
detailFormat column
[ case ( device.class, device.orientation ) of
( Phone, Portrait ) ->
none
[ detailFormat row
[ case ( device.class, device.orientation ) of
( Phone, Portrait ) ->
none
( Tablet, Portrait ) ->
none
( Tablet, Portrait ) ->
none
_ ->
image "Fill"
, detailFormat column
(articleRows article)
_ ->
image "Fatty"
, detailFormat column
(articleRows article ++ [])
]
, el [] <|
detailBodyMaker TextLightGrey (renderDeviceMarkdownNoToc (extractFirstWords article.articleBody))
]
@ -253,14 +254,11 @@ articleRows article =
(wordCount article.articleBody)
)
)
]
++ (if referenceCount >= 2 then
[ infoRow "Sources"
(text
(String.fromInt referenceCount)
)
]
, infoRow "Sources"
(if referenceCount >= 2 then
text (String.fromInt referenceCount)
else
[]
)
else
text "N/A"
)
]

View file

@ -1,6 +1,7 @@
module Pages.Contact exposing (Model, Msg, page)
import Config.Data.Identity exposing (pageNames)
import Config.Helpers.Cards.Inner.Helpers exposing (numberedListItem)
import Config.Helpers.Cards.Outer.Helpers exposing (cardMaker)
import Config.Helpers.Cards.Outer.Types as C
import Config.Helpers.Format exposing (..)
@ -21,7 +22,7 @@ import Config.Helpers.ServiceFormat
import Config.Helpers.ToolTip exposing (..)
import Config.Helpers.Viewport exposing (resetViewport)
import Config.Pages.Contact.Types exposing (..)
import Config.Style.Colour.Helpers exposing (colourTheme)
import Config.Style.Colour.Helpers exposing (ThemeColor(..), colourTheme)
import Config.Style.Transitions
exposing
( hoverFontDarkOrange
@ -137,19 +138,19 @@ contactList device =
[ none ]
, List.map
(\contact ->
cardMaker device (C.Contact contact) (contentList contact)
cardMaker device (C.Contact contact) (contentList device contact)
)
[ contactTitle ]
]
contentList : Contact -> List (Element msg)
contentList contact =
[ instructionBody ]
contentList : Device -> Contact -> List (Element msg)
contentList device contact =
[ instructionBody device ]
instructionBody : Element msg
instructionBody =
instructionBody : Device -> Element msg
instructionBody device =
column
[ spacing 10
, paddingEach
@ -181,7 +182,7 @@ instructionBody =
[ width <| px 15
, alignTop
]
[ el [ alignRight ] <| text (String.fromInt (index + 1) ++ ". ") ]
[ numberedListItem TextLightGrey (index + 1) ]
, column
[ spacing 10
, width fill
@ -196,7 +197,7 @@ instructionBody =
]
]
)
termsAndConditions
(termsAndConditions device)
, column [ centerX, width fill ]
[ divider
, titleMaker (String.toUpper "Additional Clarifications")
@ -246,8 +247,21 @@ rounding =
D.rounded 10
termsAndConditions : List (List (Element msg))
termsAndConditions =
termsAndConditions : Device -> List (List (Element msg))
termsAndConditions device =
let
backGroundCase : Attr decorative msg
backGroundCase =
case ( device.class, device.orientation ) of
( Phone, Portrait ) ->
B.color colourTheme.backgroundDarkGrey
( Tablet, Portrait ) ->
B.color colourTheme.backgroundDarkGrey
_ ->
B.color colourTheme.backgroundLightGrey
in
[ [ row []
[ paragraph [ alignLeft ]
[ text "You will register an account with "
@ -306,7 +320,7 @@ termsAndConditions =
, left = 20
, right = 20
}
, B.color colourTheme.backgroundLightGrey
, backGroundCase
, rounding
, width fill
, spacing 8
@ -352,7 +366,7 @@ termsAndConditions =
, left = 20
, right = 20
}
, B.color colourTheme.backgroundLightGrey
, backGroundCase
, rounding
, width fill
, spacing 8

View file

@ -11,6 +11,7 @@ import Config.Data.Identity
exposing
( pageNames
)
import Config.Helpers.Cards.Inner.Helpers exposing (detailBodyLink, detailBodyMaker, detailFormat, detailSpacing, detailTitleMaker)
import Config.Helpers.Cards.Outer.Helpers exposing (cardMaker)
import Config.Helpers.Cards.Outer.Types as C
import Config.Helpers.Converters exposing (formatName)
@ -35,7 +36,7 @@ import Config.Pages.Debate.Arguments.List exposing (argumentList)
import Config.Pages.Debate.Cuckery.List exposing (cuckList)
import Config.Pages.Debate.Gibberish.List exposing (gibberishList)
import Config.Pages.Debate.Types exposing (..)
import Config.Style.Colour.Helpers as T exposing (colourTheme)
import Config.Style.Colour.Helpers as T exposing (ThemeColor(..), colourTheme)
import Config.Style.Glow
exposing
( glowDeepDarkGrey
@ -181,46 +182,45 @@ descriptionMaker device debate =
<|
imageSquareMaker device (imagePathMaker M.Debate debate.debateImage) True size
in
chunkMaker
[ image "Fatty"
, el [] <|
inferenceMaker debate
, el [ width fill, height (px 0) ] none
, el
[ F.color colourTheme.textLightGrey ]
(text debate.debateDescription)
detailFormat row
[ case ( device.class, device.orientation ) of
( Phone, Portrait ) ->
none
( Tablet, Portrait ) ->
none
_ ->
image "Fatty"
, detailFormat column
[ inferenceMaker debate
, detailBodyMaker TextLightGrey
(text debate.debateDescription)
]
]
inferenceMaker : Debate -> Element msg
inferenceMaker debate =
row [ spacing 5 ]
[ el
[ F.color colourTheme.textLightOrange
, paragraphSpacing
, F.bold
, headerFontSizeSmall
]
<|
if debate.debateTitle == "Arguments" then
text "Inferences: "
detailFormat row
[ detailTitleMaker TextLightOrange
(case debate.debateTitle of
"Arguments" ->
"Inferences:"
else if debate.debateTitle == "Cucklist" then
text "Cucks: "
"Cucklist" ->
"Cucks:"
else if debate.debateTitle == "Gibberish" then
text "Gibberations: "
"Gibberish" ->
"Gibberations:"
else
text ""
, el
[ F.color colourTheme.textLightGrey
, F.regular
, paragraphFontSize
]
<|
text
_ ->
""
)
, detailBodyMaker TextLightGrey
(text
(String.fromInt debate.debateCount)
)
]

View file

@ -44,8 +44,6 @@ import Config.Style.Colour.Helpers
exposing
( ThemeColor(..)
, colourTheme
, textLightGrey
, textLightOrange
)
import Config.Style.Glow
exposing
@ -211,7 +209,7 @@ contentList device argument =
none
_ ->
image "Fatty"
image "Big"
, el ([ height fill ] ++ bodyFormat TextLightGrey) <| text argument.propositionSummary
]
, detailFormat row

View file

@ -29,7 +29,11 @@ import Config.Pages.Debate.Cuckery.List
, cuckListNumber
)
import Config.Pages.Debate.Cuckery.Types exposing (..)
import Config.Style.Colour.Helpers exposing (ThemeColor(..), colourTheme, textLightGrey)
import Config.Style.Colour.Helpers
exposing
( ThemeColor(..)
, colourTheme
)
import Config.Style.Images exposing (imageSquareMaker)
import Config.Style.Transitions
exposing
@ -165,13 +169,13 @@ contentList device cuck =
[ detailFormat row
[ case ( device.class, device.orientation ) of
( Phone, Portrait ) ->
image "Smallish"
none
( Tablet, Portrait ) ->
image "Smallish"
none
_ ->
image "Test"
image "Fatty"
, detailFormat column
[ socialMaker cuck
, dodgeTitle cuck

View file

@ -179,7 +179,15 @@ contentList device gibberish =
, paragraphFontSize
, width fill
]
[ image "Big"
[ case ( device.class, device.orientation ) of
( Phone, Portrait ) ->
none
( Tablet, Portrait ) ->
none
_ ->
image "Big"
, text gibberish.gibberishDescription
]
, gibberishMakerBody gibberish

View file

@ -1,6 +1,7 @@
module Pages.Donate exposing (Model, Msg, page)
import Config.Data.Identity as I exposing (..)
import Config.Helpers.Cards.Inner.Helpers exposing (detailBodyMaker, detailFormat, detailFormatEl, detailTitleMaker, listItem, listMaker)
import Config.Helpers.Cards.Outer.Helpers exposing (cardMaker)
import Config.Helpers.Cards.Outer.Types as C
import Config.Helpers.Format
@ -169,194 +170,55 @@ contentList device donate =
<|
imageSquareMaker device (imagePathMaker M.Donate donate.donateImage) True size
in
[ row [ width fill ]
[ image "Small"
, column [ width fill ]
[ detailFormat row
[ image "Fatty"
, detailFormat column
[ feeMaker donate
, preferenceMaker donate
, tableMaker donate device
]
]
, tableMaker donate device
, proTitleMaker donate
, proMaker donate
, conTitleMaker donate
, conMaker donate
, proConMaker donate
]
donateWidth =
width <| px 45
feeMaker : Donate -> Element msg
feeMaker donate =
row
[ F.color colourTheme.textLightOrange
, paragraphSpacing
, F.bold
, headerFontSizeSmall
, E.width fill
, spacing 5
]
[ column
[ alignTop
]
[ text "Fees:"
]
, el
[ E.width fill
, alignLeft
]
<|
el
[ F.regular
, paragraphFontSize
, F.color colourTheme.textLightGrey
]
<|
text donate.donateFees
detailFormat row
[ detailTitleMaker TextLightOrange "Fees:"
, detailBodyMaker TextLightGrey (text donate.donateFees)
]
proTitleMaker : Donate -> Element msg
proTitleMaker donate =
row
[ F.color colourTheme.textLightOrange
, paragraphSpacing
, headerFontSizeSmall
, F.bold
proConMaker : Donate -> Element msg
proConMaker donate =
detailFormat column
[ detailTitleMaker TextLightOrange "Pros:"
, listMaker makePro donate.donatePros
, detailTitleMaker TextLightOrange "Cons:"
, listMaker makeCon donate.donateCons
]
[ el
[ alignTop
, width <| px 80
]
<|
text "Pros:"
]
conTitleMaker : Donate -> Element msg
conTitleMaker donate =
row
[ F.color colourTheme.textLightOrange
, paragraphSpacing
, headerFontSizeSmall
, F.bold
]
[ el
[ alignTop
, width <| px 80
]
<|
text "Cons:"
]
proMaker : Donate -> Element msg
proMaker donate =
column
[ spacing 8
, width fill
, paddingEach
{ top = 0
, right = 0
, bottom = 0
, left = 35
}
]
<|
List.map2 (\x y -> makePro x)
donate.donatePros
(List.range 1 (List.length donate.donatePros))
makePro : Pros -> Element msg
makePro pro =
column
[ F.color colourTheme.textLightGrey
, paragraphSpacing
, paragraphFontSize
, F.bold
, alignLeft
, spacing 8
, width fill
]
[ paragraph [ F.regular ]
[ text (" " ++ pro.pro) ]
]
conMaker : Donate -> Element msg
conMaker donate =
column
[ spacing 8
, width fill
, paddingEach
{ top = 0
, right = 0
, bottom = 0
, left = 35
}
]
<|
List.map2 (\x y -> makeCon x)
donate.donateCons
(List.range 1 (List.length donate.donateCons))
listItem TextLightGrey pro.pro
makeCon : Cons -> Element msg
makeCon con =
column
[ F.color colourTheme.textLightGrey
, paragraphSpacing
, paragraphFontSize
, F.bold
, alignLeft
, spacing 8
, width fill
]
[ paragraph [ F.regular ] <|
[ text (" " ++ con.con)
]
]
listItem TextLightGrey con.con
preferenceMaker : Donate -> Element msg
preferenceMaker donate =
row
[ width fill
, height fill
]
[ column
[ E.alignTop
, E.alignLeft
]
[ paragraph
[ F.color colourTheme.textLightGrey
, paragraphSpacing
, F.bold
, headerFontSizeSmall
, alignLeft
, E.width fill
]
[ el
[ tooltip
"This represents how strongly I prefer a given platform relative to other platforms."
]
(el
[ paddingEach
{ top = 0
, right = 10
, bottom = 0
, left = 0
}
, F.color colourTheme.textLightOrange
]
<|
text "Preference:"
)
]
detailFormat row
[ el
[ tooltip
"This represents how strongly I prefer a given platform relative to other platforms."
]
<|
detailTitleMaker TextLightOrange "Preference:"
, barPadding
[ barMaker getPreferenceTooltip donate.donatePreference ]
]
@ -404,48 +266,44 @@ getPreferenceTooltip num =
tableMaker : Donate -> Device -> Element msg
tableMaker donate device =
column
[ centerX
el
[ E.alignLeft
, E.width fill
, centerX
]
[ el
[ E.alignLeft
, E.width fill
]
<|
E.table
([ spacing 0
, D.rounded 10
, D.width 2
, D.color colourTheme.textDarkGrey
, clip
]
++ (case ( device.class, device.orientation ) of
( Phone, Portrait ) ->
[ B.color colourTheme.backgroundSpreadsheet ]
<|
E.table
([ spacing 0
, D.rounded 10
, D.width 2
, D.color colourTheme.textDarkGrey
, clip
]
++ (case ( device.class, device.orientation ) of
( Phone, Portrait ) ->
[ B.color colourTheme.backgroundSpreadsheet ]
( Tablet, Portrait ) ->
[ B.color colourTheme.backgroundSpreadsheet ]
( Tablet, Portrait ) ->
[ B.color colourTheme.backgroundSpreadsheet ]
_ ->
[]
)
)
{ data = donate.donateFeatures
, columns =
List.map createColumn
(case ( device.class, device.orientation ) of
( Phone, Portrait ) ->
mobileLabels
_ ->
[]
)
)
{ data = donate.donateFeatures
, columns =
List.map createColumn
(case ( device.class, device.orientation ) of
( Phone, Portrait ) ->
mobileLabels
( Tablet, Portrait ) ->
mobileLabels
( Tablet, Portrait ) ->
mobileLabels
_ ->
desktopLabels
)
}
]
_ ->
desktopLabels
)
}
desktopLabels : List { label : String, getter : { a | free : b, subscriptions : b, userFriendly : b, anonymous : b, rewardTiers : b } -> b }
@ -497,7 +355,7 @@ createColumn { label, getter } =
, right = 0
}
, D.color colourTheme.textDarkGrey
, padding 8
, padding 5
, E.width fill
, F.center
]
@ -516,10 +374,13 @@ createColumn { label, getter } =
, right = 0
}
, D.color colourTheme.textDarkGrey
, padding 8
, padding 5
, E.height fill
]
[ row [ centerX ]
[ row
[ centerX
, centerY
]
[ paragraph []
[ E.image
[ E.width <| px 30

View file

@ -184,13 +184,13 @@ contentList device interview =
imageMaker =
case ( device.class, device.orientation ) of
( Phone, Portrait ) ->
image "Smallish"
none
( Tablet, Portrait ) ->
image "Smallish"
none
_ ->
image "Test"
image "Fatty"
in
[ row
[ paddingEach
@ -214,10 +214,8 @@ contentList device interview =
appearanceMaker : Interview -> Element msg
appearanceMaker interview =
column [ spacing 10, width fill ] <|
List.map2 (\x y -> makeAppearance x y)
interview.interviewAppearances
(List.range 1 (List.length interview.interviewAppearances))
detailFormat column
[ listMaker2 makeAppearance interview.interviewAppearances ]
makeAppearance : Appearance -> Int -> Element msg
@ -229,7 +227,6 @@ makeAppearance appearanceEntry index =
, experienceMaker appearanceEntry
, dateMaker appearanceEntry
, subjectMaker appearanceEntry
, subjectList appearanceEntry
]
]
@ -245,37 +242,39 @@ episodeMaker appearanceEntry =
experienceMaker : Appearance -> Element msg
experienceMaker appearanceEntry =
row
[ width fill
, height fill
, spacing 5
]
[ column
[ E.alignTop
, E.alignLeft
]
[ paragraph
[ F.color colourTheme.textLightGrey
, paragraphSpacing
, headerFontSizeSmall
, F.bold
]
[ el
[ tooltip
"This represents how pleasant it was to interact with the host(s)."
]
(el
[]
<|
text "Pleasantness:"
)
]
detailFormat row
[ el
[ tooltip
"This represents my confidence in the soundness of the argument."
]
<|
detailTitleMaker TextLightGrey "Pleasantness:"
, barPadding
[ barMaker getExperienceTooltip appearanceEntry.appearanceExperience ]
]
dateMaker : Appearance -> Element msg
dateMaker appearanceEntry =
detailFormat row
[ detailTitleMaker TextLightGrey "Published:"
, detailBodyMaker TextLightGrey (text appearanceEntry.appearanceYear)
]
subjectMaker : Appearance -> Element msg
subjectMaker appearanceEntry =
detailFormat column
[ detailFormatEl <| detailTitleMaker TextLightGrey "Subjects: "
, detailFormat column [ listMaker makeSubject appearanceEntry.appearanceSubjects ]
]
makeSubject : Subjects -> Element msg
makeSubject subjects =
listItem TextLightGrey subjects.subject
getExperienceTooltip : Int -> String
getExperienceTooltip num =
case num of
@ -314,80 +313,3 @@ getExperienceTooltip num =
_ ->
"Behavior level out of expected range."
dateMaker : Appearance -> Element msg
dateMaker appearanceEntry =
row
[ F.color colourTheme.textLightGrey
, paragraphSpacing
, headerFontSizeSmall
, F.bold
]
[ el
[ alignTop
]
<|
text
"Published:"
, el
[ alignTop
, width fill
]
<|
paragraph
[ F.regular
, paragraphFontSize
]
[ text appearanceEntry.appearanceYear
]
]
subjectMaker : Appearance -> Element msg
subjectMaker appearanceEntry =
paragraph
[ F.color colourTheme.textLightGrey
, paragraphSpacing
, headerFontSizeSmall
, F.bold
]
[ column
[ alignTop
]
[ text "Subjects: "
]
]
subjectList : Appearance -> Element msg
subjectList appearanceEntry =
column
[ spacing 5
, width fill
, paddingEach
{ top = 0
, right = 0
, bottom = 0
, left = 10
}
]
<|
List.map2 (\x y -> makeSubject x)
appearanceEntry.appearanceSubjects
(List.range 1 (List.length appearanceEntry.appearanceSubjects))
makeSubject : Subjects -> Element msg
makeSubject subjects =
el
[ E.width fill
, alignLeft
]
<|
paragraph
[ F.regular
, paragraphFontSize
]
[ text (" " ++ subjects.subject) ]

View file

@ -178,7 +178,7 @@ contentList device service =
none
_ ->
image "Test"
image "Fatty"
, detailFormat column
[ rateMaker service
, descriptionMaker
@ -209,5 +209,5 @@ offeringMaker service =
makeDescription : Description -> Element msg
makeDescription description =
listItem
TextLightGrey
description.point
textLightGrey