├── .czrc ├── .editorconfig ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.yml │ ├── config.yml │ └── feature_request.yml └── workflows │ └── stale.yml ├── .gitignore ├── .husky ├── commit-msg └── pre-commit ├── .prettierrc.json ├── .vscode └── settings.json ├── LICENSE ├── README.md ├── apps ├── embed │ ├── .eslintrc.js │ ├── README.md │ ├── customHttp.yml │ ├── next-env.d.ts │ ├── next.config.js │ ├── package.json │ ├── postcss.config.js │ ├── public │ │ ├── card_fallback.png │ │ ├── favicon.ico │ │ ├── favicons │ │ │ ├── android-chrome-192x192.png │ │ │ ├── android-chrome-512x512.png │ │ │ ├── apple-touch-icon.png │ │ │ ├── browserconfig.xml │ │ │ ├── favicon-16x16.png │ │ │ ├── favicon-32x32.png │ │ │ ├── favicon.ico │ │ │ ├── mstile-150x150.png │ │ │ ├── safari-pinned-tab.svg │ │ │ └── site.webmanifest │ │ ├── fonts │ │ │ ├── Gilroy │ │ │ │ ├── gilroy-bold-latin.woff2 │ │ │ │ ├── gilroy-extrabold-latin.woff2 │ │ │ │ └── gilroy-semibold-latin.woff2 │ │ │ └── Inter │ │ │ │ └── inter-var-latin.woff2 │ │ ├── loading.svg │ │ ├── logo-white.svg │ │ ├── logo.svg │ │ ├── og_fallback.png │ │ ├── pattern.svg │ │ └── robots.txt │ ├── src │ │ ├── components │ │ │ └── seo.tsx │ │ ├── pages │ │ │ ├── 404.tsx │ │ │ ├── 500.tsx │ │ │ ├── [slug].tsx │ │ │ ├── _app.tsx │ │ │ └── _document.tsx │ │ ├── styles │ │ │ └── globals.css │ │ └── utils │ │ │ ├── env.d.ts │ │ │ ├── trpc.ts │ │ │ └── useWindowDimensions.ts │ ├── svg │ │ └── 404.svg │ ├── tailwind.config.js │ └── tsconfig.json ├── firebase-functions │ ├── .eslintrc.js │ ├── .firebaserc │ ├── README.md │ ├── firebase.json │ ├── package.json │ ├── src │ │ └── index.ts │ └── tsconfig.json ├── hocuspocus │ ├── .eslintrc.js │ ├── package.json │ ├── src │ │ ├── app.ts │ │ └── utils │ │ │ ├── astParser.ts │ │ │ └── logger.ts │ └── tsconfig.json ├── media-convert │ ├── .eslintrc.js │ ├── index.js │ ├── package.json │ └── utils.js └── webfront │ ├── .eslintrc.js │ ├── README.md │ ├── data │ └── legal │ │ └── privacy-policy.md │ ├── jest.config.js │ ├── next-env.d.ts │ ├── next.config.js │ ├── package.json │ ├── postcss.config.js │ ├── public │ ├── card_fallback.png │ ├── dp_fallback.png │ ├── favicons │ │ ├── android-chrome-192x192.png │ │ ├── android-chrome-512x512.png │ │ ├── apple-touch-icon.png │ │ ├── browserconfig.xml │ │ ├── favicon-16x16.png │ │ ├── favicon-32x32.png │ │ ├── favicon.ico │ │ ├── mstile-150x150.png │ │ ├── safari-pinned-tab.svg │ │ └── site.webmanifest │ ├── fonts │ │ ├── Gilroy │ │ │ ├── gilroy-bold-latin.woff2 │ │ │ ├── gilroy-extrabold-latin.woff2 │ │ │ ├── gilroy-regular-latin.woff2 │ │ │ └── gilroy-semibold-latin.woff2 │ │ ├── Gotham │ │ │ ├── GothamBold.ttf │ │ │ └── GothamLight.ttf │ │ └── Inter │ │ │ └── inter-var-latin.woff2 │ ├── logo.svg │ ├── onboarding │ │ ├── person1.png │ │ ├── person2.png │ │ ├── person3.png │ │ ├── person4.png │ │ ├── person5.png │ │ └── person6.png │ └── pattern.svg │ ├── sample.env │ ├── src │ ├── components │ │ ├── core │ │ │ ├── Container.tsx │ │ │ ├── CookieBanner.tsx │ │ │ ├── CoreLayout.tsx │ │ │ ├── Footer.tsx │ │ │ ├── Header.tsx │ │ │ ├── Hero.tsx │ │ │ ├── Pattern.tsx │ │ │ └── SEO.tsx │ │ ├── dashboard │ │ │ ├── CreateFlickModal.tsx │ │ │ ├── Filter.tsx │ │ │ ├── FlickTab.tsx │ │ │ ├── FlickTile.tsx │ │ │ ├── Header.tsx │ │ │ ├── Navbar.tsx │ │ │ ├── SeriesHeader.tsx │ │ │ ├── SeriesTab.tsx │ │ │ └── SeriesTile.tsx │ │ ├── flick │ │ │ ├── RecordingControls.tsx │ │ │ ├── branding │ │ │ │ ├── BackgroundSetting.tsx │ │ │ │ ├── BrandPreview.tsx │ │ │ │ ├── Branding.tsx │ │ │ │ ├── ColorSetting.tsx │ │ │ │ ├── CustomFontPicker.tsx │ │ │ │ ├── FontSetting.tsx │ │ │ │ ├── LogoSetting.tsx │ │ │ │ └── SplashVideoSetting.tsx │ │ │ ├── canvas │ │ │ │ ├── CanvasComponent.tsx │ │ │ │ ├── CodeAnimations.tsx │ │ │ │ ├── Concourse.tsx │ │ │ │ ├── FragmentBackground.tsx │ │ │ │ ├── GetTopLayerChildren.tsx │ │ │ │ ├── Gif.tsx │ │ │ │ ├── LowerThirdProvider.tsx │ │ │ │ ├── LowerThirds.tsx │ │ │ │ ├── PointBullets.tsx │ │ │ │ ├── RichText.tsx │ │ │ │ ├── StudioUser.tsx │ │ │ │ ├── Thumbnail.tsx │ │ │ │ ├── ThumbnailElements.tsx │ │ │ │ ├── TransitionProvider.tsx │ │ │ │ ├── Transitions.tsx │ │ │ │ ├── VideoBackground.tsx │ │ │ │ └── fragments │ │ │ │ │ ├── CodeFragment.tsx │ │ │ │ │ ├── HeadingFragment.tsx │ │ │ │ │ ├── ImageFragment.tsx │ │ │ │ │ ├── IntroFragment.tsx │ │ │ │ │ ├── OutroFragment.tsx │ │ │ │ │ ├── PointsFragment.tsx │ │ │ │ │ ├── UnifiedFragment.tsx │ │ │ │ │ └── VideoFragment.tsx │ │ │ ├── core │ │ │ │ ├── BlockPreview.tsx │ │ │ │ ├── EditorHeader.tsx │ │ │ │ ├── EditorSection.tsx │ │ │ │ ├── Huddle.tsx │ │ │ │ ├── Invite.tsx │ │ │ │ ├── Navbar.tsx │ │ │ │ ├── StoreUpdater.tsx │ │ │ │ └── ViewConfigUpdater.tsx │ │ │ ├── index.tsx │ │ │ ├── preview │ │ │ │ ├── CodePreview.tsx │ │ │ │ ├── IntroPreview.tsx │ │ │ │ ├── LayoutGeneric.tsx │ │ │ │ ├── LayoutSelector.tsx │ │ │ │ ├── Notes.tsx │ │ │ │ ├── OutroPreview.tsx │ │ │ │ ├── Preview.tsx │ │ │ │ ├── Timeline.tsx │ │ │ │ └── mode │ │ │ │ │ ├── CodeBlockMode.tsx │ │ │ │ │ ├── ImageBlockMode.tsx │ │ │ │ │ ├── ListBlockMode.tsx │ │ │ │ │ ├── VideoBlockMode.tsx │ │ │ │ │ └── index.tsx │ │ │ ├── studio │ │ │ │ ├── Countdown.tsx │ │ │ │ ├── MediaControls.tsx │ │ │ │ ├── MiniTimeline.tsx │ │ │ │ ├── Notes.tsx │ │ │ │ ├── PresenceAvatars.tsx │ │ │ │ ├── Studio.tsx │ │ │ │ ├── StudioHoc.tsx │ │ │ │ └── Timer.tsx │ │ │ └── subheader │ │ │ │ ├── Brand.tsx │ │ │ │ ├── FormatSelector.tsx │ │ │ │ ├── Publish.tsx │ │ │ │ ├── SubHeader.tsx │ │ │ │ ├── Theme.tsx │ │ │ │ ├── ThumbnailModal.tsx │ │ │ │ └── Transition.tsx │ │ ├── legal │ │ │ ├── Content.tsx │ │ │ ├── HeroText.tsx │ │ │ └── Pattern.tsx │ │ ├── notifications │ │ │ ├── CollaborationResponseModal.tsx │ │ │ ├── NotificationMessage.tsx │ │ │ └── Notifications.tsx │ │ ├── onboarding │ │ │ ├── MainDetails.tsx │ │ │ ├── OnBoarding.tsx │ │ │ ├── People.tsx │ │ │ ├── PersonalDetails.tsx │ │ │ ├── Upload.tsx │ │ │ └── types.ts │ │ ├── profile │ │ │ └── CollaborateModal.tsx │ │ └── series │ │ │ ├── AddExistingFlickModal.tsx │ │ │ ├── Collaborators.tsx │ │ │ ├── FlickCard.tsx │ │ │ └── SeriesActionButton.tsx │ ├── pages │ │ ├── 404.tsx │ │ ├── 500.tsx │ │ ├── [username].tsx │ │ ├── _app.tsx │ │ ├── _document.tsx │ │ ├── api │ │ │ ├── login.ts │ │ │ ├── loginInvitedUser.ts │ │ │ ├── logout.ts │ │ │ ├── status.ts │ │ │ ├── trpc │ │ │ │ └── [trpc].ts │ │ │ └── webhook │ │ │ │ ├── complete-recording.ts │ │ │ │ ├── editor-update.ts │ │ │ │ ├── mux-asset-status.ts │ │ │ │ └── new-user.ts │ │ ├── dashboard │ │ │ └── index.tsx │ │ ├── index.tsx │ │ ├── legal │ │ │ └── [slug].tsx │ │ ├── login │ │ │ └── index.tsx │ │ ├── magiclink │ │ │ └── index.tsx │ │ ├── notifications │ │ │ └── index.tsx │ │ ├── onboarding │ │ │ └── index.tsx │ │ ├── series │ │ │ └── [series].tsx │ │ ├── story │ │ │ └── [...slug].tsx │ │ └── watch │ │ │ └── [slug].tsx │ ├── server │ │ └── trpc.ts │ ├── stores │ │ ├── flick.store.ts │ │ └── studio.store.ts │ ├── styles │ │ └── globals.css │ ├── types │ │ └── env.d.ts │ └── utils │ │ ├── canvasConfigs │ │ ├── fragmentLayoutConfig.ts │ │ ├── introConfig.ts │ │ ├── outroConfig.ts │ │ ├── pointsConfig.ts │ │ ├── studioUserConfig.ts │ │ └── themeConfig.ts │ │ ├── configs.ts │ │ ├── helpers │ │ ├── initMiddleware.ts │ │ ├── mdToHtml.ts │ │ ├── recordingControlsFunctions.ts │ │ ├── requireAuth.ts │ │ └── setCookie.ts │ │ ├── hooks │ │ ├── useAgora.ts │ │ ├── useAudio.ts │ │ ├── useBlock.ts │ │ ├── useCanvasRecorder.ts │ │ ├── useCode.ts │ │ ├── useDidUpdateEffect.ts │ │ ├── useLoadFont.ts │ │ ├── useMediaStream.ts │ │ ├── usePoint.ts │ │ ├── usePush.ts │ │ ├── useReplace.ts │ │ ├── useUpdateActiveObjectIndex.ts │ │ ├── useUpdatePayload.ts │ │ └── useUpdateState.ts │ │ ├── liveblocks.config.ts │ │ └── providers │ │ └── auth.tsx │ ├── svg │ ├── 404.svg │ ├── BrandIcon.svg │ ├── BulletListStyle.svg │ ├── CallToAction.svg │ ├── Check.svg │ ├── Discord.svg │ ├── Flick.svg │ ├── Instagram.svg │ ├── Linkedin.svg │ ├── ListAllAtOnce.svg │ ├── ListReplace.svg │ ├── ListStack.svg │ ├── Logo.svg │ ├── Logomark.svg │ ├── Logotype.svg │ ├── NumberListStyle.svg │ ├── OutroFragment │ │ ├── discord.svg │ │ ├── linkedin.svg │ │ ├── twitter.svg │ │ ├── website.svg │ │ └── youtube.svg │ ├── RecordingScreen │ │ ├── CustomLayout.svg │ │ ├── OnlyUserMedia.svg │ │ ├── StartRecord.svg │ │ ├── StopRecord.svg │ │ └── ThreeWaySwap.svg │ ├── StudioLogo.svg │ ├── Timeline.svg │ ├── TransitionIcon.svg │ ├── Twitter.svg │ ├── UserPlaceholder.svg │ └── Youtube.svg │ ├── tailwind.config.js │ └── tsconfig.json ├── assets ├── logo.png └── main.png ├── docker-compose.yaml ├── package.json ├── packages ├── config │ ├── eslint-next.js │ ├── eslint-node.js │ ├── eslint-react.js │ ├── package.json │ ├── postcss.config.js │ ├── tailwind.config.js │ ├── tsconfig-base.json │ ├── tsconfig-next.json │ └── tsconfig-react.json ├── editor │ ├── .eslintrc.js │ ├── package.json │ ├── postcss.config.js │ ├── src │ │ ├── assets │ │ │ ├── Command_Code.svg │ │ │ ├── Command_CodeSandbox.svg │ │ │ ├── Command_Heading1.svg │ │ │ ├── Command_Heading2.svg │ │ │ ├── Command_Heading3.svg │ │ │ ├── Command_Image.svg │ │ │ ├── Command_List.svg │ │ │ ├── Command_Replit.svg │ │ │ ├── Command_ScreenGrab.svg │ │ │ ├── Command_Stackblitz.svg │ │ │ ├── Command_Text.svg │ │ │ ├── Command_Video.svg │ │ │ ├── Logo.svg │ │ │ ├── crop-outline.svg │ │ │ ├── record-screen.jpeg │ │ │ └── trim.svg │ │ ├── index.tsx │ │ ├── nodes │ │ │ ├── extension-code │ │ │ │ ├── CodeBlock.tsx │ │ │ │ └── index.ts │ │ │ ├── extension-drag.ts │ │ │ ├── extension-image │ │ │ │ ├── GiphyTab.tsx │ │ │ │ ├── Image.tsx │ │ │ │ ├── IncredibleGifs.tsx │ │ │ │ ├── UnsplashTab.tsx │ │ │ │ ├── index.ts │ │ │ │ └── upload-image-plugin.ts │ │ │ ├── extension-interaction │ │ │ │ ├── InteractionBlock.tsx │ │ │ │ └── index.tsx │ │ │ ├── extension-slash-command │ │ │ │ ├── CommandsList.tsx │ │ │ │ ├── index.ts │ │ │ │ ├── items.ts │ │ │ │ └── renderItems.ts │ │ │ ├── extension-trailing-node.ts │ │ │ ├── extension-typography.ts │ │ │ └── extension-video │ │ │ │ ├── AddVideo.tsx │ │ │ │ ├── VideoBlock.tsx │ │ │ │ ├── VideoEditor.tsx │ │ │ │ ├── VideoTooltip.tsx │ │ │ │ └── index.ts │ │ ├── styles │ │ │ ├── editorStyle.ts │ │ │ └── tinyEditorStyle.ts │ │ └── utils │ │ │ ├── allowedLanguages.ts │ │ │ ├── helpers.ts │ │ │ ├── parser.ts │ │ │ └── types.ts │ ├── tailwind.config.js │ ├── tsconfig.json │ └── types.d.ts ├── icanvas │ ├── .eslintrc.js │ ├── package.json │ ├── src │ │ ├── Video.tsx │ │ └── hooks │ │ │ └── useEdit.ts │ └── tsconfig.json ├── prisma-orm │ ├── .eslintrc.js │ ├── README.md │ ├── data │ │ ├── themes.ts │ │ └── transitions.ts │ ├── package.json │ ├── prisma.ts │ ├── schema.prisma │ ├── seed.ts │ └── tsconfig.json ├── server │ ├── .eslintrc.js │ ├── createContext.ts │ ├── createRouter.ts │ ├── env.fetch.js │ ├── package.json │ ├── routes │ │ ├── block.ts │ │ ├── collaborate.ts │ │ ├── fragment.ts │ │ ├── record.ts │ │ ├── route.ts │ │ ├── series.ts │ │ ├── story.ts │ │ ├── user.ts │ │ └── utils.ts │ ├── sample.secret.json │ ├── tsconfig.json │ └── utils │ │ ├── VideoBlock.ts │ │ ├── aws.ts │ │ ├── env.ts │ │ ├── generateAgoraToken.ts │ │ ├── helpers.ts │ │ ├── jwt.ts │ │ ├── mediaConvert.ts │ │ ├── s3-path-builder.ts │ │ ├── transactionalEmail.ts │ │ └── upload.ts ├── ui │ ├── .eslintrc.js │ ├── package.json │ ├── postcss.config.js │ ├── src │ │ ├── Avatar.tsx │ │ ├── Button.tsx │ │ ├── Confetti.tsx │ │ ├── Container.tsx │ │ ├── Heading.tsx │ │ ├── IconButton.tsx │ │ ├── Label.tsx │ │ ├── Loader.tsx │ │ ├── Player.tsx │ │ ├── ScreenState.tsx │ │ ├── Switch.tsx │ │ ├── Text.tsx │ │ ├── TextField.tsx │ │ ├── ThumbnailPreview.tsx │ │ ├── Toast.tsx │ │ ├── assets │ │ │ ├── CodeSandbox.svg │ │ │ ├── Replit.svg │ │ │ ├── StackBlitz.svg │ │ │ └── card_fallback.png │ │ ├── index.css │ │ └── index.tsx │ ├── tailwind.config.js │ ├── tsconfig.json │ └── types.d.ts └── utils │ ├── .eslintrc.js │ ├── package.json │ ├── src │ ├── enums.ts │ ├── helpers │ │ ├── get-seekable-webm.ts │ │ ├── suggestion.ts │ │ └── validations.ts │ ├── hooks │ │ ├── use-env.ts │ │ ├── use-get-hw.ts │ │ ├── use-timekeeper.ts │ │ ├── use-upload-file.ts │ │ └── useOutsideClick.ts │ ├── index.ts │ └── types │ │ └── viewConfig.ts │ └── tsconfig.json ├── turbo.json └── yarn.lock /.czrc: -------------------------------------------------------------------------------- 1 | { 2 | "path": "cz-conventional-changelog", 3 | "types": { 4 | "feat": { 5 | "description": "A new feature", 6 | "name": "Feature" 7 | }, 8 | "fix": { 9 | "description": "A bug fix", 10 | "name": "Fix" 11 | }, 12 | "style": { 13 | "description": "Changes to style files or css", 14 | "name": "Style" 15 | }, 16 | "hotfix": { 17 | "description": "A hotfix", 18 | "name": "Hotfix" 19 | }, 20 | "refactor": { 21 | "description": "A code change that neither fixes a bug nor adds a feature", 22 | "name": "Refactor" 23 | }, 24 | "chore": { 25 | "name": "Chore", 26 | "description": "Changes to the build process, auxiliary tools, libraries or packages" 27 | }, 28 | "ci": { 29 | "name": "CI/CD", 30 | "description": "Changes to the CI/CD process" 31 | }, 32 | "perf": { 33 | "description": "A code change that improves performance", 34 | "name": "Performance" 35 | }, 36 | "docs": { 37 | "description": "Changes to only documentation", 38 | "name": "Documentation" 39 | }, 40 | "revert": { 41 | "description": "Reverts a previous commit", 42 | "name": "Revert" 43 | }, 44 | "merge": { 45 | "description": "Merges a branch to another", 46 | "name": "Merge" 47 | } 48 | }, 49 | "scopes": [ 50 | "root", 51 | "webfront", 52 | "ui", 53 | "config" 54 | ] 55 | } 56 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.yml: -------------------------------------------------------------------------------- 1 | name: Bug report 2 | description: Create a report to help us improve tiptap 3 | labels: 4 | - bug 5 | body: 6 | - type: textarea 7 | id: problem 8 | attributes: 9 | label: What is the bug you are facing? 10 | description: A clear and concise description of what the bug is. 11 | placeholder: "I'm always frustrated when …" 12 | validations: 13 | required: true 14 | - type: textarea 15 | id: environment 16 | attributes: 17 | label: Which browser was this experienced in? Are any special extensions installed? 18 | description: Please give us more information about your browser environment so we can reproduce the bug faster. Ex- Browser name, version, extensions, etc. 19 | validations: 20 | required: true 21 | - type: textarea 22 | id: reproduction 23 | attributes: 24 | label: How can we reproduce the bug on our side? 25 | description: Steps to reproduce the behavior 26 | placeholder: "1. Go to '…' 2. Click on '…' 3. Scroll down to '…' 4. See error" 27 | validations: 28 | required: true 29 | - type: textarea 30 | id: expectation 31 | attributes: 32 | label: What did you expect to happen? 33 | description: A clear and concise description of what you expected to happen. 34 | placeholder: "I expected that clicking the …" 35 | validations: 36 | required: true 37 | - type: textarea 38 | id: context 39 | attributes: 40 | label: Useful Details 41 | description: "Add any other context, screenshots, videos or GIFs here." 42 | - type: checkboxes 43 | attributes: 44 | label: Did you update your dependencies? 45 | description: "Use `npm update` to update your dependencies." 46 | options: 47 | - label: Yes, I’ve updated my dependencies to use the latest version of all packages. 48 | required: true 49 | - type: markdown 50 | attributes: 51 | value: | 52 | Thanks for taking the time to help make Incredible better :heart: 53 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: false 2 | contact_links: 3 | - name: Discuss Incredible on GitHub 4 | url: https://github.com/IncredibledevHQ/Incredible/discussions/new 5 | about: Join the conversation. 6 | - name: Join the Incredible Discord 7 | url: https://discord.gg/jJQWQs8Fh2 8 | about: Hangout with other Incredible dev and creator's! 9 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.yml: -------------------------------------------------------------------------------- 1 | name: Feature request 2 | description: Suggest a new feature for Incredible 3 | labels: 4 | - feature request 5 | body: 6 | - type: textarea 7 | id: problem 8 | attributes: 9 | label: What problem are you facing? 10 | description: A clear and concise description of what the problem is. 11 | placeholder: "I would love to be able to ... but I can't because ..." 12 | validations: 13 | required: true 14 | - type: textarea 15 | id: solution 16 | attributes: 17 | label: What's the solution you would like to see? 18 | description: A clear and concise description of what you want to happen. 19 | placeholder: "I'd like …" 20 | validations: 21 | required: true 22 | - type: textarea 23 | id: alternatives 24 | attributes: 25 | label: What alternatives did you consider? 26 | description: A clear and concise description of what you want to happen. 27 | placeholder: "I've considered to …" 28 | validations: 29 | required: true 30 | - type: textarea 31 | id: context 32 | attributes: 33 | label: Anything to add? (optional) 34 | description: "Add any other context or screenshots here." 35 | - type: markdown 36 | attributes: 37 | value: | 38 | Thanks for taking the time to send us feedback <3 We really appreciate it! 39 | -------------------------------------------------------------------------------- /.github/workflows/stale.yml: -------------------------------------------------------------------------------- 1 | name: 'Close stale issues and PRs' 2 | on: 3 | workflow_dispatch: 4 | schedule: 5 | - cron: '0 0 * * *' 6 | 7 | jobs: 8 | stale: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - uses: actions/stale@main 12 | with: 13 | stale-issue-message: 'This issue is stale because it has been open 45 days with no activity. Remove stale label or comment or this will be closed in 7 days' 14 | days-before-stale: 45 15 | days-before-close: 7 16 | stale-issue-label: stale 17 | stale-pr-label: stale 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | node_modules 5 | .pnp 6 | .pnp.js 7 | 8 | # testing 9 | coverage 10 | 11 | # next.js 12 | .next/ 13 | out/ 14 | build 15 | 16 | # misc 17 | .DS_Store 18 | *.pem 19 | 20 | # debug 21 | npm-debug.log* 22 | yarn-debug.log* 23 | yarn-error.log* 24 | .pnpm-debug.log* 25 | 26 | # local env files 27 | .env.local 28 | .env.development.local 29 | .env.test.local 30 | .env.production.local 31 | 32 | # all env files 33 | **/*/.env 34 | 35 | # graphql related files 36 | **/graphql/generated.ts 37 | **/graphql/generated-ssr.ts 38 | **/*/graphql.schema.json 39 | 40 | # turbo 41 | .turbo 42 | **/*/.vercel 43 | .npmrc 44 | 45 | *.log 46 | # Compiled JavaScript files 47 | **/*/lib/**/*.js 48 | **/*/lib/**/*.js.map 49 | **/*/dist 50 | 51 | 52 | # TypeScript v1 declaration files 53 | **/*/typings/ 54 | 55 | **/*/env.server.js 56 | -------------------------------------------------------------------------------- /.husky/commit-msg: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | RED='\033[0;31m' 3 | NC='\033[0m' 4 | if ! head -1 "$1" | grep -qE "^(feat|fix|chore|docs|test|style|refactor|perf|build|ci|revert|hotfix|merge)(\(.+?\))?: .{1,}$"; then 5 | echo "${RED}Aborting commit. Your commit message is invalid.${NC}" >&2 6 | exit 1 7 | fi 8 | if ! head -1 "$1" | grep -qE "^.{1,88}$"; then 9 | echo "${RED}Aborting commit. Your commit message is too long.${NC}" >&2 10 | exit 1 11 | fi -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | . "$(dirname -- "$0")/_/husky.sh" 3 | 4 | npx lint-staged 5 | -------------------------------------------------------------------------------- /.prettierrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "endOfLine": "lf", 3 | "printWidth": 80, 4 | "trailingComma": "es5", 5 | "semi": false, 6 | "jsxSingleQuote": true, 7 | "singleQuote": true, 8 | "useTabs": true, 9 | "tabWidth": 2, 10 | "arrowParens": "avoid" 11 | } 12 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "cSpell.words": [ 3 | "codegen", 4 | "codesandbox", 5 | "giphy", 6 | "hasura", 7 | "hocuspocus", 8 | "liveblocks", 9 | "logrocket", 10 | "replit", 11 | "stackblitz", 12 | "tailwindcss", 13 | "tiptap", 14 | "webfront" 15 | ], 16 | "files.exclude": { 17 | "**/**/node_modules/": true 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /apps/embed/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | ...require('config/eslint-next.js'), 3 | parserOptions: { 4 | tsconfigRootDir: __dirname, 5 | project: './tsconfig.json', 6 | }, 7 | } 8 | -------------------------------------------------------------------------------- /apps/embed/README.md: -------------------------------------------------------------------------------- 1 | # This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app) 2 | 3 | ## Getting Started 4 | 5 | First, run the development server: 6 | 7 | ```bash 8 | npm run dev 9 | # or 10 | yarn dev 11 | ``` 12 | 13 | Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. 14 | 15 | You can start editing the page by modifying `pages/index.tsx`. The page auto-updates as you edit the file. 16 | 17 | [API routes](https://nextjs.org/docs/api-routes/introduction) can be accessed on [http://localhost:3000/api/hello](http://localhost:3000/api/hello). This endpoint can be edited in `pages/api/hello.ts`. 18 | 19 | The `pages/api` directory is mapped to `/api/*`. Files in this directory are treated as [API routes](https://nextjs.org/docs/api-routes/introduction) instead of React pages. 20 | 21 | ## Learn More 22 | 23 | To learn more about Next.js, take a look at the following resources: 24 | 25 | - [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. 26 | - [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. 27 | 28 | You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome! 29 | 30 | ## Deploy on Vercel 31 | 32 | The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. 33 | 34 | Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details. 35 | -------------------------------------------------------------------------------- /apps/embed/customHttp.yml: -------------------------------------------------------------------------------- 1 | customHeaders: 2 | - pattern: "/fonts/Gilroy/*.woff2" 3 | headers: 4 | - key: "Cache-Control" 5 | value: "public, max-age=31536000, as=font, immutable" 6 | - pattern: "/fonts/Inter/*.woff2" 7 | headers: 8 | - key: "Cache-Control" 9 | value: "public, max-age=31536000, as=font, immutable" 10 | -------------------------------------------------------------------------------- /apps/embed/next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | 4 | // NOTE: This file should not be edited 5 | // see https://nextjs.org/docs/basic-features/typescript for more information. 6 | -------------------------------------------------------------------------------- /apps/embed/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "embed", 3 | "version": "0.0.0", 4 | "private": true, 5 | "scripts": { 6 | "dev": "next dev --port 3001", 7 | "build": "next build", 8 | "start": "next start", 9 | "lint": "eslint src --fix" 10 | }, 11 | "dependencies": { 12 | "@emotion/css": "^11.7.1", 13 | "@svgr/webpack": "^5.5.0", 14 | "@trpc/react": "^9.27.0", 15 | "@vime/core": "^5.3.1", 16 | "@vime/react": "^5.3.1", 17 | "autoprefixer": "^10.4.2", 18 | "next": "12.0.10", 19 | "postcss": "^8.4.6", 20 | "prisma-orm": "*", 21 | "react": "17.0.2", 22 | "react-dom": "17.0.2", 23 | "react-icons": "^4.3.1", 24 | "server": "*", 25 | "tailwindcss": "^3.0.19", 26 | "ui": "*" 27 | }, 28 | "devDependencies": { 29 | "@types/node": "17.0.16", 30 | "@types/react": "17.0.37", 31 | "@types/video.js": "^7.3.31", 32 | "next-transpile-modules": "9.0.0", 33 | "eslint": "7.32.0", 34 | "typescript": "4.5.5" 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /apps/embed/postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /apps/embed/public/card_fallback.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/a3a31e5c17d6d302f240c61e8a5cf9c23edb0ef0/apps/embed/public/card_fallback.png -------------------------------------------------------------------------------- /apps/embed/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/a3a31e5c17d6d302f240c61e8a5cf9c23edb0ef0/apps/embed/public/favicon.ico -------------------------------------------------------------------------------- /apps/embed/public/favicons/android-chrome-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/a3a31e5c17d6d302f240c61e8a5cf9c23edb0ef0/apps/embed/public/favicons/android-chrome-192x192.png -------------------------------------------------------------------------------- /apps/embed/public/favicons/android-chrome-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/a3a31e5c17d6d302f240c61e8a5cf9c23edb0ef0/apps/embed/public/favicons/android-chrome-512x512.png -------------------------------------------------------------------------------- /apps/embed/public/favicons/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/a3a31e5c17d6d302f240c61e8a5cf9c23edb0ef0/apps/embed/public/favicons/apple-touch-icon.png -------------------------------------------------------------------------------- /apps/embed/public/favicons/browserconfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | #ffffff 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /apps/embed/public/favicons/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/a3a31e5c17d6d302f240c61e8a5cf9c23edb0ef0/apps/embed/public/favicons/favicon-16x16.png -------------------------------------------------------------------------------- /apps/embed/public/favicons/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/a3a31e5c17d6d302f240c61e8a5cf9c23edb0ef0/apps/embed/public/favicons/favicon-32x32.png -------------------------------------------------------------------------------- /apps/embed/public/favicons/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/a3a31e5c17d6d302f240c61e8a5cf9c23edb0ef0/apps/embed/public/favicons/favicon.ico -------------------------------------------------------------------------------- /apps/embed/public/favicons/mstile-150x150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/a3a31e5c17d6d302f240c61e8a5cf9c23edb0ef0/apps/embed/public/favicons/mstile-150x150.png -------------------------------------------------------------------------------- /apps/embed/public/favicons/safari-pinned-tab.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 8 | Created by potrace 1.14, written by Peter Selinger 2001-2017 9 | 10 | 12 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /apps/embed/public/favicons/site.webmanifest: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Incredible", 3 | "short_name": "Incredible", 4 | "icons": [ 5 | { 6 | "src": "android-chrome-192x192.png?v=005", 7 | "sizes": "192x192", 8 | "type": "image/png" 9 | }, 10 | { 11 | "src": "android-chrome-512x512.png?v=005", 12 | "sizes": "512x512", 13 | "type": "image/png" 14 | } 15 | ], 16 | "theme_color": "#ffffff", 17 | "background_color": "#ffffff", 18 | "display": "standalone" 19 | } 20 | -------------------------------------------------------------------------------- /apps/embed/public/fonts/Gilroy/gilroy-bold-latin.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/a3a31e5c17d6d302f240c61e8a5cf9c23edb0ef0/apps/embed/public/fonts/Gilroy/gilroy-bold-latin.woff2 -------------------------------------------------------------------------------- /apps/embed/public/fonts/Gilroy/gilroy-extrabold-latin.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/a3a31e5c17d6d302f240c61e8a5cf9c23edb0ef0/apps/embed/public/fonts/Gilroy/gilroy-extrabold-latin.woff2 -------------------------------------------------------------------------------- /apps/embed/public/fonts/Gilroy/gilroy-semibold-latin.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/a3a31e5c17d6d302f240c61e8a5cf9c23edb0ef0/apps/embed/public/fonts/Gilroy/gilroy-semibold-latin.woff2 -------------------------------------------------------------------------------- /apps/embed/public/fonts/Inter/inter-var-latin.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/a3a31e5c17d6d302f240c61e8a5cf9c23edb0ef0/apps/embed/public/fonts/Inter/inter-var-latin.woff2 -------------------------------------------------------------------------------- /apps/embed/public/og_fallback.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/a3a31e5c17d6d302f240c61e8a5cf9c23edb0ef0/apps/embed/public/og_fallback.png -------------------------------------------------------------------------------- /apps/embed/public/robots.txt: -------------------------------------------------------------------------------- 1 | # Allow all crawlers 2 | User-agent: * 3 | Allow: / 4 | -------------------------------------------------------------------------------- /apps/embed/src/pages/404.tsx: -------------------------------------------------------------------------------- 1 | // Copyright 2022 Pixelbyte Studio Pvt Ltd 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | import NotFound from 'svg/404.svg' 16 | 17 | const FourOhFour = () => ( 18 |
19 |
20 | 21 |
22 |

