Files
hermes-mcp/videos/remotion-demo/src/SquareMCPTikTok.tsx
Garfield a5e4c55885 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
2026-05-13 08:42:33 -04:00

82 lines
1.8 KiB
TypeScript

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>
);
};