This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"name": "bknd-cli",
|
||||
"name": "userbase-cli",
|
||||
"type": "module",
|
||||
"bin": "./dist/cli/index.js",
|
||||
"version": "0.0.7",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# bknd-plasmic
|
||||
# userbase-plasmic
|
||||
|
||||
To install dependencies:
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"name": "@bknd/plasmic",
|
||||
"name": "@userbase/plasmic",
|
||||
"version": "0.5.1",
|
||||
"type": "module",
|
||||
"sideEffects": false,
|
||||
@@ -19,12 +19,12 @@
|
||||
"dependencies": {},
|
||||
"devDependencies": {
|
||||
"@types/bun": "latest",
|
||||
"bknd": "workspace:*",
|
||||
"userbase": "workspace:*",
|
||||
"tsdx": "^0.14.1",
|
||||
"typescript": "^5.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"bknd": "*",
|
||||
"userbase": "*",
|
||||
"react": ">=18",
|
||||
"react-dom": ">=18",
|
||||
"@plasmicapp/host": ">=1.0.0",
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
|
||||
import { type CodeComponentMeta, type ComponentMeta, registerComponent } from "@plasmicapp/host";
|
||||
// biome-ignore lint/style/useImportType: <explanation>
|
||||
import React from "react";
|
||||
@@ -225,7 +226,7 @@ export function registerImage(
|
||||
|
||||
export const ImageMeta: CodeComponentMeta<ImageProps> = {
|
||||
name: "ImageLazy",
|
||||
importPath: "@bknd/plasmic",
|
||||
importPath: "@userbase/plasmic",
|
||||
props: {
|
||||
src: {
|
||||
type: "imageUrl",
|
||||
|
||||
@@ -89,7 +89,7 @@ export function registerLazyRender(
|
||||
|
||||
export const LazyRenderMeta: CodeComponentMeta<LazyRenderProps> = {
|
||||
name: "LazyRender",
|
||||
importPath: "@bknd/plasmic",
|
||||
importPath: "@userbase/plasmic",
|
||||
props: {
|
||||
forceLoad: {
|
||||
type: "boolean",
|
||||
|
||||
@@ -5,13 +5,13 @@ import {
|
||||
usePlasmicCanvasContext
|
||||
} from "@plasmicapp/host";
|
||||
import { usePlasmicQueryData } from "@plasmicapp/loader-react";
|
||||
import { useApi, useEntityQuery } from "bknd/client";
|
||||
import type { RepoQueryIn } from "bknd/data";
|
||||
import { useApi, useEntityQuery } from "userbase/client";
|
||||
import type { RepoQueryIn } from "userbase/data";
|
||||
// biome-ignore lint/style/useImportType: <explanation>
|
||||
import React from "react";
|
||||
import { usePlasmicBkndContext } from "../../contexts/BkndContext";
|
||||
import { usePlasmicUserbaseContext } from "../../contexts/UserbaseContext";
|
||||
|
||||
type BkndDataProps = {
|
||||
type UserbaseDataProps = {
|
||||
children?: React.ReactNode;
|
||||
loading?: React.ReactNode;
|
||||
error?: React.ReactNode;
|
||||
@@ -51,7 +51,7 @@ const EmptyComponent = ({ empty }: { empty?: React.ReactNode }) => {
|
||||
return empty ? <>{empty}</> : <>No data</>;
|
||||
};
|
||||
|
||||
export function BkndData({
|
||||
export function UserbaseData({
|
||||
children,
|
||||
loading,
|
||||
error,
|
||||
@@ -73,10 +73,10 @@ export function BkndData({
|
||||
preview,
|
||||
previewSlot,
|
||||
...props
|
||||
}: BkndDataProps) {
|
||||
//console.log("--bknd data");
|
||||
}: UserbaseDataProps) {
|
||||
//console.log("--userbase data");
|
||||
const inEditor = !!usePlasmicCanvasContext();
|
||||
const plasmicContext = usePlasmicBkndContext();
|
||||
const plasmicContext = usePlasmicUserbaseContext();
|
||||
|
||||
if (inEditor && preview) {
|
||||
let Component: React.ReactNode;
|
||||
@@ -239,22 +239,22 @@ const ModeSWR = ({ children, loading, error, dataName, entityId, empty, entity }
|
||||
);
|
||||
};
|
||||
|
||||
export function registerBkndData(
|
||||
export function registerUserbaseData(
|
||||
loader?: { registerComponent: typeof registerComponent },
|
||||
customMeta?: ComponentMeta<BkndDataProps>
|
||||
customMeta?: ComponentMeta<UserbaseDataProps>
|
||||
) {
|
||||
if (loader) {
|
||||
loader.registerComponent(BkndData, customMeta ?? BkndDataMeta);
|
||||
loader.registerComponent(UserbaseData, customMeta ?? UserbaseDataMeta);
|
||||
} else {
|
||||
registerComponent(BkndData, customMeta ?? BkndDataMeta);
|
||||
registerComponent(UserbaseData, customMeta ?? UserbaseDataMeta);
|
||||
}
|
||||
}
|
||||
|
||||
export const BkndDataMeta: ComponentMeta<BkndDataProps> = {
|
||||
export const UserbaseDataMeta: ComponentMeta<UserbaseDataProps> = {
|
||||
name: "BKND Data",
|
||||
importName: "BkndData",
|
||||
importName: "UserbaseData",
|
||||
section: "BKND",
|
||||
importPath: "@bknd/plasmic",
|
||||
importPath: "@userbase/plasmic",
|
||||
providesData: true,
|
||||
props: {
|
||||
entity: {
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
export { BkndData, BkndDataMeta } from "./data/BkndData";
|
||||
export { UserbaseData, UserbaseDataMeta } from "./data/UserbaseData";
|
||||
export { Image, ImageMeta } from "./Image";
|
||||
export { LazyRender, LazyRenderMeta } from "./LazyRender";
|
||||
|
||||
@@ -5,39 +5,39 @@ import {
|
||||
registerGlobalContext,
|
||||
usePlasmicCanvasContext
|
||||
} from "@plasmicapp/host";
|
||||
import type { AppConfig } from "bknd";
|
||||
import type { AppConfig } from "userbase";
|
||||
// @ts-ignore
|
||||
import { ClientProvider, useApi, useAuth, useBaseUrl } from "bknd/client";
|
||||
import { ClientProvider, useApi, useAuth, useBaseUrl } from "userbase/client";
|
||||
// biome-ignore lint/style/useImportType: <explanation>
|
||||
import React from "react";
|
||||
import { createContext, useContext, useEffect, useMemo, useState } from "react";
|
||||
|
||||
// Users will be able to set these props in Studio.
|
||||
interface BkndGlobalContextProps {
|
||||
interface UserbaseGlobalContextProps {
|
||||
// You might use this to override the auth URL to a test or local URL.
|
||||
baseUrl?: string;
|
||||
appConfig?: AppConfig;
|
||||
auth: any; // @todo: add typings
|
||||
}
|
||||
|
||||
type BkndContextProps = {
|
||||
type UserbaseContextProps = {
|
||||
baseUrl?: string;
|
||||
initialAuth?: any;
|
||||
};
|
||||
|
||||
const BkndContextContext = createContext<BkndGlobalContextProps>({} as any);
|
||||
BkndContextContext.displayName = "BkndContext";
|
||||
const UserbaseContextContext = createContext<UserbaseGlobalContextProps>({} as any);
|
||||
UserbaseContextContext.displayName = "UserbaseContext";
|
||||
|
||||
export const BkndContext = ({
|
||||
export const UserbaseContext = ({
|
||||
children,
|
||||
baseUrl,
|
||||
initialAuth
|
||||
}: React.PropsWithChildren<BkndContextProps>) => {
|
||||
}: React.PropsWithChildren<UserbaseContextProps>) => {
|
||||
const auth = useAuth();
|
||||
const baseurl = baseUrl ?? useBaseUrl();
|
||||
const api = useApi(baseurl);
|
||||
|
||||
const [data, setData] = useState<BkndGlobalContextProps>({
|
||||
const [data, setData] = useState<UserbaseGlobalContextProps>({
|
||||
baseUrl: baseurl,
|
||||
auth: auth ?? initialAuth,
|
||||
appConfig: undefined
|
||||
@@ -67,37 +67,37 @@ export const BkndContext = ({
|
||||
[baseUrl]
|
||||
);
|
||||
|
||||
console.log("plasmic.bknd.context", { baseurl });
|
||||
console.log("plasmic.userbase.context", { baseurl });
|
||||
return (
|
||||
<GlobalActionsProvider contextName="BkndContext" actions={actions}>
|
||||
<BkndContextContext.Provider value={data}>
|
||||
<DataProvider name="bknd" data={data}>
|
||||
<GlobalActionsProvider contextName="UserbaseContext" actions={actions}>
|
||||
<UserbaseContextContext.Provider value={data}>
|
||||
<DataProvider name="userbase" data={data}>
|
||||
<ClientProvider baseUrl={data.baseUrl}>{children}</ClientProvider>
|
||||
</DataProvider>
|
||||
</BkndContextContext.Provider>
|
||||
</UserbaseContextContext.Provider>
|
||||
</GlobalActionsProvider>
|
||||
);
|
||||
};
|
||||
|
||||
export function usePlasmicBkndContext() {
|
||||
const context = useContext(BkndContextContext);
|
||||
export function usePlasmicUserbaseContext() {
|
||||
const context = useContext(UserbaseContextContext);
|
||||
return context;
|
||||
}
|
||||
|
||||
export function registerBkndContext(
|
||||
export function registerUserbaseContext(
|
||||
loader?: { registerGlobalContext: typeof registerGlobalContext },
|
||||
customMeta?: GlobalContextMeta<BkndContextProps>
|
||||
customMeta?: GlobalContextMeta<UserbaseContextProps>
|
||||
) {
|
||||
if (loader) {
|
||||
loader.registerGlobalContext(BkndContext, customMeta ?? BkndContextMeta);
|
||||
loader.registerGlobalContext(UserbaseContext, customMeta ?? UserbaseContextMeta);
|
||||
} else {
|
||||
registerGlobalContext(BkndContext, customMeta ?? BkndContextMeta);
|
||||
registerGlobalContext(UserbaseContext, customMeta ?? UserbaseContextMeta);
|
||||
}
|
||||
}
|
||||
|
||||
export const BkndContextMeta: GlobalContextMeta<BkndContextProps> = {
|
||||
name: "BkndContext",
|
||||
importPath: "@bknd/plasmic",
|
||||
export const UserbaseContextMeta: GlobalContextMeta<UserbaseContextProps> = {
|
||||
name: "UserbaseContext",
|
||||
importPath: "@userbase/plasmic",
|
||||
props: { baseUrl: { type: "string" }, initialAuth: { type: "object" } },
|
||||
providesData: true,
|
||||
globalActions: {
|
||||
|
||||
@@ -1 +1 @@
|
||||
export { BkndContext, BkndContextMeta } from "./BkndContext";
|
||||
export { UserbaseContext, UserbaseContextMeta } from "./UserbaseContext";
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
import type { registerComponent, registerGlobalContext } from "@plasmicapp/host";
|
||||
import { registerImage } from "./components/Image";
|
||||
import { registerLazyRender } from "./components/LazyRender";
|
||||
import { registerBkndData } from "./components/data/BkndData";
|
||||
import { registerBkndContext } from "./contexts/BkndContext";
|
||||
import { registerUserbaseData } from "./components/data/UserbaseData";
|
||||
import { registerUserbaseContext } from "./contexts/UserbaseContext";
|
||||
|
||||
export function registerAll(loader?: {
|
||||
registerComponent: typeof registerComponent;
|
||||
registerGlobalContext: typeof registerGlobalContext;
|
||||
}) {
|
||||
registerBkndData(loader);
|
||||
registerBkndContext(loader);
|
||||
registerUserbaseData(loader);
|
||||
registerUserbaseContext(loader);
|
||||
registerImage(loader);
|
||||
registerLazyRender(loader);
|
||||
}
|
||||
|
||||
export { registerBkndData, registerBkndContext };
|
||||
export { registerUserbaseData, registerUserbaseContext };
|
||||
|
||||
@@ -47,7 +47,7 @@ export function getStaticProps(PLASMIC: TPlasmic, opts?: TGetStaticPropsOptions)
|
||||
}
|
||||
|
||||
const globalContextsProps = {
|
||||
bkndContextProps: {
|
||||
userbaseContextProps: {
|
||||
baseUrl
|
||||
}
|
||||
};
|
||||
|
||||
@@ -21,5 +21,5 @@
|
||||
"tsBuildInfoFile": "./dist/tsconfig.tsbuildinfo"
|
||||
},
|
||||
"include": ["./src/**/*"],
|
||||
"exclude": ["bknd", "dist", "node_modules"]
|
||||
"exclude": ["userbase", "dist", "node_modules"]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user