23 | Uh-oh, resource not found 24 |

25 |

26 | Sorry, this resource doesn’t exist or it was removed 27 |

28 |
29 |
30 |
31 | ) 32 | 33 | export default FourOhFour 34 | -------------------------------------------------------------------------------- /apps/embed/src/pages/500.tsx: -------------------------------------------------------------------------------- 1 | // Copyright 2022 Pixelbyte Studio Pvt Ltd 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | const ErrorPage = () => ( 16 |
17 |
18 |
19 |

20 | Oops! 21 |

22 |

23 | Sorry, something went wrong 24 |

25 |
26 |
27 |
28 | ) 29 | 30 | export default ErrorPage 31 | -------------------------------------------------------------------------------- /apps/embed/src/pages/_app.tsx: -------------------------------------------------------------------------------- 1 | // Copyright 2022 Pixelbyte Studio Pvt Ltd 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | import '../styles/globals.css' 16 | import type { AppProps } from 'next/app' 17 | 18 | const MyApp = ({ Component, pageProps }: AppProps) => ( 19 | 20 | ) 21 | 22 | export default MyApp 23 | -------------------------------------------------------------------------------- /apps/embed/src/styles/globals.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; 4 | 5 | html { 6 | scroll-behavior: smooth; 7 | color-scheme: dark; 8 | @apply text-gray-800 9 | } 10 | a { 11 | color: inherit; 12 | text-decoration: none; 13 | } 14 | 15 | h1, 16 | h2, 17 | h3, 18 | h4, 19 | h5, 20 | h6 { 21 | @apply font-main; 22 | } 23 | 24 | body { 25 | @apply font-body; 26 | } 27 | 28 | * { 29 | box-sizing: border-box; 30 | } 31 | 32 | ::-moz-selection { 33 | /* Code for Firefox */ 34 | 35 | @apply bg-green-600 text-white; 36 | } 37 | 38 | ::selection { 39 | @apply bg-green-600 text-white; 40 | } 41 | 42 | @layer base { 43 | /* Gilroy ExtraBold - Subsetting : Latin */ 44 | @font-face { 45 | font-family: "Gilroy"; 46 | font-style: normal; 47 | font-weight: 800; 48 | font-display: optional; 49 | src: url("/fonts/Gilroy/gilroy-extrabold-latin.woff2") format("woff2"); 50 | } 51 | 52 | /* Gilroy Bold - Subsetting : Latin */ 53 | @font-face { 54 | font-family: "Gilroy"; 55 | font-style: normal; 56 | font-weight: 700; 57 | font-display: optional; 58 | src: url("/fonts/Gilroy/gilroy-bold-latin.woff2") format("woff2"); 59 | } 60 | 61 | /* Gilroy SemiBold - Subsetting : Latin */ 62 | @font-face { 63 | font-family: "Gilroy"; 64 | font-style: normal; 65 | font-weight: 600; 66 | font-display: optional; 67 | src: url("/fonts/Gilroy/gilroy-semibold-latin.woff2") format("woff2"); 68 | } 69 | 70 | /* Inter Variable - Subsetting : Latin */ 71 | @font-face { 72 | font-family: "Inter"; 73 | font-style: normal; 74 | font-weight: 100 900; 75 | font-display: optional; 76 | src: url("/fonts/Inter/inter-var-latin.woff2") format("woff2"); 77 | } 78 | } 79 | 80 | -------------------------------------------------------------------------------- /apps/embed/src/utils/env.d.ts: -------------------------------------------------------------------------------- 1 | // Copyright 2022 Pixelbyte Studio Pvt Ltd 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | declare global { 16 | namespace NodeJS { 17 | interface ProcessEnv { 18 | NEXT_PUBLIC_CDN_URL: string 19 | NEXT_PUBLIC_EMBED_URL: string 20 | DATABASE_URL: string 21 | } 22 | } 23 | } 24 | 25 | export {} 26 | -------------------------------------------------------------------------------- /apps/embed/src/utils/trpc.ts: -------------------------------------------------------------------------------- 1 | // Copyright 2022 Pixelbyte Studio Pvt Ltd 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | /* eslint-disable @typescript-eslint/naming-convention */ 16 | import { createReactQueryHooks } from '@trpc/react' 17 | import type { inferProcedureInput, inferProcedureOutput } from '@trpc/server' 18 | import { AppRouter } from 'server/routes/route' 19 | 20 | const trpc = createReactQueryHooks() 21 | 22 | /** 23 | * This is a helper method to infer the output of a query resolver 24 | * @example type HelloOutput = inferQueryOutput<'hello'> 25 | */ 26 | export type inferQueryOutput< 27 | TRouteKey extends keyof AppRouter['_def']['queries'] 28 | > = inferProcedureOutput 29 | 30 | export type inferQueryInput< 31 | TRouteKey extends keyof AppRouter['_def']['queries'] 32 | > = inferProcedureInput 33 | 34 | export type inferMutationOutput< 35 | TRouteKey extends keyof AppRouter['_def']['mutations'] 36 | > = inferProcedureOutput 37 | 38 | export type inferMutationInput< 39 | TRouteKey extends keyof AppRouter['_def']['mutations'] 40 | > = inferProcedureInput 41 | 42 | export default trpc 43 | -------------------------------------------------------------------------------- /apps/embed/src/utils/useWindowDimensions.ts: -------------------------------------------------------------------------------- 1 | // Copyright 2022 Pixelbyte Studio Pvt Ltd 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | import { useState, useEffect } from 'react' 16 | 17 | function getWindowDimensions() { 18 | const { innerWidth: width, innerHeight: height } = window 19 | return { 20 | width, 21 | height, 22 | } 23 | } 24 | 25 | export default function useWindowDimensions() { 26 | const [windowDimensions, setWindowDimensions] = useState<{ 27 | width: number 28 | height: number 29 | }>({ 30 | width: 0, 31 | height: 0, 32 | }) 33 | 34 | useEffect(() => { 35 | setWindowDimensions(getWindowDimensions()) 36 | function handleResize() { 37 | setWindowDimensions(getWindowDimensions()) 38 | } 39 | 40 | window.addEventListener('resize', handleResize) 41 | return () => window.removeEventListener('resize', handleResize) 42 | }, []) 43 | 44 | return windowDimensions 45 | } 46 | -------------------------------------------------------------------------------- /apps/embed/svg/404.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /apps/embed/tailwind.config.js: -------------------------------------------------------------------------------- 1 | module.exports = require('config/tailwind.config') 2 | -------------------------------------------------------------------------------- /apps/embed/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "config/tsconfig-next.json", 3 | "compilerOptions": { 4 | "baseUrl": ".", 5 | "strict": true, 6 | "disableSizeLimit": true, 7 | "declaration": false, 8 | "declarationMap": false, 9 | "skipLibCheck": true 10 | }, 11 | "paths": { 12 | "@/*": ["./src/*"] 13 | }, 14 | "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"], 15 | "exclude": ["node_modules"] 16 | } 17 | -------------------------------------------------------------------------------- /apps/firebase-functions/.eslintrc.js: -------------------------------------------------------------------------------- 1 | const eslintNode = require('config/eslint-node.js') 2 | 3 | module.exports = { 4 | ...eslintNode, 5 | parserOptions: { 6 | tsconfigRootDir: __dirname, 7 | project: './tsconfig.json', 8 | sourceType: 'module', 9 | ecmaVersion: 2020, 10 | }, 11 | } 12 | -------------------------------------------------------------------------------- /apps/firebase-functions/.firebaserc: -------------------------------------------------------------------------------- 1 | { 2 | "projects": { 3 | "default": "incredibledev-next-staging" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /apps/firebase-functions/README.md: -------------------------------------------------------------------------------- 1 | ## Secrets 2 | 3 | ref : 4 | 5 | ``` 6 | firebase functions:secrets:set WEBHOOK_SECRET 7 | ``` 8 | -------------------------------------------------------------------------------- /apps/firebase-functions/firebase.json: -------------------------------------------------------------------------------- 1 | { 2 | "functions": { 3 | "source": ".", 4 | "predeploy": [ 5 | "npm --prefix \"$RESOURCE_DIR\" run lint", 6 | "npm --prefix \"$RESOURCE_DIR\" run build" 7 | ] 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /apps/firebase-functions/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "functions", 3 | "version": "0.0.0", 4 | "scripts": { 5 | "lint": "eslint --ext .js,.ts .", 6 | "build": "tsc", 7 | "serve": "yarn build && firebase emulators:start --only functions", 8 | "shell": "yarn build && firebase functions:shell", 9 | "start": "yarn shell", 10 | "deploy": "firebase deploy --only functions", 11 | "logs": "firebase functions:log" 12 | }, 13 | "main": "lib/index.js", 14 | "dependencies": { 15 | "axios": "^0.27.2", 16 | "firebase-admin": "^9.2.0", 17 | "firebase-functions": "^3.11.0" 18 | }, 19 | "devDependencies": { 20 | "eslint": "^7.6.0", 21 | "firebase-functions-test": "^0.2.0", 22 | "typescript": "^4.5.3", 23 | "config": "*" 24 | }, 25 | "private": true 26 | } 27 | -------------------------------------------------------------------------------- /apps/firebase-functions/src/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright 2022 Pixelbyte Studio Pvt Ltd 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | /* eslint-disable import/prefer-default-export */ 16 | import * as functions from 'firebase-functions' 17 | import axios from 'axios' 18 | 19 | export const createDBUser = functions 20 | .runWith({ 21 | secrets: ['WEBHOOK_SECRET'], 22 | }) 23 | .auth.user() 24 | .onCreate(async user => { 25 | try { 26 | if (!user) throw new Error('User is null') 27 | const data = JSON.stringify(user) 28 | 29 | const url = 'https://alpha.incredible.dev/api/webhook/new-user' 30 | const secret = process.env.WEBHOOK_SECRET 31 | 32 | if (!secret) throw new Error("Invalid ENV's provided") 33 | await axios.post(url, data, { 34 | headers: { 35 | 'Content-Type': 'application/json', 36 | 'x-secret': secret, 37 | }, 38 | }) 39 | } catch (e) { 40 | // Sentry.captureException(e) 41 | console.error(e) 42 | } 43 | }) 44 | -------------------------------------------------------------------------------- /apps/firebase-functions/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "commonjs", 4 | "noImplicitReturns": true, 5 | "noUnusedLocals": true, 6 | "outDir": "lib", 7 | "sourceMap": true, 8 | "strict": true, 9 | "target": "es2017" 10 | }, 11 | "compileOnSave": true, 12 | "include": ["src"] 13 | } 14 | -------------------------------------------------------------------------------- /apps/hocuspocus/.eslintrc.js: -------------------------------------------------------------------------------- 1 | const eslintNode = require('config/eslint-node.js') 2 | 3 | module.exports = { 4 | ...eslintNode, 5 | parserOptions: { 6 | tsconfigRootDir: __dirname, 7 | project: './tsconfig.json', 8 | sourceType: 'module', 9 | ecmaVersion: 2020, 10 | }, 11 | } 12 | -------------------------------------------------------------------------------- /apps/hocuspocus/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hocuspocus", 3 | "version": "0.0.0", 4 | "description": "A backend for the tiptap editor", 5 | "license": "MIT", 6 | "scripts": { 7 | "build": "tsc", 8 | "start": "tsc && node dist/app.js", 9 | "lint": "eslint ./**/*.ts* --fix", 10 | "dev": "nodemon --watch './**/*.ts' --exec 'ts-node' src/app.ts" 11 | }, 12 | "engines": { 13 | "npm": ">=7.0.0", 14 | "node": ">=14.0.0" 15 | }, 16 | "dependencies": { 17 | "@hocuspocus/extension-database": "^1.0.0-alpha.17", 18 | "@hocuspocus/extension-logger": "^1.0.0-alpha.76", 19 | "@hocuspocus/extension-redis": "^1.0.0-alpha.65", 20 | "@hocuspocus/server": "^1.0.0-alpha.103", 21 | "@hocuspocus/transformer": "^1.0.0-alpha.23", 22 | "@sentry/node": "^7.1.1", 23 | "@sentry/tracing": "^7.1.1", 24 | "@tiptap/core": "^2.0.0-beta.182", 25 | "axios": "^0.27.2", 26 | "dotenv": "^16.0.1", 27 | "nanoid": "^3.1.23", 28 | "redis": "^4.1.0" 29 | }, 30 | "devDependencies": { 31 | "@types/node": "^17.0.41", 32 | "config": "*", 33 | "eslint": "^8.17.0", 34 | "nodemon": "^2.0.16", 35 | "ts-node": "^10.8.1", 36 | "typescript": "^4.7.3" 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /apps/hocuspocus/src/utils/logger.ts: -------------------------------------------------------------------------------- 1 | // Copyright 2022 Pixelbyte Studio Pvt Ltd 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | import * as Sentry from '@sentry/node' 16 | 17 | const now = () => new Date().toISOString() 18 | 19 | class Logger { 20 | static log(message: string) { 21 | console.log(`[${now()}] ${message}`) 22 | } 23 | 24 | static error(message: string, context?: any) { 25 | Sentry.captureException(new Error(message), { 26 | contexts: context?.invocationId 27 | ? { 28 | invocationId: context.invocationId, 29 | } 30 | : undefined, 31 | user: context?.user 32 | ? { 33 | id: context.user.id, 34 | email: context.user.email, 35 | } 36 | : undefined, 37 | }) 38 | console.error(`[${now()}] ${message}`) 39 | } 40 | } 41 | 42 | export default Logger 43 | -------------------------------------------------------------------------------- /apps/hocuspocus/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "config/tsconfig-base.json", 3 | "compilerOptions": { 4 | "lib": ["ES2015"], 5 | "module": "CommonJS", 6 | "outDir": "./dist", 7 | "rootDir": "./src" 8 | }, 9 | "exclude": ["node_modules"], 10 | "include": ["src"] 11 | } 12 | -------------------------------------------------------------------------------- /apps/media-convert/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | parserOptions: { 3 | ecmaVersion: 'latest', 4 | }, 5 | env: { 6 | es6: true, 7 | }, 8 | } 9 | -------------------------------------------------------------------------------- /apps/media-convert/index.js: -------------------------------------------------------------------------------- 1 | // Copyright 2022 Pixelbyte Studio Pvt Ltd 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | const { CompleteHandler } = require('./utils.js') 16 | 17 | exports.handler = async event => { 18 | if (event.detail.queue !== process.env.MEDIA_QUEUE_ARN) { 19 | console.log('Invalid queue event. Skipping. eventdata = ', event) 20 | return 21 | } 22 | 23 | switch (event.detail.status) { 24 | case 'INPUT_INFORMATION': 25 | console.log( 26 | 'jobId:' + event.detail.jobId + ' Transcoder has read the input info' 27 | ) 28 | break 29 | 30 | case 'PROGRESSING': 31 | console.log('jobId:' + event.detail.jobId + ' progressing .... ') 32 | break 33 | 34 | case 'COMPLETE': 35 | console.log( 36 | 'jobId:' + event.detail.jobId + ' successfully completed job.' 37 | ) 38 | 39 | console.log('Detail : ', event.detail, '\t type = ', typeof event.detail) 40 | await CompleteHandler(event.detail.userMetadata) 41 | break 42 | 43 | case 'ERROR': 44 | console.log('jobId:' + event.detail.jobId + 'ERROR: ', event) 45 | break 46 | } 47 | 48 | return 49 | } 50 | -------------------------------------------------------------------------------- /apps/media-convert/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "mediaconvert", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "author": "Ashwin.M.S", 10 | "license": "ISC", 11 | "dependencies": { 12 | "node-fetch": "^2.6.1" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /apps/webfront/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | ...require('config/eslint-next.js'), 3 | parserOptions: { 4 | tsconfigRootDir: __dirname, 5 | project: './tsconfig.json', 6 | }, 7 | } 8 | -------------------------------------------------------------------------------- /apps/webfront/README.md: -------------------------------------------------------------------------------- 1 | # Getting Started 2 | 3 | Run the development server: 4 | 5 | ```bash 6 | yarn dev 7 | ``` 8 | 9 | ## Initializing tests 10 | 11 | ```bash 12 | yarn workspace webfront install -D jest @types/jest ts-jest 13 | cd apps/webfront 14 | yarn ts-jest config:init 15 | ``` 16 | 17 | Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. 18 | -------------------------------------------------------------------------------- /apps/webfront/jest.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('ts-jest/dist/types').InitialOptionsTsJest} */ 2 | module.exports = { 3 | preset: 'ts-jest', 4 | testEnvironment: 'node', 5 | testPathIgnorePatterns: ['.next/', 'node_modules/'], 6 | testMatch: ['**/**/*.test.ts'], 7 | verbose: true, 8 | forceExit: true, 9 | detectOpenHandles: true, 10 | moduleFileExtensions: ['ts', 'js'], 11 | moduleNameMapper: { 12 | 'src/(.*)': '/src/$1', 13 | }, 14 | } 15 | -------------------------------------------------------------------------------- /apps/webfront/next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | 4 | // NOTE: This file should not be edited 5 | // see https://nextjs.org/docs/basic-features/typescript for more information. 6 | -------------------------------------------------------------------------------- /apps/webfront/next.config.js: -------------------------------------------------------------------------------- 1 | const withTM = require('next-transpile-modules')([ 2 | 'ui', 3 | 'editor', 4 | 'icanvas', 5 | 'utils', 6 | 'server', 7 | 'prisma-orm', 8 | '@vime/core', 9 | '@vime/react', 10 | ]) 11 | 12 | module.exports = withTM({ 13 | reactStrictMode: true, 14 | images: { 15 | domains: [ 16 | 'lh3.googleusercontent.com', 17 | 'cdn-staging.incredible.dev', 18 | 'cdn.incredible.dev', 19 | ], 20 | }, 21 | webpack(config) { 22 | config.module.rules.push({ 23 | test: /\.svg$/, 24 | use: ['@svgr/webpack'], 25 | }) 26 | 27 | return config 28 | }, 29 | 30 | env: { 31 | NEXT_PUBLIC_DEPLOY_ENV: process.env.NEXT_PUBLIC_DEPLOY_ENV, 32 | NEXT_PUBLIC_API_ENDPOINT: process.env.NEXT_PUBLIC_API_ENDPOINT, 33 | NEXT_PUBLIC_PUBLIC_URL: process.env.NEXT_PUBLIC_PUBLIC_URL, 34 | NEXT_PUBLIC_CDN_URL: process.env.NEXT_PUBLIC_CDN_URL, 35 | NEXT_PUBLIC_EMBED_PLAYER_BASE_URL: 36 | process.env.NEXT_PUBLIC_EMBED_PLAYER_BASE_URL, 37 | NEXT_PUBLIC_HOCUSPOCUS_SERVER: process.env.NEXT_PUBLIC_HOCUSPOCUS_SERVER, 38 | NEXT_PUBLIC_GIPHY_API_KEY: process.env.NEXT_PUBLIC_GIPHY_API_KEY, 39 | NEXT_PUBLIC_GOOGLE_FONTS_API_KEY: 40 | process.env.NEXT_PUBLIC_GOOGLE_FONTS_API_KEY, 41 | NEXT_PUBLIC_AGORA_APP_ID: process.env.NEXT_PUBLIC_AGORA_APP_ID, 42 | NEXT_PUBLIC_LIVEBLOCKS_PUBLIC_KEY: 43 | process.env.NEXT_PUBLIC_LIVEBLOCKS_PUBLIC_KEY, 44 | NEXT_PUBLIC_LOGROCKET_APP_ID: process.env.NEXT_PUBLIC_LOGROCKET_APP_ID, 45 | NEXT_PUBLIC_SENTRY_DSN: process.env.NEXT_PUBLIC_SENTRY_DSN, 46 | NEXT_PUBLIC_GA_TRACKING_CODE: process.env.NEXT_PUBLIC_GA_TRACKING_CODE, 47 | NEXT_PUBLIC_SEGMENT_WATCH_ID: process.env.NEXT_PUBLIC_SEGMENT_WATCH_ID, 48 | TIPTAP_PRO_TOKEN: process.env.TIPTAP_PRO_TOKEN, 49 | NEXT_PUBLIC_FIREBASE_CONFIG: process.env.NEXT_PUBLIC_FIREBASE_CONFIG, 50 | FIREBASE_SERVICE_CONFIG: process.env.FIREBASE_SERVICE_CONFIG, 51 | COOKIE_DOMAIN: process.env.COOKIE_DOMAIN, 52 | }, 53 | }) 54 | -------------------------------------------------------------------------------- /apps/webfront/postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /apps/webfront/public/card_fallback.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/a3a31e5c17d6d302f240c61e8a5cf9c23edb0ef0/apps/webfront/public/card_fallback.png -------------------------------------------------------------------------------- /apps/webfront/public/dp_fallback.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/a3a31e5c17d6d302f240c61e8a5cf9c23edb0ef0/apps/webfront/public/dp_fallback.png -------------------------------------------------------------------------------- /apps/webfront/public/favicons/android-chrome-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/a3a31e5c17d6d302f240c61e8a5cf9c23edb0ef0/apps/webfront/public/favicons/android-chrome-192x192.png -------------------------------------------------------------------------------- /apps/webfront/public/favicons/android-chrome-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/a3a31e5c17d6d302f240c61e8a5cf9c23edb0ef0/apps/webfront/public/favicons/android-chrome-512x512.png -------------------------------------------------------------------------------- /apps/webfront/public/favicons/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/a3a31e5c17d6d302f240c61e8a5cf9c23edb0ef0/apps/webfront/public/favicons/apple-touch-icon.png -------------------------------------------------------------------------------- /apps/webfront/public/favicons/browserconfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | #ffffff 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /apps/webfront/public/favicons/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/a3a31e5c17d6d302f240c61e8a5cf9c23edb0ef0/apps/webfront/public/favicons/favicon-16x16.png -------------------------------------------------------------------------------- /apps/webfront/public/favicons/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/a3a31e5c17d6d302f240c61e8a5cf9c23edb0ef0/apps/webfront/public/favicons/favicon-32x32.png -------------------------------------------------------------------------------- /apps/webfront/public/favicons/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/a3a31e5c17d6d302f240c61e8a5cf9c23edb0ef0/apps/webfront/public/favicons/favicon.ico -------------------------------------------------------------------------------- /apps/webfront/public/favicons/mstile-150x150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/a3a31e5c17d6d302f240c61e8a5cf9c23edb0ef0/apps/webfront/public/favicons/mstile-150x150.png -------------------------------------------------------------------------------- /apps/webfront/public/favicons/safari-pinned-tab.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 8 | Created by potrace 1.14, written by Peter Selinger 2001-2017 9 | 10 | 12 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /apps/webfront/public/favicons/site.webmanifest: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Incredible", 3 | "short_name": "Incredible", 4 | "icons": [ 5 | { 6 | "src": "/assets/favicons/android-chrome-192x192.png?v=005", 7 | "sizes": "192x192", 8 | "type": "image/png" 9 | }, 10 | { 11 | "src": "/assets/favicons/android-chrome-512x512.png?v=005", 12 | "sizes": "512x512", 13 | "type": "image/png" 14 | } 15 | ], 16 | "theme_color": "#ffffff", 17 | "background_color": "#ffffff", 18 | "display": "standalone" 19 | } 20 | -------------------------------------------------------------------------------- /apps/webfront/public/fonts/Gilroy/gilroy-bold-latin.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/a3a31e5c17d6d302f240c61e8a5cf9c23edb0ef0/apps/webfront/public/fonts/Gilroy/gilroy-bold-latin.woff2 -------------------------------------------------------------------------------- /apps/webfront/public/fonts/Gilroy/gilroy-extrabold-latin.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/a3a31e5c17d6d302f240c61e8a5cf9c23edb0ef0/apps/webfront/public/fonts/Gilroy/gilroy-extrabold-latin.woff2 -------------------------------------------------------------------------------- /apps/webfront/public/fonts/Gilroy/gilroy-regular-latin.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/a3a31e5c17d6d302f240c61e8a5cf9c23edb0ef0/apps/webfront/public/fonts/Gilroy/gilroy-regular-latin.woff2 -------------------------------------------------------------------------------- /apps/webfront/public/fonts/Gilroy/gilroy-semibold-latin.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/a3a31e5c17d6d302f240c61e8a5cf9c23edb0ef0/apps/webfront/public/fonts/Gilroy/gilroy-semibold-latin.woff2 -------------------------------------------------------------------------------- /apps/webfront/public/fonts/Gotham/GothamBold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/a3a31e5c17d6d302f240c61e8a5cf9c23edb0ef0/apps/webfront/public/fonts/Gotham/GothamBold.ttf -------------------------------------------------------------------------------- /apps/webfront/public/fonts/Gotham/GothamLight.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/a3a31e5c17d6d302f240c61e8a5cf9c23edb0ef0/apps/webfront/public/fonts/Gotham/GothamLight.ttf -------------------------------------------------------------------------------- /apps/webfront/public/fonts/Inter/inter-var-latin.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/a3a31e5c17d6d302f240c61e8a5cf9c23edb0ef0/apps/webfront/public/fonts/Inter/inter-var-latin.woff2 -------------------------------------------------------------------------------- /apps/webfront/public/onboarding/person1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/a3a31e5c17d6d302f240c61e8a5cf9c23edb0ef0/apps/webfront/public/onboarding/person1.png -------------------------------------------------------------------------------- /apps/webfront/public/onboarding/person2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/a3a31e5c17d6d302f240c61e8a5cf9c23edb0ef0/apps/webfront/public/onboarding/person2.png -------------------------------------------------------------------------------- /apps/webfront/public/onboarding/person3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/a3a31e5c17d6d302f240c61e8a5cf9c23edb0ef0/apps/webfront/public/onboarding/person3.png -------------------------------------------------------------------------------- /apps/webfront/public/onboarding/person4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/a3a31e5c17d6d302f240c61e8a5cf9c23edb0ef0/apps/webfront/public/onboarding/person4.png -------------------------------------------------------------------------------- /apps/webfront/public/onboarding/person5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/a3a31e5c17d6d302f240c61e8a5cf9c23edb0ef0/apps/webfront/public/onboarding/person5.png -------------------------------------------------------------------------------- /apps/webfront/public/onboarding/person6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/a3a31e5c17d6d302f240c61e8a5cf9c23edb0ef0/apps/webfront/public/onboarding/person6.png -------------------------------------------------------------------------------- /apps/webfront/sample.env: -------------------------------------------------------------------------------- 1 | NEXT_PUBLIC_LIVEBLOCKS_PUBLIC_KEY="" 2 | NEXT_PUBLIC_EMBED_PLAYER_BASE_URL="http://localhost:3001" 3 | NEXT_PUBLIC_GOOGLE_FONTS_API_KEY="" 4 | NEXT_PUBLIC_HOCUSPOCUS_SERVER="" 5 | NEXT_PUBLIC_FIREBASE_CONFIG="" 6 | NEXT_PUBLIC_GIPHY_API_KEY="" 7 | NEXT_PUBLIC_TOKENIZE_ENDPOINT="http://localhost:8080/color-codes" 8 | NEXT_PUBLIC_API_ENDPOINT="http://localhost:3000/api" 9 | NEXT_PUBLIC_PUBLIC_URL="http://localhost:3000" 10 | NEXT_PUBLIC_AGORA_APP_ID="" 11 | NEXT_PUBLIC_DEPLOY_ENV="" 12 | NEXT_PUBLIC_CDN_URL="" 13 | ENCRYPTION_KEY="" 14 | NPM_RC="" 15 | IV="" 16 | ENV_ENCRYPTION_ALGORITHM="" 17 | DOPPLER_TOKEN="" 18 | DATABASE_URL="" 19 | -------------------------------------------------------------------------------- /apps/webfront/src/components/core/CookieBanner.tsx: -------------------------------------------------------------------------------- 1 | // Copyright 2022 Pixelbyte Studio Pvt Ltd 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | import { cx } from '@emotion/css' 16 | import { useState } from 'react' 17 | import Check from 'svg/Check.svg' 18 | import { IconButton } from 'ui/src' 19 | 20 | const CookieBanner = () => { 21 | const [show, setShow] = useState(true) 22 | 23 | return ( 24 |
29 |
30 |

31 | By visiting our website, you agree to our 🍪 cookie policy 32 |

33 | } 36 | onClick={() => { 37 | setShow(false) 38 | }} 39 | /> 40 |
41 |
42 | ) 43 | } 44 | 45 | export default CookieBanner 46 | -------------------------------------------------------------------------------- /apps/webfront/src/components/core/CoreLayout.tsx: -------------------------------------------------------------------------------- 1 | // Copyright 2022 Pixelbyte Studio Pvt Ltd 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | import Footer from './Footer' 16 | import Header from './Header' 17 | 18 | const CoreLayout = ({ children }: any) => ( 19 | <> 20 |
21 |
22 | {children} 23 |
24 |