tree = require('../states/appState')
reqwest = require('reqwest')

sealBuilderState = tree.select('sealBuilder')
onBoardingState = tree.select('onBoarding')
userState = tree.select('user')
actions =
  changePreview: (payload) ->
    previewState = 'desktop' if payload == '0'
    previewState = 'mobile' if payload == '1'
    sealBuilderState.select('preview').set(previewState)
  changeName: (payload) ->
    sealBuilderState.select('name').set(payload)
    tree.commit()
  changeCTA: (payload) ->
    sealBuilderState.select('CTA').set(payload)
    tree.commit()
  changeBorderSize: (payload) ->
    sealBuilderState.select('border', 'size').set(payload)
    tree.commit()
  changeBorderColor: (payload) ->
    sealBuilderState.select('border', 'color').set(payload)
    tree.commit()
  selectBasicBorder: (payload) ->
    sealBuilderState.select('border', 'borderBasic').set(payload)
  changeIcon: (payload) ->
    sealBuilderState.select('icon').set(payload)
  changeOrientation: (payload) ->
    sealBuilderState.select('orientation').set(payload)
  saveSeal: ->
    csrf = Django.csrf_token()
    sealBuilderState.select('isSaving').set(true)
    if sealBuilderState.get('orientation') == 'vertical'
      sideways = false
    else
      sideways = true
    reqwest
      url: '/seal/save/'
      method: 'post'
      data:
        "csrfmiddlewaretoken": csrf,
        "invite_code": onBoardingState.get('invite_code'),
        "advanced": sealBuilderState.get('advanced'),
        "id": sealBuilderState.get('id'),
        "name": 'Message Seal',
        "call_to_action": sealBuilderState.get('CTA'),
        "icons": sealBuilderState.get('icon'),
        "border_thickness": sealBuilderState.select('border').get('size'),
        "border_color": sealBuilderState.select('border').get('color'),
        "sideways": sideways,
        "font": "Arial",
        "font_size": 22,
        "image_top_height": 80,
        "image_bottom_height": 57
      error: (err) ->
        console.log(err)
      success: ->
        location.assign("/start/#{Django.invite}/3/")
    
      



module.exports = actions