├── .vscode └── extensions.json ├── public ├── batname.png ├── favicon.ico ├── favicon-16x16.png ├── favicon-32x32.png ├── apple-touch-icon.png ├── android-chrome-192x192.png ├── android-chrome-512x512.png └── site.webmanifest ├── src ├── vite-env.d.ts ├── assets │ └── batman_logo_bg_1200.jpg ├── app.css ├── main.ts ├── lib │ ├── Disclaimer.svelte │ ├── DownloadErrorModal.svelte │ ├── EnterYourName.svelte │ └── BatCanvas.svelte └── App.svelte ├── README.md ├── tsconfig.node.json ├── vite.config.ts ├── svelte.config.js ├── tailwind.config.cjs ├── .gitignore ├── postcss.config.cjs ├── tsconfig.json ├── package.json └── index.html /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": ["svelte.svelte-vscode"] 3 | } 4 | -------------------------------------------------------------------------------- /public/batname.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shajidhasan/batname/HEAD/public/batname.png -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shajidhasan/batname/HEAD/public/favicon.ico -------------------------------------------------------------------------------- /src/vite-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | -------------------------------------------------------------------------------- /public/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shajidhasan/batname/HEAD/public/favicon-16x16.png -------------------------------------------------------------------------------- /public/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shajidhasan/batname/HEAD/public/favicon-32x32.png -------------------------------------------------------------------------------- /public/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shajidhasan/batname/HEAD/public/apple-touch-icon.png -------------------------------------------------------------------------------- /public/android-chrome-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shajidhasan/batname/HEAD/public/android-chrome-192x192.png -------------------------------------------------------------------------------- /public/android-chrome-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shajidhasan/batname/HEAD/public/android-chrome-512x512.png -------------------------------------------------------------------------------- /src/assets/batman_logo_bg_1200.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shajidhasan/batname/HEAD/src/assets/batman_logo_bg_1200.jpg -------------------------------------------------------------------------------- /src/app.css: -------------------------------------------------------------------------------- 1 | /* Write your global styles here, in PostCSS syntax */ 2 | @tailwind base; 3 | @tailwind components; 4 | @tailwind utilities; 5 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # batname 2 | 3 | This simple little app lets you generate logos like the "The Batman (2022)" film logo. Enjoy! 4 | 5 | https://batname.vercel.app 6 | -------------------------------------------------------------------------------- /src/main.ts: -------------------------------------------------------------------------------- 1 | import "./app.css"; 2 | import App from "./App.svelte"; 3 | 4 | const app = new App({ 5 | target: document.getElementById("app"), 6 | }); 7 | 8 | export default app; 9 | -------------------------------------------------------------------------------- /tsconfig.node.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "composite": true, 4 | "module": "esnext", 5 | "moduleResolution": "node" 6 | }, 7 | "include": ["vite.config.ts"] 8 | } 9 | -------------------------------------------------------------------------------- /vite.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vite' 2 | import { svelte } from '@sveltejs/vite-plugin-svelte' 3 | 4 | // https://vitejs.dev/config/ 5 | export default defineConfig({ 6 | plugins: [svelte()] 7 | }) 8 | -------------------------------------------------------------------------------- /public/site.webmanifest: -------------------------------------------------------------------------------- 1 | {"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"} -------------------------------------------------------------------------------- /svelte.config.js: -------------------------------------------------------------------------------- 1 | import sveltePreprocess from "svelte-preprocess"; 2 | 3 | export default { 4 | // Consult https://github.com/sveltejs/svelte-preprocess 5 | // for more information about preprocessors 6 | preprocess: [ 7 | sveltePreprocess({ 8 | postcss: true, 9 | }), 10 | ], 11 | }; 12 | -------------------------------------------------------------------------------- /tailwind.config.cjs: -------------------------------------------------------------------------------- 1 | const config = { 2 | content: ["./src/**/*.{html,js,svelte,ts}"], 3 | 4 | theme: { 5 | extend: { 6 | fontFamily: { 7 | sans: ['Anton', 'sans-serif'], 8 | bengali: ["'Baloo Da 2'"] 9 | } 10 | }, 11 | }, 12 | 13 | plugins: [require("@tailwindcss/forms")], 14 | }; 15 | 16 | module.exports = config; 17 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | -------------------------------------------------------------------------------- /postcss.config.cjs: -------------------------------------------------------------------------------- 1 | const tailwindcss = require("tailwindcss"); 2 | const autoprefixer = require("autoprefixer"); 3 | 4 | const config = { 5 | plugins: [ 6 | //Some plugins, like tailwindcss/nesting, need to run before Tailwind, 7 | tailwindcss(), 8 | //But others, like autoprefixer, need to run after, 9 | autoprefixer, 10 | ], 11 | }; 12 | 13 | module.exports = config; 14 | -------------------------------------------------------------------------------- /src/lib/Disclaimer.svelte: -------------------------------------------------------------------------------- 1 |
2 |

