├── brandbook ├── og.png └── logo.png ├── public ├── logo.png ├── github.svg └── discord.svg ├── src ├── app │ ├── favicon.ico │ ├── robots.txt │ ├── opengraph-image.png │ ├── sitemap.ts │ ├── manifest.webmanifest │ ├── layout.tsx │ ├── globals.css │ └── page.tsx ├── lib │ └── utils.ts └── components │ ├── ui │ ├── label.tsx │ ├── grid.tsx │ ├── separator.tsx │ ├── textarea.tsx │ ├── input.tsx │ ├── sonner.tsx │ ├── switch.tsx │ ├── avatar.tsx │ ├── popover.tsx │ ├── scroll-area.tsx │ ├── tooltip.tsx │ ├── tabs.tsx │ ├── card.tsx │ └── button.tsx │ ├── embed-preview.tsx │ ├── color-picker.tsx │ └── webhook-history.tsx ├── postcss.config.mjs ├── next.config.ts ├── .github ├── workflows │ ├── autofix.yml │ ├── eslint.yml │ ├── moderator.yml │ └── nextjs.yml ├── dependabot.yml └── ISSUE_TEMPLATE │ ├── feature_request.md │ └── bug_report.md ├── .gitignore ├── components.json ├── eslint.config.mjs ├── tsconfig.json ├── README.md ├── package.json ├── LICENSE └── CODE_OF_CONDUCT.md /brandbook/og.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Uncover-it/webhook-multitool/HEAD/brandbook/og.png -------------------------------------------------------------------------------- /public/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Uncover-it/webhook-multitool/HEAD/public/logo.png -------------------------------------------------------------------------------- /brandbook/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Uncover-it/webhook-multitool/HEAD/brandbook/logo.png -------------------------------------------------------------------------------- /src/app/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Uncover-it/webhook-multitool/HEAD/src/app/favicon.ico -------------------------------------------------------------------------------- /src/app/robots.txt: -------------------------------------------------------------------------------- 1 | User-Agent: * 2 | Allow: / 3 | 4 | Sitemap: https://webhook.uncoverit.org/sitemap.xml 5 | -------------------------------------------------------------------------------- /src/app/opengraph-image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Uncover-it/webhook-multitool/HEAD/src/app/opengraph-image.png -------------------------------------------------------------------------------- /postcss.config.mjs: -------------------------------------------------------------------------------- 1 | const config = { 2 | plugins: { 3 | "@tailwindcss/postcss": {}, 4 | }, 5 | }; 6 | 7 | export default config; 8 | -------------------------------------------------------------------------------- /next.config.ts: -------------------------------------------------------------------------------- 1 | import type { NextConfig } from "next"; 2 | 3 | const nextConfig: NextConfig = { 4 | output: "export" 5 | }; 6 | 7 | export default nextConfig; 8 | -------------------------------------------------------------------------------- /src/lib/utils.ts: -------------------------------------------------------------------------------- 1 | import { clsx, type ClassValue } from "clsx" 2 | import { twMerge } from "tailwind-merge" 3 | 4 | export function cn(...inputs: ClassValue[]) { 5 | return twMerge(clsx(inputs)) 6 | } 7 | -------------------------------------------------------------------------------- /src/app/sitemap.ts: -------------------------------------------------------------------------------- 1 | import type { MetadataRoute } from "next"; 2 | export const dynamic = "force-static" 3 | 4 | export default function sitemap(): MetadataRoute.Sitemap { 5 | return [ 6 | { 7 | url: "https://webhook.uncoverit.org", 8 | lastModified: new Date(), 9 | changeFrequency: "monthly", 10 | priority: 1, 11 | }, 12 | ]; 13 | } 14 | -------------------------------------------------------------------------------- /.github/workflows/autofix.yml: -------------------------------------------------------------------------------- 1 | name: autofix.ci # needed to securely identify the workflow 2 | 3 | on: 4 | pull_request: 5 | push: 6 | branches: [ "main" ] 7 | permissions: 8 | contents: read 9 | 10 | jobs: 11 | autofix: 12 | runs-on: ubuntu-latest 13 | steps: 14 | - uses: actions/checkout@v4 15 | 16 | # TODO: add all code-fixing here. 17 | 18 | - uses: autofix-ci/action@v1 19 | -------------------------------------------------------------------------------- /src/app/manifest.webmanifest: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Webhook Multi-Tool", 3 | "short_name": "Webhook Tool", 4 | "description": "Download the Webhook Multi-Tool app to manage Discord webhooks easily.", 5 | "start_url": "/", 6 | "display": "standalone", 7 | "background_color": "#0a0a0a", 8 | "theme_color": "#0a0a0a", 9 | "icons": [ 10 | { 11 | "src": "/logo.png", 12 | "sizes": "any", 13 | "type": "image/png" 14 | } 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | package-lock.json 6 | 7 | # next.js 8 | /.next/ 9 | /out/ 10 | 11 | # production 12 | /build 13 | 14 | # debug 15 | npm-debug.log* 16 | yarn-debug.log* 17 | yarn-error.log* 18 | .pnpm-debug.log* 19 | 20 | # env files 21 | .env* 22 | 23 | # vercel 24 | .vercel 25 | 26 | # typescript 27 | *.tsbuildinfo 28 | next-env.d.ts 29 | certificates -------------------------------------------------------------------------------- /components.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://ui.shadcn.com/schema.json", 3 | "style": "new-york", 4 | "rsc": true, 5 | "tsx": true, 6 | "tailwind": { 7 | "config": "", 8 | "css": "src/app/globals.css", 9 | "baseColor": "neutral", 10 | "cssVariables": true, 11 | "prefix": "" 12 | }, 13 | "aliases": { 14 | "components": "@/components", 15 | "utils": "@/lib/utils", 16 | "ui": "@/components/ui", 17 | "lib": "@/lib", 18 | "hooks": "@/hooks" 19 | }, 20 | "iconLibrary": "lucide" 21 | } -------------------------------------------------------------------------------- /eslint.config.mjs: -------------------------------------------------------------------------------- 1 | import { defineConfig, globalIgnores } from "eslint/config"; 2 | import nextVitals from "eslint-config-next/core-web-vitals"; 3 | import nextTs from "eslint-config-next/typescript"; 4 | 5 | const eslintConfig = defineConfig([ 6 | ...nextVitals, 7 | ...nextTs, 8 | // Override default ignores of eslint-config-next. 9 | globalIgnores([ 10 | // Default ignores of eslint-config-next: 11 | ".next/**", 12 | "out/**", 13 | "build/**", 14 | "next-env.d.ts", 15 | ]), 16 | ]); 17 | 18 | export default eslintConfig; 19 | -------------------------------------------------------------------------------- /.github/workflows/eslint.yml: -------------------------------------------------------------------------------- 1 | name: ESLint Check on PR's 2 | 3 | on: 4 | pull_request: 5 | push: 6 | branches: ["main"] 7 | permissions: 8 | contents: read 9 | 10 | jobs: 11 | lint: 12 | runs-on: ubuntu-latest 13 | steps: 14 | - name: Checkout 15 | uses: actions/checkout@v4 16 | 17 | - name: Install Bun 18 | uses: oven-sh/setup-bun@v2 19 | with: 20 | bun-version: latest 21 | 22 | - name: Install dependencies 23 | run: bun install 24 | 25 | - name: Run ESLint 26 | run: bun lint 27 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | # To get started with Dependabot version updates, you'll need to specify which 2 | # package ecosystems to update and where the package manifests are located. 3 | # Please see the documentation for all configuration options: 4 | # https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file 5 | 6 | version: 2 7 | updates: 8 | - package-ecosystem: "bun" # See documentation for possible values 9 | directory: "/" # Location of package manifests 10 | schedule: 11 | interval: "daily" 12 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: "" 5 | labels: "" 6 | assignees: "" 7 | --- 8 | 9 | **Is your feature request related to a problem? Please describe.** 10 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 11 | 12 | **Describe the solution you'd like** 13 | A clear and concise description of what you want to happen. 14 | 15 | **Describe alternatives you've considered** 16 | A clear and concise description of any alternative solutions or features you've considered. 17 | 18 | **Additional context** 19 | Add any other context or screenshots about the feature request here. 20 | -------------------------------------------------------------------------------- /src/components/ui/label.tsx: -------------------------------------------------------------------------------- 1 | "use client" 2 | 3 | import * as React from "react" 4 | import { Label as LabelPrimitive } from "radix-ui" 5 | 6 | import { cn } from "@/lib/utils" 7 | 8 | function Label({ 9 | className, 10 | ...props 11 | }: React.ComponentProps) { 12 | return ( 13 | 21 | ) 22 | } 23 | 24 | export { Label } 25 | -------------------------------------------------------------------------------- /src/components/ui/grid.tsx: -------------------------------------------------------------------------------- 1 | // Modified from: https://ui.aceternity.com/components/grid-and-dot-backgrounds 2 | 3 | import { cn } from "@/lib/utils"; 4 | import React from "react"; 5 | 6 | export function Grid() { 7 | return ( 8 |
9 |
17 |
18 | ); 19 | } 20 | -------------------------------------------------------------------------------- /src/components/ui/separator.tsx: -------------------------------------------------------------------------------- 1 | "use client" 2 | 3 | import * as React from "react" 4 | import { Separator as SeparatorPrimitive } from "radix-ui" 5 | 6 | import { cn } from "@/lib/utils" 7 | 8 | function Separator({ 9 | className, 10 | orientation = "horizontal", 11 | decorative = true, 12 | ...props 13 | }: React.ComponentProps) { 14 | return ( 15 | 25 | ) 26 | } 27 | 28 | export { Separator } 29 | -------------------------------------------------------------------------------- /src/components/ui/textarea.tsx: -------------------------------------------------------------------------------- 1 | import * as React from "react" 2 | 3 | import { cn } from "@/lib/utils" 4 | 5 | function Textarea({ className, ...props }: React.ComponentProps<"textarea">) { 6 | return ( 7 |