├── .env ├── .github ├── 1.png ├── 2.png ├── 3.png └── 4.png ├── .gitignore ├── .husky └── pre-commit ├── .npmrc ├── .prettierignore ├── .vscode ├── extensions.json └── settings.json ├── LICENSE ├── README.md ├── components.json ├── eslint.config.js ├── index.html ├── package.json ├── plugins └── html-plugin.ts ├── pnpm-lock.yaml ├── pnpm-workspace.yaml ├── prettier.config.mjs ├── public ├── avatar.jpg └── image.png ├── src ├── bootstrap │ ├── google-tag.ts │ ├── index.ts │ └── sentry.ts ├── components │ ├── common │ │ └── svg-icons.tsx │ ├── layout │ │ └── error-boundary.tsx │ ├── tiptap │ │ ├── editor.tsx │ │ ├── menu-icon.tsx │ │ ├── menu.tsx │ │ └── tiptap.css │ ├── ui │ │ ├── alert-dialog.tsx │ │ ├── button.tsx │ │ ├── dialog.tsx │ │ ├── input.tsx │ │ ├── popover.tsx │ │ ├── select.tsx │ │ ├── slider.tsx │ │ └── sonner.tsx │ └── widgets │ │ ├── common │ │ ├── index.ts │ │ ├── link-icon.tsx │ │ └── widget-material-list.tsx │ │ ├── constraints.ts │ │ ├── form │ │ ├── avatar │ │ │ └── avatar-rounded-select.tsx │ │ ├── basic-info-form.tsx │ │ ├── contacts │ │ │ ├── contacts-form.tsx │ │ │ ├── icon-select.tsx │ │ │ └── link-input.tsx │ │ ├── experience-time-form.tsx │ │ ├── image-section-form.tsx │ │ ├── style-form.tsx │ │ ├── text-content-form.tsx │ │ └── title-section-form.tsx │ │ ├── helpers │ │ ├── factory.ts │ │ ├── index.ts │ │ └── schema.ts │ │ ├── node │ │ ├── basic-info.tsx │ │ ├── experience-time.tsx │ │ ├── image-section.tsx │ │ ├── text-content.tsx │ │ └── title-section.tsx │ │ └── types.ts ├── lib │ ├── codec.ts │ ├── hooks.ts │ ├── storage.ts │ └── utils.ts ├── locales │ ├── en.json │ ├── i18n.ts │ └── zh.json ├── main.tsx ├── routes │ ├── editor │ │ ├── components │ │ │ ├── draggable-node-wrapper.tsx │ │ │ └── draggable-node.tsx │ │ ├── page.tsx │ │ └── sections │ │ │ ├── edit-header.tsx │ │ │ ├── panel-config.tsx │ │ │ ├── panel-dnd.tsx │ │ │ └── panel-materials.tsx │ ├── index.tsx │ ├── layouts │ │ └── root-layout.tsx │ ├── not-found │ │ └── page.tsx │ ├── print │ │ └── page.tsx │ └── view │ │ └── page.tsx ├── services │ ├── index.ts │ └── storage.ts ├── store │ ├── index.ts │ └── widgets-store.ts ├── styles │ ├── app.css │ ├── index.css │ └── shadcn-ui.css └── vite-env.d.ts ├── tsconfig.app.json ├── tsconfig.json ├── tsconfig.node.json ├── vercel.json └── vite.config.ts /.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/.env -------------------------------------------------------------------------------- /.github/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/.github/1.png -------------------------------------------------------------------------------- /.github/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/.github/2.png -------------------------------------------------------------------------------- /.github/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/.github/3.png -------------------------------------------------------------------------------- /.github/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/.github/4.png -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/.gitignore -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | npx lint-staged 2 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/.npmrc -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/.prettierignore -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": ["lokalise.i18n-ally"] 3 | } 4 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/README.md -------------------------------------------------------------------------------- /components.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/components.json -------------------------------------------------------------------------------- /eslint.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/eslint.config.js -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/index.html -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/package.json -------------------------------------------------------------------------------- /plugins/html-plugin.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/plugins/html-plugin.ts -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/pnpm-lock.yaml -------------------------------------------------------------------------------- /pnpm-workspace.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/pnpm-workspace.yaml -------------------------------------------------------------------------------- /prettier.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/prettier.config.mjs -------------------------------------------------------------------------------- /public/avatar.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/public/avatar.jpg -------------------------------------------------------------------------------- /public/image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/public/image.png -------------------------------------------------------------------------------- /src/bootstrap/google-tag.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/bootstrap/google-tag.ts -------------------------------------------------------------------------------- /src/bootstrap/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/bootstrap/index.ts -------------------------------------------------------------------------------- /src/bootstrap/sentry.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/bootstrap/sentry.ts -------------------------------------------------------------------------------- /src/components/common/svg-icons.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/components/common/svg-icons.tsx -------------------------------------------------------------------------------- /src/components/layout/error-boundary.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/components/layout/error-boundary.tsx -------------------------------------------------------------------------------- /src/components/tiptap/editor.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/components/tiptap/editor.tsx -------------------------------------------------------------------------------- /src/components/tiptap/menu-icon.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/components/tiptap/menu-icon.tsx -------------------------------------------------------------------------------- /src/components/tiptap/menu.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/components/tiptap/menu.tsx -------------------------------------------------------------------------------- /src/components/tiptap/tiptap.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/components/tiptap/tiptap.css -------------------------------------------------------------------------------- /src/components/ui/alert-dialog.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/components/ui/alert-dialog.tsx -------------------------------------------------------------------------------- /src/components/ui/button.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/components/ui/button.tsx -------------------------------------------------------------------------------- /src/components/ui/dialog.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/components/ui/dialog.tsx -------------------------------------------------------------------------------- /src/components/ui/input.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/components/ui/input.tsx -------------------------------------------------------------------------------- /src/components/ui/popover.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/components/ui/popover.tsx -------------------------------------------------------------------------------- /src/components/ui/select.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/components/ui/select.tsx -------------------------------------------------------------------------------- /src/components/ui/slider.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/components/ui/slider.tsx -------------------------------------------------------------------------------- /src/components/ui/sonner.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/components/ui/sonner.tsx -------------------------------------------------------------------------------- /src/components/widgets/common/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/components/widgets/common/index.ts -------------------------------------------------------------------------------- /src/components/widgets/common/link-icon.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/components/widgets/common/link-icon.tsx -------------------------------------------------------------------------------- /src/components/widgets/common/widget-material-list.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/components/widgets/common/widget-material-list.tsx -------------------------------------------------------------------------------- /src/components/widgets/constraints.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/components/widgets/constraints.ts -------------------------------------------------------------------------------- /src/components/widgets/form/avatar/avatar-rounded-select.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/components/widgets/form/avatar/avatar-rounded-select.tsx -------------------------------------------------------------------------------- /src/components/widgets/form/basic-info-form.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/components/widgets/form/basic-info-form.tsx -------------------------------------------------------------------------------- /src/components/widgets/form/contacts/contacts-form.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/components/widgets/form/contacts/contacts-form.tsx -------------------------------------------------------------------------------- /src/components/widgets/form/contacts/icon-select.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/components/widgets/form/contacts/icon-select.tsx -------------------------------------------------------------------------------- /src/components/widgets/form/contacts/link-input.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/components/widgets/form/contacts/link-input.tsx -------------------------------------------------------------------------------- /src/components/widgets/form/experience-time-form.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/components/widgets/form/experience-time-form.tsx -------------------------------------------------------------------------------- /src/components/widgets/form/image-section-form.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/components/widgets/form/image-section-form.tsx -------------------------------------------------------------------------------- /src/components/widgets/form/style-form.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/components/widgets/form/style-form.tsx -------------------------------------------------------------------------------- /src/components/widgets/form/text-content-form.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/components/widgets/form/text-content-form.tsx -------------------------------------------------------------------------------- /src/components/widgets/form/title-section-form.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/components/widgets/form/title-section-form.tsx -------------------------------------------------------------------------------- /src/components/widgets/helpers/factory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/components/widgets/helpers/factory.ts -------------------------------------------------------------------------------- /src/components/widgets/helpers/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/components/widgets/helpers/index.ts -------------------------------------------------------------------------------- /src/components/widgets/helpers/schema.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/components/widgets/helpers/schema.ts -------------------------------------------------------------------------------- /src/components/widgets/node/basic-info.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/components/widgets/node/basic-info.tsx -------------------------------------------------------------------------------- /src/components/widgets/node/experience-time.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/components/widgets/node/experience-time.tsx -------------------------------------------------------------------------------- /src/components/widgets/node/image-section.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/components/widgets/node/image-section.tsx -------------------------------------------------------------------------------- /src/components/widgets/node/text-content.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/components/widgets/node/text-content.tsx -------------------------------------------------------------------------------- /src/components/widgets/node/title-section.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/components/widgets/node/title-section.tsx -------------------------------------------------------------------------------- /src/components/widgets/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/components/widgets/types.ts -------------------------------------------------------------------------------- /src/lib/codec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/lib/codec.ts -------------------------------------------------------------------------------- /src/lib/hooks.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/lib/hooks.ts -------------------------------------------------------------------------------- /src/lib/storage.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/lib/storage.ts -------------------------------------------------------------------------------- /src/lib/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/lib/utils.ts -------------------------------------------------------------------------------- /src/locales/en.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/locales/en.json -------------------------------------------------------------------------------- /src/locales/i18n.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/locales/i18n.ts -------------------------------------------------------------------------------- /src/locales/zh.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/locales/zh.json -------------------------------------------------------------------------------- /src/main.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/main.tsx -------------------------------------------------------------------------------- /src/routes/editor/components/draggable-node-wrapper.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/routes/editor/components/draggable-node-wrapper.tsx -------------------------------------------------------------------------------- /src/routes/editor/components/draggable-node.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/routes/editor/components/draggable-node.tsx -------------------------------------------------------------------------------- /src/routes/editor/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/routes/editor/page.tsx -------------------------------------------------------------------------------- /src/routes/editor/sections/edit-header.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/routes/editor/sections/edit-header.tsx -------------------------------------------------------------------------------- /src/routes/editor/sections/panel-config.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/routes/editor/sections/panel-config.tsx -------------------------------------------------------------------------------- /src/routes/editor/sections/panel-dnd.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/routes/editor/sections/panel-dnd.tsx -------------------------------------------------------------------------------- /src/routes/editor/sections/panel-materials.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/routes/editor/sections/panel-materials.tsx -------------------------------------------------------------------------------- /src/routes/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/routes/index.tsx -------------------------------------------------------------------------------- /src/routes/layouts/root-layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/routes/layouts/root-layout.tsx -------------------------------------------------------------------------------- /src/routes/not-found/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/routes/not-found/page.tsx -------------------------------------------------------------------------------- /src/routes/print/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/routes/print/page.tsx -------------------------------------------------------------------------------- /src/routes/view/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/routes/view/page.tsx -------------------------------------------------------------------------------- /src/services/index.ts: -------------------------------------------------------------------------------- 1 | export * from './storage' 2 | -------------------------------------------------------------------------------- /src/services/storage.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/services/storage.ts -------------------------------------------------------------------------------- /src/store/index.ts: -------------------------------------------------------------------------------- 1 | export * from './widgets-store' 2 | -------------------------------------------------------------------------------- /src/store/widgets-store.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/store/widgets-store.ts -------------------------------------------------------------------------------- /src/styles/app.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/styles/app.css -------------------------------------------------------------------------------- /src/styles/index.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/styles/index.css -------------------------------------------------------------------------------- /src/styles/shadcn-ui.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/src/styles/shadcn-ui.css -------------------------------------------------------------------------------- /src/vite-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | declare const __DATE__: string 4 | -------------------------------------------------------------------------------- /tsconfig.app.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/tsconfig.app.json -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/tsconfig.json -------------------------------------------------------------------------------- /tsconfig.node.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/tsconfig.node.json -------------------------------------------------------------------------------- /vercel.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/vercel.json -------------------------------------------------------------------------------- /vite.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arman19941113/dnd-resume/HEAD/vite.config.ts --------------------------------------------------------------------------------