Skip to content

Instantly share code, notes, and snippets.

@davidjbeaver
davidjbeaver / store.ts
Last active November 12, 2021 07:17
SolidJS Toast Tutorial - store.ts
import { nanoid } from "nanoid";
import { createStore } from "solid-js/store"
import { ToastObject, ToastType } from "./types";
const [toastStore, updateToastStore] = createStore({
toasts: [] as ToastObject[]
})
const addToast = (toastType: ToastType, message: string) => {
const toastId = nanoid();
@davidjbeaver
davidjbeaver / types.ts
Created November 12, 2021 07:17
SolidJS Toast Tutorial - types.ts
export type ToastObject = {
toastId: string;
toastType: ToastType,
message: string
}
export enum ToastType {
Success = "is-success",
Error = "is-error",
Warning = "is-warning",
@davidjbeaver
davidjbeaver / Toast.tsx
Created November 12, 2021 07:55
SolidJS Toast Tutorial - types.ts
import { For } from "solid-js";
import store from "./store";
import { ToastObject, ToastType } from "./types";
const Toast = () => {
return (
<div class="toast-container">
<For each={store.toastStore.toasts}>
{(toast: ToastObject) => (
<div class="toast" className={toast.toastType}>
@davidjbeaver
davidjbeaver / toasts.css
Created November 12, 2021 23:40
SolidJS Toast Tutorial - toasts.css
:root {
--primary-blue: #3b82f6;
--primary-red: #ef4444;
--primary-green: #059669;
--primary-yellow: #f59e0b;
}
.toast-container {
position: fixed;
top: 1.5em;