gitextract_nbnj719d/ ├── .github/ │ └── workflows/ │ └── submit.yml ├── .gitignore ├── .prettierrc.mjs ├── LICENSE ├── README.md ├── README_ZH.md ├── components/ │ └── ui/ │ ├── EditableButton.tsx │ ├── accordion.tsx │ ├── alert-dialog.tsx │ ├── badge.tsx │ ├── button.tsx │ ├── color-picker.tsx │ ├── dropdown-menu.tsx │ ├── input.tsx │ ├── popover.tsx │ ├── radio-group.tsx │ ├── select-position.tsx │ ├── select.tsx │ ├── slider.tsx │ ├── sonner.tsx │ ├── switch.tsx │ ├── tabs.tsx │ ├── textarea.tsx │ ├── toast.tsx │ ├── toaster.tsx │ └── use-toast.ts ├── components.json ├── lib/ │ └── utils.ts ├── next-env.d.ts ├── next.config.js ├── package.json ├── popup.tsx ├── postcss.config.js ├── src/ │ ├── app/ │ │ ├── (app)/ │ │ │ ├── components/ │ │ │ │ ├── FrequentlyAskedQuestions.tsx │ │ │ │ ├── GoogleFontSelector.tsx │ │ │ │ ├── ImageLayout.tsx │ │ │ │ ├── LazyLoadAnimatedSection.tsx │ │ │ │ ├── ResultIcon.tsx │ │ │ │ ├── card-generator/ │ │ │ │ │ ├── color.tsx │ │ │ │ │ ├── controller/ │ │ │ │ │ │ ├── background-controller.tsx │ │ │ │ │ │ ├── card-controller.tsx │ │ │ │ │ │ ├── font-controller.tsx │ │ │ │ │ │ ├── iframe-controller.tsx │ │ │ │ │ │ └── input-controller.tsx │ │ │ │ │ ├── display.tsx │ │ │ │ │ ├── export-tab.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── twitter-card.tsx │ │ │ │ │ └── wechat-card.tsx │ │ │ │ ├── dynamic-style-tippy.tsx │ │ │ │ ├── hero.tsx │ │ │ │ ├── save-as-template-button.tsx │ │ │ │ ├── sections/ │ │ │ │ │ ├── FeaturesGridSection.tsx │ │ │ │ │ ├── features2.tsx │ │ │ │ │ ├── footer.tsx │ │ │ │ │ └── video.tsx │ │ │ │ ├── template-list.tsx │ │ │ │ └── x-form.tsx │ │ │ ├── layout.tsx │ │ │ ├── page.tsx │ │ │ └── request.tsx │ │ ├── (extension)/ │ │ │ ├── independent/ │ │ │ │ ├── components/ │ │ │ │ │ └── index.tsx │ │ │ │ └── page.tsx │ │ │ └── welcome/ │ │ │ └── page.tsx │ │ ├── api/ │ │ │ ├── license/ │ │ │ │ └── route.ts │ │ │ └── x/ │ │ │ └── route.ts │ │ ├── globals.css │ │ ├── layout.tsx │ │ └── utils/ │ │ ├── IFrameMessageSystem.ts │ │ ├── element.ts │ │ ├── export.ts │ │ ├── format.ts │ │ ├── image.ts │ │ └── index.ts │ ├── background/ │ │ ├── index.ts │ │ └── messages/ │ │ ├── code.ts │ │ └── tweet.ts │ ├── components/ │ │ ├── extension/ │ │ │ ├── card-button.tsx │ │ │ ├── input-code.tsx │ │ │ ├── label-with-icon.tsx │ │ │ ├── layout-options.tsx │ │ │ ├── preset-color-list.tsx │ │ │ ├── tabs.tsx │ │ │ ├── tweet-manager.tsx │ │ │ ├── use-tweet-collection.ts │ │ │ └── x-cards-toast/ │ │ │ ├── font-control.tsx │ │ │ ├── image-preview.tsx │ │ │ ├── index.module.css │ │ │ ├── index.tsx │ │ │ ├── padding-control.tsx │ │ │ ├── scale-control.tsx │ │ │ └── tweet-control.tsx │ │ ├── sortableList.tsx │ │ └── ui/ │ │ ├── BentoGrid.tsx │ │ ├── DotPattern.tsx │ │ ├── acetenity-tabs.tsx │ │ ├── animated-list.tsx │ │ ├── animatedBeam.tsx │ │ ├── api-key-panel.tsx │ │ ├── bold-copy.tsx │ │ ├── burnIn.tsx │ │ ├── card.tsx │ │ ├── chart.tsx │ │ ├── fade-text.tsx │ │ ├── grid-pattern.tsx │ │ ├── grid.tsx │ │ ├── icon.tsx │ │ ├── loading-spinner.tsx │ │ ├── marquee.tsx │ │ ├── scroll-based-velocity.tsx │ │ ├── shimmer-button.tsx │ │ ├── text-generate-effect.tsx │ │ └── underline-hover-text.tsx │ ├── config/ │ │ └── site.ts │ ├── contents/ │ │ ├── plasmo-overlay.css │ │ ├── plasmo-overlay.tsx │ │ ├── x-home.tsx │ │ └── x.css │ ├── hooks/ │ │ ├── useCardStore.tsx │ │ └── useTemplatesStore.tsx │ ├── lib/ │ │ └── BlurGradientBg.module.js │ └── sandbox.tsx ├── tailwind.config.ts ├── tsconfig.json └── vercel.json