Skip to content

Instantly share code, notes, and snippets.

import React from 'react';
import InfiniteScroll from 'react-infinite-scroller';
import { MessageListContainer } from './styles';
const MessagesList = ({ hasMore, loadMore, messages }) => (
<InfiniteScroll
isReverse
hasMore={hasMore}
loadMore={loadMore}
loader={<span key={0}>Loading</span>}
import React, { useState, useEffect } from 'react';
import { MessageRepository, ChannelRepository, EkoChannelType } from 'eko-sdk';
import MessagesList from '../MessagesList';
import MessageComposeBar from '../MessageComposeBar';
import { ChatViewContainer } from './styles';
const channelRepo = new ChannelRepository();
const messageRepo = new MessageRepository();
const initialPagination = {
import React, { useEffect, useState } from 'react';
import { ChannelRepository } from 'eko-sdk';
import { ChannelsListContainer, ChannelItem } from './styles';
// Set up a new channel repository
const channelRepo = new ChannelRepository();
const ChannelsList = () => {
const [channels, setChannels] = useState([]);
const [currentChannelId, setCurrenChannelId] = useState(null);
import React from 'react'
import { useTranslate } from 'locale/utils/useTranslate.js'
const ComponentUsingTranslate = () => {
const { translate } = useTranslate()
return (
<div>
<h1>{translate('general.home')}</h1>
<button>Click to get started</button>
body: {
name: "Ministry of Roasters",
location: "Bangkok",
rating: 4,
shouldTriggerDeploy: true,
authorization" 'my-secret-password',
}
exports.handler = async event => {
...
// Always save the new shop in the database.
await dynamo.put(params).promise();
// Publish a message to SNS topic if a deploy is also required.
let didTriggerDeploy = false;
if (shouldTriggerDeploy) {
try {
const axios = require('axios');
exports.handler = async () => {
try {
await axios.post(
`${process.env.NETLIFY_DEPLOY_URL}?trigger_title=add+shop+form`,
{}
);
} catch (err) {
console.log('Error triggering deploy', err);
import { availableLocales, defaultLocale } from './constants';
// Check if we support the language.
const isSupportedLocale = locale => Object.keys(availableLocales).includes(locale)
export const getInitialLocale = () => {
// Don't run this code if on the server-side.
if (!process.browser) return defaultLocale;
// First check local storage.
import fetch from 'isomorphic-unfetch';
const getFetchAuthOptions = ctx => {
if (ctx?.req) {
return {
headers: { cookie: ctx.req.headers.cookie },
};
}
return { credentials: 'include' };
};
import Router from 'next/router'
export const isomorphicRedirect = (url, ctx) => {
if (ctx?.res) {
ctx.res.writeHead(302, { Location: url });
ctx.res.end();
} else {
return Router.push(url);
}
}