Skip to content

Instantly share code, notes, and snippets.

🕴️
I may be slow to respond.

Tomáš Ehrlich tricoder42

🕴️
I may be slow to respond.
Block or report user

Report or block tricoder42

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View hammerspoon.lua
local hyper = {"cmd", "alt"}
--Predicate that checks if a window belongs to a screen
function isInScreen(screen, win)
return win:screen() == screen
end
function focusScreen(screen)
--Get windows within screen, ordered from front to back.
--If no windows exist, bring focus to desktop. Otherwise, set focus on
View NotificationsWrapper.js
function NotificationsHeader({ fetchNotifications, subscribeNotifications }) {
const [notifications, setNotifications] = useState([])
useEffect(() => {
// fetch initial notifications
fetchNotifications().then(notifications => {
setNotifications(notifications)
})
// subscribe to new notifications
@tricoder42
tricoder42 / README.md
Last active May 29, 2019
Webpack plugin which injects code, module dependency and async context to each chunk
View README.md

I'm writing a webpack plugin, which should generate message catalogs for each chunk.

I know how to split main message catalog by inspecting modules inside chunk.

In build folder, I have:

index.js
index.en.js
index.cs.js
@tricoder42
tricoder42 / README.md
Last active May 14, 2019
Centralized routing for Next.js
View README.md

I'm using this approach to have centralized route config in Next.js. I don't have the fully automated solution. Right now I'm writing route configs and links manually to figure out if it works and what are the drawbacks.

I believe the automation is the last step to make it completely seamless.

1. Define routes in centralized config

This is the only file that needs to be wrote manually.

@tricoder42
tricoder42 / example.ts
Created Apr 25, 2019
Next.js Route Configs
View example.ts
// I believe this file could be automatically generated. Each route
// could be typechecked that all params are passed into it.
import { projectRoute } from "routes.js"
import { ProjectLink } from "routes.utils.ts"
export const ProjectLink = makeLink(projectRoute)
// Example usage of `ProjectLink` component. It's like regular Link, but it accepts `params`
// which are injected into `routeConfig.as` pattern.
@tricoder42
tricoder42 / app.js
Last active Oct 19, 2018 — forked from NgesBrian/app.js
error message is this.props.language is undefined
View app.js
import React, { Component } from 'react';
import './App.css';
import { connect } from 'react-redux';
import Main from './Main/Main.js';
import FooterPage from './Footer/Footer.js';
import { I18nProvider } from '@lingui/react'
class App extends Component {
View README.md
  1. Query projectIssue is resolved with an object "IssueType:18"
  2. Mutation issueEdit is called and returns the same object with updated attachments
  3. Object "IssueType:18" is updated correctly in cache (checked in Apollo DevTool and also manually by store.readFragment)
  4. Query projectIssue reloaded from cache automatically, but this this it doesn't return object

In Apollo DevTool I see this field in root query: issue({"issueId":"18","project":"IEP001"}): IssueType:18. I believe the query should be updated when object IssueType:18 in cache is updated, but when it happens, the object is empty.

@tricoder42
tricoder42 / deprecate.js
Created Aug 25, 2018
Deprecate renamed packages on NPM and update their READMEs
View deprecate.js
/*
Usage: node ./deprecate.js OTP_TOKEN
OTP_TOKEN is used for 2FA
*/
const path = require("path")
const fs = require("fs-extra")
const { exec } = require("child_process")
View headless.js
const flip = () => ({
flipResults: Math.random()
})
// creation of headlesscomponent
class CoinFlip extends React.Component {
state = flip()
handleClick = () => this.setState(flip)
api() {
View 00_GraphQL_example.md

GraphQL example

Graphene Tutorial

Example of authentication mutations and user queries in GraphQL API.

You can’t perform that action at this time.