Skip to content
This repository has been archived by the owner on Oct 20, 2021. It is now read-only.

undone-labs/filecoin-foundation-site

 
 

Repository files navigation

Filecoin Foundation Website

Website for the Filecoin Foundation

Components

Example Data Structure

{
  "id": "intro_1",
  "grid": ["middle"],

  "left": {
    "type": "video_block",
    "cols": {
      "num": "col-6",
      "push_left": "off-2"
    },
    "preview_image": "/images/placeholder-image.png",
    "url": "https://www.youtube.com/watch?v=wP4Bk8lBNUc"
  },
  "right": {
    "type": "text_block",
    "layout": "compact",
    "cols": {
      "num": "col-4",
      "push_left": "off-3"
    },
    "label": {
      "type": "D",
      "theme": "light",
      "action": "video",
      "icon": "play",
      "text": "Watch now",
      "url": "https://www.youtube.com/watch?v=wP4Bk8lBNUc"
    },
    "description": "Join us as Thomas Jefferson argues with Alexander Hamilton in Washington D.C.",
    "customizations": [
      {
        "name": "BackgroundLayers",
        "props": {
          "layers-array": [8, 6, 5, 4, 2, 1],
          "offset": 1.375,
          "reverse": true
        }
      }
    ]
  }
}

Common Keys

grid | this is a top-level section key. Any strings in this array will get attached to the grid class.

{
  grid: [String]
}

left, right | these keys contain all the content for the left or right columns. Only 1 is required.

{
  left: Object,
  right: Object
}

cols | this key is nested inside the left or right keys

{
  cols: {
    num: String,
    push_left: String,
    push_right: String
  }
}

Text Block | text_block

{
  type: 'text_block',
  layout: String, // 'large', 'medium' or 'compact'
  label: String|<Button>, // String → simply outputs string | Object → <Button> component is outputted
  heading: String,
  subheading: String,
  description: String,
  ctas: [<Button>]
}

Video Block | video_block

{
  type: 'video_block',
  preview_image: String,
  url: String,
  subtext: <Button>,
  tint: Boolean
}

Image Block | image_block

{
  type: 'image_block',
  src: String
}

Button

{
  type: String, // letter of the alphabet like 'A' or 'B'
  theme: String, // 'light' or 'dark'
  action: String, // 'link', 'nuxt-link', 'button' or 'video'
  icon: String,
  text: String,
  url: String // if action === 'video', this is the URL to the video that opens in the modal
}

Icons

Below is a list of icon values that can be passed into any icon property in the component objects:

  • play
  • info

Releases

No releases published

Packages

No packages published

Languages

  • Vue 85.5%
  • SCSS 10.4%
  • JavaScript 3.4%
  • HTML 0.7%