fix: grid virtualizer on mobile can't show any items

Signed-off-by: Innei <tukon479@gmail.com>
This commit is contained in:
Innei 2024-12-10 22:18:56 +08:00
parent 5bb01006ad
commit 2b93dfd58f
No known key found for this signature in database
GPG Key ID: 0F62D33977F021F7
2 changed files with 256 additions and 137 deletions

View File

@ -6,8 +6,16 @@ import { useTypeScriptHappyCallback } from "@follow/hooks"
import { LRUCache } from "@follow/utils/lru-cache"
import type { Range, VirtualItem, Virtualizer } from "@tanstack/react-virtual"
import { useVirtualizer } from "@tanstack/react-virtual"
import type { FC } from "react"
import { Fragment, startTransition, useEffect, useMemo, useState } from "react"
import type { FC, MutableRefObject } from "react"
import {
Fragment,
startTransition,
useEffect,
useLayoutEffect,
useMemo,
useRef,
useState,
} from "react"
import { useTranslation } from "react-i18next"
import { setUISetting, useUISettingKey } from "~/atoms/settings/ui"
@ -101,16 +109,57 @@ const ratioMap = {
// 16:9
[FeedViewType.Videos]: 16 / 9,
}
const VirtualGrid: FC<EntryListProps> = (props) => {
const { entriesIds, feedId, onRangeChange, fetchNextPage, view, Footer, hasNextPage, listRef } =
props
const scrollRef = useScrollViewElement()
const VirtualGrid: FC<EntryListProps> = (props) => {
const scrollRef = useScrollViewElement()
const [containerWidth, setContainerWidth] = useState(0)
const columns = useMemo(() => {
if (!scrollRef) return [0]
useEffect(() => {
if (!scrollRef) return
const handler = () => {
const rem = Number.parseFloat(getComputedStyle(document.documentElement).fontSize)
const width = scrollRef.clientWidth - 2 * rem
setContainerWidth(width)
measureRef.current?.()
}
const observer = new ResizeObserver(handler)
handler()
observer.observe(scrollRef)
return () => {
observer.disconnect()
}
}, [scrollRef])
const measureRef = useRef<() => void>()
if (!containerWidth) return null
return <VirtualGridImpl {...props} containerWidth={containerWidth} measureRef={measureRef} />
}
const VirtualGridImpl: FC<
EntryListProps & {
containerWidth: number
measureRef: MutableRefObject<(() => void) | undefined>
}
> = (props) => {
const {
entriesIds,
feedId,
onRangeChange,
fetchNextPage,
view,
Footer,
hasNextPage,
listRef,
measureRef,
containerWidth,
} = props
const scrollRef = useScrollViewElement()
const columns = useMemo(() => {
const width = containerWidth
const rem = Number.parseFloat(getComputedStyle(document.documentElement).fontSize)
let columnCount = 1 // default (grid-cols-1)
@ -120,7 +169,7 @@ const VirtualGrid: FC<EntryListProps> = (props) => {
if (width >= 80 * rem) columnCount = 5 // @8xl (80rem)
return Array.from({ length: columnCount }).fill(width / columnCount) as number[]
}, [containerWidth, scrollRef])
}, [containerWidth])
// Calculate rows based on entries
const rows = useMemo(() => {
@ -190,23 +239,12 @@ const VirtualGrid: FC<EntryListProps> = (props) => {
listRef.current = rowVirtualizer
}, [rowVirtualizer, listRef])
useEffect(() => {
if (!scrollRef) return
const handler = () => {
const rem = Number.parseFloat(getComputedStyle(document.documentElement).fontSize)
const width = scrollRef.clientWidth - 2 * rem
setContainerWidth(width)
useLayoutEffect(() => {
measureRef.current = () => {
rowVirtualizer.measure()
columnVirtualizer.measure()
}
const observer = new ResizeObserver(handler)
observer.observe(scrollRef)
return () => {
observer.disconnect()
}
}, [columnVirtualizer, rowVirtualizer, scrollRef])
}, [columnVirtualizer, measureRef, rowVirtualizer])
const virtualItems = rowVirtualizer.getVirtualItems()
useEffect(() => {
@ -233,10 +271,9 @@ const VirtualGrid: FC<EntryListProps> = (props) => {
return (
<div
className="relative mx-4"
className="relative mx-4 w-full"
style={{
height: `${rowVirtualizer.getTotalSize()}px`,
width: `${columnVirtualizer.getTotalSize()}px`,
}}
>
{rowVirtualizer.getVirtualItems().map((virtualRow) => {

View File

@ -24,12 +24,7 @@ declare const authPlugins: ({
method: "GET";
}> | undefined)?]>(...ctx: C): Promise<C extends [{
asResponse: true;
}] ? Response : {
[k: string]: {
id: string;
name: string;
};
}>;
}] ? Response : any>;
path: "/get-providers";
options: {
method: "GET";
@ -58,6 +53,23 @@ declare const authPlugins: ({
headers: Headers;
};
};
} | {
id: "updateUserccc";
endpoints: {
updateUserccc: {
<C extends [(better_call.Context<"/update-user-ccc", {
method: "POST";
}> | undefined)?]>(...ctx: C): Promise<C extends [{
asResponse: true;
}] ? Response : string | null>;
path: "/update-user-ccc";
options: {
method: "POST";
};
method: better_call.Method | better_call.Method[];
headers: Headers;
};
};
})[];
declare const achievements: drizzle_orm_pg_core.PgTableWithColumns<{
@ -4735,10 +4747,10 @@ declare const user: drizzle_orm_pg_core.PgTableWithColumns<{
emailVerified: drizzle_orm_pg_core.PgColumn<{
name: "emailVerified";
tableName: "user";
dataType: "date";
columnType: "PgTimestamp";
data: Date;
driverParam: string;
dataType: "boolean";
columnType: "PgBoolean";
data: boolean;
driverParam: boolean;
notNull: false;
hasDefault: false;
isPrimaryKey: false;
@ -4878,10 +4890,10 @@ declare const users: drizzle_orm_pg_core.PgTableWithColumns<{
emailVerified: drizzle_orm_pg_core.PgColumn<{
name: "emailVerified";
tableName: "user";
dataType: "date";
columnType: "PgTimestamp";
data: Date;
driverParam: string;
dataType: "boolean";
columnType: "PgBoolean";
data: boolean;
driverParam: boolean;
notNull: false;
hasDefault: false;
isPrimaryKey: false;
@ -4968,7 +4980,7 @@ declare const usersOpenApiSchema: z.ZodObject<Omit<{
id: z.ZodString;
name: z.ZodNullable<z.ZodString>;
email: z.ZodString;
emailVerified: z.ZodNullable<z.ZodString>;
emailVerified: z.ZodNullable<z.ZodBoolean>;
image: z.ZodNullable<z.ZodString>;
handle: z.ZodNullable<z.ZodString>;
createdAt: z.ZodDate;
@ -4976,7 +4988,7 @@ declare const usersOpenApiSchema: z.ZodObject<Omit<{
}, "email">, z.UnknownKeysParam, z.ZodTypeAny, {
name: string | null;
id: string;
emailVerified: string | null;
emailVerified: boolean | null;
image: string | null;
handle: string | null;
createdAt: Date;
@ -4984,7 +4996,7 @@ declare const usersOpenApiSchema: z.ZodObject<Omit<{
}, {
name: string | null;
id: string;
emailVerified: string | null;
emailVerified: boolean | null;
image: string | null;
handle: string | null;
createdAt: Date;
@ -6542,10 +6554,13 @@ declare const auth: {
method: "GET";
query: zod.ZodOptional<zod.ZodObject<{
disableCookieCache: zod.ZodOptional<zod.ZodBoolean>;
disableRefresh: zod.ZodOptional<zod.ZodBoolean>;
}, "strip", zod.ZodTypeAny, {
disableCookieCache?: boolean | undefined;
disableRefresh?: boolean | undefined;
}, {
disableCookieCache?: boolean | undefined;
disableRefresh?: boolean | undefined;
}>>;
requireHeaders: true;
metadata: {
@ -6599,12 +6614,7 @@ declare const auth: {
method: "GET";
}> | undefined)?]>(...ctx: C): Promise<C extends [{
asResponse: true;
}] ? Response : {
[k: string]: {
id: string;
name: string;
};
}>;
}] ? Response : any>;
path: "/get-providers";
options: {
method: "GET";
@ -6628,6 +6638,19 @@ declare const auth: {
method: better_call.Method | better_call.Method[];
headers: Headers;
};
updateUserccc: {
<C extends [(better_call.Context<"/update-user-ccc", {
method: "POST";
}> | undefined)?]>(...ctx: C): Promise<C extends [{
asResponse: true;
}] ? Response : string | null>;
path: "/update-user-ccc";
options: {
method: "POST";
};
method: better_call.Method | better_call.Method[];
headers: Headers;
};
signInSocial: {
<C extends [better_call.Context<"/sign-in/social", {
method: "POST";
@ -6722,6 +6745,28 @@ declare const auth: {
}>]>(...ctx: C): Promise<C extends [{
asResponse: true;
}] ? Response : {
session: {
id: string;
userId: string;
createdAt: Date;
updatedAt: Date;
expiresAt: Date;
token: string;
ipAddress?: string | null | undefined;
userAgent?: string | null | undefined;
};
user: {
id: string;
createdAt: Date;
updatedAt: Date;
email: string;
emailVerified: boolean;
name: string;
image?: string | null | undefined;
};
url: undefined;
redirect: boolean;
} | {
url: string;
redirect: boolean;
}>;
@ -7989,20 +8034,20 @@ declare const auth: {
<C extends [better_call.Context<"/update-user", {
method: "POST";
body: zod.ZodObject<{
name: zod.ZodOptional<zod.ZodString>;
image: zod.ZodOptional<zod.ZodString>;
}, zod.UnknownKeysParam, zod.ZodTypeAny, {
name?: string | undefined;
image?: string | undefined;
}, {
name?: string | undefined;
image?: string | undefined;
}> & zod.ZodObject<{
handle: zod.ZodString;
}, zod.UnknownKeysParam, zod.ZodTypeAny, {
handle: string;
}, {
handle: string;
}> & zod.ZodObject<{
name: zod.ZodOptional<zod.ZodString>;
image: zod.ZodOptional<zod.ZodString | zod.ZodNull>;
}, zod.UnknownKeysParam, zod.ZodTypeAny, {
name?: string | undefined;
image?: string | null | undefined;
}, {
name?: string | undefined;
image?: string | null | undefined;
}>;
use: better_call.Endpoint<better_call.Handler<string, better_call.EndpointOptions, {
session: {
@ -8077,20 +8122,20 @@ declare const auth: {
options: {
method: "POST";
body: zod.ZodObject<{
name: zod.ZodOptional<zod.ZodString>;
image: zod.ZodOptional<zod.ZodString>;
}, zod.UnknownKeysParam, zod.ZodTypeAny, {
name?: string | undefined;
image?: string | undefined;
}, {
name?: string | undefined;
image?: string | undefined;
}> & zod.ZodObject<{
handle: zod.ZodString;
}, zod.UnknownKeysParam, zod.ZodTypeAny, {
handle: string;
}, {
handle: string;
}> & zod.ZodObject<{
name: zod.ZodOptional<zod.ZodString>;
image: zod.ZodOptional<zod.ZodString | zod.ZodNull>;
}, zod.UnknownKeysParam, zod.ZodTypeAny, {
name?: string | undefined;
image?: string | null | undefined;
}, {
name?: string | undefined;
image?: string | null | undefined;
}>;
use: better_call.Endpoint<better_call.Handler<string, better_call.EndpointOptions, {
session: {
@ -8161,15 +8206,8 @@ declare const auth: {
headers: Headers;
};
deleteUser: {
<C extends [better_call.Context<"/delete-user", {
<C extends [(better_call.Context<"/delete-user", {
method: "POST";
body: zod.ZodObject<{
password: zod.ZodString;
}, "strip", zod.ZodTypeAny, {
password: string;
}, {
password: string;
}>;
use: better_call.Endpoint<better_call.Handler<string, better_call.EndpointOptions, {
session: {
session: Record<string, any> & {
@ -8210,19 +8248,15 @@ declare const auth: {
};
};
};
}>]>(...ctx: C): Promise<C extends [{
}> | undefined)?]>(...ctx: C): Promise<C extends [{
asResponse: true;
}] ? Response : null>;
}] ? Response : {
success: boolean;
message: string;
}>;
path: "/delete-user";
options: {
method: "POST";
body: zod.ZodObject<{
password: zod.ZodString;
}, "strip", zod.ZodTypeAny, {
password: string;
}, {
password: string;
}>;
use: better_call.Endpoint<better_call.Handler<string, better_call.EndpointOptions, {
session: {
session: Record<string, any> & {
@ -9071,6 +9105,36 @@ declare const auth: {
method: better_call.Method | better_call.Method[];
headers: Headers;
};
deleteUserCallback: {
<C extends [better_call.Context<"/delete-user/callback", {
method: "GET";
query: zod.ZodObject<{
token: zod.ZodString;
}, "strip", zod.ZodTypeAny, {
token: string;
}, {
token: string;
}>;
}>]>(...ctx: C): Promise<C extends [{
asResponse: true;
}] ? Response : {
success: boolean;
message: string;
}>;
path: "/delete-user/callback";
options: {
method: "GET";
query: zod.ZodObject<{
token: zod.ZodString;
}, "strip", zod.ZodTypeAny, {
token: string;
}, {
token: string;
}>;
};
method: better_call.Method | better_call.Method[];
headers: Headers;
};
};
options: {
appName: string;
@ -9116,7 +9180,6 @@ declare const auth: {
}): Promise<any>;
options: better_auth_adapters_drizzle.DrizzleAdapterConfig;
};
baseUrl: string | undefined;
basePath: string;
trustedOrigins: string[];
user: {
@ -9126,25 +9189,32 @@ declare const auth: {
};
};
};
accounts: {
account: {
accountLinking: {
enabled: boolean;
trustedProviders: string[];
enabled: true;
trustedProviders: ("github" | "apple" | "google")[];
};
};
socialProviders: {
google: {
clientId: string;
clientSecret: string;
redirectURI: string;
};
github: {
clientId: string;
clientSecret: string;
redirectURI: string;
};
apple: {
enabled: boolean;
clientId: string;
clientSecret: string;
} | undefined;
redirectURI: string;
};
};
emailAndPassword: {
enabled: true;
};
plugins: ({
id: "custom-session";
@ -9207,12 +9277,7 @@ declare const auth: {
method: "GET";
}> | undefined)?]>(...ctx: C): Promise<C extends [{
asResponse: true;
}] ? Response : {
[k: string]: {
id: string;
name: string;
};
}>;
}] ? Response : any>;
path: "/get-providers";
options: {
method: "GET";
@ -9241,6 +9306,23 @@ declare const auth: {
headers: Headers;
};
};
} | {
id: "updateUserccc";
endpoints: {
updateUserccc: {
<C extends [(better_call.Context<"/update-user-ccc", {
method: "POST";
}> | undefined)?]>(...ctx: C): Promise<C extends [{
asResponse: true;
}] ? Response : string | null>;
path: "/update-user-ccc";
options: {
method: "POST";
};
method: better_call.Method | better_call.Method[];
headers: Headers;
};
};
})[];
};
$context: Promise<better_auth.AuthContext>;
@ -9726,7 +9808,7 @@ declare const _routes: hono_hono_base.HonoBase<Env, ({
owner?: {
name: string | null;
id: string;
emailVerified: string | null;
emailVerified: boolean | null;
image: string | null;
handle: string | null;
createdAt: string;
@ -9735,7 +9817,7 @@ declare const _routes: hono_hono_base.HonoBase<Env, ({
tipUsers?: {
name: string | null;
id: string;
emailVerified: string | null;
emailVerified: boolean | null;
image: string | null;
handle: string | null;
createdAt: string;
@ -9766,7 +9848,7 @@ declare const _routes: hono_hono_base.HonoBase<Env, ({
owner?: {
name: string | null;
id: string;
emailVerified: string | null;
emailVerified: boolean | null;
image: string | null;
handle: string | null;
createdAt: string;
@ -9775,7 +9857,7 @@ declare const _routes: hono_hono_base.HonoBase<Env, ({
tipUsers?: {
name: string | null;
id: string;
emailVerified: string | null;
emailVerified: boolean | null;
image: string | null;
handle: string | null;
createdAt: string;
@ -9786,7 +9868,7 @@ declare const _routes: hono_hono_base.HonoBase<Env, ({
owner?: {
name: string | null;
id: string;
emailVerified: string | null;
emailVerified: boolean | null;
image: string | null;
handle: string | null;
createdAt: string;
@ -9928,7 +10010,7 @@ declare const _routes: hono_hono_base.HonoBase<Env, ({
owner?: {
name: string | null;
id: string;
emailVerified: string | null;
emailVerified: boolean | null;
image: string | null;
handle: string | null;
createdAt: string;
@ -10022,7 +10104,7 @@ declare const _routes: hono_hono_base.HonoBase<Env, ({
owner?: {
name: string | null;
id: string;
emailVerified: string | null;
emailVerified: boolean | null;
image: string | null;
handle: string | null;
createdAt: string;
@ -10181,7 +10263,7 @@ declare const _routes: hono_hono_base.HonoBase<Env, ({
owner?: {
name: string | null;
id: string;
emailVerified: string | null;
emailVerified: boolean | null;
image: string | null;
handle: string | null;
createdAt: string;
@ -10190,7 +10272,7 @@ declare const _routes: hono_hono_base.HonoBase<Env, ({
tipUsers?: {
name: string | null;
id: string;
emailVerified: string | null;
emailVerified: boolean | null;
image: string | null;
handle: string | null;
createdAt: string;
@ -10284,7 +10366,7 @@ declare const _routes: hono_hono_base.HonoBase<Env, ({
owner?: {
name: string | null;
id: string;
emailVerified: string | null;
emailVerified: boolean | null;
image: string | null;
handle: string | null;
createdAt: string;
@ -10293,7 +10375,7 @@ declare const _routes: hono_hono_base.HonoBase<Env, ({
tipUsers?: {
name: string | null;
id: string;
emailVerified: string | null;
emailVerified: boolean | null;
image: string | null;
handle: string | null;
createdAt: string;
@ -10429,7 +10511,7 @@ declare const _routes: hono_hono_base.HonoBase<Env, ({
owner?: {
name: string | null;
id: string;
emailVerified: string | null;
emailVerified: boolean | null;
image: string | null;
handle: string | null;
createdAt: string;
@ -10438,7 +10520,7 @@ declare const _routes: hono_hono_base.HonoBase<Env, ({
tipUsers?: {
name: string | null;
id: string;
emailVerified: string | null;
emailVerified: boolean | null;
image: string | null;
handle: string | null;
createdAt: string;
@ -10514,7 +10596,7 @@ declare const _routes: hono_hono_base.HonoBase<Env, ({
owner?: {
name: string | null;
id: string;
emailVerified: string | null;
emailVerified: boolean | null;
image: string | null;
handle: string | null;
createdAt: string;
@ -10523,7 +10605,7 @@ declare const _routes: hono_hono_base.HonoBase<Env, ({
tipUsers?: {
name: string | null;
id: string;
emailVerified: string | null;
emailVerified: boolean | null;
image: string | null;
handle: string | null;
createdAt: string;
@ -10649,7 +10731,7 @@ declare const _routes: hono_hono_base.HonoBase<Env, ({
data: {
name: string | null;
id: string;
emailVerified: string | null;
emailVerified: boolean | null;
image: string | null;
handle: string | null;
createdAt: string;
@ -10674,7 +10756,7 @@ declare const _routes: hono_hono_base.HonoBase<Env, ({
[x: string]: {
name: string | null;
id: string;
emailVerified: string | null;
emailVerified: boolean | null;
image: string | null;
handle: string | null;
createdAt: string;
@ -10840,7 +10922,7 @@ declare const _routes: hono_hono_base.HonoBase<Env, ({
owner?: {
name: string | null;
id: string;
emailVerified: string | null;
emailVerified: boolean | null;
image: string | null;
handle: string | null;
createdAt: string;
@ -10849,7 +10931,7 @@ declare const _routes: hono_hono_base.HonoBase<Env, ({
tipUsers?: {
name: string | null;
id: string;
emailVerified: string | null;
emailVerified: boolean | null;
image: string | null;
handle: string | null;
createdAt: string;
@ -10862,7 +10944,7 @@ declare const _routes: hono_hono_base.HonoBase<Env, ({
boosters: {
name: string | null;
id: string;
emailVerified: string | null;
emailVerified: boolean | null;
image: string | null;
handle: string | null;
createdAt: string;
@ -10899,7 +10981,7 @@ declare const _routes: hono_hono_base.HonoBase<Env, ({
owner?: {
name: string | null;
id: string;
emailVerified: string | null;
emailVerified: boolean | null;
image: string | null;
handle: string | null;
createdAt: string;
@ -10908,7 +10990,7 @@ declare const _routes: hono_hono_base.HonoBase<Env, ({
tipUsers?: {
name: string | null;
id: string;
emailVerified: string | null;
emailVerified: boolean | null;
image: string | null;
handle: string | null;
createdAt: string;
@ -10919,7 +11001,7 @@ declare const _routes: hono_hono_base.HonoBase<Env, ({
owner?: {
name: string | null;
id: string;
emailVerified: string | null;
emailVerified: boolean | null;
image: string | null;
handle: string | null;
createdAt: string;
@ -10947,7 +11029,7 @@ declare const _routes: hono_hono_base.HonoBase<Env, ({
owner?: {
name: string | null;
id: string;
emailVerified: string | null;
emailVerified: boolean | null;
image: string | null;
handle: string | null;
createdAt: string;
@ -11184,7 +11266,7 @@ declare const _routes: hono_hono_base.HonoBase<Env, ({
fromUser?: {
name: string | null;
id: string;
emailVerified: string | null;
emailVerified: boolean | null;
image: string | null;
handle: string | null;
createdAt: string;
@ -11193,7 +11275,7 @@ declare const _routes: hono_hono_base.HonoBase<Env, ({
toUser?: {
name: string | null;
id: string;
emailVerified: string | null;
emailVerified: boolean | null;
image: string | null;
handle: string | null;
createdAt: string;
@ -11213,7 +11295,7 @@ declare const _routes: hono_hono_base.HonoBase<Env, ({
owner?: {
name: string | null;
id: string;
emailVerified: string | null;
emailVerified: boolean | null;
image: string | null;
handle: string | null;
createdAt: string;
@ -11222,7 +11304,7 @@ declare const _routes: hono_hono_base.HonoBase<Env, ({
tipUsers?: {
name: string | null;
id: string;
emailVerified: string | null;
emailVerified: boolean | null;
image: string | null;
handle: string | null;
createdAt: string;
@ -11340,7 +11422,7 @@ declare const _routes: hono_hono_base.HonoBase<Env, ({
user: {
name: string | null;
id: string;
emailVerified: string | null;
emailVerified: boolean | null;
image: string | null;
handle: string | null;
createdAt: string;
@ -11395,7 +11477,7 @@ declare const _routes: hono_hono_base.HonoBase<Env, ({
owner?: {
name: string | null;
id: string;
emailVerified: string | null;
emailVerified: boolean | null;
image: string | null;
handle: string | null;
createdAt: string;
@ -11404,7 +11486,7 @@ declare const _routes: hono_hono_base.HonoBase<Env, ({
tipUsers?: {
name: string | null;
id: string;
emailVerified: string | null;
emailVerified: boolean | null;
image: string | null;
handle: string | null;
createdAt: string;
@ -11415,7 +11497,7 @@ declare const _routes: hono_hono_base.HonoBase<Env, ({
owner?: {
name: string | null;
id: string;
emailVerified: string | null;
emailVerified: boolean | null;
image: string | null;
handle: string | null;
createdAt: string;
@ -11476,7 +11558,7 @@ declare const _routes: hono_hono_base.HonoBase<Env, ({
owner?: {
name: string | null;
id: string;
emailVerified: string | null;
emailVerified: boolean | null;
image: string | null;
handle: string | null;
createdAt: string;
@ -11485,7 +11567,7 @@ declare const _routes: hono_hono_base.HonoBase<Env, ({
tipUsers?: {
name: string | null;
id: string;
emailVerified: string | null;
emailVerified: boolean | null;
image: string | null;
handle: string | null;
createdAt: string;
@ -11496,7 +11578,7 @@ declare const _routes: hono_hono_base.HonoBase<Env, ({
owner?: {
name: string | null;
id: string;
emailVerified: string | null;
emailVerified: boolean | null;
image: string | null;
handle: string | null;
createdAt: string;
@ -11573,7 +11655,7 @@ declare const _routes: hono_hono_base.HonoBase<Env, ({
owner?: {
name: string | null;
id: string;
emailVerified: string | null;
emailVerified: boolean | null;
image: string | null;
handle: string | null;
createdAt: string;
@ -11582,7 +11664,7 @@ declare const _routes: hono_hono_base.HonoBase<Env, ({
tipUsers?: {
name: string | null;
id: string;
emailVerified: string | null;
emailVerified: boolean | null;
image: string | null;
handle: string | null;
createdAt: string;
@ -11593,7 +11675,7 @@ declare const _routes: hono_hono_base.HonoBase<Env, ({
owner?: {
name: string | null;
id: string;
emailVerified: string | null;
emailVerified: boolean | null;
image: string | null;
handle: string | null;
createdAt: string;
@ -11635,7 +11717,7 @@ declare const _routes: hono_hono_base.HonoBase<Env, ({
owner?: {
name: string | null;
id: string;
emailVerified: string | null;
emailVerified: boolean | null;
image: string | null;
handle: string | null;
createdAt: string;
@ -11644,7 +11726,7 @@ declare const _routes: hono_hono_base.HonoBase<Env, ({
tipUsers?: {
name: string | null;
id: string;
emailVerified: string | null;
emailVerified: boolean | null;
image: string | null;
handle: string | null;
createdAt: string;
@ -11748,7 +11830,7 @@ declare const _routes: hono_hono_base.HonoBase<Env, ({
owner?: {
name: string | null;
id: string;
emailVerified: string | null;
emailVerified: boolean | null;
image: string | null;
handle: string | null;
createdAt: string;
@ -11882,7 +11964,7 @@ declare const _routes: hono_hono_base.HonoBase<Env, ({
owner?: {
name: string | null;
id: string;
emailVerified: string | null;
emailVerified: boolean | null;
image: string | null;
handle: string | null;
createdAt: string;
@ -11993,7 +12075,7 @@ declare const _routes: hono_hono_base.HonoBase<Env, ({
data: {
name: string | null;
id: string;
emailVerified: string | null;
emailVerified: boolean | null;
image: string | null;
handle: string | null;
createdAt: string;