Skip to content

Instantly share code, notes, and snippets.

View koistya's full-sized avatar
🏠
Working from home

Konstantin Tarkus koistya

🏠
Working from home
View GitHub Profile
@koistya
koistya / facebook-customer-chat-demo.jsx
Last active July 13, 2022 10:20
Facebook Customer Chat with Next.js
import { useState, Fragment } from 'react'
import Script from 'next/script'
/**
* Facebook Customer Chat demo
*
* @see https://nextjs.org/docs/api-reference/next/script
* @see https://developers.facebook.com/docs/messenger-platform/discovery/customer-chat-plugin/sdk/
* @see https://developers.facebook.com/docs/javascript/reference/FB.init/
*/
@koistya
koistya / README.md
Created June 28, 2021 13:58 — forked from zhiguangwang/README.md
Installing and running shadowsocks on Ubuntu Server

Installing and running shadowsocks on Ubuntu Server

16.10 yakkety and above

  1. Install the the shadowsocks-libev package from apt repository.

     sudo apt update
     sudo apt install shadowsocks-libev
    
  2. Save ss.json as /etc/shadowsocks-libev/config.json.

Failed to load module '@vsintellicode/typescript-intellicode-plugin' from /Applications/Visual Studio Code.app/Contents/Resources/app/extensions/typescript-language-features/node_modules: Error: Could not resolve JS module '@vsintellicode/typescript-intellicode-plugin' starting at '/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/typescript-language-features/node_modules'. Looked in:
at Object.resolveJSModule (./.yarn/cache/typescript-patch-edef266e49-b8b689ef99.zip/node_modules/typescript/lib/tsserver.js:38253:19)
at Object.sys.require (./.yarn/cache/typescript-patch-edef266e49-b8b689ef99.zip/node_modules/typescript/lib/tsserver.js:157662:45)
at Function.Project.resolveModule (./.yarn/cache/typescript-patch-edef266e49-b8b689ef99.zip/node_modules/typescript/lib/tsserver.js:147790:35)
at ./.yarn/cache/typescript-patch-edef266e49-b8b689ef99.zip/node_modules/typescript/lib/tsserver.js:148867:36
at Object.firstDefined (./.yarn/cache/typescript-patch-edef266e49-b8b689ef99
import fs from "fs";
import knex from "knex";
import env from "./env";
export default knex({
client: "pg",
connection: {
ssl: env.PGSSLMODE === "verify-ca" && {
cert: fs.readFileSync(env.PGSSLCERT, "ascii"),
@koistya
koistya / remove-vk-content.md
Last active December 19, 2019 12:38
Как удалить все сообщения, фотки и видео ВКонтакте https://www.youtube.com/watch?v=sDYIn30ojFk

Как удалить все фотографии ВКонтакте

Заходим в "Фотографии", открываем первую фотографию в списке и запускаем скрипт в консоли браузера:

while (true) {
  // Удалить открытую фотографию
  Photoview.deletePhoto();
@koistya
koistya / example.js
Last active July 15, 2019 22:40
useScrollY() and useInnerWidth(nodeRef) React hooks
import React from 'react';
import { useScrollY, useInnerWidth } from './hooks';
function Example(props) {
const nodeRef = React.useRef();
const scrollY = useScrollY();
const innerWidth = useInnerWidth(nodeRef);
return (
<pre ref={nodeRef} {...props}>
@koistya
koistya / CustomerChat.js
Created March 18, 2019 08:32
Facebook Customer Chat React.js component https://medium.com/p/5b7c21343048
import React from 'react';
import { fb } from '../utils';
import { ConfigContext } from '../hooks';
class CustomerChat extends React.PureComponent {
componentDidMount() {
this.timeout = setTimeout(() => {
fb(FB => this.timeout && FB.XFBML.parse());
}, 2000);
}
@koistya
koistya / fb.js
Created March 18, 2019 08:21
Lazy loader for Facebook JavaScript SDK / Customer Chat SDK https://medium.com/p/5b7c21343048/
import loadScript from 'load-script';
let initialized = false;
let queue = [];
export function fb(callback) {
if if (initialized) {
callback(window.FB);
} else {
queue.push(callback);
@koistya
koistya / docker-compose.yml
Last active February 28, 2019 12:38
Shadowsocks Proxy Server on DigitalOcean https://m.do.co/c/eef302dbae9f
version: "3"
services:
shadowsocks:
image: shadowsocks/shadowsocks-libev:edge
ports:
- "8388:8388"
environment:
- METHOD=aes-256-cfb
- PASSWORD=XXX
@koistya
koistya / show-popup-on-selection.md
Last active July 15, 2022 04:13
Show Material UI menu on text selection
import React from 'react';
import Menu from '@material-ui/core/Menu';
import RootRef from '@material-ui/core/RootRef';
import Typography from '@material-ui/core/Typography';

class MyComponent extends React.Component {
  componentDidMount() {
    document.addEventListener('selectionchange', this.handleSelect);
  }