Skip to content

Instantly share code, notes, and snippets.

View ryanditjia's full-sized avatar

Ryandi Tjia ryanditjia

View GitHub Profile
@ryanditjia
ryanditjia / react.jsx
Created March 10, 2025 08:36
Example React component composition
import React from 'react'
const Component = () => <Popup text="You Win" items={[]} />
const Component2 = () => (
<GenericPopup>
{/* <WinComponent items={[]} /> */}
<LoseComponent items={[]} />
</GenericPopup>
)
@ryanditjia
ryanditjia / biteship.json
Created September 13, 2024 04:56
Biteship options
{
"success": true,
"object": "courier_pricing",
"message": "Success to retrieve courier pricing",
"code": 20001007,
"origin": {
"location_id": null,
"latitude": -6.3031123,
"longitude": 106.7794934999,
"postal_code": 12440,
@ryanditjia
ryanditjia / docker-compose.override.yml
Created September 11, 2020 10:51
Attempt to fix error
backend:
depends_on:
- db
ports:
- '8888:8888'
volumes:
- ./backend/app:/app
environment:
- JUPYTER=jupyter lab --ip=0.0.0.0 --allow-root --NotebookApp.custom_display_url=http://127.0.0.1:8888
- SERVER_HOST=http://${DOMAIN?Variable not set}
Checking for script in /app/prestart.sh
Running script /app/prestart.sh
INFO:__main__:Initializing service
INFO:__main__:Starting call to '__main__.init', this is the 1st time calling it.
INFO:__main__:Service finished initializing
DB: postgresql+psycopg2://postgres:***@db_airflow:5432/fairphonic_airflow
[2020-09-10 11:15:20,285] {db.py:378} INFO - Creating tables
INFO [alembic.runtime.migration] Context impl PostgresqlImpl.
INFO [alembic.runtime.migration] Will assume transactional DDL.
2020-09-10 11:15:22.064610: W tensorflow/stream_executor/platform/default/dso_loader.cc:59] Could not load dynamic library 'libcudart.so.10.1'; dlerror: libcudart.so.10.1: cannot open shared object file: No such file or directory
@ryanditjia
ryanditjia / _layout.svelte
Created June 14, 2020 11:41
Tailwind Sapper
<!-- remove GlobalStyle from this file -->
@ryanditjia
ryanditjia / rollup-plugin-markdown.js
Created May 29, 2020 15:24
Sapper rollup + markdown
import fm from 'front-matter'
import path from 'path'
export function markdown() {
return {
name: 'rollup-plugin-markdown',
transform(code, id) {
// Check the file extension
const extension = path.extname(id)
@ryanditjia
ryanditjia / graphql_client.js
Created May 29, 2020 15:03
GraphQL in Sapper
import { GraphQLClient } from 'graphql-request'
export const graphqlClient = new GraphQLClient('YOUR_GRAPHQL_ENDPOINT', {
headers: {
authorization: `Bearer SOMETHING_SOMETHING`, // if auth is needed
},
})
@ryanditjia
ryanditjia / MobileNav.svelte
Created May 18, 2020 08:45
MobileNav with Svelte
<script>
export let segment
let isNavOpen = false
function toggleNav() {
isNavOpen = !isNavOpen
}
function closeNav() {
isNavOpen = false
}
@ryanditjia
ryanditjia / send-email.js
Last active May 5, 2021 19:53
Netlify functions (lambda) + form-data + Nodemailer
import parser from 'lambda-multipart-parser'
import nodemailer from 'nodemailer'
const handler = async (event, context, callback) => {
const transporter = nodemailer.createTransport({
host: 'smtp.ethereal.email',
port: 587,
auth: {
user: process.env.ETHEREAL_USER,
pass: process.env.ETHEREAL_PASS,
@ryanditjia
ryanditjia / netlifyForm.ts
Created August 22, 2019 16:46
Netlify Form Submission
interface BaseFormData {
'form-name': string
}
type FormDataWithFile = BaseFormData & Record<string, string | File>
type FormDataWithoutFile = BaseFormData & Record<string, string>
/*
* Encoding forms with attachments (input type file)
*/