3 | I do not own the rights to the "The Batman" logo. This is for educational 4 | and entertainment purposes only. 5 |

6 | GitHub 11 |
12 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@tsconfig/svelte/tsconfig.json", 3 | "compilerOptions": { 4 | "target": "esnext", 5 | "useDefineForClassFields": true, 6 | "module": "esnext", 7 | "resolveJsonModule": true, 8 | "baseUrl": ".", 9 | /** 10 | * Typecheck JS in `.svelte` and `.js` files by default. 11 | * Disable checkJs if you'd like to use dynamic types in JS. 12 | * Note that setting allowJs false does not prevent the use 13 | * of JS in `.svelte` files. 14 | */ 15 | "allowJs": true, 16 | "checkJs": true 17 | }, 18 | "include": ["src/**/*.d.ts", "src/**/*.ts", "src/**/*.js", "src/**/*.svelte"], 19 | "references": [{ "path": "./tsconfig.node.json" }] 20 | } 21 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "batname", 3 | "private": true, 4 | "version": "0.0.0", 5 | "type": "module", 6 | "scripts": { 7 | "dev": "vite", 8 | "build": "vite build", 9 | "preview": "vite preview", 10 | "check": "svelte-check --tsconfig ./tsconfig.json" 11 | }, 12 | "devDependencies": { 13 | "@sveltejs/vite-plugin-svelte": "^1.0.0-next.30", 14 | "@tailwindcss/forms": "^0.4.0", 15 | "@tsconfig/svelte": "^2.0.1", 16 | "autoprefixer": "^10.4.2", 17 | "postcss": "^8.4.5", 18 | "postcss-load-config": "^3.1.1", 19 | "svelte": "^3.44.0", 20 | "svelte-check": "^2.2.7", 21 | "svelte-preprocess": "^4.10.1", 22 | "tailwindcss": "^3.0.12", 23 | "tslib": "^2.3.1", 24 | "typescript": "^4.5.4", 25 | "vite": "^2.8.0" 26 | }, 27 | "dependencies": { 28 | "file-saver": "^2.0.5" 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/lib/DownloadErrorModal.svelte: -------------------------------------------------------------------------------- 1 | 8 | 9 |
13 |
14 |

Error encountered!

15 |

16 | Couldn't download your logo, sorry. Are you in a Facebook/Messenger 17 | embedded browser? Open this browser in the dedicated browser and try 18 | again! 19 |

20 | 26 |
27 |
28 | -------------------------------------------------------------------------------- /src/lib/EnterYourName.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 |
15 |
dispatch("submit", name)} 18 | > 19 |

Enter your name

20 | 26 | 27 | 34 |
35 |
স্বাগতম!
36 |
37 | -------------------------------------------------------------------------------- /src/App.svelte: -------------------------------------------------------------------------------- 1 | 7 | 8 | 45 | 46 |
49 | { 52 | nameDialogOpen = true; 53 | }} 54 | class="w-full md:max-w-lg lg:max-w-xl rounded-lg ring-2 ring-red-800/50" 55 | /> 56 | 57 | 58 | {#if nameDialogOpen} 59 | 64 | {/if} 65 |
66 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | Batname - Generate Batman Logos 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 30 | 31 | 32 | 33 | 34 | 35 | 36 |
37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /src/lib/BatCanvas.svelte: -------------------------------------------------------------------------------- 1 | 103 | 104 |
105 |
106 | 118 | 132 |
133 | 134 | 135 |
136 | 137 | {#if downloadError} 138 | { 140 | downloadError = false; 141 | }} 142 | /> 143 | {/if} 144 | 145 | 150 | --------------------------------------------------------------------------------