feat: added donation page

This commit is contained in:
Nick 2024-11-28 19:28:24 -06:00
parent 20c53ffeda
commit 1501624920
41 changed files with 870 additions and 50 deletions

View file

@ -0,0 +1,112 @@
module Pages.Donate exposing (Model, Msg, page)
import Config.Colour as T exposing (..)
import Config.Format as O exposing (..)
import Config.Identity as I exposing (..)
import Donate.Helpers exposing (..)
import Donate.Methods.Cardano exposing (donateCardano)
import Donate.Methods.KoFi exposing (donateKoFi)
import Donate.Methods.LiberaPay exposing (donateLiberaPay)
import Donate.Methods.Merch exposing (donateMerch)
import Donate.Methods.Patreon exposing (donatePatreon)
import Donate.Methods.PayPal exposing (donatePayPal)
import Donate.Methods.YouTube exposing (donateYouTube)
import Effect exposing (Effect)
import Element exposing (..)
import Element.Font as F
import Html.Attributes as H exposing (style)
import Layouts
import Page exposing (Page)
import Route exposing (Route)
import Shared exposing (..)
import View exposing (View)
page : Shared.Model -> Route () -> Page Model Msg
page shared route =
Page.new
{ init = init
, update = update
, subscriptions = subscriptions
, view = view
}
|> Page.withLayout toLayout
toLayout : Model -> Layouts.Layout Msg
toLayout model =
Layouts.Navbar {}
-- INIT
type alias Model =
{}
init : () -> ( Model, Effect Msg )
init () =
( {}
, Effect.none
)
-- UPDATE
type Msg
= NoOp
update : Msg -> Model -> ( Model, Effect Msg )
update msg model =
case msg of
NoOp ->
( model
, Effect.none
)
-- SUBSCRIPTIONS
subscriptions : Model -> Sub Msg
subscriptions model =
Sub.none
-- VIEW
view : Model -> View Msg
view model =
{ title = donateName
, attributes = []
, element = donateContainer
}
donateContainer : Element msg
donateContainer =
topLevelContainer donateList
donateList : Element msg
donateList =
column
pageList
<|
List.map donateMaker
[ donateLiberaPay
, donatePayPal
, donatePatreon
, donateCardano
, donateKoFi
, donateYouTube
, donateMerch
]