feat(saas): full SquareMCP SaaS platform v1
- JWT auth with bcrypt password hashing, cookie sessions, forgot/reset password - Per-user encrypted credential storage (Redis + AES-256-GCM) for all 9 platforms - Usage tracking with monthly limits per plan (free/starter/growth/enterprise) - Invoice generation and retrieval (admin + user views) - Admin panel with customer listing (role-based access) - Web app UI at app.squaremcp.com — login, dashboard, connections, usage, invoices - Unified auth middleware: API key, OAuth Bearer, and JWT cookie support - Facebook Graph API fixes: published_posts endpoint, photo/video post support - TikTok sandbox compliance: SELF_ONLY privacy for unaudited apps - URL verification files for TikTok app review
This commit is contained in:
81
videos/remotion-demo/src/SquareMCPTikTok.tsx
Normal file
81
videos/remotion-demo/src/SquareMCPTikTok.tsx
Normal file
@@ -0,0 +1,81 @@
|
||||
import type { ReactNode } from "react";
|
||||
import { AbsoluteFill, Sequence, useVideoConfig } from "remotion";
|
||||
import { TikTokBackground } from "./scenes/tiktok/TikTokBackground";
|
||||
import { TikTokCTA } from "./scenes/tiktok/TikTokCTA";
|
||||
import { TikTokDemo } from "./scenes/tiktok/TikTokDemo";
|
||||
import { TikTokHook } from "./scenes/tiktok/TikTokHook";
|
||||
import { TikTokProblem } from "./scenes/tiktok/TikTokProblem";
|
||||
import { TikTokProof } from "./scenes/tiktok/TikTokProof";
|
||||
|
||||
const TikTokShell = ({ children }: { children: ReactNode }) => {
|
||||
return (
|
||||
<AbsoluteFill>
|
||||
<TikTokBackground />
|
||||
{children}
|
||||
</AbsoluteFill>
|
||||
);
|
||||
};
|
||||
|
||||
export const SquareMCPTikTokFull = () => {
|
||||
const { fps } = useVideoConfig();
|
||||
|
||||
return (
|
||||
<TikTokShell>
|
||||
<Sequence durationInFrames={3 * fps}>
|
||||
<TikTokHook />
|
||||
</Sequence>
|
||||
<Sequence from={3 * fps} durationInFrames={5 * fps}>
|
||||
<TikTokProblem />
|
||||
</Sequence>
|
||||
<Sequence from={8 * fps} durationInFrames={12 * fps}>
|
||||
<TikTokDemo />
|
||||
</Sequence>
|
||||
<Sequence from={20 * fps} durationInFrames={5 * fps}>
|
||||
<TikTokProof />
|
||||
</Sequence>
|
||||
<Sequence from={25 * fps} durationInFrames={5 * fps}>
|
||||
<TikTokCTA />
|
||||
</Sequence>
|
||||
</TikTokShell>
|
||||
);
|
||||
};
|
||||
|
||||
export const SquareMCPTikTokHook = () => {
|
||||
return (
|
||||
<TikTokShell>
|
||||
<TikTokHook />
|
||||
</TikTokShell>
|
||||
);
|
||||
};
|
||||
|
||||
export const SquareMCPTikTokProblem = () => {
|
||||
return (
|
||||
<TikTokShell>
|
||||
<TikTokProblem />
|
||||
</TikTokShell>
|
||||
);
|
||||
};
|
||||
|
||||
export const SquareMCPTikTokDemo = () => {
|
||||
return (
|
||||
<TikTokShell>
|
||||
<TikTokDemo />
|
||||
</TikTokShell>
|
||||
);
|
||||
};
|
||||
|
||||
export const SquareMCPTikTokProof = () => {
|
||||
return (
|
||||
<TikTokShell>
|
||||
<TikTokProof />
|
||||
</TikTokShell>
|
||||
);
|
||||
};
|
||||
|
||||
export const SquareMCPTikTokCTA = () => {
|
||||
return (
|
||||
<TikTokShell>
|
||||
<TikTokCTA />
|
||||
</TikTokShell>
|
||||
);
|
||||
};
|
||||
Reference in New Issue
Block a user