Skip to content

Instantly share code, notes, and snippets.

View khola's full-sized avatar
☁️
Working from home

kuba holak khola

☁️
Working from home
View GitHub Profile
import { Component, Prop, State } from '@stencil/core';
@Component({
tag: 'my-custom-button',
styleUrl: 'my-custom-button.scss'
})
export class MyCustomButtonComponent {
@Prop() myCustomAttribute: string;
@State() checked: boolean;
@khola
khola / basic-component.html
Created April 27, 2018 11:40
Basic component
<template id="my-custom-component">
<span></span>
</template>
<script type="text/javascript">
class MyCustomComponent extends HTMLElement {
constructor() {
super();
const template = document.getElementById('my-custom-component');
const templateContent = template.content;
import { Component, OnInit, ViewEncapsulation, Input, HostListener, EventEmitter, Output } from "@angular/core";
@Component({
selector: "custom-message",
template: `
<p [class]="type">
{{message}}
</p>
`,
styles: [
componentDidMount() {
Storage.list("roadmaps/")
.then(result =>
this.setState(
{
projects: result
.filter(e => e.size > 0 && e.key.includes("index.md"))
.map(e => e.key.split("/")[1])
.filter(e => e && e.length > 0)
},
input[type="checkbox"]:not(:checked) ~ * {
display: none;
}

Past:

  • I need my data ASAP - real-time serverless - WE ARE DEVELOPERS WORLD CONGRESS BERLIN 2019
  • Scale it the easy way - introduction to micro frontends - 4Developers Warsaw
  • Real time serverless apps on AWS - GDG POZNAŃ, Touch the clouds #1
  • Amplify your JS superpowers - Poznań Serverless Meetup #2
  • Scale it the easy way - introduction to micro frontends - 4Developers Katowice
  • Scale it the easy way - introduction to micro frontends - meet.js summit 2018
  • Scale it the easy way - introduction to micro frontends - 4Developers Kraków
  • Javascript in the cloud, serverless on AWS - 4Developers Wrocław
import { useState, useEffect } from "react";
import { API } from "aws-amplify";
function useAPI(api, endpoint, settings, method = "get") {
const [data, setData] = useState();
const [loading, setLoading] = useState(true);
async function callAPI() {
const response = await API[method](api, endpoint, settings);
setData(response);
import React, { Component } from "react";
class App extends Component {
state = { messages: [], input: "" };
onInput = e => {
this.setState({ input: e.target.value });
};
onSubmit = e => {
e.preventDefault();
//the real submit action code here
import React, { Component } from "react";
import Amplify, { API, graphqlOperation, Auth } from "aws-amplify";
import { withAuthenticator } from "aws-amplify-react";
import { createMessage } from "./graphql/mutations";
import { listMessages } from "./graphql/queries";
import { onCreateMessage } from "./graphql/subscriptions";
import config from "./aws-exports";
Amplify.configure(config);
class App extends Component {
@khola
khola / nc-running-bot-lambda.js
Last active April 30, 2019 08:28
NC-RUNNING-BOT
import { APIGatewayEvent, Callback, Context, Handler } from "aws-lambda";
import * as AWS from "aws-sdk";
import axios from "axios";
import * as moment from "moment";
import { QuantifiedSelfLib } from "quantified-self-lib";
import { WebClient } from "@slack/client";
const DOMParser = require("xmldom").DOMParser;
AWS.config.update({
region: "eu-west-1"