SYMBOL INDEX (167 symbols across 113 files) FILE: app/(routes)/about/page.tsx function page (line 21) | function page() { FILE: app/(routes)/articles/[slug]/loading.tsx function Loading (line 3) | function Loading() { FILE: app/(routes)/articles/[slug]/page.tsx type ArticleProps (line 16) | type ArticleProps = { function generateStaticParams (line 24) | async function generateStaticParams() { function generateMetadata (line 46) | async function generateMetadata(props: ArticleProps) { function ArticlePage (line 97) | async function ArticlePage(props: ArticleProps) { FILE: app/(routes)/articles/page.tsx function Article (line 37) | async function Article() { FILE: app/(routes)/articles/sitemap.ts function sitemap (line 4) | async function sitemap(): Promise { FILE: app/(routes)/layout.tsx function AdminLayout (line 4) | function AdminLayout({ FILE: app/admin/layout.tsx function AdminLayout (line 3) | function AdminLayout({ FILE: app/admin/write-article/blog-form.tsx function BlogForm (line 31) | function BlogForm() { FILE: app/admin/write-article/page.tsx function page (line 15) | function page() { FILE: app/api/article/post/route.ts function POST (line 8) | async function POST(request: Request) { FILE: app/api/user/settings/route.ts function GET (line 7) | async function GET() { function PATCH (line 41) | async function PATCH(request: Request) { FILE: app/error.tsx function Error (line 10) | function Error({ FILE: app/layout.tsx function RootLayout (line 93) | function RootLayout({ FILE: app/loading.tsx function Loading (line 3) | function Loading() { FILE: app/not-found.tsx function NotFound (line 9) | function NotFound() { FILE: app/page.tsx function Home (line 4) | function Home() { FILE: app/robots.ts function robots (line 3) | function robots(): MetadataRoute.Robots { FILE: app/sitemap.ts function sitemap (line 3) | function sitemap(): MetadataRoute.Sitemap { FILE: components/articles/article-card.tsx type ArticleCardProps (line 4) | type ArticleCardProps = { function ArticleCard (line 12) | function ArticleCard({ FILE: components/auth-modal.tsx function AuthModal (line 10) | function AuthModal() { FILE: components/color-picker.tsx function ColorPicker (line 10) | function ColorPicker({ FILE: components/editor/background-image-canvas.tsx function BackgroundImageCanvas (line 6) | function BackgroundImageCanvas() { FILE: components/editor/background-options/custom-gradient-picker.tsx function CustomGradientPicker (line 9) | function CustomGradientPicker() { FILE: components/editor/background-options/image-gradient-picker.tsx function ImageGradientPicker (line 17) | function ImageGradientPicker() { FILE: components/editor/background-options/index.tsx function BackgroundOptions (line 9) | function BackgroundOptions() { FILE: components/editor/background-options/noise-slider.tsx function NoiseSlider (line 5) | function NoiseSlider() { FILE: components/editor/background-options/normal-gradient-picker.tsx type Color (line 29) | type Color = string function NormalGradientPicker (line 31) | function NormalGradientPicker() { FILE: components/editor/background-options/pattern-picker.tsx function PatternPicker (line 17) | function PatternPicker() { FILE: components/editor/browser-frames.tsx function BrowserFrame (line 91) | function BrowserFrame({ frame }: { frame: FrameTypes }) { FILE: components/editor/canvas-area.tsx function Canvas (line 26) | function Canvas() { FILE: components/editor/canvas-options/canvas-roundness-slider.tsx function CanvasRoundnessSlider (line 6) | function CanvasRoundnessSlider() { FILE: components/editor/canvas-options/index.tsx function CanvasOptions (line 45) | function CanvasOptions() { FILE: components/editor/canvas-options/resolution-button.tsx function ResolutionButton (line 15) | function ResolutionButton({ FILE: components/editor/frame-options/additional-frame-options.tsx function AdditionalFrameOptions (line 7) | function AdditionalFrameOptions() { FILE: components/editor/frame-options/frame-picker.tsx function FramePicker (line 13) | function FramePicker() { function FrameContainer (line 149) | function FrameContainer({ FILE: components/editor/frame-options/index.tsx function FrameOptions (line 6) | function FrameOptions() { FILE: components/editor/image-context-menu.tsx function ContextMenuImage (line 40) | function ContextMenuImage({ function ReplaceImage (line 465) | function ReplaceImage() { FILE: components/editor/image-options/add-image-button.tsx type AddImageButtonProps (line 9) | type AddImageButtonProps = {} function AddImageButton (line 11) | function AddImageButton({}: AddImageButtonProps) { FILE: components/editor/image-options/index.tsx function ImageOptions (line 18) | function ImageOptions() { FILE: components/editor/image-options/inset-option.tsx function InsetOption (line 13) | function InsetOption() { FILE: components/editor/image-options/roundness-option.tsx function RoundnessOption (line 7) | function RoundnessOption() { FILE: components/editor/image-options/scale-options.tsx type SizeOptionProps (line 5) | type SizeOptionProps = { function SizeOption (line 9) | function SizeOption({ text = 'Scale' }: SizeOptionProps) { FILE: components/editor/image-options/shadow-settings.tsx function ShadowSettings (line 17) | function ShadowSettings() { FILE: components/editor/main-image-area.tsx function LoadAImage (line 310) | function LoadAImage() { FILE: components/editor/mobile-view-image-options.tsx function MobileViewImageOptions (line 11) | function MobileViewImageOptions() { FILE: components/editor/moveable-component.tsx function MoveableComponent (line 32) | function MoveableComponent({ id }: { id: string }) { FILE: components/editor/noise.tsx function Noise (line 3) | function Noise() { FILE: components/editor/perspective-options/index.tsx function PerspectiveOptions (line 8) | function PerspectiveOptions() { FILE: components/editor/perspective-options/rotate-options.tsx function RotateOptions (line 7) | function RotateOptions() { FILE: components/editor/position-options/index.tsx function PositionOptions (line 7) | function PositionOptions() { FILE: components/editor/position-options/position-control.tsx function PositionControl (line 17) | function PositionControl() { FILE: components/editor/position-options/translate-control.tsx function TranslateOption (line 7) | function TranslateOption() { FILE: components/editor/selecto-component.tsx function SelectoComponent (line 13) | function SelectoComponent() { FILE: components/editor/sidebar-buttons.tsx function SidebarButton (line 6) | function SidebarButton({ FILE: components/editor/sidebar.tsx type SidebarSection (line 25) | type SidebarSection = type SidebarButton (line 34) | interface SidebarButton { function useSidebarButtons (line 41) | function useSidebarButtons() { function Sidebar (line 71) | function Sidebar() { type SidebarImageSettingsProps (line 101) | interface SidebarImageSettingsProps { function SidebarImageSettings (line 105) | function SidebarImageSettings({ FILE: components/editor/text-context-menu.tsx function ContextMenuText (line 15) | function ContextMenuText({ FILE: components/editor/text-layers.tsx type MenuBarProps (line 11) | type MenuBarProps = { function TipTapEditor (line 77) | function TipTapEditor() { function TextLayers (line 103) | function TextLayers() { FILE: components/editor/text-options/add-text-layer.tsx function AddTextLayer (line 7) | function AddTextLayer() { FILE: components/editor/text-options/font-settings.tsx function FontSettings (line 31) | function FontSettings() { FILE: components/editor/text-options/index.tsx function TextOptions (line 6) | function TextOptions() { FILE: components/editor/tiptap-moveable.tsx function TiptapMoveable (line 25) | function TiptapMoveable({ id }: { id: string }) { FILE: components/editor/undo-redo-buttons.tsx function useUndoRedoHotkeys (line 9) | function useUndoRedoHotkeys() { function UndoRedoButtons (line 34) | function UndoRedoButtons() { FILE: components/export-options.tsx type ExportOptionsProps (line 18) | interface ExportOptionsProps { function ExportOptions (line 22) | function ExportOptions({ isLoggedIn }: ExportOptionsProps) { FILE: components/footer.tsx function Footer (line 6) | function Footer() { FILE: components/icons/index.tsx type IconType (line 3) | type IconType = { function Icon (line 12) | function Icon({ FILE: components/icons/info.icon.tsx function InfoIcon (line 3) | function InfoIcon({ FILE: components/loader.tsx function Loader (line 3) | function Loader() { FILE: components/navbar.tsx function Navbar (line 10) | function Navbar() { FILE: components/navlinks.tsx function NavLinks (line 32) | function NavLinks() { FILE: components/popup-color-picker.tsx function PopupColorPicker (line 7) | function PopupColorPicker({ FILE: components/profile-dialog.tsx type ProfileDialogProps (line 21) | interface ProfileDialogProps { function ProfileDialog (line 26) | function ProfileDialog({ FILE: components/settings-dialog.tsx type SettingsDialogProps (line 30) | interface SettingsDialogProps { function SettingsDialog (line 35) | function SettingsDialog({ FILE: components/sign-in-form.tsx type SignInFormProps (line 12) | type SignInFormProps = { function SignInForm (line 16) | function SignInForm({ authenticated }: SignInFormProps) { FILE: components/spinner/spinner.tsx function Spinner (line 3) | function Spinner() { FILE: components/ui/back-button.tsx type BackButtonProps (line 10) | type BackButtonProps = { function BackButton (line 16) | function BackButton({ FILE: components/ui/badge.tsx type BadgeProps (line 22) | interface BadgeProps function Badge (line 26) | function Badge({ className, variant, ...props }: BadgeProps) { FILE: components/ui/button.tsx type ButtonProps (line 53) | interface ButtonProps FILE: components/ui/gradient-text.tsx type TextElement (line 17) | type TextElement = HTMLParagraphElement | HTMLHeadingElement | HTMLSpanE... type TextProps (line 19) | interface TextProps FILE: components/ui/input.tsx type InputProps (line 5) | interface InputProps FILE: components/ui/skeleton.tsx function Skeleton (line 3) | function Skeleton({ FILE: components/ui/spotlight-button.tsx type Props (line 6) | type Props = { function SpotlightButton (line 14) | function SpotlightButton({ FILE: components/ui/text-area.tsx type TextareaProps (line 5) | interface TextareaProps FILE: components/ui/text.tsx type TextElement (line 24) | type TextElement = HTMLHeadingElement | HTMLParagraphElement type TextProps (line 26) | interface TextProps FILE: components/ui/theme-button.tsx function ModeToggle (line 15) | function ModeToggle() { FILE: components/ui/toast.tsx type ToastProps (line 112) | type ToastProps = React.ComponentPropsWithoutRef type ToastActionElement (line 114) | type ToastActionElement = React.ReactElement FILE: components/ui/toaster.tsx function Toaster (line 13) | function Toaster() { FILE: components/user-dropdown.tsx type MenuItem (line 22) | interface MenuItem { FILE: hooks/canvas-area-hooks/use-automatic-aspect-ratio-switcher.ts function useAutomaticAspectRatioSwitcher (line 16) | function useAutomaticAspectRatioSwitcher({ FILE: hooks/canvas-area-hooks/use-resize-observer.ts function useCanvasResizeObserver (line 12) | function useCanvasResizeObserver( FILE: hooks/canvas-area-hooks/use-screen-size-warning-toast.ts function useScreenSizeWarningToast (line 8) | function useScreenSizeWarningToast() { FILE: hooks/use-editor.ts function useTiptapEditor (line 6) | function useTiptapEditor() { FILE: hooks/use-event-listener.ts function useEventListener (line 40) | function useEventListener< FILE: hooks/use-media-query.ts function useMediaQuery (line 4) | function useMediaQuery(query: string): boolean { FILE: hooks/use-on-click-outside.ts type Handler (line 5) | type Handler = (event: MouseEvent) => void function useOnClickOutside (line 7) | function useOnClickOutside( FILE: hooks/use-toast.ts constant TOAST_LIMIT (line 6) | const TOAST_LIMIT = 1 constant TOAST_REMOVE_DELAY (line 7) | const TOAST_REMOVE_DELAY = 1000000 type ToasterToast (line 9) | type ToasterToast = ToastProps & { function genId (line 25) | function genId() { type ActionType (line 30) | type ActionType = typeof actionTypes type Action (line 32) | type Action = type State (line 50) | interface State { function dispatch (line 131) | function dispatch(action: Action) { type Toast (line 138) | type Toast = Omit function toast (line 140) | function toast({ ...props }: Toast) { function useToast (line 169) | function useToast() { FILE: index.d.ts type Maybe (line 4) | type Maybe = null | undefined class ColorThief (line 23) | class ColorThief { FILE: providers/index.tsx type ProviderProps (line 8) | type ProviderProps = { function Providers (line 12) | function Providers({ children }: ProviderProps) { FILE: store/use-active-index.ts type ActiveIndexState (line 3) | interface ActiveIndexState { FILE: store/use-background-options.ts type BackgroundOptionsState (line 3) | interface BackgroundOptionsState { FILE: store/use-color-extractor.ts type ActiveIndexState (line 3) | interface ActiveIndexState { FILE: store/use-frame-options.ts type FrameTypes (line 3) | type FrameTypes = type FrameOptionsState (line 10) | interface FrameOptionsState { FILE: store/use-image-options.ts type ImageStyle (line 6) | interface ImageStyle { type ImageItem (line 29) | interface ImageItem { type ImageOptionsState (line 42) | interface ImageOptionsState { type SelectedLayerState (line 257) | interface SelectedLayerState { FILE: store/use-image-quality.ts type ImageQualityState (line 3) | interface ImageQualityState { FILE: store/use-moveable.ts type MoveableState (line 3) | interface MoveableState { FILE: store/use-resize-canvas.ts type ResizeCanvasState (line 3) | interface ResizeCanvasState { FILE: store/use-tiptap.ts type TiptapState (line 3) | interface TiptapState { FILE: utils/auth-options.ts type Session (line 12) | interface Session extends DefaultSession { type JWT (line 22) | interface JWT { method jwt (line 46) | async jwt({ token, user, session, trigger }) { method session (line 87) | async session({ session, token }) { FILE: utils/button-utils.ts function cn (line 4) | function cn(...inputs: ClassValue[]) { FILE: utils/helper-fns.ts function splitWidthHeight (line 1) | function splitWidthHeight(resolution: string) { function convertHexToRgba (line 6) | function convertHexToRgba(hexCode: string, opacity = 1) { function calculateEqualCanvasSize (line 25) | function calculateEqualCanvasSize( function capitalize (line 44) | function capitalize(str: string) { function formatDate (line 89) | function formatDate(date: Date | string | number | undefined): string { function generateFormattedBlogDate (line 104) | function generateFormattedBlogDate( FILE: utils/presets/gradients.ts type Gradient (line 1) | interface Gradient { FILE: utils/presets/qualities.ts type Quality (line 1) | interface Quality { FILE: utils/presets/resolutions.ts type Resolution (line 1) | interface Resolution { FILE: utils/presets/shadows.ts type Shadow (line 1) | interface Shadow {