Skip to content

Instantly share code, notes, and snippets.

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

Dipesh KC dipeshhkc

🏠
Working from home
View GitHub Profile
// Place your key bindings in this file to override the defaultsauto[]
[
{
"key": "ctrl+shift+d",
"command": "editor.action.copyLinesDownAction",
"when": "editorTextFocus && !editorReadonly"
},
{
"key": "ctrl+shift+alt+down",
"command": "-editor.action.copyLinesDownAction",
{
"typescript.disableAutomaticTypeAcquisition": true,
"workbench.colorTheme": "One Dark Pro",
"editor.fontFamily": "Fira Code",
"editor.fontLigatures": true,
"[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[javascriptreact]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
{
"React Starter": {
"scope": "javascript,typescript,typescriptreact,javascriptreact",
"prefix": "rfc",
"body": [
"export const $1${TM_FILENAME_BASE} = () => {",
" return (",
" <>",
" $2",
" </>",
: 1585137065:0;java -v
: 1585137068:0;java --v
: 1585138082:0;export MAVEN_OPTS="-Xmx4096m -Xms1024m"
: 1585138371:0;mvn --version
: 1585138381:0;java
: 1585138491:0;mvn -DskipTests install -Paddons,distrib
: 1585138667:0;java --help
: 1585138837:0;sudo update-java-alternatives --config
: 1585138840:0;sudo update-java-alternatives
: 1585138846:0;sudo update-java-alternatives --list
adashen.vscode-tomcat
alexcvzz.vscode-sqlite
amiralizadeh9480.laravel-extra-intellisense
bmewburn.vscode-intelephense-client
bradlc.vscode-tailwindcss
christian-kohler.path-intellisense
codingyu.laravel-goto-view
Dart-Code.dart-code
Dart-Code.flutter
dbaeumer.vscode-eslint
import type { MetaFunction } from '@remix-run/node';
import { useLoaderData } from '@remix-run/react';
import { useFetcher } from '@remix-run/react';
import { Outlet } from '@remix-run/react';
import { Loader } from '~/components/loader';
import { Pricing } from '~/components/pricing/basic';
import { loader as GetLoggedInUser } from '~/routes/api/getLoggedInUser';
import { plans } from '~/types/subscription';
import { Outlet } from 'react-router';
import { UserWithSubscription } from '~/user.server';
import { loader as GetLoggedInUser } from '~/routes/api/getLoggedInUser';
import { Link, useLoaderData } from '@remix-run/react';
import { formatDistance } from 'date-fns';
import { getHumanReadableTierName } from '~/types/subscription';
import { USER_STATUS } from '~/types/user';
export const loader = GetLoggedInUser;
import { Form } from '@remix-run/react';
export default function Index() {
return (
<div className="flex min-h-full flex-col justify-center py-12 sm:px-6 lg:px-8">
<h2 className="mt-6 text-center text-3xl font-bold tracking-tight text-gray-900">
Sign in to your account
</h2>
<div className="mt-8 sm:mx-auto sm:w-full sm:max-w-md">
<Form
const handleInvoicePaid = async (data: Stripe.Event.Data.Object) => {
const invoice = data as Stripe.Invoice;
const stripeSubId = invoice.subscription?.toString();
if (
invoice.billing_reason === 'subscription_create' ||
invoice.billing_reason === 'subscription_update'
) {
// this should already be handled with 'checkout.session.completed' or with 'customer.subscription.updated'
return;
export const handleStripeEvent = async (
type: string,
data: Stripe.Event.Data,
id: string
) => {
try {
const isTestEvent = id === 'evt_00000000000000';
if (isTestEvent) {
return;