Skip to content

Instantly share code, notes, and snippets.

View kluu1's full-sized avatar

Kevin Luu kluu1

  • Atlanta, GA
View GitHub Profile
import React, { useState } from 'react'
import { Image, Table } from 'semantic-ui-react'
import { formatCurrency } from '../../utils/filters'
import CoinDetailsModal from './CoinDetailsModal'
const CoinsTable = ({ coins }) => {
const [isModalOpen, setIsModalOpen] = useState(false)
const [selectedCoin, setSelectedCoin] = useState(null)
const handleModal = e => {
import React, { useState } from 'react'
import { useQuery } from '@apollo/react-hooks'
import { Image, Modal, Menu, Grid } from 'semantic-ui-react'
import CoinDetailsModalTable from './CoinDetailsModalTable'
import { GET_COIN_DETAILS } from '../../utils/queries'
const CoinDetailModals = ({ isModalOpen, onClose, coinDetails }) => {
const [interval, setInterval] = useState('1d')
const { data, loading, error, refetch } = useQuery(GET_COIN_DETAILS, {
export const formatCurrency = value => {
const formatter = new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'USD'
})
return formatter.format(value)
}
export const convertToPercentage = value => {
return (value * 100).toFixed(2) + '%'
import gql from 'graphql-tag'
export const GET_COINS_QUERY = gql`
{
getCoins {
id
currency
name
logo_url
rank
import { Table } from 'semantic-ui-react'
import { formatCurrency, convertToPercentage } from '../../utils/filters'
const CoinDetailsModalTable = ({ coinDetails, data }) => (
<Table basic="very">
<Table.Body>
<Table.Row>
<Table.Cell>Symbol</Table.Cell>
<Table.Cell>{coinDetails.currency}</Table.Cell>
</Table.Row>
import { Table } from 'semantic-ui-react'
import { formatCurrency, convertToPercentage } from '../../utils/filters'
const CoinDetailsModalTable = ({ coinDetails, data }) => (
<Table basic="very">
<Table.Body>
<Table.Row>
<Table.Cell>Symbol</Table.Cell>
<Table.Cell>{coinDetails.currency}</Table.Cell>
</Table.Row>
...
"scripts": {
"dev": "nodemon --exec \"sls offline start\" -e \"extensions,to,watch,for,example,js,elm,hs,py,yml\"",
"test": "echo \"Error: no test specified\" && exit 1"
},
...
const { gql } = require('apollo-server-lambda');
module.exports.typeDefs = gql`
type Orders {
id: String!
amount: Float!
tax: Float!
total: Float!
}
module.exports.resolvers = {
Query: {
getOrders: (_, args) => {
const orders = [
{
id: '1977',
amount: 10.0,
tax: 0.5,
total: 10.5,
},
const { ApolloServer } = require('apollo-server-lambda');
const { resolvers } = require('./graphql/resolvers');
const { typeDefs } = require('./graphql/schema');
const server = new ApolloServer({
typeDefs,
resolvers,
});
module.exports.graphqlHandler = server.createHandler({