Skip to content

Instantly share code, notes, and snippets.

View joenoon's full-sized avatar

Joe Noon joenoon

  • SF Bay Area - San Ramon
View GitHub Profile
@joenoon
joenoon / jn-mobx-lite.macro.d.ts
Last active March 26, 2019 15:54
needs some custom setup, but here is the idea
import {MobxReactLiteHooks} from './jn-mobx-lite';
declare module 'jn-mobx-lite.macro';
export function useObserver<T>(baseComponentName?: string): MobxReactLiteHooks;
defmodule MyAppWeb.LiveView.Session do
@moduledoc """
Joe Noon on 9/3/2019
LiveView does not have a direct way to change the session, but does provide a way to set flash.
The application can use `put_flash(socket, :session, %{...})`, and this plug will merge that
map when present into the persisted session.
"""
@joenoon
joenoon / app.html.eex
Last active January 18, 2023 00:18
Phoenix LiveView main/nested setup
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<link rel="stylesheet" href="<%= Routes.static_path(@conn, "/css/app.css") %>"/>
</head>
<body>
<div id="phx_root">
@joenoon
joenoon / _000.txt
Last active January 10, 2020 09:09
my liveview setup
i have one MainLive live_view defined in router as live "/*path", MainLive . then i created
a router_live.ex which looks sort of like a normal router.ex with all the live routes, but
they all point to live_components. and that router is not used in the endpoint, its purely
to get the functionality with route matching and Routes.live_path etc. my MainLive
handle_params does a URI.parse(url) and then Phoenix.Router.route_info(MyAppWeb.RouterLive,
"GET", uri.path, uri.authority) and i come out with a route that i pass down. my MainLive
render does a header/footer and in the middle something like live_component(assigns.socket,
route.live_view, id: route.route, store: store) (route here is what i created in
handle_params… route.live_view is the LiveComponent defined in the router_live.ex for the
route that matched). ive liked how it worked out so far. i also have an “AppState” that i
@joenoon
joenoon / binary_kv.ex
Created March 6, 2021 16:47
Simple ecto Binary KV store in the db, MIT License, Joe Noon, Copyright 2020
defmodule Noonhq.Repo.BinaryKv do
@moduledoc """
Simple ecto Binary KV store in the db
MIT License, Joe Noon, Copyright 2020
"""
require Logger
use Ecto.Schema
import Ecto.Query