├── .eslintignore
├── .eslintrc.cjs
├── .gitignore
├── .npmrc
├── .prettierignore
├── .prettierrc
├── README.md
├── components.json
├── package-lock.json
├── package.json
├── postcss.config.cjs
├── src
├── app.d.ts
├── app.html
├── app.postcss
├── lib
│ ├── backend
│ │ ├── BackendGuide.svelte
│ │ ├── concept
│ │ │ ├── ConceptFlow.svelte
│ │ │ └── allconceptmap.ts
│ │ ├── databases
│ │ │ ├── DatabasesFlow.svelte
│ │ │ ├── ToolsCompare.svelte
│ │ │ ├── ToolsTabs.svelte
│ │ │ └── dbstore.ts
│ │ └── tools
│ │ │ ├── ToolsFrame.svelte
│ │ │ ├── ToolsFrameEdge.svelte
│ │ │ ├── ToolsFrameNode.svelte
│ │ │ ├── tools_code.ts
│ │ │ └── turbo.css
│ ├── components
│ │ └── ui
│ │ │ ├── badge
│ │ │ ├── badge.svelte
│ │ │ └── index.ts
│ │ │ ├── button
│ │ │ ├── button.svelte
│ │ │ └── index.ts
│ │ │ ├── card
│ │ │ ├── card-content.svelte
│ │ │ ├── card-description.svelte
│ │ │ ├── card-footer.svelte
│ │ │ ├── card-header.svelte
│ │ │ ├── card-title.svelte
│ │ │ ├── card.svelte
│ │ │ └── index.ts
│ │ │ ├── checkbox
│ │ │ ├── checkbox.svelte
│ │ │ └── index.ts
│ │ │ ├── command
│ │ │ ├── command-dialog.svelte
│ │ │ ├── command-empty.svelte
│ │ │ ├── command-group.svelte
│ │ │ ├── command-input.svelte
│ │ │ ├── command-item.svelte
│ │ │ ├── command-list.svelte
│ │ │ ├── command-separator.svelte
│ │ │ ├── command-shortcut.svelte
│ │ │ ├── command.svelte
│ │ │ └── index.ts
│ │ │ ├── context-menu
│ │ │ ├── context-menu-checkbox-item.svelte
│ │ │ ├── context-menu-content.svelte
│ │ │ ├── context-menu-item.svelte
│ │ │ ├── context-menu-label.svelte
│ │ │ ├── context-menu-radio-group.svelte
│ │ │ ├── context-menu-radio-item.svelte
│ │ │ ├── context-menu-separator.svelte
│ │ │ ├── context-menu-shortcut.svelte
│ │ │ ├── context-menu-sub-content.svelte
│ │ │ ├── context-menu-sub-trigger.svelte
│ │ │ └── index.ts
│ │ │ ├── dialog
│ │ │ ├── dialog-content.svelte
│ │ │ ├── dialog-description.svelte
│ │ │ ├── dialog-footer.svelte
│ │ │ ├── dialog-header.svelte
│ │ │ ├── dialog-overlay.svelte
│ │ │ ├── dialog-portal.svelte
│ │ │ ├── dialog-title.svelte
│ │ │ └── index.ts
│ │ │ ├── select
│ │ │ ├── index.ts
│ │ │ ├── select-content.svelte
│ │ │ ├── select-item.svelte
│ │ │ ├── select-label.svelte
│ │ │ ├── select-separator.svelte
│ │ │ ├── select-trigger.svelte
│ │ │ └── select.svelte
│ │ │ ├── table
│ │ │ ├── index.ts
│ │ │ ├── table-body.svelte
│ │ │ ├── table-caption.svelte
│ │ │ ├── table-cell.svelte
│ │ │ ├── table-footer.svelte
│ │ │ ├── table-head.svelte
│ │ │ ├── table-header.svelte
│ │ │ ├── table-row.svelte
│ │ │ └── table.svelte
│ │ │ └── ui
│ │ │ ├── accordion
│ │ │ ├── accordion-content.svelte
│ │ │ ├── accordion-item.svelte
│ │ │ ├── accordion-trigger.svelte
│ │ │ └── index.ts
│ │ │ ├── card
│ │ │ ├── card-content.svelte
│ │ │ ├── card-description.svelte
│ │ │ ├── card-footer.svelte
│ │ │ ├── card-header.svelte
│ │ │ ├── card-title.svelte
│ │ │ ├── card.svelte
│ │ │ └── index.ts
│ │ │ ├── input
│ │ │ ├── index.ts
│ │ │ └── input.svelte
│ │ │ ├── progress
│ │ │ ├── index.ts
│ │ │ └── progress.svelte
│ │ │ ├── separator
│ │ │ ├── index.ts
│ │ │ └── separator.svelte
│ │ │ ├── sheet
│ │ │ ├── index.ts
│ │ │ ├── sheet-content.svelte
│ │ │ ├── sheet-description.svelte
│ │ │ ├── sheet-footer.svelte
│ │ │ ├── sheet-header.svelte
│ │ │ ├── sheet-overlay.svelte
│ │ │ ├── sheet-portal.svelte
│ │ │ └── sheet-title.svelte
│ │ │ ├── table
│ │ │ ├── index.ts
│ │ │ ├── table-body.svelte
│ │ │ ├── table-caption.svelte
│ │ │ ├── table-cell.svelte
│ │ │ ├── table-footer.svelte
│ │ │ ├── table-head.svelte
│ │ │ ├── table-header.svelte
│ │ │ ├── table-row.svelte
│ │ │ └── table.svelte
│ │ │ └── tabs
│ │ │ ├── index.ts
│ │ │ ├── tabs-content.svelte
│ │ │ ├── tabs-list.svelte
│ │ │ └── tabs-trigger.svelte
│ ├── connected
│ │ └── flowcode.ts
│ ├── diagrams
│ │ ├── stl
│ │ │ ├── FlowSTL.svelte
│ │ │ ├── bottomName.svelte
│ │ │ ├── centerName.svelte
│ │ │ ├── desc
│ │ │ │ ├── DataDesc.svelte
│ │ │ │ ├── dataStructure.svelte
│ │ │ │ ├── dynamicds.svelte
│ │ │ │ ├── lineards.svelte
│ │ │ │ ├── nonlineards.svelte
│ │ │ │ └── staticds.svelte
│ │ │ ├── edges-nodes.ts
│ │ │ └── topName.svelte
│ │ └── sv
│ │ │ ├── BottomEnd.svelte
│ │ │ ├── DiffBadge.svelte
│ │ │ ├── FlowCods.svelte
│ │ │ ├── QuestionProgress.svelte
│ │ │ ├── SheetFlow.svelte
│ │ │ ├── Simple.svelte
│ │ │ ├── TableFlow.svelte
│ │ │ └── TopEnd.svelte
│ ├── frontend
│ │ ├── FrontHero.svelte
│ │ ├── concepts
│ │ │ ├── AllConceptTags.svelte
│ │ │ ├── ConceptNode.svelte
│ │ │ └── concept_tags.ts
│ │ ├── flowNodes
│ │ │ ├── frameworkNode.svelte
│ │ │ ├── frameworks-nodes.ts
│ │ │ └── mainFrame.svelte
│ │ └── interview
│ │ │ ├── AllInterviewQT.svelte
│ │ │ └── interview_qt.ts
│ ├── home
│ │ ├── FeaturesBentoGrid.svelte
│ │ ├── FlowDiagram.svelte
│ │ ├── GuideDev.svelte
│ │ ├── Hero.svelte
│ │ ├── HomeCode.svelte
│ │ ├── Navbar.svelte
│ │ ├── ThemeMode.svelte
│ │ ├── allFeature.svelte
│ │ └── featureCode.svelte
│ ├── images
│ │ ├── allsvgs
│ │ │ ├── array.svg
│ │ │ ├── data-s-light.svg
│ │ │ ├── data-structure-light.svg
│ │ │ ├── data-structure.svg
│ │ │ ├── ds-light.svg
│ │ │ ├── dynamicds.svg
│ │ │ ├── graph.svg
│ │ │ ├── linear.svg
│ │ │ ├── linkedlist.svg
│ │ │ ├── nonlinear.svg
│ │ │ ├── queueds.svg
│ │ │ ├── stack.svg
│ │ │ ├── stacl.svg
│ │ │ ├── static.svg
│ │ │ ├── tree.svg
│ │ │ └── vectords.svg
│ │ ├── backend
│ │ │ ├── appwrite.svg
│ │ │ ├── drizzle.svg
│ │ │ ├── influxdb.svg
│ │ │ ├── mongodb.svg
│ │ │ ├── mysql.svg
│ │ │ ├── pocket-base.svg
│ │ │ ├── postgresql.svg
│ │ │ ├── prisma.svg
│ │ │ ├── prisma_dark.svg
│ │ │ ├── prisma_light.svg
│ │ │ ├── redis.svg
│ │ │ ├── sqlite.svg
│ │ │ ├── supabase.svg
│ │ │ ├── turso.svg
│ │ │ └── xataio.svg
│ │ ├── cppimg.svg
│ │ ├── cpplogo.svg
│ │ ├── dsa-stl.png
│ │ ├── frameworks
│ │ │ ├── astro.svg
│ │ │ ├── javascript.svg
│ │ │ ├── nextjs_icon_dark.svg
│ │ │ ├── nextjs_logo_dark.svg
│ │ │ ├── nuxt.svg
│ │ │ ├── react.svg
│ │ │ ├── svelte.svg
│ │ │ └── vue.svg
│ │ ├── learnings.svg
│ │ ├── logo_dark.jpg
│ │ ├── logo_preview.jpg
│ │ ├── sveltelogo.svg
│ │ ├── ve.png
│ │ ├── version-control.png
│ │ ├── version-control.svg
│ │ └── web_logo.jpg
│ ├── index.ts
│ ├── learnings
│ │ ├── STLTags.svelte
│ │ ├── SidebarTopics.svelte
│ │ ├── SubTopics.svelte
│ │ ├── set
│ │ │ ├── SetPlay.svelte
│ │ │ └── StackPlay.svelte
│ │ ├── topicBadge.svelte
│ │ ├── topics-and-tags.ts
│ │ └── vector
│ │ │ ├── Codecopy.svelte
│ │ │ ├── MapPlay.svelte
│ │ │ ├── VectorPlay.svelte
│ │ │ ├── allQuestion.svelte
│ │ │ └── btnCopy.svelte
│ ├── pattern
│ │ ├── DownloadFlow.svelte
│ │ ├── KnapsackFlow.svelte
│ │ ├── bottomBox.svelte
│ │ ├── pBox.svelte
│ │ ├── pattern-nodes-edges.ts
│ │ ├── pattern.css
│ │ └── topBox.svelte
│ ├── practice
│ │ ├── queStatus.svelte
│ │ ├── queTable.svelte
│ │ └── tagsSidebar.svelte
│ ├── style.css
│ └── utils.ts
└── routes
│ ├── +layout.svelte
│ ├── +page.svelte
│ ├── c
│ ├── +layout.svelte
│ ├── +page.svelte
│ ├── map
│ │ └── +page.svelte
│ ├── set
│ │ └── +page.svelte
│ ├── snippets
│ │ └── +page.svelte
│ ├── stack
│ │ └── +page.svelte
│ └── vector
│ │ └── +page.svelte
│ ├── databases
│ ├── +page.svelte
│ ├── concept
│ │ └── +page.svelte
│ ├── d
│ │ └── +page.svelte
│ └── tools
│ │ └── +page.svelte
│ ├── fullstack
│ ├── +page.svelte
│ ├── concepts
│ │ ├── +layout.svelte
│ │ ├── +page.svelte
│ │ ├── client-caching
│ │ │ └── +page.svelte
│ │ ├── fetch-api
│ │ │ └── +page.svelte
│ │ ├── flex-vs-grid
│ │ │ └── +page.svelte
│ │ └── form-submission
│ │ │ ├── +page.server.ts
│ │ │ └── +page.svelte
│ ├── frameworks
│ │ └── +page.svelte
│ └── interview
│ │ ├── +layout.svelte
│ │ ├── +page.svelte
│ │ ├── file-uploader
│ │ └── +page.svelte
│ │ └── sign-up-form
│ │ └── +page.svelte
│ ├── pattern
│ ├── +layout.svelte
│ ├── +page.svelte
│ └── knapsack
│ │ └── +page.svelte
│ ├── practice
│ ├── +page.server.ts
│ └── +page.svelte
│ └── roadmap
│ ├── dsa
│ └── +page.svelte
│ ├── knapsack
│ └── +page.svelte
│ ├── stl
│ └── +page.svelte
│ └── svelte
│ └── +page.svelte
├── static
├── favicon.png
├── logo.png
├── logo_code.png
├── logo_preview.jpg
└── web_logo.jpg
├── svelte.config.js
├── tailwind.config.js
├── tsconfig.json
└── vite.config.ts
/.eslintignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 | /build
4 | /.svelte-kit
5 | /package
6 | .env
7 | .env.*
8 | !.env.example
9 |
10 | # Ignore files for PNPM, NPM and YARN
11 | pnpm-lock.yaml
12 | package-lock.json
13 | yarn.lock
14 |
--------------------------------------------------------------------------------
/.eslintrc.cjs:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | root: true,
3 | extends: [
4 | 'eslint:recommended',
5 | 'plugin:@typescript-eslint/recommended',
6 | 'plugin:svelte/recommended',
7 | 'prettier'
8 | ],
9 | parser: '@typescript-eslint/parser',
10 | plugins: ['@typescript-eslint'],
11 | parserOptions: {
12 | sourceType: 'module',
13 | ecmaVersion: 2020,
14 | extraFileExtensions: ['.svelte']
15 | },
16 | env: {
17 | browser: true,
18 | es2017: true,
19 | node: true
20 | },
21 | overrides: [
22 | {
23 | files: ['*.svelte'],
24 | parser: 'svelte-eslint-parser',
25 | parserOptions: {
26 | parser: '@typescript-eslint/parser'
27 | }
28 | }
29 | ]
30 | };
31 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 | /build
4 | /.svelte-kit
5 | /package
6 | .env
7 | .env.*
8 | !.env.example
9 | vite.config.js.timestamp-*
10 | vite.config.ts.timestamp-*
11 |
--------------------------------------------------------------------------------
/.npmrc:
--------------------------------------------------------------------------------
1 | engine-strict=true
2 |
--------------------------------------------------------------------------------
/.prettierignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 | /build
4 | /.svelte-kit
5 | /package
6 | .env
7 | .env.*
8 | !.env.example
9 |
10 | # Ignore files for PNPM, NPM and YARN
11 | pnpm-lock.yaml
12 | package-lock.json
13 | yarn.lock
14 |
--------------------------------------------------------------------------------
/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "useTabs": true,
3 | "singleQuote": true,
4 | "trailingComma": "none",
5 | "printWidth": 100,
6 | "plugins": ["prettier-plugin-svelte"],
7 | "pluginSearchDirs": ["."],
8 | "overrides": [{ "files": "*.svelte", "options": { "parser": "svelte" } }]
9 | }
10 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # CodeFlow
2 |
3 | Roadmap for Programmers
4 | Learn to Think and Code Better.
5 | [Visit](https://roadmap-flow.vercel.app/roadmap/dsa) to see the website.
6 |
7 | ## Features
8 |
9 | - Solve Topic wise Questions on Leetcode
10 | - Easy to Use Roadmap
11 | - More than 100+ Questions
12 |
13 | ## Improvements
14 |
15 | | Topic | Status |
16 | | ---------------------- | ------ |
17 | | Svelte-Flow -Draggable | ✅ |
18 | | Programming Roadmap | ✅ |
19 | | Dark/Light Mode | ✅ |
20 | | Add Features Section | ✅ |
21 | | Add Progress bar | ✅ |
22 | | Sort using Difficulty | ✅ |
23 | | Add Practice Page | ✅ |
24 |
25 | ## Frameworks & Library
26 |
27 | | List | Usage |
28 | | ------------------ | --------------------------- |
29 | | Frontend Framework | Svelte |
30 | | CSS Framework | Shadcn-svelte, Tailwind CSS |
31 | | Roadmap | Svelte-flow |
32 | | Hosted | Vercel |
33 |
34 | | BAAS | Supabase | Appwrite | Xata.io |
35 | | --------------------------- | -------- | -------- | ------- |
36 | | Database | ✓ | ✓ | ✓ |
37 | | Authentication | ✓ | ✓ | |
38 | | Edge Functions | ✓ | ✓ | |
39 | | Storage | ✓ | ✓ | |
40 | | Realtime | ✓ | ✓ | |
41 | | Vector | ✓ | ✓ | |
42 | | File Storage without Bucket | | | ✓ |
43 | | Branching | | | ✓ |
44 | | Full Text Search | | | ✓ |
45 | | Chat GPT | | | ✓ |
46 |
--------------------------------------------------------------------------------
/components.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://shadcn-svelte.com/schema.json",
3 | "style": "new-york",
4 | "tailwind": {
5 | "config": "tailwind.config.js",
6 | "css": "src/app.postcss",
7 | "baseColor": "slate"
8 | },
9 | "aliases": {
10 | "components": "$lib/components/ui",
11 | "utils": "$lib/utils"
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "codeflow",
3 | "version": "0.0.1",
4 | "private": true,
5 | "scripts": {
6 | "dev": "vite dev",
7 | "build": "vite build",
8 | "preview": "vite preview",
9 | "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
10 | "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
11 | "lint": "prettier --plugin-search-dir . --check . && eslint .",
12 | "format": "prettier --plugin-search-dir . --write ."
13 | },
14 | "devDependencies": {
15 | "@sveltejs/adapter-auto": "^2.0.0",
16 | "@sveltejs/kit": "^1.20.4",
17 | "@tailwindcss/typography": "^0.5.10",
18 | "@typescript-eslint/eslint-plugin": "^6.0.0",
19 | "@typescript-eslint/parser": "^6.0.0",
20 | "@vincjo/datatables": "^1.12.8",
21 | "autoprefixer": "^10.4.14",
22 | "eslint": "^8.28.0",
23 | "eslint-config-prettier": "^8.5.0",
24 | "eslint-plugin-svelte": "^2.30.0",
25 | "postcss": "^8.4.24",
26 | "postcss-load-config": "^4.0.1",
27 | "prettier": "^2.8.0",
28 | "prettier-plugin-svelte": "^2.10.1",
29 | "svelte": "^4.0.5",
30 | "svelte-check": "^3.4.3",
31 | "tailwindcss": "^3.3.2",
32 | "tslib": "^2.4.1",
33 | "typescript": "^5.0.0",
34 | "vite": "^4.4.2"
35 | },
36 | "type": "module",
37 | "dependencies": {
38 | "@xyflow/svelte": "^0.0.28",
39 | "bits-ui": "^0.9.9",
40 | "clsx": "^2.0.0",
41 | "cmdk-sv": "^0.0.5",
42 | "highlight.js": "^11.9.0",
43 | "html-to-image": "^1.11.11",
44 | "lucide-svelte": "^0.292.0",
45 | "mode-watcher": "^0.0.7",
46 | "radix-icons-svelte": "^1.2.1",
47 | "shiki": "^0.14.5",
48 | "svelte-copy": "^1.4.1",
49 | "svelte-markdown": "^0.4.1",
50 | "svhighlight": "^0.7.1",
51 | "tailwind-merge": "^2.0.0",
52 | "tailwind-variants": "^0.1.18"
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/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/app.d.ts:
--------------------------------------------------------------------------------
1 | // See https://kit.svelte.dev/docs/types#app
2 | // for information about these interfaces
3 | declare global {
4 | namespace App {
5 | // interface Error {}
6 | // interface Locals {}
7 | // interface PageData {}
8 | // interface Platform {}
9 | }
10 | }
11 |
12 | export {};
13 |
--------------------------------------------------------------------------------
/src/app.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | Code Flow
12 |
13 |
14 |
15 |
16 |
17 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 | %sveltekit.head%
29 |
30 |
31 |
32 | %sveltekit.body%
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/src/app.postcss:
--------------------------------------------------------------------------------
1 | @tailwind base;
2 | @tailwind components;
3 | @tailwind utilities;
4 |
5 | @layer base {
6 | :root {
7 | --background: 0 0% 100%;
8 | --foreground: 222.2 84% 4.9%;
9 |
10 | --muted: 210 40% 96.1%;
11 | --muted-foreground: 215.4 16.3% 46.9%;
12 |
13 | --popover: 0 0% 100%;
14 | --popover-foreground: 222.2 84% 4.9%;
15 |
16 | --card: 0 0% 100%;
17 | --card-foreground: 222.2 84% 4.9%;
18 |
19 | --border: 214.3 31.8% 91.4%;
20 | --input: 214.3 31.8% 91.4%;
21 |
22 | --primary: 222.2 47.4% 11.2%;
23 | --primary-foreground: 210 40% 98%;
24 |
25 | --secondary: 210 40% 96.1%;
26 | --secondary-foreground: 222.2 47.4% 11.2%;
27 |
28 | --accent: 210 40% 96.1%;
29 | --accent-foreground: 222.2 47.4% 11.2%;
30 |
31 | --destructive: 0 84.2% 60.2%;
32 | --destructive-foreground: 210 40% 98%;
33 |
34 | --ring: 222.2 84% 4.9%;
35 |
36 | --radius: 0.5rem;
37 | }
38 |
39 | .dark {
40 | --background: 222.2 84% 4.9%;
41 | --foreground: 210 40% 98%;
42 |
43 | --muted: 217.2 32.6% 17.5%;
44 | --muted-foreground: 215 20.2% 65.1%;
45 |
46 | --popover: 222.2 84% 4.9%;
47 | --popover-foreground: 210 40% 98%;
48 |
49 | --card: 222.2 84% 4.9%;
50 | --card-foreground: 210 40% 98%;
51 |
52 | --border: 217.2 32.6% 17.5%;
53 | --input: 217.2 32.6% 17.5%;
54 |
55 | --primary: 210 40% 98%;
56 | --primary-foreground: 222.2 47.4% 11.2%;
57 |
58 | --secondary: 217.2 32.6% 17.5%;
59 | --secondary-foreground: 210 40% 98%;
60 |
61 | --accent: 217.2 32.6% 17.5%;
62 | --accent-foreground: 210 40% 98%;
63 |
64 | --destructive: 0 62.8% 30.6%;
65 | --destructive-foreground: 210 40% 98%;
66 |
67 | --ring: hsl(212.7, 26.8%, 83.9);
68 | }
69 | }
70 |
71 | @layer base {
72 | * {
73 | @apply border-border;
74 | }
75 | body {
76 | @apply bg-background text-foreground;
77 | }
78 | }
79 |
--------------------------------------------------------------------------------
/src/lib/backend/concept/ConceptFlow.svelte:
--------------------------------------------------------------------------------
1 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/src/lib/backend/databases/DatabasesFlow.svelte:
--------------------------------------------------------------------------------
1 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/src/lib/backend/tools/ToolsFrame.svelte:
--------------------------------------------------------------------------------
1 |
32 |
33 |
34 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
--------------------------------------------------------------------------------
/src/lib/backend/tools/ToolsFrameEdge.svelte:
--------------------------------------------------------------------------------
1 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/src/lib/components/ui/badge/badge.svelte:
--------------------------------------------------------------------------------
1 |
10 |
11 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/src/lib/components/ui/badge/index.ts:
--------------------------------------------------------------------------------
1 | import { tv, type VariantProps } from "tailwind-variants";
2 |
3 | export { default as Badge } from "./badge.svelte";
4 | export const badgeVariants = tv({
5 | base: "inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 select-none",
6 | variants: {
7 | variant: {
8 | default:
9 | "border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",
10 | secondary:
11 | "border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",
12 | destructive:
13 | "border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",
14 | outline: "text-foreground"
15 | }
16 | },
17 | defaultVariants: {
18 | variant: "default"
19 | }
20 | });
21 |
22 | export type Variant = VariantProps["variant"];
23 |
--------------------------------------------------------------------------------
/src/lib/components/ui/button/button.svelte:
--------------------------------------------------------------------------------
1 |
15 |
16 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/src/lib/components/ui/button/index.ts:
--------------------------------------------------------------------------------
1 | import type { Button as ButtonPrimitive } from "bits-ui";
2 | import { tv, type VariantProps } from "tailwind-variants";
3 | import Root from "./button.svelte";
4 |
5 | const buttonVariants = tv({
6 | base: "inline-flex items-center justify-center rounded-md text-sm font-medium whitespace-nowrap transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50",
7 | variants: {
8 | variant: {
9 | default:
10 | "bg-primary text-primary-foreground shadow hover:bg-primary/90",
11 | destructive:
12 | "bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",
13 | outline:
14 | "border border-input bg-transparent shadow-sm hover:bg-accent hover:text-accent-foreground",
15 | secondary:
16 | "bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",
17 | ghost: "hover:bg-accent hover:text-accent-foreground",
18 | link: "text-primary underline-offset-4 hover:underline"
19 | },
20 | size: {
21 | default: "h-9 px-4 py-2",
22 | sm: "h-8 rounded-md px-3 text-xs",
23 | lg: "h-10 rounded-md px-8",
24 | icon: "h-9 w-9"
25 | }
26 | },
27 | defaultVariants: {
28 | variant: "default",
29 | size: "default"
30 | }
31 | });
32 |
33 | type Variant = VariantProps["variant"];
34 | type Size = VariantProps["size"];
35 |
36 | type Props = ButtonPrimitive.Props & {
37 | variant?: Variant;
38 | size?: Size;
39 | };
40 |
41 | type Events = ButtonPrimitive.Events;
42 |
43 | export {
44 | Root,
45 | type Props,
46 | type Events,
47 | //
48 | Root as Button,
49 | type Props as ButtonProps,
50 | type Events as ButtonEvents,
51 | buttonVariants
52 | };
53 |
--------------------------------------------------------------------------------
/src/lib/components/ui/card/card-content.svelte:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/src/lib/components/ui/card/card-description.svelte:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/src/lib/components/ui/card/card-footer.svelte:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/src/lib/components/ui/card/card-header.svelte:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/src/lib/components/ui/card/card-title.svelte:
--------------------------------------------------------------------------------
1 |
14 |
15 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/src/lib/components/ui/card/card.svelte:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/src/lib/components/ui/card/index.ts:
--------------------------------------------------------------------------------
1 | import Root from "./card.svelte";
2 | import Content from "./card-content.svelte";
3 | import Description from "./card-description.svelte";
4 | import Footer from "./card-footer.svelte";
5 | import Header from "./card-header.svelte";
6 | import Title from "./card-title.svelte";
7 |
8 | export {
9 | Root,
10 | Content,
11 | Description,
12 | Footer,
13 | Header,
14 | Title,
15 | //
16 | Root as Card,
17 | Content as CardContent,
18 | Description as CardDescription,
19 | Footer as CardFooter,
20 | Header as CardHeader,
21 | Title as CardTitle
22 | };
23 |
24 | export type HeadingLevel = "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
25 |
--------------------------------------------------------------------------------
/src/lib/components/ui/checkbox/checkbox.svelte:
--------------------------------------------------------------------------------
1 |
13 |
14 |
23 |
28 | {#if isIndeterminate}
29 |
30 | {:else}
31 |
34 | {/if}
35 |
36 |
37 |
--------------------------------------------------------------------------------
/src/lib/components/ui/checkbox/index.ts:
--------------------------------------------------------------------------------
1 | import Root from "./checkbox.svelte";
2 | export {
3 | Root,
4 | //
5 | Root as Checkbox
6 | };
7 |
--------------------------------------------------------------------------------
/src/lib/components/ui/command/command-dialog.svelte:
--------------------------------------------------------------------------------
1 |
12 |
13 |
14 |
15 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/src/lib/components/ui/command/command-empty.svelte:
--------------------------------------------------------------------------------
1 |
9 |
10 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/src/lib/components/ui/command/command-group.svelte:
--------------------------------------------------------------------------------
1 |
9 |
10 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/src/lib/components/ui/command/command-input.svelte:
--------------------------------------------------------------------------------
1 |
11 |
12 |
13 |
14 |
21 |
22 |
--------------------------------------------------------------------------------
/src/lib/components/ui/command/command-item.svelte:
--------------------------------------------------------------------------------
1 |
10 |
11 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/src/lib/components/ui/command/command-list.svelte:
--------------------------------------------------------------------------------
1 |
9 |
10 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/src/lib/components/ui/command/command-separator.svelte:
--------------------------------------------------------------------------------
1 |
9 |
10 |
14 |
--------------------------------------------------------------------------------
/src/lib/components/ui/command/command-shortcut.svelte:
--------------------------------------------------------------------------------
1 |
10 |
11 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/src/lib/components/ui/command/command.svelte:
--------------------------------------------------------------------------------
1 |
12 |
13 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/src/lib/components/ui/command/index.ts:
--------------------------------------------------------------------------------
1 | import { Command as CommandPrimitive } from "cmdk-sv";
2 |
3 | import Root from "./command.svelte";
4 | import Dialog from "./command-dialog.svelte";
5 | import Empty from "./command-empty.svelte";
6 | import Group from "./command-group.svelte";
7 | import Item from "./command-item.svelte";
8 | import Input from "./command-input.svelte";
9 | import List from "./command-list.svelte";
10 | import Separator from "./command-separator.svelte";
11 | import Shortcut from "./command-shortcut.svelte";
12 |
13 | const Loading = CommandPrimitive.Loading;
14 |
15 | export {
16 | Root,
17 | Dialog,
18 | Empty,
19 | Group,
20 | Item,
21 | Input,
22 | List,
23 | Separator,
24 | Shortcut,
25 | Loading,
26 | //
27 | Root as Command,
28 | Dialog as CommandDialog,
29 | Empty as CommandEmpty,
30 | Group as CommandGroup,
31 | Item as CommandItem,
32 | Input as CommandInput,
33 | List as CommandList,
34 | Separator as CommandSeparator,
35 | Shortcut as CommandShortcut,
36 | Loading as CommandLoading
37 | };
38 |
--------------------------------------------------------------------------------
/src/lib/components/ui/context-menu/context-menu-checkbox-item.svelte:
--------------------------------------------------------------------------------
1 |
13 |
14 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/src/lib/components/ui/context-menu/context-menu-content.svelte:
--------------------------------------------------------------------------------
1 |
12 |
13 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/src/lib/components/ui/context-menu/context-menu-item.svelte:
--------------------------------------------------------------------------------
1 |
14 |
15 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/src/lib/components/ui/context-menu/context-menu-label.svelte:
--------------------------------------------------------------------------------
1 |
13 |
14 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/src/lib/components/ui/context-menu/context-menu-radio-group.svelte:
--------------------------------------------------------------------------------
1 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/src/lib/components/ui/context-menu/context-menu-radio-item.svelte:
--------------------------------------------------------------------------------
1 |
13 |
14 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/src/lib/components/ui/context-menu/context-menu-separator.svelte:
--------------------------------------------------------------------------------
1 |
10 |
11 |
15 |
--------------------------------------------------------------------------------
/src/lib/components/ui/context-menu/context-menu-shortcut.svelte:
--------------------------------------------------------------------------------
1 |
10 |
11 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/src/lib/components/ui/context-menu/context-menu-sub-content.svelte:
--------------------------------------------------------------------------------
1 |
12 |
13 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/src/lib/components/ui/context-menu/context-menu-sub-trigger.svelte:
--------------------------------------------------------------------------------
1 |
15 |
16 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/src/lib/components/ui/context-menu/index.ts:
--------------------------------------------------------------------------------
1 | import { ContextMenu as ContextMenuPrimitive } from "bits-ui";
2 |
3 | import Item from "./context-menu-item.svelte";
4 | import Label from "./context-menu-label.svelte";
5 | import Content from "./context-menu-content.svelte";
6 | import Shortcut from "./context-menu-shortcut.svelte";
7 | import RadioItem from "./context-menu-radio-item.svelte";
8 | import Separator from "./context-menu-separator.svelte";
9 | import RadioGroup from "./context-menu-radio-group.svelte";
10 | import SubContent from "./context-menu-sub-content.svelte";
11 | import SubTrigger from "./context-menu-sub-trigger.svelte";
12 | import CheckboxItem from "./context-menu-checkbox-item.svelte";
13 |
14 | const Sub = ContextMenuPrimitive.Sub;
15 | const Root = ContextMenuPrimitive.Root;
16 | const Trigger = ContextMenuPrimitive.Trigger;
17 | const Group = ContextMenuPrimitive.Group;
18 |
19 | export {
20 | Sub,
21 | Root,
22 | Item,
23 | Label,
24 | Group,
25 | Trigger,
26 | Content,
27 | Shortcut,
28 | Separator,
29 | RadioItem,
30 | SubContent,
31 | SubTrigger,
32 | RadioGroup,
33 | CheckboxItem,
34 | //
35 | Root as ContextMenu,
36 | Sub as ContextMenuSub,
37 | Item as ContextMenuItem,
38 | Label as ContextMenuLabel,
39 | Group as ContextMenuGroup,
40 | Content as ContextMenuContent,
41 | Trigger as ContextMenuTrigger,
42 | Shortcut as ContextMenuShortcut,
43 | RadioItem as ContextMenuRadioItem,
44 | Separator as ContextMenuSeparator,
45 | RadioGroup as ContextMenuRadioGroup,
46 | SubContent as ContextMenuSubContent,
47 | SubTrigger as ContextMenuSubTrigger,
48 | CheckboxItem as ContextMenuCheckboxItem
49 | };
50 |
--------------------------------------------------------------------------------
/src/lib/components/ui/dialog/dialog-content.svelte:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
19 |
28 |
29 |
32 |
33 | Close
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/src/lib/components/ui/dialog/dialog-description.svelte:
--------------------------------------------------------------------------------
1 |
10 |
11 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/src/lib/components/ui/dialog/dialog-footer.svelte:
--------------------------------------------------------------------------------
1 |
10 |
11 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/src/lib/components/ui/dialog/dialog-header.svelte:
--------------------------------------------------------------------------------
1 |
10 |
11 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/src/lib/components/ui/dialog/dialog-overlay.svelte:
--------------------------------------------------------------------------------
1 |
15 |
16 |
25 |
--------------------------------------------------------------------------------
/src/lib/components/ui/dialog/dialog-portal.svelte:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/lib/components/ui/dialog/dialog-title.svelte:
--------------------------------------------------------------------------------
1 |
10 |
11 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/src/lib/components/ui/dialog/index.ts:
--------------------------------------------------------------------------------
1 | import { Dialog as DialogPrimitive } from "bits-ui";
2 |
3 | const Root = DialogPrimitive.Root;
4 | const Trigger = DialogPrimitive.Trigger;
5 |
6 | import Title from "./dialog-title.svelte";
7 | import Portal from "./dialog-portal.svelte";
8 | import Footer from "./dialog-footer.svelte";
9 | import Header from "./dialog-header.svelte";
10 | import Overlay from "./dialog-overlay.svelte";
11 | import Content from "./dialog-content.svelte";
12 | import Description from "./dialog-description.svelte";
13 |
14 | export {
15 | Root,
16 | Title,
17 | Portal,
18 | Footer,
19 | Header,
20 | Trigger,
21 | Overlay,
22 | Content,
23 | Description,
24 | //
25 | Root as Dialog,
26 | Title as DialogTitle,
27 | Portal as DialogPortal,
28 | Footer as DialogFooter,
29 | Header as DialogHeader,
30 | Trigger as DialogTrigger,
31 | Overlay as DialogOverlay,
32 | Content as DialogContent,
33 | Description as DialogDescription
34 | };
35 |
--------------------------------------------------------------------------------
/src/lib/components/ui/select/index.ts:
--------------------------------------------------------------------------------
1 | import { Select as SelectPrimitive } from "bits-ui";
2 |
3 | import Root from "./select.svelte";
4 | import Label from "./select-label.svelte";
5 | import Item from "./select-item.svelte";
6 | import Content from "./select-content.svelte";
7 | import Trigger from "./select-trigger.svelte";
8 | import Separator from "./select-separator.svelte";
9 |
10 | const Group = SelectPrimitive.Group;
11 | const Input = SelectPrimitive.Input;
12 | const Value = SelectPrimitive.Value;
13 |
14 | export {
15 | Root,
16 | Item,
17 | Group,
18 | Input,
19 | Label,
20 | Value,
21 | Content,
22 | Trigger,
23 | Separator,
24 | //
25 | Root as Select,
26 | Item as SelectItem,
27 | Group as SelectGroup,
28 | Input as SelectInput,
29 | Label as SelectLabel,
30 | Value as SelectValue,
31 | Content as SelectContent,
32 | Trigger as SelectTrigger,
33 | Separator as SelectSeparator
34 | };
35 |
--------------------------------------------------------------------------------
/src/lib/components/ui/select/select-content.svelte:
--------------------------------------------------------------------------------
1 |
19 |
20 |
31 |
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/src/lib/components/ui/select/select-item.svelte:
--------------------------------------------------------------------------------
1 |
15 |
16 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/src/lib/components/ui/select/select-label.svelte:
--------------------------------------------------------------------------------
1 |
10 |
11 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/src/lib/components/ui/select/select-separator.svelte:
--------------------------------------------------------------------------------
1 |
10 |
11 |
15 |
--------------------------------------------------------------------------------
/src/lib/components/ui/select/select-trigger.svelte:
--------------------------------------------------------------------------------
1 |
12 |
13 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/src/lib/components/ui/select/select.svelte:
--------------------------------------------------------------------------------
1 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/src/lib/components/ui/table/index.ts:
--------------------------------------------------------------------------------
1 | import Root from "./table.svelte";
2 | import Body from "./table-body.svelte";
3 | import Caption from "./table-caption.svelte";
4 | import Cell from "./table-cell.svelte";
5 | import Footer from "./table-footer.svelte";
6 | import Head from "./table-head.svelte";
7 | import Header from "./table-header.svelte";
8 | import Row from "./table-row.svelte";
9 |
10 | export {
11 | Root,
12 | Body,
13 | Caption,
14 | Cell,
15 | Footer,
16 | Head,
17 | Header,
18 | Row,
19 | //
20 | Root as Table,
21 | Body as TableBody,
22 | Caption as TableCaption,
23 | Cell as TableCell,
24 | Footer as TableFooter,
25 | Head as TableHead,
26 | Header as TableHeader,
27 | Row as TableRow
28 | };
29 |
--------------------------------------------------------------------------------
/src/lib/components/ui/table/table-body.svelte:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/src/lib/components/ui/table/table-caption.svelte:
--------------------------------------------------------------------------------
1 |
10 |
11 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/src/lib/components/ui/table/table-cell.svelte:
--------------------------------------------------------------------------------
1 |
10 |
11 | [role=checkbox]]:translate-y-[2px]",
14 | className
15 | )}
16 | {...$$restProps}
17 | >
18 |
19 |
20 |
--------------------------------------------------------------------------------
/src/lib/components/ui/table/table-footer.svelte:
--------------------------------------------------------------------------------
1 |
10 |
11 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/src/lib/components/ui/table/table-head.svelte:
--------------------------------------------------------------------------------
1 |
10 |
11 | [role=checkbox]]:translate-y-[2px]",
14 | className
15 | )}
16 | {...$$restProps}
17 | >
18 |
19 |
20 |
--------------------------------------------------------------------------------
/src/lib/components/ui/table/table-header.svelte:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/src/lib/components/ui/table/table-row.svelte:
--------------------------------------------------------------------------------
1 |
12 |
13 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/src/lib/components/ui/table/table.svelte:
--------------------------------------------------------------------------------
1 |
10 |
11 |
19 |
--------------------------------------------------------------------------------
/src/lib/components/ui/ui/accordion/accordion-content.svelte:
--------------------------------------------------------------------------------
1 |
16 |
17 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/src/lib/components/ui/ui/accordion/accordion-item.svelte:
--------------------------------------------------------------------------------
1 |
11 |
12 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/src/lib/components/ui/ui/accordion/accordion-trigger.svelte:
--------------------------------------------------------------------------------
1 |
13 |
14 |
15 | svg]:rotate-180",
18 | className
19 | )}
20 | {...$$restProps}
21 | on:click
22 | >
23 |
24 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/src/lib/components/ui/ui/accordion/index.ts:
--------------------------------------------------------------------------------
1 | import { Accordion as AccordionPrimitive } from "bits-ui";
2 | import Content from "./accordion-content.svelte";
3 | import Item from "./accordion-item.svelte";
4 | import Trigger from "./accordion-trigger.svelte";
5 |
6 | const Root = AccordionPrimitive.Root;
7 | export {
8 | Root,
9 | Content,
10 | Item,
11 | Trigger,
12 | //
13 | Root as Accordion,
14 | Content as AccordionContent,
15 | Item as AccordionItem,
16 | Trigger as AccordionTrigger
17 | };
18 |
--------------------------------------------------------------------------------
/src/lib/components/ui/ui/card/card-content.svelte:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/src/lib/components/ui/ui/card/card-description.svelte:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/src/lib/components/ui/ui/card/card-footer.svelte:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/src/lib/components/ui/ui/card/card-header.svelte:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/src/lib/components/ui/ui/card/card-title.svelte:
--------------------------------------------------------------------------------
1 |
14 |
15 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/src/lib/components/ui/ui/card/card.svelte:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/src/lib/components/ui/ui/card/index.ts:
--------------------------------------------------------------------------------
1 | import Root from "./card.svelte";
2 | import Content from "./card-content.svelte";
3 | import Description from "./card-description.svelte";
4 | import Footer from "./card-footer.svelte";
5 | import Header from "./card-header.svelte";
6 | import Title from "./card-title.svelte";
7 |
8 | export {
9 | Root,
10 | Content,
11 | Description,
12 | Footer,
13 | Header,
14 | Title,
15 | //
16 | Root as Card,
17 | Content as CardContent,
18 | Description as CardDescription,
19 | Footer as CardFooter,
20 | Header as CardHeader,
21 | Title as CardTitle
22 | };
23 |
24 | export type HeadingLevel = "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
25 |
--------------------------------------------------------------------------------
/src/lib/components/ui/ui/input/index.ts:
--------------------------------------------------------------------------------
1 | import Root from "./input.svelte";
2 |
3 | type FormInputEvent = T & {
4 | currentTarget: EventTarget & HTMLInputElement;
5 | };
6 | export type InputEvents = {
7 | blur: FormInputEvent;
8 | change: FormInputEvent;
9 | click: FormInputEvent;
10 | focus: FormInputEvent;
11 | keydown: FormInputEvent;
12 | keypress: FormInputEvent;
13 | keyup: FormInputEvent;
14 | mouseover: FormInputEvent;
15 | mouseenter: FormInputEvent;
16 | mouseleave: FormInputEvent;
17 | paste: FormInputEvent;
18 | input: FormInputEvent;
19 | };
20 |
21 | export {
22 | Root,
23 | //
24 | Root as Input
25 | };
26 |
--------------------------------------------------------------------------------
/src/lib/components/ui/ui/input/input.svelte:
--------------------------------------------------------------------------------
1 |
13 |
14 |
34 |
--------------------------------------------------------------------------------
/src/lib/components/ui/ui/progress/index.ts:
--------------------------------------------------------------------------------
1 | import Root from "./progress.svelte";
2 |
3 | export {
4 | Root,
5 | //
6 | Root as Progress
7 | };
8 |
--------------------------------------------------------------------------------
/src/lib/components/ui/ui/progress/progress.svelte:
--------------------------------------------------------------------------------
1 |
12 |
13 |
20 |
26 |
27 |
--------------------------------------------------------------------------------
/src/lib/components/ui/ui/separator/index.ts:
--------------------------------------------------------------------------------
1 | import Root from "./separator.svelte";
2 |
3 | export {
4 | Root,
5 | //
6 | Root as Separator
7 | };
8 |
--------------------------------------------------------------------------------
/src/lib/components/ui/ui/separator/separator.svelte:
--------------------------------------------------------------------------------
1 |
12 |
13 |
23 |
--------------------------------------------------------------------------------
/src/lib/components/ui/ui/sheet/index.ts:
--------------------------------------------------------------------------------
1 | import { Dialog as SheetPrimitive } from "bits-ui";
2 | import { tv, type VariantProps } from "tailwind-variants";
3 |
4 | import Portal from "./sheet-portal.svelte";
5 | import Overlay from "./sheet-overlay.svelte";
6 | import Content from "./sheet-content.svelte";
7 | import Header from "./sheet-header.svelte";
8 | import Footer from "./sheet-footer.svelte";
9 | import Title from "./sheet-title.svelte";
10 | import Description from "./sheet-description.svelte";
11 |
12 | const Root = SheetPrimitive.Root;
13 | const Close = SheetPrimitive.Close;
14 | const Trigger = SheetPrimitive.Trigger;
15 |
16 | export {
17 | Root,
18 | Close,
19 | Trigger,
20 | Portal,
21 | Overlay,
22 | Content,
23 | Header,
24 | Footer,
25 | Title,
26 | Description,
27 | //
28 | Root as Sheet,
29 | Close as SheetClose,
30 | Trigger as SheetTrigger,
31 | Portal as SheetPortal,
32 | Overlay as SheetOverlay,
33 | Content as SheetContent,
34 | Header as SheetHeader,
35 | Footer as SheetFooter,
36 | Title as SheetTitle,
37 | Description as SheetDescription
38 | };
39 |
40 | export const sheetVariants = tv({
41 | base: "fixed z-50 gap-4 bg-background p-6 shadow-lg",
42 | variants: {
43 | side: {
44 | top: "inset-x-0 top-0 border-b ",
45 | bottom: "inset-x-0 bottom-0 border-t",
46 | left: "inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm",
47 | right: "inset-y-0 right-0 px-2 md:px-8 h-full w-full border-l sm:w-4/6 overflow-auto",
48 | frame: "inset-y-0 right-0 px-2 md:px-8 h-full w-full border-l sm:w-3/5 overflow-auto",
49 | codestl: "inset-y-0 right-0 px-2 md:px-8 h-full w-full border-l sm:w-4/6 overflow-auto",
50 | }
51 | },
52 | defaultVariants: {
53 | side: "right"
54 | }
55 | });
56 |
57 | export const sheetTransitions = {
58 | top: {
59 | in: {
60 | y: "-100%",
61 | duration: 500,
62 | opacity: 1
63 | },
64 | out: {
65 | y: "-100%",
66 | duration: 300,
67 | opacity: 1
68 | }
69 | },
70 | bottom: {
71 | in: {
72 | y: "100%",
73 | duration: 500,
74 | opacity: 1
75 | },
76 | out: {
77 | y: "100%",
78 | duration: 300,
79 | opacity: 1
80 | }
81 | },
82 | left: {
83 | in: {
84 | x: "-100%",
85 | duration: 500,
86 | opacity: 1
87 | },
88 | out: {
89 | x: "-100%",
90 | duration: 300,
91 | opacity: 1
92 | }
93 | },
94 | right: {
95 | in: {
96 | x: "100%",
97 | duration: 500,
98 | opacity: 1
99 | },
100 | out: {
101 | x: "100%",
102 | duration: 300,
103 | opacity: 1
104 | }
105 | },
106 | codestl: {
107 | in: {
108 | x: "100%",
109 | duration: 400,
110 | opacity: 1
111 | },
112 | out: {
113 | x: "100%",
114 | duration: 200,
115 | opacity: 1
116 | }
117 | },
118 | frame: {
119 | in: {
120 | x: "100%",
121 | duration: 400,
122 | opacity: 1
123 | },
124 | out: {
125 | x: "100%",
126 | duration: 200,
127 | opacity: 1
128 | }
129 | }
130 | };
131 |
132 | export type Side = VariantProps["side"];
133 |
--------------------------------------------------------------------------------
/src/lib/components/ui/ui/sheet/sheet-content.svelte:
--------------------------------------------------------------------------------
1 |
28 |
29 |
30 |
31 |
39 |
40 |
43 |
44 | Close
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/src/lib/components/ui/ui/sheet/sheet-description.svelte:
--------------------------------------------------------------------------------
1 |
10 |
11 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/src/lib/components/ui/ui/sheet/sheet-footer.svelte:
--------------------------------------------------------------------------------
1 |
10 |
11 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/src/lib/components/ui/ui/sheet/sheet-header.svelte:
--------------------------------------------------------------------------------
1 |
10 |
11 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/src/lib/components/ui/ui/sheet/sheet-overlay.svelte:
--------------------------------------------------------------------------------
1 |
15 |
16 |
25 |
--------------------------------------------------------------------------------
/src/lib/components/ui/ui/sheet/sheet-portal.svelte:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/src/lib/components/ui/ui/sheet/sheet-title.svelte:
--------------------------------------------------------------------------------
1 |
10 |
11 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/src/lib/components/ui/ui/table/index.ts:
--------------------------------------------------------------------------------
1 | import Root from "./table.svelte";
2 | import Body from "./table-body.svelte";
3 | import Caption from "./table-caption.svelte";
4 | import Cell from "./table-cell.svelte";
5 | import Footer from "./table-footer.svelte";
6 | import Head from "./table-head.svelte";
7 | import Header from "./table-header.svelte";
8 | import Row from "./table-row.svelte";
9 |
10 | export {
11 | Root,
12 | Body,
13 | Caption,
14 | Cell,
15 | Footer,
16 | Head,
17 | Header,
18 | Row,
19 | //
20 | Root as Table,
21 | Body as TableBody,
22 | Caption as TableCaption,
23 | Cell as TableCell,
24 | Footer as TableFooter,
25 | Head as TableHead,
26 | Header as TableHeader,
27 | Row as TableRow
28 | };
29 |
--------------------------------------------------------------------------------
/src/lib/components/ui/ui/table/table-body.svelte:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/src/lib/components/ui/ui/table/table-caption.svelte:
--------------------------------------------------------------------------------
1 |
10 |
11 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/src/lib/components/ui/ui/table/table-cell.svelte:
--------------------------------------------------------------------------------
1 |
10 |
11 | [role=checkbox]]:translate-y-[2px]',
14 | className
15 | )}
16 | {...$$restProps}
17 | >
18 |
19 |
20 |
--------------------------------------------------------------------------------
/src/lib/components/ui/ui/table/table-footer.svelte:
--------------------------------------------------------------------------------
1 |
10 |
11 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/src/lib/components/ui/ui/table/table-head.svelte:
--------------------------------------------------------------------------------
1 |
10 |
11 | [role=checkbox]]:translate-y-[2px]',
14 | className
15 | )}
16 | {...$$restProps}
17 | >
18 |
19 |
20 |
--------------------------------------------------------------------------------
/src/lib/components/ui/ui/table/table-header.svelte:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/src/lib/components/ui/ui/table/table-row.svelte:
--------------------------------------------------------------------------------
1 |
12 |
13 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/src/lib/components/ui/ui/table/table.svelte:
--------------------------------------------------------------------------------
1 |
10 |
11 |
16 |
--------------------------------------------------------------------------------
/src/lib/components/ui/ui/tabs/index.ts:
--------------------------------------------------------------------------------
1 | import { Tabs as TabsPrimitive } from "bits-ui";
2 | import Content from "./tabs-content.svelte";
3 | import List from "./tabs-list.svelte";
4 | import Trigger from "./tabs-trigger.svelte";
5 |
6 | const Root = TabsPrimitive.Root;
7 |
8 | export {
9 | Root,
10 | Content,
11 | List,
12 | Trigger,
13 | //
14 | Root as Tabs,
15 | Content as TabsContent,
16 | List as TabsList,
17 | Trigger as TabsTrigger
18 | };
19 |
--------------------------------------------------------------------------------
/src/lib/components/ui/ui/tabs/tabs-content.svelte:
--------------------------------------------------------------------------------
1 |
11 |
12 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/src/lib/components/ui/ui/tabs/tabs-list.svelte:
--------------------------------------------------------------------------------
1 |
10 |
11 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/src/lib/components/ui/ui/tabs/tabs-trigger.svelte:
--------------------------------------------------------------------------------
1 |
12 |
13 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/src/lib/diagrams/stl/FlowSTL.svelte:
--------------------------------------------------------------------------------
1 |
24 |
25 |
26 |
27 | {#if isShow}
28 |
29 |
30 |
31 |
32 |
33 |
34 | {/if}
35 |
36 |
44 |
--------------------------------------------------------------------------------
/src/lib/diagrams/stl/bottomName.svelte:
--------------------------------------------------------------------------------
1 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
21 |
22 | {label}
23 |
25 |
26 |
27 | {label}
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
42 |
--------------------------------------------------------------------------------
/src/lib/diagrams/stl/centerName.svelte:
--------------------------------------------------------------------------------
1 |
12 |
13 |
14 |
15 |
19 |
20 |
21 |
22 |
26 |
27 | {label}
28 |
30 |
31 |
32 | {label}
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
48 |
--------------------------------------------------------------------------------
/src/lib/diagrams/stl/desc/DataDesc.svelte:
--------------------------------------------------------------------------------
1 |
11 |
12 |
13 |
14 | {@html structName.name}
15 |
16 |
17 |
18 |
19 | {structName.smalltitle}
20 |
21 |
22 | {#each structName.examples as item}
23 | {item}
24 | {/each}
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/src/lib/diagrams/stl/desc/dataStructure.svelte:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 | A data structure is a storage that is used to store and organize data. It is a way of arranging
8 | data on a computer so that it can be accessed and updated efficiently.
9 |
10 |
11 |
12 |
13 | Types of Data Strucuture
14 |
15 |
16 | Linear Data Structure
17 | Non-Linear Structure
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/src/lib/diagrams/stl/desc/dynamicds.svelte:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 | Dynamic data structures, such as linked lists, stacks, queues are those that have a variable
8 | size and structure at runtime. This means they can be modified or resized as needed.
9 |
10 |
11 |
12 |
13 |
14 | Examples of Non Linear Data Strucuture
15 |
16 |
17 | Linked List
18 | Vector
19 | Queue
20 | Stack
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/src/lib/diagrams/stl/desc/lineards.svelte:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 | Data structure in which data elements are arranged sequentially or linearly, where each element
8 | is attached to its previous and next adjacent elements, is called a linear data structure.
9 |
10 |
11 |
12 |
13 |
14 | Examples of Linear Data Strucuture
15 |
16 |
17 | Array
18 | Stack
19 | Linked List
20 | Queue
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/src/lib/diagrams/stl/desc/nonlineards.svelte:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 | Data structures where data elements are not placed sequentially or linearly are called
8 | non-linear data structures. In a non-linear data structure, we can't traverse all the elements
9 | in a single run only.
10 |
11 |
12 |
13 |
14 |
15 | Examples of Non Linear Data Strucuture
16 |
17 |
18 | Tree
19 | Binary Search Tree
20 | Graph
21 | Hashing Data Structure
22 | Trie
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/src/lib/diagrams/stl/desc/staticds.svelte:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 | In Static data structure the size of the structure is fixed. The content of the data structure can be modified but without changing the memory space allocated to it.
8 |
9 |
10 |
11 |
12 |
13 | Examples of Static Data Strucuture
14 |
15 |
16 | Array
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/src/lib/diagrams/stl/topName.svelte:
--------------------------------------------------------------------------------
1 |
11 |
12 |
13 |
14 |
15 |
16 |
20 |
21 | {label}
22 |
24 |
25 |
26 | {label}
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
42 |
--------------------------------------------------------------------------------
/src/lib/diagrams/sv/BottomEnd.svelte:
--------------------------------------------------------------------------------
1 |
18 |
19 |
20 |
21 |
22 |
30 |
31 |
32 |
36 |
37 | {label}
38 |
39 |
40 |
41 |
42 | {label}
43 | List of Questions for Solving and Improving
46 |
48 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
65 |
--------------------------------------------------------------------------------
/src/lib/diagrams/sv/DiffBadge.svelte:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
10 | {#if innerWidth < 600}
11 |
23 | {:else}
24 |
32 | {difficulty}
33 |
34 | {/if}
35 |
--------------------------------------------------------------------------------
/src/lib/diagrams/sv/QuestionProgress.svelte:
--------------------------------------------------------------------------------
1 |
10 |
11 |
14 |
--------------------------------------------------------------------------------
/src/lib/diagrams/sv/SheetFlow.svelte:
--------------------------------------------------------------------------------
1 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
28 |
29 | {label}
30 |
31 |
32 |
33 |
34 | {label}
35 | List of Questions for Solving and Improving
38 |
40 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
55 |
--------------------------------------------------------------------------------
/src/lib/diagrams/sv/Simple.svelte:
--------------------------------------------------------------------------------
1 |
13 |
14 |
15 |
22 |
23 |
24 |
30 |
--------------------------------------------------------------------------------
/src/lib/diagrams/sv/TableFlow.svelte:
--------------------------------------------------------------------------------
1 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 | Status
72 | Title
73 | Difficulty
74 | Code
75 |
76 |
77 |
78 | {#each problems as code, i (i)}
79 |
84 |
85 | changeStatus(code.id)} />
86 |
87 |
88 | {code.problem}
91 |
92 |
93 |
94 |
95 | {code.code}
96 |
97 | {/each}
98 |
99 |
100 |
--------------------------------------------------------------------------------
/src/lib/diagrams/sv/TopEnd.svelte:
--------------------------------------------------------------------------------
1 |
11 |
12 |
18 |
19 |
20 |
26 |
--------------------------------------------------------------------------------
/src/lib/frontend/concepts/AllConceptTags.svelte:
--------------------------------------------------------------------------------
1 |
9 |
10 |
11 |
12 | {title}
13 | {desc}
14 |
15 |
16 |
17 | {#each tags as item}
18 | {item.name}
25 | {/each}
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/src/lib/frontend/concepts/concept_tags.ts:
--------------------------------------------------------------------------------
1 | import { writable } from "svelte/store";
2 |
3 | export let concept_tags = writable([
4 | {
5 | name: 'Home',
6 | link: '/fullstack/concepts'
7 | },
8 | {
9 | name: 'Fetch API',
10 | link: '/fullstack/concepts/fetch-api'
11 | },
12 | {
13 | name: 'Flex vs Grid CSS',
14 | link: '/fullstack/concepts/flex-vs-grid'
15 | },
16 | {
17 | name: 'Form Submission',
18 | link: '/fullstack/concepts/form-submission'
19 | },
20 | {
21 | name: 'Client Caching',
22 | link: '/fullstack/concepts/client-caching'
23 | },
24 | // {
25 | // name: 'Routing and Dynamic Routes',
26 | // link: '/fullstack/concepts/virtualization'
27 | // },
28 | // {
29 | // name: 'Virtualization',
30 | // link: '/fullstack/concepts/virtualization'
31 | // },
32 | // {
33 | // name: 'Paging',
34 | // link: '/fullstack/concepts/virtualization'
35 | // },
36 | ])
37 |
38 | export let conceptsTitle = writable([
39 | {
40 | name: 'Fetch API',
41 | desc: 'Learn about JavaScript Fetch API with Examples',
42 | lang: 'JS',
43 | isupdated: 'March 2024',
44 | tag: 'easy',
45 | link: '/fullstack/concepts/fetch-api'
46 | },
47 | {
48 | name: 'Form Submission',
49 | desc: 'Form Submissions using Svelte JS with Validation using Superforms',
50 | lang: 'Svelte',
51 | isupdated: 'March 2024',
52 | tag: 'easy',
53 | link: '/fullstack/concepts/form-submission'
54 | },
55 | {
56 | name: 'Flex vs Grid CSS',
57 | desc: 'Understand Flex Box and Grid CSS with Examples',
58 | lang: 'C++',
59 | isupdated: 'March 2024',
60 | tag: 'easy',
61 | link: '/fullstack/concepts/flex-vs-grid'
62 | },
63 | {
64 | name: 'Client Caching',
65 | desc: 'Learn about Client Caching in Web Development',
66 | lang: 'Svelte',
67 | isupdated: 'March 2024',
68 | tag: 'easy',
69 | link: '/fullstack/concepts/client-caching'
70 | },
71 |
72 | ])
--------------------------------------------------------------------------------
/src/lib/frontend/flowNodes/mainFrame.svelte:
--------------------------------------------------------------------------------
1 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/src/lib/frontend/interview/AllInterviewQT.svelte:
--------------------------------------------------------------------------------
1 |
9 |
10 |
11 |
12 | {title}
13 | {desc}
14 |
15 |
16 |
17 | {#each tags as item}
18 | {item.name}
25 | {/each}
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/src/lib/frontend/interview/interview_qt.ts:
--------------------------------------------------------------------------------
1 | import { writable } from "svelte/store";
2 |
3 |
4 |
5 | export let interviewTitle = writable([
6 | {
7 | name: 'Sign Up Form Validation',
8 | desc: 'Form Submissions using Svelte JS with Validation using Superforms',
9 | lang: 'Svelte',
10 | isupdated: 'April 2024',
11 | tag: 'easy',
12 | link: '/fullstack/interview/sign-up-form'
13 | },
14 | {
15 | name: 'Build a File Uploader',
16 | desc: 'Understand Flex Box and Grid CSS with Examples',
17 | lang: 'C++',
18 | isupdated: 'April 2024',
19 | tag: 'easy',
20 | link: '/fullstack/interview/file-uploader'
21 | },
22 |
23 | ])
--------------------------------------------------------------------------------
/src/lib/home/FlowDiagram.svelte:
--------------------------------------------------------------------------------
1 |
88 |
89 |
93 |
96 |
97 |
98 |
99 |
100 |
101 |
--------------------------------------------------------------------------------
/src/lib/home/Hero.svelte:
--------------------------------------------------------------------------------
1 |
6 |
7 |
10 |
13 |
16 |
19 | CodeFlow.
20 |
21 |
24 |
25 | Introducing new things on codeflow Snippets
30 | and
31 | 0/1 Knapsack
34 |
35 |
36 |
37 |
38 | Coding Roadmap
40 |
41 |
42 |
43 | Data Structures
45 |
46 |
47 | Practice Questions
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
59 |
--------------------------------------------------------------------------------
/src/lib/home/HomeCode.svelte:
--------------------------------------------------------------------------------
1 |
12 |
13 |
14 |
21 |
22 |
23 |
29 |
--------------------------------------------------------------------------------
/src/lib/home/ThemeMode.svelte:
--------------------------------------------------------------------------------
1 |
8 |
9 |
10 |
13 |
16 | Toggle theme
17 |
18 |
--------------------------------------------------------------------------------
/src/lib/home/allFeature.svelte:
--------------------------------------------------------------------------------
1 |
64 |
65 |
66 |
Additional Features
67 |
68 | {#each features as { name, desc, sub }}
69 |
70 | {/each}
71 |
72 |
73 |
--------------------------------------------------------------------------------
/src/lib/home/featureCode.svelte:
--------------------------------------------------------------------------------
1 |
25 |
26 |
27 |
28 | {name}
29 | {desc}
30 |
31 |
32 | {#each sub as item}
33 |
36 |
37 |
38 |
{item.title}
39 |
{item.desc}
40 |
41 |
42 | {/each}
43 |
44 |
45 |
--------------------------------------------------------------------------------
/src/lib/images/backend/appwrite.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/lib/images/backend/drizzle.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/src/lib/images/backend/mongodb.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/lib/images/backend/mysql.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/src/lib/images/backend/pocket-base.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/lib/images/backend/postgresql.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/src/lib/images/backend/prisma.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/lib/images/backend/prisma_dark.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/lib/images/backend/prisma_light.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/lib/images/backend/redis.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/src/lib/images/backend/supabase.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/src/lib/images/backend/turso.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/src/lib/images/backend/xataio.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/src/lib/images/cpplogo.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
8 |
10 |
12 |
13 |
16 |
17 |
18 |
20 |
21 |
22 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/src/lib/images/dsa-stl.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SikandarJODD/CodeFlow/c2abb5253cb286f504faa49583f8112c4a90ca53/src/lib/images/dsa-stl.png
--------------------------------------------------------------------------------
/src/lib/images/frameworks/astro.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/lib/images/frameworks/javascript.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/lib/images/frameworks/nextjs_icon_dark.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/src/lib/images/frameworks/nuxt.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/lib/images/frameworks/svelte.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/lib/images/frameworks/vue.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/lib/images/logo_dark.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SikandarJODD/CodeFlow/c2abb5253cb286f504faa49583f8112c4a90ca53/src/lib/images/logo_dark.jpg
--------------------------------------------------------------------------------
/src/lib/images/logo_preview.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SikandarJODD/CodeFlow/c2abb5253cb286f504faa49583f8112c4a90ca53/src/lib/images/logo_preview.jpg
--------------------------------------------------------------------------------
/src/lib/images/sveltelogo.svg:
--------------------------------------------------------------------------------
1 | svelte-logo
--------------------------------------------------------------------------------
/src/lib/images/ve.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SikandarJODD/CodeFlow/c2abb5253cb286f504faa49583f8112c4a90ca53/src/lib/images/ve.png
--------------------------------------------------------------------------------
/src/lib/images/version-control.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SikandarJODD/CodeFlow/c2abb5253cb286f504faa49583f8112c4a90ca53/src/lib/images/version-control.png
--------------------------------------------------------------------------------
/src/lib/images/web_logo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SikandarJODD/CodeFlow/c2abb5253cb286f504faa49583f8112c4a90ca53/src/lib/images/web_logo.jpg
--------------------------------------------------------------------------------
/src/lib/learnings/STLTags.svelte:
--------------------------------------------------------------------------------
1 |
9 |
10 |
11 |
12 | {title}
13 | {desc}
14 |
15 |
16 |
17 | {#each tags as item}
18 | {item.name}
25 | {/each}
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/src/lib/learnings/SidebarTopics.svelte:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
9 |
10 |
11 |
14 | {#each $topicsTitle as subtopic}
15 |
16 | {/each}
17 |
18 |
19 |
--------------------------------------------------------------------------------
/src/lib/learnings/SubTopics.svelte:
--------------------------------------------------------------------------------
1 |
15 |
16 |
17 |
20 |
25 |
26 | {subtopic.name}
27 | {subtopic.desc}
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 | {subtopic.lang}
38 |
39 |
40 |
41 | 20k
42 |
43 |
Updated {subtopic.isupdated}
44 |
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/src/lib/learnings/set/StackPlay.svelte:
--------------------------------------------------------------------------------
1 |
29 |
30 |
31 |
32 |
33 | {`stackv; `}
34 |
35 | v.top():{nums[0].num || ''}
37 |
38 |
39 |
40 |
41 |
44 |
45 | {#each nums as item (item.id)}
46 |
52 | {item.num}
53 |
54 | {:else}
55 | Empty Stack
56 | {/each}
57 |
58 |
59 |
v.size(): {nums.length || '0'}
60 |
61 |
62 |
{
65 | nums = [{ num: Math.floor(Math.random() * 50), id: crypto.randomUUID() }, ...nums];
66 | }}
67 | disabled={disablePush}
68 | >
69 |
70 | Push
72 |
{
76 | nums.shift();
77 | nums = nums;
78 | }}
79 | >
80 | Pop
82 |
83 |
84 |
--------------------------------------------------------------------------------
/src/lib/learnings/topicBadge.svelte:
--------------------------------------------------------------------------------
1 |
4 |
5 | {#if tag === 'easy'}
6 | {tag}
10 | {:else if tag === 'medium'}
11 | {tag}
15 | {:else}
16 | {tag}
20 | {/if}
21 |
--------------------------------------------------------------------------------
/src/lib/learnings/topics-and-tags.ts:
--------------------------------------------------------------------------------
1 | import { writable } from "svelte/store";
2 |
3 | export let alltags = writable([
4 | {
5 | name: 'Home',
6 | link: '/c'
7 | },
8 | {
9 | name: 'C++ Snippets',
10 | link: '/c/snippets'
11 | },
12 | {
13 | name: 'Vector C++',
14 | link: '/c/vector'
15 | },
16 | {
17 | name: 'Set C++',
18 | link: '/c/set'
19 | },
20 | {
21 | name: 'Stack C++',
22 | link: '/c/stack'
23 | },
24 | {
25 | name: 'Map C++',
26 | link: '/c/map'
27 | },
28 | ])
29 | export let allpatterns = writable([
30 | {
31 | name: 'Home',
32 | link: '/pattern'
33 | },
34 | {
35 | name: '0/1 Knapsack',
36 | link: '/pattern/knapsack'
37 | },
38 | ])
39 | export let topicsTitle = writable([
40 | {
41 | name: 'Vector in C++',
42 | desc: 'Deep Dive into Vector C++ and STL Functions',
43 | lang: 'C++',
44 | isupdated: 'Nov 2023',
45 | tag: 'easy',
46 | link: 'c/vector'
47 | },
48 | {
49 | name: 'Set in C++',
50 | desc: 'Deep Dive into Set, Unordered Set, Multi Set',
51 | lang: 'C++',
52 | isupdated: 'Nov 2023',
53 | tag: 'easy',
54 | link: 'c/set'
55 | },
56 | {
57 | name: 'Stack in C++',
58 | desc: 'Deep Dive into Vector C++ and STL Functions',
59 | lang: 'C++',
60 | isupdated: 'Nov 2023',
61 | tag: 'medium',
62 | link: 'c/stack'
63 | },
64 | {
65 | name: 'Map in C++',
66 | desc: 'Deep Dive into Vector C++ and STL Functions',
67 | lang: 'C++',
68 | isupdated: 'Nov 2023',
69 | tag: 'easy',
70 | link: 'c/map'
71 | },
72 |
73 | ])
--------------------------------------------------------------------------------
/src/lib/learnings/vector/Codecopy.svelte:
--------------------------------------------------------------------------------
1 |
13 |
14 | {#each allcodes as { code, name }}
15 |
16 |
17 | {name}
18 |
19 |
20 |
21 | {/each}
22 |
--------------------------------------------------------------------------------
/src/lib/learnings/vector/allQuestion.svelte:
--------------------------------------------------------------------------------
1 |
69 |
70 |
71 |
72 | {#each allques as item}
73 |
74 | {item.title}
75 |
76 |
77 | {#each item.content as que}
78 |
79 | {que.title}
80 |
81 | {/each}
82 |
83 |
84 |
85 | {/each}
86 |
87 |
88 |
--------------------------------------------------------------------------------
/src/lib/learnings/vector/btnCopy.svelte:
--------------------------------------------------------------------------------
1 |
8 |
9 | {
15 | isclicked = true;
16 | setTimeout(() => {
17 | isclicked = false;
18 | }, 1200);
19 | }}
20 | >
21 | {#if isclicked}
22 |
23 | {:else}
24 |
25 | {/if}
26 |
27 |
--------------------------------------------------------------------------------
/src/lib/pattern/DownloadFlow.svelte:
--------------------------------------------------------------------------------
1 |
41 |
42 |
43 |
56 |
57 |
--------------------------------------------------------------------------------
/src/lib/pattern/KnapsackFlow.svelte:
--------------------------------------------------------------------------------
1 |
32 |
33 |
37 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
--------------------------------------------------------------------------------
/src/lib/pattern/bottomBox.svelte:
--------------------------------------------------------------------------------
1 |
13 |
14 |
15 |
22 | {#if Number(sackWeight) === 0}
23 |
24 | Sack Weight : {sackWeight}
25 |
26 | {:else}
27 |
Sack Weight : {sackWeight}
28 | {/if}
29 |
30 |
w :
31 |
32 | {#each w1 as item}
33 |
34 | {item}
35 |
36 | {:else}
37 |
38 | {/each}
39 |
40 |
41 |
42 |
v :
43 |
44 | {#each v as item}
45 |
46 | {item}
47 |
48 | {:else}
49 |
50 | {/each}
51 |
52 |
53 |
54 | {#if id !== '0'}
55 |
56 | {/if}
57 |
58 |
--------------------------------------------------------------------------------
/src/lib/pattern/pBox.svelte:
--------------------------------------------------------------------------------
1 |
13 |
14 |
15 |
16 |
22 | {#if Number(sackWeight) === 0}
23 |
24 | Sack Weight : {sackWeight}
25 |
26 | {:else}
27 |
Sack Weight : {sackWeight}
28 | {/if}
29 |
30 |
w :
31 |
32 | {#each w1 as item}
33 |
34 | {item}
35 |
36 | {:else}
37 |
38 | {/each}
39 |
40 |
41 |
42 |
v :
43 |
44 | {#each v as item}
45 |
46 | {item}
47 |
48 | {:else}
49 |
50 | {/each}
51 |
52 |
53 |
54 |
55 |
56 |
--------------------------------------------------------------------------------
/src/lib/pattern/pattern.css:
--------------------------------------------------------------------------------
1 | /* .svelte-flow__node {
2 | color: black;
3 | background-color: red;
4 | } */
5 | /* .svelte-flow__handle {
6 | height: 1px !important;
7 | width: 20px;
8 | border-radius: 3px;
9 | background: yellow;
10 | } */
11 |
--------------------------------------------------------------------------------
/src/lib/pattern/topBox.svelte:
--------------------------------------------------------------------------------
1 |
13 |
14 |
15 |
16 |
23 | {#if Number(sackWeight) === 0}
24 |
25 | Sack Weight : {sackWeight}
26 |
27 | {:else}
28 |
Sack Weight : {sackWeight}
29 | {/if}
30 |
31 |
w :
32 |
33 | {#each w1 as item}
34 |
35 | {item}
36 |
37 | {:else}
38 |
39 | {/each}
40 |
41 |
42 |
43 |
v :
44 |
45 | {#each v as item}
46 |
47 | {item}
48 |
49 | {:else}
50 |
51 | {/each}
52 |
53 |
54 |
55 |
56 |
--------------------------------------------------------------------------------
/src/lib/practice/queStatus.svelte:
--------------------------------------------------------------------------------
1 |
21 |
22 | changeStatus(i)} />
23 |
--------------------------------------------------------------------------------
/src/lib/practice/tagsSidebar.svelte:
--------------------------------------------------------------------------------
1 |
30 |
31 |
32 |
33 | Question Tags
34 | Choose Questions Accordingly
35 |
36 |
37 |
38 | {#each allTags as item}
39 | filterTopic(item.toLowerCase())}
42 | variant="outline"
43 | class="px-3 py-2 bg-gray-900 text-white dark:hover:bg-gray-800/80 dark:bg-gray-900/40 dark:focus:bg-white dark:focus:text-black"
44 | >{item}
46 | {/each}
47 |
48 |
49 |
50 |
--------------------------------------------------------------------------------
/src/lib/style.css:
--------------------------------------------------------------------------------
1 | .svelte-flow__edge .svelte-flow__edge-path {
2 | stroke-width: 1.4;
3 | stroke: #296dff;
4 | }
5 |
6 | .svelte-flow__controls button {
7 | background-color: rgb(1, 24, 45);
8 | color: #fff;
9 | border: 1px solid #95679e;
10 | border-bottom: none;
11 | }
12 |
13 | .svelte-flow__controls button:hover {
14 | background-color: rgb(2, 37, 83);
15 | }
16 |
17 | .svelte-flow__controls button:first-child {
18 | border-radius: 5px 5px 0 0;
19 | }
20 |
21 | .svelte-flow__controls button:last-child {
22 | border-bottom: 1px solid #95679e;
23 | border-radius: 0 0 5px 5px;
24 | }
25 |
26 | .svelte-flow__controls button path {
27 | fill: #fff;
28 | }
29 |
30 | .svelte-flow__attribution {
31 | display: none;
32 | }
33 | /*
34 | .svelte-flow__handle.source {
35 | all: none;
36 | } */
37 |
38 | /* .svelte-flow__handle.target {
39 | all: unset;
40 | left: 50%;
41 | } */
42 |
--------------------------------------------------------------------------------
/src/lib/utils.ts:
--------------------------------------------------------------------------------
1 | import { type ClassValue, clsx } from "clsx";
2 | import { twMerge } from "tailwind-merge";
3 | import { cubicOut } from "svelte/easing";
4 | import type { TransitionConfig } from "svelte/transition";
5 |
6 | export function cn(...inputs: ClassValue[]) {
7 | return twMerge(clsx(inputs));
8 | }
9 |
10 | type FlyAndScaleParams = {
11 | y?: number;
12 | x?: number;
13 | start?: number;
14 | duration?: number;
15 | };
16 |
17 | export const flyAndScale = (
18 | node: Element,
19 | params: FlyAndScaleParams = { y: -8, x: 0, start: 0.95, duration: 150 }
20 | ): TransitionConfig => {
21 | const style = getComputedStyle(node);
22 | const transform = style.transform === "none" ? "" : style.transform;
23 |
24 | const scaleConversion = (
25 | valueA: number,
26 | scaleA: [number, number],
27 | scaleB: [number, number]
28 | ) => {
29 | const [minA, maxA] = scaleA;
30 | const [minB, maxB] = scaleB;
31 |
32 | const percentage = (valueA - minA) / (maxA - minA);
33 | const valueB = percentage * (maxB - minB) + minB;
34 |
35 | return valueB;
36 | };
37 |
38 | const styleToString = (
39 | style: Record
40 | ): string => {
41 | return Object.keys(style).reduce((str, key) => {
42 | if (style[key] === undefined) return str;
43 | return str + `${key}:${style[key]};`;
44 | }, "");
45 | };
46 |
47 | return {
48 | duration: params.duration ?? 200,
49 | delay: 0,
50 | css: (t) => {
51 | const y = scaleConversion(t, [0, 1], [params.y ?? 5, 0]);
52 | const x = scaleConversion(t, [0, 1], [params.x ?? 0, 0]);
53 | const scale = scaleConversion(t, [0, 1], [params.start ?? 0.95, 1]);
54 |
55 | return styleToString({
56 | transform: `${transform} translate3d(${x}px, ${y}px, 0) scale(${scale})`,
57 | opacity: t
58 | });
59 | },
60 | easing: cubicOut
61 | };
62 | };
63 |
64 |
--------------------------------------------------------------------------------
/src/routes/+layout.svelte:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 |
13 | {#if routeID[1] === 'c' || routeID[1] === 'pattern'}
14 |
15 |
16 |
17 | {:else}
18 | {#key routeID}
19 |
20 |
21 |
22 | {/key}
23 | {/if}
24 |
--------------------------------------------------------------------------------
/src/routes/+page.svelte:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 | Code Flow
10 |
11 |
12 |
13 |
14 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/src/routes/c/+layout.svelte:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
10 |
11 |
12 | {#key routeID}
13 |
17 |
18 |
19 | {/key}
20 |
21 |
22 |
--------------------------------------------------------------------------------
/src/routes/c/+page.svelte:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 | {#each $topicsTitle as subtopic}
8 |
9 | {/each}
10 |
11 |
--------------------------------------------------------------------------------
/src/routes/c/vector/+page.svelte:
--------------------------------------------------------------------------------
1 |
32 |
33 |
34 | Vector in C++
35 |
36 |
37 |
38 |
39 |
43 |
44 |
45 |
Vector in C++
46 |
47 |
48 | Vectors are the same as dynamic arrays with the ability to resize itself automatically when an
49 | element is inserted or deleted, with their storage being handled automatically by the
50 | container.
51 |
52 |
53 | Vector elements are placed in contiguous storage so that they can be accessed and traversed
54 | using iterators.
55 |
56 |
57 |
58 |
59 |
60 |
61 |
Code
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
Solve Questions
70 |
71 |
72 |
73 |
--------------------------------------------------------------------------------
/src/routes/databases/+page.svelte:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 | Backend Guide
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/src/routes/databases/concept/+page.svelte:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 | Codeflow - Backend Tools
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/src/routes/databases/d/+page.svelte:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 | Codeflow - FullStack Frameworks
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/src/routes/databases/tools/+page.svelte:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 | Codeflow - Backend Tools
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/src/routes/fullstack/+page.svelte:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 | Full Stack
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/src/routes/fullstack/concepts/+layout.svelte:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
12 | {#key routeID}
13 |
21 | {/key}
22 |
23 |
--------------------------------------------------------------------------------
/src/routes/fullstack/concepts/+page.svelte:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 | Full Stack Concepts
8 |
9 |
10 |
11 |
12 | {#each $conceptsTitle as subtopic}
13 |
14 | {/each}
15 |
16 |
--------------------------------------------------------------------------------
/src/routes/fullstack/concepts/client-caching/+page.svelte:
--------------------------------------------------------------------------------
1 | Caching is fun
2 | - currently building
3 |
--------------------------------------------------------------------------------
/src/routes/fullstack/concepts/flex-vs-grid/+page.svelte:
--------------------------------------------------------------------------------
1 | Flex vs grid - currently building
2 |
--------------------------------------------------------------------------------
/src/routes/fullstack/concepts/form-submission/+page.server.ts:
--------------------------------------------------------------------------------
1 | import type { Actions } from "./$types";
2 |
3 | export const actions: Actions = {
4 | defualt: async ({ request }) => {
5 | let form = await request.formData();
6 | console.log(form) // Form Data
7 | }
8 | };
--------------------------------------------------------------------------------
/src/routes/fullstack/concepts/form-submission/+page.svelte:
--------------------------------------------------------------------------------
1 |
40 |
41 | Simple Form Submission using Svelte
42 |
43 | Form submission on the web typically involves sending data from a web form to a server for
44 | processing. Here's a basic overview of how form submission works
45 |
46 | Basic working of Form
47 |
48 | Creating the Form
49 | User Input
50 | Submitting the Form
51 | Sending the Request
52 | Processigng on the Server
53 | Response from the Server
54 | Displaying the Response
55 |
56 |
57 | In summary, form submission involves creating an HTML form, collecting user input, sending the
58 | data to a server via an HTTP POST request, processing the data on the server, and then responding
59 | to the client's request with the appropriate content
60 |
61 |
62 |
69 |
70 | Form submission at Server Side +page.server.ts
File
71 |
72 |
79 |
80 |
81 | 6. Response from the Server : After processing the form data, the server typically
82 | sends back a response to the client (browser). This response might be a new web page, a
83 | confirmation message, or any other content determined by the server-side processing.
84 |
85 | 7. Displaying the Response : The browser receives the response from the server and
86 | displays it to the user. This might involve loading a new page, updating parts of the current page
87 | dynamically (using AJAX), or displaying a pop-up message.
88 |
89 |
--------------------------------------------------------------------------------
/src/routes/fullstack/frameworks/+page.svelte:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 | Codeflow - FullStack Frameworks
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/src/routes/fullstack/interview/+layout.svelte:
--------------------------------------------------------------------------------
1 |
8 |
9 |
10 |
13 | {#key routeID}
14 |
18 |
19 |
20 | {/key}
21 |
22 |
--------------------------------------------------------------------------------
/src/routes/fullstack/interview/+page.svelte:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 | Codeflow - Interview Questions
8 |
9 |
10 |
11 |
12 | {#each $interviewTitle as subtopic}
13 |
14 | {/each}
15 |
16 |
--------------------------------------------------------------------------------
/src/routes/fullstack/interview/sign-up-form/+page.svelte:
--------------------------------------------------------------------------------
1 |
52 |
53 | Sign-up form using Sveltekit
54 | Inverview Question : Create a Sign Up Form using Sveltekit
55 |
56 | Interview questions on sign-up forms are common in full-stack developer interviews. This is
57 | because sign-up forms are a common feature in web applications. In this article, we will discuss
58 | how to create a sign-up form using Sveltekit.
59 |
60 |
61 | Sign up forms includes username, email, password and any other information that is required to
62 | create an account. Here's a basic overview of how form submission works
63 |
64 |
65 |
72 |
73 | Form submission at Server Side +page.server.ts
File
74 |
75 |
82 |
83 |
--------------------------------------------------------------------------------
/src/routes/pattern/+layout.svelte:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 |
13 |
14 |
15 | {#key routeID}
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 | {/key}
24 |
25 |
--------------------------------------------------------------------------------
/src/routes/pattern/+page.svelte:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 | {#each $topicsTitle as subtopic}
8 |
9 | {/each}
10 |
11 |
--------------------------------------------------------------------------------
/src/routes/pattern/knapsack/+page.svelte:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
8 |
9 | 0/1 KnapSack
10 |
11 |
12 |
13 | Given N items where each item has some weight and profit associated with it and also given a
14 | bag with capacity W. The task is to put the items into the bag such that the sum of profits
15 | associated with them is the maximum possible
16 |
17 |
18 |
19 |
20 |
21 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/src/routes/practice/+page.server.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SikandarJODD/CodeFlow/c2abb5253cb286f504faa49583f8112c4a90ca53/src/routes/practice/+page.server.ts
--------------------------------------------------------------------------------
/src/routes/practice/+page.svelte:
--------------------------------------------------------------------------------
1 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/src/routes/roadmap/dsa/+page.svelte:
--------------------------------------------------------------------------------
1 |
8 |
9 |
10 | DSA Roadmap
11 |
12 |
13 |
14 |
15 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/src/routes/roadmap/knapsack/+page.svelte:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/routes/roadmap/stl/+page.svelte:
--------------------------------------------------------------------------------
1 |
8 |
9 |
10 | STL Roadmap
11 |
12 |
13 |
14 |
15 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/src/routes/roadmap/svelte/+page.svelte:
--------------------------------------------------------------------------------
1 |
3 |
4 | Hello Svelte Coders
5 |
--------------------------------------------------------------------------------
/static/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SikandarJODD/CodeFlow/c2abb5253cb286f504faa49583f8112c4a90ca53/static/favicon.png
--------------------------------------------------------------------------------
/static/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SikandarJODD/CodeFlow/c2abb5253cb286f504faa49583f8112c4a90ca53/static/logo.png
--------------------------------------------------------------------------------
/static/logo_code.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SikandarJODD/CodeFlow/c2abb5253cb286f504faa49583f8112c4a90ca53/static/logo_code.png
--------------------------------------------------------------------------------
/static/logo_preview.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SikandarJODD/CodeFlow/c2abb5253cb286f504faa49583f8112c4a90ca53/static/logo_preview.jpg
--------------------------------------------------------------------------------
/static/web_logo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SikandarJODD/CodeFlow/c2abb5253cb286f504faa49583f8112c4a90ca53/static/web_logo.jpg
--------------------------------------------------------------------------------
/svelte.config.js:
--------------------------------------------------------------------------------
1 | import adapter from '@sveltejs/adapter-auto';
2 | import { vitePreprocess } from '@sveltejs/kit/vite';
3 |
4 | /** @type {import('@sveltejs/kit').Config} */
5 | const config = {
6 | preprocess: [vitePreprocess()],
7 |
8 | kit: {
9 | adapter: adapter(),
10 | alias: {
11 | $ui: './src/lib/components/ui',
12 | $lib: './src/lib'
13 | }
14 | },
15 | vitePlugin: {
16 | inspector: true
17 | }
18 | };
19 |
20 | export default config;
21 |
--------------------------------------------------------------------------------
/tailwind.config.js:
--------------------------------------------------------------------------------
1 | import { fontFamily } from 'tailwindcss/defaultTheme';
2 |
3 | /** @type {import('tailwindcss').Config} */
4 | const config = {
5 | darkMode: ['class'],
6 | content: ['./src/**/*.{html,js,svelte,ts}', './node_modules/svhighlight/**/*.svelte'],
7 | safelist: ['dark'],
8 | theme: {
9 | container: {
10 | center: true,
11 | padding: '2rem',
12 | screens: {
13 | '2xl': '1400px'
14 | }
15 | },
16 | extend: {
17 | colors: {
18 | border: 'hsl(var(--border) / )',
19 | input: 'hsl(var(--input) / )',
20 | ring: 'hsl(var(--ring) / )',
21 | background: 'hsl(var(--background) / )',
22 | foreground: 'hsl(var(--foreground) / )',
23 | primary: {
24 | DEFAULT: 'hsl(var(--primary) / )',
25 | foreground: 'hsl(var(--primary-foreground) / )'
26 | },
27 | secondary: {
28 | DEFAULT: 'hsl(var(--secondary) / )',
29 | foreground: 'hsl(var(--secondary-foreground) / )'
30 | },
31 | destructive: {
32 | DEFAULT: 'hsl(var(--destructive) / )',
33 | foreground: 'hsl(var(--destructive-foreground) / )'
34 | },
35 | muted: {
36 | DEFAULT: 'hsl(var(--muted) / )',
37 | foreground: 'hsl(var(--muted-foreground) / )'
38 | },
39 | accent: {
40 | DEFAULT: 'hsl(var(--accent) / )',
41 | foreground: 'hsl(var(--accent-foreground) / )'
42 | },
43 | popover: {
44 | DEFAULT: 'hsl(var(--popover) / )',
45 | foreground: 'hsl(var(--popover-foreground) / )'
46 | },
47 | card: {
48 | DEFAULT: 'hsl(var(--card) / )',
49 | foreground: 'hsl(var(--card-foreground) / )'
50 | }
51 | },
52 | borderRadius: {
53 | lg: 'var(--radius)',
54 | md: 'calc(var(--radius) - 2px)',
55 | sm: 'calc(var(--radius) - 4px)'
56 | },
57 | fontFamily: {
58 | sans: ['Inter var', ...fontFamily.sans]
59 | }
60 | }
61 | },
62 | plugins: [require('@tailwindcss/typography')]
63 | };
64 |
65 | export default config;
66 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./.svelte-kit/tsconfig.json",
3 | "compilerOptions": {
4 | "allowJs": true,
5 | "checkJs": true,
6 | "esModuleInterop": true,
7 | "forceConsistentCasingInFileNames": true,
8 | "resolveJsonModule": true,
9 | "skipLibCheck": true,
10 | "sourceMap": true,
11 | "strict": true
12 | }
13 | // Path aliases are handled by https://kit.svelte.dev/docs/configuration#alias
14 | //
15 | // If you want to overwrite includes/excludes, make sure to copy over the relevant includes/excludes
16 | // from the referenced tsconfig.json - TypeScript does not merge them in
17 | }
18 |
--------------------------------------------------------------------------------
/vite.config.ts:
--------------------------------------------------------------------------------
1 | import { sveltekit } from '@sveltejs/kit/vite';
2 | import { defineConfig } from 'vite';
3 |
4 | export default defineConfig({
5 | plugins: [sveltekit()]
6 | });
7 |
--------------------------------------------------------------------------------