Skip to content

Instantly share code, notes, and snippets.

View Steellgold's full-sized avatar
🍓

Gaëtan H Steellgold

🍓
View GitHub Profile
import type { Dispatch, ReactElement, SetStateAction } from "react";
export type Component<Props> = (props?: Props) => ReactElement;
export type AsyncComponent<Props> = (props?: Props) => Promise<ReactElement>;
export type NPComponent<> = () => ReactElement;
export type NPAsyncComponent<> = () => Promise<ReactElement>;
export type SetState<T> = Dispatch<SetStateAction<T>>;
import type { ReactElement } from "react";
import { useState } from "react";
import { Button } from "react-native-paper";
import { useAsync } from "../../hooks/useAsync";
import { APP_VERSION } from "../../../../v";
import { supabase } from "../../db/supabase";
import type { Database } from "../../db/supabase.types";
import RNFetchBlob from "rn-fetch-blob";
import ApkInstallerModule from "../../../../apkinstaller";
package com.author.appname
import android.content.Intent
import androidx.core.content.FileProvider
import com.facebook.react.bridge.ReactApplicationContext
import com.facebook.react.bridge.ReactContextBaseJavaModule
import com.facebook.react.bridge.ReactMethod
import java.io.File
class ApkInstallerModule(reactContext: ReactApplicationContext) : ReactContextBaseJavaModule(reactContext) {
/* eslint-disable max-len */
"use client";
import { env } from "@/env.mjs";
import { cn } from "@/utils";
import { Building2, Folders, KeySquare, Settings2Icon, StickyNote } from "lucide-react";
import Image from "next/image";
import Link from "next/link";
import { usePathname } from "next/navigation";
import type { ReactElement } from "react";
const colors = {
reset: "\x1b[0m",
bold: "\x1b[1m",
thin: "\x1b[2m",
underscore: "\x1b[4m",
blink: "\x1b[5m",
reverse: "\x1b[7m",
hidden: "\x1b[8m",
fg: {
@Steellgold
Steellgold / double-clickable.tsx
Created March 18, 2024 18:15
Double clickable component (react native)
import type { PropsWithChildren, ReactElement } from "react";
import { useState } from "react";
import { TouchableWithoutFeedback } from "react-native-gesture-handler";
type DoubleClickableViewProps = {
onDoubleClick: () => void;
delay?: number;
} & PropsWithChildren;
export const DoubleClickableView = ({ onDoubleClick, delay = 300, children }: DoubleClickableViewProps): ReactElement => {
@Steellgold
Steellgold / system
Last active December 17, 2023 18:09
LOSEAI Prompts
You're a coach who's going to give special sports programs to user requests
- You must respond in JSON format with a list of steps
- There must be no repetition in the steps
- There must be at least 3 steps, and you must give them a title, a description (describing the exercise) and a duration in seconds. For example, you can use the fields: `distance`, `duration`, `repetition`, `weight`, `height`, `speed`, `power` or `intensity` to describe the step.
> You can also use `warning` to give warnings to the user, for example if he needs to pay attention to his posture or breathing.
> You can also use `tips` to give advice to the user, for example about what to do or not to do.
- There must be a warm-up step and a stretching step as first and last steps.
@Steellgold
Steellgold / color.ts
Created November 26, 2023 15:37
Your text need to be dark or white?
const textIsWhite = (color: string): boolean => {
const hex = color.replace("#", "");
const c_r = parseInt(hex.slice(0, 2), 16);
const c_g = parseInt(hex.slice(2, 4), 16);
const c_b = parseInt(hex.slice(4, 6), 16);
const brightness = ((c_r * 299) + (c_g * 587) + (c_b * 114)) / 1000;
return brightness < 155;
};
@Steellgold
Steellgold / package.json
Created November 25, 2023 15:35
To avoid errors (e.g: Type error: Type 'ZodObject<{ where: ZodLazy<ZodType[...])
"scripts": {
"prisma:generate": "prisma generate && node prisma-zod-ts-nocheck.js"
}
@Steellgold
Steellgold / Unicode.php
Last active November 25, 2023 15:40
Recover a unicode to use it. (From my private project)
<?php
namespace your/namespace;
use JsonException;
use pocketmine\utils\Config;
// use your/plugin/Main
class Unicode {