├── .eslintrc.json ├── assets ├── logo.png ├── banner.png ├── example.jpg ├── example.svg └── signature.svg ├── postcss.config.mjs ├── components ├── Logo.tsx ├── Container.tsx ├── Paragraph.tsx ├── Icon.tsx ├── Wrap.tsx ├── AvatarPlaceholder.tsx ├── Link.tsx ├── DonateButton.tsx ├── Header.tsx ├── Saved.tsx ├── Footer.tsx ├── Modal.tsx ├── Menu.tsx ├── Example.tsx ├── Webcam.tsx ├── DownloadButton.tsx ├── Button.tsx ├── FAQs.tsx ├── ColorPicker.tsx └── Avatar.tsx ├── utilities ├── nanoid.ts ├── constants.ts ├── convert.ts ├── vision.ts ├── features.ts └── potrace.js ├── app ├── sitemap.ts ├── not-found.tsx ├── globals.css ├── layout.tsx ├── customize │ └── page.tsx └── page.tsx ├── tailwind.config.ts ├── .gitignore ├── next.config.ts ├── tsconfig.json ├── package.json ├── types └── index.ts ├── README.md ├── public └── logo.svg └── LICENSE /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["next/core-web-vitals"] 3 | } 4 | -------------------------------------------------------------------------------- /assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gregives/LineAvatars.com/HEAD/assets/logo.png -------------------------------------------------------------------------------- /assets/banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gregives/LineAvatars.com/HEAD/assets/banner.png -------------------------------------------------------------------------------- /assets/example.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gregives/LineAvatars.com/HEAD/assets/example.jpg -------------------------------------------------------------------------------- /postcss.config.mjs: -------------------------------------------------------------------------------- 1 | /** @type {import('postcss-load-config').Config} */ 2 | const config = { 3 | plugins: { 4 | tailwindcss: {}, 5 | }, 6 | }; 7 | 8 | export default config; 9 | -------------------------------------------------------------------------------- /components/Logo.tsx: -------------------------------------------------------------------------------- 1 | export function Logo() { 2 | return ( 3 | <> 4 | 5 | Line Avatars 6 | .com 7 | 8 | > 9 | ); 10 | } 11 | -------------------------------------------------------------------------------- /utilities/nanoid.ts: -------------------------------------------------------------------------------- 1 | import { customAlphabet, customRandom } from "nanoid"; 2 | // @ts-ignore 3 | import seedrandom from "seedrandom"; 4 | 5 | const ALPHABET = 6 | "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; 7 | 8 | export const generateId = customAlphabet(ALPHABET, 20); 9 | -------------------------------------------------------------------------------- /components/Container.tsx: -------------------------------------------------------------------------------- 1 | import { twMerge } from "tailwind-merge"; 2 | 3 | type ContainerProperties = JSX.IntrinsicElements["div"]; 4 | 5 | export function Container({ className, ...properties }: ContainerProperties) { 6 | return
; 7 | } 8 | -------------------------------------------------------------------------------- /components/Paragraph.tsx: -------------------------------------------------------------------------------- 1 | import { twMerge } from "tailwind-merge"; 2 | 3 | type ParagraphProperties = JSX.IntrinsicElements["p"]; 4 | 5 | export function Paragraph({ className, ...properties }: ParagraphProperties) { 6 | return ; 7 | } 8 | -------------------------------------------------------------------------------- /app/sitemap.ts: -------------------------------------------------------------------------------- 1 | import { MetadataRoute } from "next"; 2 | import { BASE_ORIGIN } from "@/utilities/constants"; 3 | 4 | export default async function sitemap(): Promise