diff --git a/docs/quick-start/_category_.json b/docs/quick-start/_category_.json
new file mode 100644
index 00000000..f4baf7e6
--- /dev/null
+++ b/docs/quick-start/_category_.json
@@ -0,0 +1,9 @@
+{
+ "label": "Quick Start",
+ "position": 10,
+ "link": {
+ "type": "generated-index",
+ "title": "Quick Start",
+ "description": "A quick start video for SQL Account"
+ }
+}
\ No newline at end of file
diff --git a/docs/quick-start/customer/_category_.json b/docs/quick-start/customer/_category_.json
new file mode 100644
index 00000000..69f0462a
--- /dev/null
+++ b/docs/quick-start/customer/_category_.json
@@ -0,0 +1,8 @@
+{
+ "label": "Customer",
+ "position": 3,
+ "link": {
+ "type": "generated-index",
+ "description": "Learn on Customer in SQL Account"
+ }
+}
diff --git a/docs/quick-start/customer/customer-payment/_category_.json b/docs/quick-start/customer/customer-payment/_category_.json
new file mode 100644
index 00000000..d08c031f
--- /dev/null
+++ b/docs/quick-start/customer/customer-payment/_category_.json
@@ -0,0 +1,8 @@
+{
+ "label": "Customer Payment",
+ "position": 2,
+ "link": {
+ "type": "doc",
+ "id": "quick-start/customer/customer-payment/intro"
+ }
+}
diff --git a/docs/quick-start/customer/customer-payment/advanced/_category_.json b/docs/quick-start/customer/customer-payment/advanced/_category_.json
new file mode 100644
index 00000000..4e86909c
--- /dev/null
+++ b/docs/quick-start/customer/customer-payment/advanced/_category_.json
@@ -0,0 +1,7 @@
+{
+ "label": "Advanced",
+ "position": 3,
+ "link": {
+ "slug": "/customer/advanced"
+ }
+}
diff --git a/docs/quick-start/customer/customer-payment/basic/_category_.json b/docs/quick-start/customer/customer-payment/basic/_category_.json
new file mode 100644
index 00000000..b64b4e9c
--- /dev/null
+++ b/docs/quick-start/customer/customer-payment/basic/_category_.json
@@ -0,0 +1,7 @@
+{
+ "label": "Data Entry",
+ "position": 2,
+ "link": {
+ "slug": "/customer/basic"
+ }
+}
diff --git a/docs/quick-start/customer/customer-payment/basic/customer-payment-in-foreign.md b/docs/quick-start/customer/customer-payment/basic/customer-payment-in-foreign.md
new file mode 100644
index 00000000..c4cd5608
--- /dev/null
+++ b/docs/quick-start/customer/customer-payment/basic/customer-payment-in-foreign.md
@@ -0,0 +1,20 @@
+---
+sidebar_position: 2
+title: Create Customer Payment In Foreign Currency
+hide_title: true
+description: How to process customer payment in foreign currency in SQL Accounting
+slug: /quick-start/customer/create-customer-payment-in-foreign-currency
+tags: ["Customer"]
+---
+
+import { VideoPlayer, QRCodeGenerator } from '@site/src/components/custom';
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/quick-start/customer/customer-payment/basic/customer-payment-in-local.md b/docs/quick-start/customer/customer-payment/basic/customer-payment-in-local.md
new file mode 100644
index 00000000..fbad494d
--- /dev/null
+++ b/docs/quick-start/customer/customer-payment/basic/customer-payment-in-local.md
@@ -0,0 +1,18 @@
+---
+sidebar_position: 1
+title: Create Customer Payment In Local Currency
+hide_title: true
+description: How to process customer payment in local currency in SQL Accounting
+slug: /quick-start/customer/create-customer-payment-in-local-currency
+tags: ["Customer"]
+---
+
+import { VideoPlayer, QRCodeGenerator } from '@site/src/components/custom';
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/quick-start/customer/customer-payment/intro.md b/docs/quick-start/customer/customer-payment/intro.md
new file mode 100644
index 00000000..e7b99046
--- /dev/null
+++ b/docs/quick-start/customer/customer-payment/intro.md
@@ -0,0 +1,49 @@
+---
+sidebar_position: 1
+title: Table of contents
+hide_title: true
+slug: /quick-start/customer/customer-payment
+# id: "customer/customer-payment-in-foreign-currency/intro"
+---
+
+
+ 📘 **Data Entry**
+
+
+
+
\ No newline at end of file
diff --git a/docs/quick-start/gl/_category_.json b/docs/quick-start/gl/_category_.json
new file mode 100644
index 00000000..5fb03c50
--- /dev/null
+++ b/docs/quick-start/gl/_category_.json
@@ -0,0 +1,8 @@
+{
+ "label": "GL",
+ "position": 4,
+ "link": {
+ "type": "generated-index",
+ "description": "Learn on General Ledger in SQL Account"
+ }
+}
diff --git a/docs/quick-start/gl/cash-book-entry/_category_.json b/docs/quick-start/gl/cash-book-entry/_category_.json
new file mode 100644
index 00000000..32fc1c49
--- /dev/null
+++ b/docs/quick-start/gl/cash-book-entry/_category_.json
@@ -0,0 +1,8 @@
+{
+ "label": "Cash Book Entry",
+ "position": 2,
+ "link": {
+ "type": "doc",
+ "id": "quick-start/gl/cash-book-entry/intro"
+ }
+}
diff --git a/docs/quick-start/gl/cash-book-entry/advanced/_category_.json b/docs/quick-start/gl/cash-book-entry/advanced/_category_.json
new file mode 100644
index 00000000..6e716263
--- /dev/null
+++ b/docs/quick-start/gl/cash-book-entry/advanced/_category_.json
@@ -0,0 +1,7 @@
+{
+ "label": "Advanced",
+ "position": 3,
+ "link": {
+ "slug": "/gl/advanced"
+ }
+}
diff --git a/docs/quick-start/gl/cash-book-entry/advanced/example.md b/docs/quick-start/gl/cash-book-entry/advanced/example.md
new file mode 100644
index 00000000..dc43f8ce
--- /dev/null
+++ b/docs/quick-start/gl/cash-book-entry/advanced/example.md
@@ -0,0 +1,17 @@
+---
+sidebar_position: 1
+title: Example
+hide_title: true
+description: Edit a invoice in SQL Accounting
+slug: /advanced/example
+# tags: ["Quotation"]
+---
+
+import { VideoPlayer, QRCodeGenerator } from '@site/src/components/custom';
+
+
+
+
\ No newline at end of file
diff --git a/docs/quick-start/gl/cash-book-entry/basic/_category_.json b/docs/quick-start/gl/cash-book-entry/basic/_category_.json
new file mode 100644
index 00000000..a147695d
--- /dev/null
+++ b/docs/quick-start/gl/cash-book-entry/basic/_category_.json
@@ -0,0 +1,7 @@
+{
+ "label": "Data Entry",
+ "position": 2,
+ "link": {
+ "slug": "/gl/basic"
+ }
+}
diff --git a/docs/quick-start/gl/cash-book-entry/basic/official-receipt.md b/docs/quick-start/gl/cash-book-entry/basic/official-receipt.md
new file mode 100644
index 00000000..e93b5b3e
--- /dev/null
+++ b/docs/quick-start/gl/cash-book-entry/basic/official-receipt.md
@@ -0,0 +1,20 @@
+---
+sidebar_position: 2
+title: Create Official Receipt
+hide_title: true
+description: How to create official receipt in SQL Accounting
+slug: /quick-start/gl/create-cash-book-entry-official-receipt
+tags: ["GL"]
+---
+
+
+import { VideoPlayer, QRCodeGenerator } from '@site/src/components/custom';
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/quick-start/gl/cash-book-entry/basic/payment-voucher.md b/docs/quick-start/gl/cash-book-entry/basic/payment-voucher.md
new file mode 100644
index 00000000..59498fe1
--- /dev/null
+++ b/docs/quick-start/gl/cash-book-entry/basic/payment-voucher.md
@@ -0,0 +1,19 @@
+---
+sidebar_position: 1
+title: Create Payment Voucher
+hide_title: true
+description: How to create payment voucher in SQL Accounting
+slug: /quick-start/gl/create-cash-book-entry-payment-voucher
+tags: ["GL"]
+---
+
+
+import { VideoPlayer, QRCodeGenerator } from '@site/src/components/custom';
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/quick-start/gl/cash-book-entry/intro.md b/docs/quick-start/gl/cash-book-entry/intro.md
new file mode 100644
index 00000000..9833821b
--- /dev/null
+++ b/docs/quick-start/gl/cash-book-entry/intro.md
@@ -0,0 +1,49 @@
+---
+sidebar_position: 1
+title: Table of contents
+hide_title: true
+slug: /quick-start/gl/cash-book-entry
+# id: "gl/cash-book-entry-official-receipt/intro"
+---
+
+
+ 📘 **Data Entry**
+
+
+
+
+
+
diff --git a/docs/quick-start/gl/journal-entry/_category_.json b/docs/quick-start/gl/journal-entry/_category_.json
new file mode 100644
index 00000000..a63b00fb
--- /dev/null
+++ b/docs/quick-start/gl/journal-entry/_category_.json
@@ -0,0 +1,8 @@
+{
+ "label": "Journal Entry",
+ "position": 3,
+ "link": {
+ "type": "doc",
+ "id": "quick-start/gl/journal-entry/intro"
+ }
+}
diff --git a/docs/quick-start/gl/journal-entry/advanced/_category_.json b/docs/quick-start/gl/journal-entry/advanced/_category_.json
new file mode 100644
index 00000000..6e716263
--- /dev/null
+++ b/docs/quick-start/gl/journal-entry/advanced/_category_.json
@@ -0,0 +1,7 @@
+{
+ "label": "Advanced",
+ "position": 3,
+ "link": {
+ "slug": "/gl/advanced"
+ }
+}
diff --git a/docs/quick-start/gl/journal-entry/advanced/example.md b/docs/quick-start/gl/journal-entry/advanced/example.md
new file mode 100644
index 00000000..dc43f8ce
--- /dev/null
+++ b/docs/quick-start/gl/journal-entry/advanced/example.md
@@ -0,0 +1,17 @@
+---
+sidebar_position: 1
+title: Example
+hide_title: true
+description: Edit a invoice in SQL Accounting
+slug: /advanced/example
+# tags: ["Quotation"]
+---
+
+import { VideoPlayer, QRCodeGenerator } from '@site/src/components/custom';
+
+
+
+
\ No newline at end of file
diff --git a/docs/quick-start/gl/journal-entry/basic/_category_.json b/docs/quick-start/gl/journal-entry/basic/_category_.json
new file mode 100644
index 00000000..a147695d
--- /dev/null
+++ b/docs/quick-start/gl/journal-entry/basic/_category_.json
@@ -0,0 +1,7 @@
+{
+ "label": "Data Entry",
+ "position": 2,
+ "link": {
+ "slug": "/gl/basic"
+ }
+}
diff --git a/docs/quick-start/gl/journal-entry/basic/journal-entry.md b/docs/quick-start/gl/journal-entry/basic/journal-entry.md
new file mode 100644
index 00000000..62921e3f
--- /dev/null
+++ b/docs/quick-start/gl/journal-entry/basic/journal-entry.md
@@ -0,0 +1,19 @@
+---
+sidebar_position: 3
+title: Create Journal Entry
+hide_title: true
+description: How to create journal entry in SQL Accounting
+slug: /quick-start/gl/create-journal-entry
+tags: ["GL"]
+---
+
+import { VideoPlayer, QRCodeGenerator } from '@site/src/components/custom';
+
+
+
+
+
+
diff --git a/docs/quick-start/gl/journal-entry/intro.md b/docs/quick-start/gl/journal-entry/intro.md
new file mode 100644
index 00000000..09338de1
--- /dev/null
+++ b/docs/quick-start/gl/journal-entry/intro.md
@@ -0,0 +1,40 @@
+---
+sidebar_position: 1
+title: Table of contents
+hide_title: true
+slug: /quick-start/gl/journal-entry
+# id: "gl/journal-entry/intro"
+---
+
+
+ 📘 **Data Entry**
+
+
+
+
+
diff --git a/docs/quick-start/purchase/_category_.json b/docs/quick-start/purchase/_category_.json
new file mode 100644
index 00000000..aa414221
--- /dev/null
+++ b/docs/quick-start/purchase/_category_.json
@@ -0,0 +1,8 @@
+{
+ "label": "Purchase",
+ "position": 2,
+ "link": {
+ "type": "generated-index",
+ "description": "Learn on Purchase in SQL Account"
+ }
+}
diff --git a/docs/quick-start/purchase/cash-purchase/_category_.json b/docs/quick-start/purchase/cash-purchase/_category_.json
new file mode 100644
index 00000000..3086d9c2
--- /dev/null
+++ b/docs/quick-start/purchase/cash-purchase/_category_.json
@@ -0,0 +1,8 @@
+{
+ "label": "Cash Purchase",
+ "position": 5,
+ "link": {
+ "type": "doc",
+ "id": "quick-start/purchase/cash-purchase/intro"
+ }
+}
diff --git a/docs/quick-start/purchase/cash-purchase/advanced/_category_.json b/docs/quick-start/purchase/cash-purchase/advanced/_category_.json
new file mode 100644
index 00000000..f915ee9c
--- /dev/null
+++ b/docs/quick-start/purchase/cash-purchase/advanced/_category_.json
@@ -0,0 +1,7 @@
+{
+ "label": "Advanced",
+ "position": 3,
+ "link": {
+ "slug": "/invoice/advanced"
+ }
+}
diff --git a/docs/quick-start/purchase/cash-purchase/advanced/example.md b/docs/quick-start/purchase/cash-purchase/advanced/example.md
new file mode 100644
index 00000000..dc43f8ce
--- /dev/null
+++ b/docs/quick-start/purchase/cash-purchase/advanced/example.md
@@ -0,0 +1,17 @@
+---
+sidebar_position: 1
+title: Example
+hide_title: true
+description: Edit a invoice in SQL Accounting
+slug: /advanced/example
+# tags: ["Quotation"]
+---
+
+import { VideoPlayer, QRCodeGenerator } from '@site/src/components/custom';
+
+
+
+
\ No newline at end of file
diff --git a/docs/quick-start/purchase/cash-purchase/basic/_category_.json b/docs/quick-start/purchase/cash-purchase/basic/_category_.json
new file mode 100644
index 00000000..41511f87
--- /dev/null
+++ b/docs/quick-start/purchase/cash-purchase/basic/_category_.json
@@ -0,0 +1,7 @@
+{
+ "label": "Data Entry",
+ "position": 2,
+ "link": {
+ "slug": "/invoice/basic"
+ }
+}
diff --git a/docs/quick-start/purchase/cash-purchase/basic/create-cash-purchase.md b/docs/quick-start/purchase/cash-purchase/basic/create-cash-purchase.md
new file mode 100644
index 00000000..2ff98bc6
--- /dev/null
+++ b/docs/quick-start/purchase/cash-purchase/basic/create-cash-purchase.md
@@ -0,0 +1,18 @@
+---
+sidebar_position: 5
+title: Create Cash Purchase
+hide_title: true
+description: How to create cash purchase in SQL Accounting
+slug: /quick-start/purchase/create-cash-purchase
+tags: ["Purchase"]
+---
+
+import { VideoPlayer, QRCodeGenerator } from '@site/src/components/custom';
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/quick-start/purchase/cash-purchase/intro.md b/docs/quick-start/purchase/cash-purchase/intro.md
new file mode 100644
index 00000000..ac5a878c
--- /dev/null
+++ b/docs/quick-start/purchase/cash-purchase/intro.md
@@ -0,0 +1,40 @@
+---
+sidebar_position: 1
+title: Table of contents
+hide_title: true
+slug: /quick-start/purchase/cash-purchase
+# id: "purchase/cash-purchase/intro"
+---
+
+
+ 📘 **Data Entry**
+
+
+
+
+
diff --git a/docs/quick-start/purchase/goods-received/_category_.json b/docs/quick-start/purchase/goods-received/_category_.json
new file mode 100644
index 00000000..edd99f74
--- /dev/null
+++ b/docs/quick-start/purchase/goods-received/_category_.json
@@ -0,0 +1,8 @@
+{
+ "label": "Goods Received",
+ "position": 3,
+ "link": {
+ "type": "doc",
+ "id": "quick-start/purchase/goods-received/intro"
+ }
+}
diff --git a/docs/quick-start/purchase/goods-received/advanced/_category_.json b/docs/quick-start/purchase/goods-received/advanced/_category_.json
new file mode 100644
index 00000000..bb057747
--- /dev/null
+++ b/docs/quick-start/purchase/goods-received/advanced/_category_.json
@@ -0,0 +1,7 @@
+{
+ "label": "Advanced",
+ "position": 3,
+ "link": {
+ "slug": "/invoice/advanced"
+ }
+}
diff --git a/docs/quick-start/purchase/goods-received/advanced/example.md b/docs/quick-start/purchase/goods-received/advanced/example.md
new file mode 100644
index 00000000..dc43f8ce
--- /dev/null
+++ b/docs/quick-start/purchase/goods-received/advanced/example.md
@@ -0,0 +1,17 @@
+---
+sidebar_position: 1
+title: Example
+hide_title: true
+description: Edit a invoice in SQL Accounting
+slug: /advanced/example
+# tags: ["Quotation"]
+---
+
+import { VideoPlayer, QRCodeGenerator } from '@site/src/components/custom';
+
+
+
+
\ No newline at end of file
diff --git a/docs/quick-start/purchase/goods-received/basic/_category_.json b/docs/quick-start/purchase/goods-received/basic/_category_.json
new file mode 100644
index 00000000..41511f87
--- /dev/null
+++ b/docs/quick-start/purchase/goods-received/basic/_category_.json
@@ -0,0 +1,7 @@
+{
+ "label": "Data Entry",
+ "position": 2,
+ "link": {
+ "slug": "/invoice/basic"
+ }
+}
diff --git a/docs/quick-start/purchase/goods-received/basic/create-goods-received.md b/docs/quick-start/purchase/goods-received/basic/create-goods-received.md
new file mode 100644
index 00000000..e1ffb3c3
--- /dev/null
+++ b/docs/quick-start/purchase/goods-received/basic/create-goods-received.md
@@ -0,0 +1,18 @@
+---
+sidebar_position: 3
+title: Create Goods Received
+hide_title: true
+description: How to create goods received in SQL Accounting
+slug: /quick-start/purchase/create-goods-received
+tags: ["Purchase"]
+---
+
+import { VideoPlayer, QRCodeGenerator } from '@site/src/components/custom';
+
+
+
+
+
diff --git a/docs/quick-start/purchase/goods-received/intro.md b/docs/quick-start/purchase/goods-received/intro.md
new file mode 100644
index 00000000..58e65ce5
--- /dev/null
+++ b/docs/quick-start/purchase/goods-received/intro.md
@@ -0,0 +1,40 @@
+---
+sidebar_position: 1
+title: Table of contents
+hide_title: true
+slug: /quick-start/purchase/goods-received
+# id: "purchase/goods-received/intro"
+---
+
+
+ 📘 **Data Entry**
+
+
+
+
+
diff --git a/docs/quick-start/purchase/purchase-cancelled-note/_category_.json b/docs/quick-start/purchase/purchase-cancelled-note/_category_.json
new file mode 100644
index 00000000..591da62f
--- /dev/null
+++ b/docs/quick-start/purchase/purchase-cancelled-note/_category_.json
@@ -0,0 +1,8 @@
+{
+ "label": "Purchase Cancelled Note",
+ "position": 8,
+ "link": {
+ "type": "doc",
+ "id": "quick-start/purchase/purchase-cancelled-note/intro"
+ }
+}
diff --git a/docs/quick-start/purchase/purchase-cancelled-note/advanced/_category_.json b/docs/quick-start/purchase/purchase-cancelled-note/advanced/_category_.json
new file mode 100644
index 00000000..f915ee9c
--- /dev/null
+++ b/docs/quick-start/purchase/purchase-cancelled-note/advanced/_category_.json
@@ -0,0 +1,7 @@
+{
+ "label": "Advanced",
+ "position": 3,
+ "link": {
+ "slug": "/invoice/advanced"
+ }
+}
diff --git a/docs/quick-start/purchase/purchase-cancelled-note/advanced/example.md b/docs/quick-start/purchase/purchase-cancelled-note/advanced/example.md
new file mode 100644
index 00000000..2624837e
--- /dev/null
+++ b/docs/quick-start/purchase/purchase-cancelled-note/advanced/example.md
@@ -0,0 +1,17 @@
+---
+sidebar_position: 1
+title: Example
+hide_title: true
+description: Edit a invoice in SQL Accounting
+slug: /advanced/example
+# tags: ["Quotation"]
+---
+
+import { VideoPlayer, QRCodeGenerator } from '@site/src/components/custom';
+
+
+
+
\ No newline at end of file
diff --git a/docs/quick-start/purchase/purchase-cancelled-note/basic/_category_.json b/docs/quick-start/purchase/purchase-cancelled-note/basic/_category_.json
new file mode 100644
index 00000000..41511f87
--- /dev/null
+++ b/docs/quick-start/purchase/purchase-cancelled-note/basic/_category_.json
@@ -0,0 +1,7 @@
+{
+ "label": "Data Entry",
+ "position": 2,
+ "link": {
+ "slug": "/invoice/basic"
+ }
+}
diff --git a/docs/quick-start/purchase/purchase-cancelled-note/basic/create-purchase-cancelled-note.md b/docs/quick-start/purchase/purchase-cancelled-note/basic/create-purchase-cancelled-note.md
new file mode 100644
index 00000000..88dbdbd3
--- /dev/null
+++ b/docs/quick-start/purchase/purchase-cancelled-note/basic/create-purchase-cancelled-note.md
@@ -0,0 +1,19 @@
+---
+sidebar_position: 8
+title: Create Purchase Cancelled Note
+hide_title: true
+description: How to create purchae cancelled note in SQL Accounting
+slug: /quick-start/purchase/create-purchase-cancelled-note
+tags: ["Purchase"]
+---
+
+import { VideoPlayer, QRCodeGenerator } from '@site/src/components/custom';
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/quick-start/purchase/purchase-cancelled-note/intro.md b/docs/quick-start/purchase/purchase-cancelled-note/intro.md
new file mode 100644
index 00000000..91cae3ad
--- /dev/null
+++ b/docs/quick-start/purchase/purchase-cancelled-note/intro.md
@@ -0,0 +1,40 @@
+---
+sidebar_position: 1
+title: Table of contents
+hide_title: true
+slug: /quick-start/purchase/purchase-cancelled-note
+# id : purchase/purchase-cancelled-note/intro
+---
+
+
+ 📘 **Data Entry**
+
+
+
+
+
diff --git a/docs/quick-start/purchase/purchase-debit-note/_category_.json b/docs/quick-start/purchase/purchase-debit-note/_category_.json
new file mode 100644
index 00000000..521e507d
--- /dev/null
+++ b/docs/quick-start/purchase/purchase-debit-note/_category_.json
@@ -0,0 +1,8 @@
+{
+ "label": "Purchase Debit Note",
+ "position": 6,
+ "link": {
+ "type": "doc",
+ "id": "quick-start/purchase/purchase-debit-note/intro"
+ }
+}
diff --git a/docs/quick-start/purchase/purchase-debit-note/advanced/_category_.json b/docs/quick-start/purchase/purchase-debit-note/advanced/_category_.json
new file mode 100644
index 00000000..f915ee9c
--- /dev/null
+++ b/docs/quick-start/purchase/purchase-debit-note/advanced/_category_.json
@@ -0,0 +1,7 @@
+{
+ "label": "Advanced",
+ "position": 3,
+ "link": {
+ "slug": "/invoice/advanced"
+ }
+}
diff --git a/docs/quick-start/purchase/purchase-debit-note/advanced/example.md b/docs/quick-start/purchase/purchase-debit-note/advanced/example.md
new file mode 100644
index 00000000..dc43f8ce
--- /dev/null
+++ b/docs/quick-start/purchase/purchase-debit-note/advanced/example.md
@@ -0,0 +1,17 @@
+---
+sidebar_position: 1
+title: Example
+hide_title: true
+description: Edit a invoice in SQL Accounting
+slug: /advanced/example
+# tags: ["Quotation"]
+---
+
+import { VideoPlayer, QRCodeGenerator } from '@site/src/components/custom';
+
+
+
+
\ No newline at end of file
diff --git a/docs/quick-start/purchase/purchase-debit-note/basic/_category_.json b/docs/quick-start/purchase/purchase-debit-note/basic/_category_.json
new file mode 100644
index 00000000..41511f87
--- /dev/null
+++ b/docs/quick-start/purchase/purchase-debit-note/basic/_category_.json
@@ -0,0 +1,7 @@
+{
+ "label": "Data Entry",
+ "position": 2,
+ "link": {
+ "slug": "/invoice/basic"
+ }
+}
diff --git a/docs/quick-start/purchase/purchase-debit-note/basic/create-purchase-debit-note.md b/docs/quick-start/purchase/purchase-debit-note/basic/create-purchase-debit-note.md
new file mode 100644
index 00000000..4edfe946
--- /dev/null
+++ b/docs/quick-start/purchase/purchase-debit-note/basic/create-purchase-debit-note.md
@@ -0,0 +1,19 @@
+---
+sidebar_position: 6
+title: Create Purchase Debit Note
+hide_title: true
+description: How to create purchase debit note in SQL Accounting
+slug: /quick-start/purchase/create-purchase-debit-note
+tags: ["Purchase"]
+---
+
+import { VideoPlayer, QRCodeGenerator } from '@site/src/components/custom';
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/quick-start/purchase/purchase-debit-note/intro.md b/docs/quick-start/purchase/purchase-debit-note/intro.md
new file mode 100644
index 00000000..65713eff
--- /dev/null
+++ b/docs/quick-start/purchase/purchase-debit-note/intro.md
@@ -0,0 +1,41 @@
+---
+sidebar_position: 1
+title: Table of contents
+hide_title: true
+slug: /quick-start/purchase/purchase-debit-note
+# id : purchase/purchase-debit-note/intro
+---
+
+
+ 📘 **Data Entry**
+
+
+
+
+
diff --git a/docs/quick-start/purchase/purchase-invoice/_category_.json b/docs/quick-start/purchase/purchase-invoice/_category_.json
new file mode 100644
index 00000000..cf3c8d33
--- /dev/null
+++ b/docs/quick-start/purchase/purchase-invoice/_category_.json
@@ -0,0 +1,8 @@
+{
+ "label": "Purchase Invoice",
+ "position": 4,
+ "link": {
+ "type": "doc",
+ "id": "quick-start/purchase/purchase-invoice/intro"
+ }
+}
diff --git a/docs/quick-start/purchase/purchase-invoice/advanced/_category_.json b/docs/quick-start/purchase/purchase-invoice/advanced/_category_.json
new file mode 100644
index 00000000..f915ee9c
--- /dev/null
+++ b/docs/quick-start/purchase/purchase-invoice/advanced/_category_.json
@@ -0,0 +1,7 @@
+{
+ "label": "Advanced",
+ "position": 3,
+ "link": {
+ "slug": "/invoice/advanced"
+ }
+}
diff --git a/docs/quick-start/purchase/purchase-invoice/advanced/example.md b/docs/quick-start/purchase/purchase-invoice/advanced/example.md
new file mode 100644
index 00000000..58857d68
--- /dev/null
+++ b/docs/quick-start/purchase/purchase-invoice/advanced/example.md
@@ -0,0 +1,17 @@
+---
+sidebar_position: 1
+title: Example
+hide_title: true
+description: Edit a invoice in SQL Accounting
+slug: /advanced/example
+# tags: ["Quotation"]
+---
+
+import { VideoPlayer, QRCodeGenerator } from '@site/src/components/custom';
+
+
+
+
\ No newline at end of file
diff --git a/docs/quick-start/purchase/purchase-invoice/basic/_category_.json b/docs/quick-start/purchase/purchase-invoice/basic/_category_.json
new file mode 100644
index 00000000..41511f87
--- /dev/null
+++ b/docs/quick-start/purchase/purchase-invoice/basic/_category_.json
@@ -0,0 +1,7 @@
+{
+ "label": "Data Entry",
+ "position": 2,
+ "link": {
+ "slug": "/invoice/basic"
+ }
+}
diff --git a/docs/quick-start/purchase/purchase-invoice/basic/purchase-invoice.md b/docs/quick-start/purchase/purchase-invoice/basic/purchase-invoice.md
new file mode 100644
index 00000000..56b5bd11
--- /dev/null
+++ b/docs/quick-start/purchase/purchase-invoice/basic/purchase-invoice.md
@@ -0,0 +1,19 @@
+---
+sidebar_position: 4
+title: Create Purchase Invoice
+hide_title: true
+description: How to create purchase invoice in SQL Accounting
+slug: /quick-start/purchase/create-purchase-invoice
+tags: ["Purchase"]
+---
+
+import { VideoPlayer, QRCodeGenerator } from '@site/src/components/custom';
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/quick-start/purchase/purchase-invoice/intro.md b/docs/quick-start/purchase/purchase-invoice/intro.md
new file mode 100644
index 00000000..083bb650
--- /dev/null
+++ b/docs/quick-start/purchase/purchase-invoice/intro.md
@@ -0,0 +1,40 @@
+---
+sidebar_position: 1
+title: Table of contents
+hide_title: true
+slug: /quick-start/purchase/purchase-invoice
+# id : purchase/purchase-invoice/intro
+---
+
+
+ 📘 **Data Entry**
+
+
+
+
+
diff --git a/docs/quick-start/purchase/purchase-order/_category_.json b/docs/quick-start/purchase/purchase-order/_category_.json
new file mode 100644
index 00000000..414dabed
--- /dev/null
+++ b/docs/quick-start/purchase/purchase-order/_category_.json
@@ -0,0 +1,8 @@
+{
+ "label": "Purchase Order",
+ "position": 2,
+ "link": {
+ "type": "doc",
+ "id": "quick-start/purchase/purchase-order/intro"
+ }
+}
diff --git a/docs/quick-start/purchase/purchase-order/advanced/_category_.json b/docs/quick-start/purchase/purchase-order/advanced/_category_.json
new file mode 100644
index 00000000..f915ee9c
--- /dev/null
+++ b/docs/quick-start/purchase/purchase-order/advanced/_category_.json
@@ -0,0 +1,7 @@
+{
+ "label": "Advanced",
+ "position": 3,
+ "link": {
+ "slug": "/invoice/advanced"
+ }
+}
diff --git a/docs/quick-start/purchase/purchase-order/advanced/example.md b/docs/quick-start/purchase/purchase-order/advanced/example.md
new file mode 100644
index 00000000..dc43f8ce
--- /dev/null
+++ b/docs/quick-start/purchase/purchase-order/advanced/example.md
@@ -0,0 +1,17 @@
+---
+sidebar_position: 1
+title: Example
+hide_title: true
+description: Edit a invoice in SQL Accounting
+slug: /advanced/example
+# tags: ["Quotation"]
+---
+
+import { VideoPlayer, QRCodeGenerator } from '@site/src/components/custom';
+
+
+
+
\ No newline at end of file
diff --git a/docs/quick-start/purchase/purchase-order/basic/_category_.json b/docs/quick-start/purchase/purchase-order/basic/_category_.json
new file mode 100644
index 00000000..41511f87
--- /dev/null
+++ b/docs/quick-start/purchase/purchase-order/basic/_category_.json
@@ -0,0 +1,7 @@
+{
+ "label": "Data Entry",
+ "position": 2,
+ "link": {
+ "slug": "/invoice/basic"
+ }
+}
diff --git a/docs/quick-start/purchase/purchase-order/basic/create-purchase-order.md b/docs/quick-start/purchase/purchase-order/basic/create-purchase-order.md
new file mode 100644
index 00000000..d9f38961
--- /dev/null
+++ b/docs/quick-start/purchase/purchase-order/basic/create-purchase-order.md
@@ -0,0 +1,19 @@
+---
+sidebar_position: 2
+title: Create Purchase Order
+hide_title: true
+description: How to create purchase order in SQL Accounting
+slug: /quick-start/purchase/create-purchase-order
+tags: ["Purchase"]
+---
+
+import { VideoPlayer, QRCodeGenerator } from '@site/src/components/custom';
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/quick-start/purchase/purchase-order/intro.md b/docs/quick-start/purchase/purchase-order/intro.md
new file mode 100644
index 00000000..52d844dd
--- /dev/null
+++ b/docs/quick-start/purchase/purchase-order/intro.md
@@ -0,0 +1,40 @@
+---
+sidebar_position: 1
+title: Table of contents
+hide_title: true
+slug: /quick-start/purchase/purchase-order
+# id: purchase/purchase-order/intro
+---
+
+
+ 📘 **Data Entry**
+
+
+
+
+
diff --git a/docs/quick-start/purchase/purchase-request/_category_.json b/docs/quick-start/purchase/purchase-request/_category_.json
new file mode 100644
index 00000000..0e0449c4
--- /dev/null
+++ b/docs/quick-start/purchase/purchase-request/_category_.json
@@ -0,0 +1,8 @@
+{
+ "label": "Purchase Request",
+ "position": 1,
+ "link": {
+ "type": "doc",
+ "id": "quick-start/purchase/purchase-request/intro"
+ }
+}
diff --git a/docs/quick-start/purchase/purchase-request/advanced/_category_.json b/docs/quick-start/purchase/purchase-request/advanced/_category_.json
new file mode 100644
index 00000000..f915ee9c
--- /dev/null
+++ b/docs/quick-start/purchase/purchase-request/advanced/_category_.json
@@ -0,0 +1,7 @@
+{
+ "label": "Advanced",
+ "position": 3,
+ "link": {
+ "slug": "/invoice/advanced"
+ }
+}
diff --git a/docs/quick-start/purchase/purchase-request/advanced/example.md b/docs/quick-start/purchase/purchase-request/advanced/example.md
new file mode 100644
index 00000000..dc43f8ce
--- /dev/null
+++ b/docs/quick-start/purchase/purchase-request/advanced/example.md
@@ -0,0 +1,17 @@
+---
+sidebar_position: 1
+title: Example
+hide_title: true
+description: Edit a invoice in SQL Accounting
+slug: /advanced/example
+# tags: ["Quotation"]
+---
+
+import { VideoPlayer, QRCodeGenerator } from '@site/src/components/custom';
+
+
+
+
\ No newline at end of file
diff --git a/docs/quick-start/purchase/purchase-request/basic/_category_.json b/docs/quick-start/purchase/purchase-request/basic/_category_.json
new file mode 100644
index 00000000..41511f87
--- /dev/null
+++ b/docs/quick-start/purchase/purchase-request/basic/_category_.json
@@ -0,0 +1,7 @@
+{
+ "label": "Data Entry",
+ "position": 2,
+ "link": {
+ "slug": "/invoice/basic"
+ }
+}
diff --git a/docs/quick-start/purchase/purchase-request/basic/create-purchase-request.md b/docs/quick-start/purchase/purchase-request/basic/create-purchase-request.md
new file mode 100644
index 00000000..a4a035cd
--- /dev/null
+++ b/docs/quick-start/purchase/purchase-request/basic/create-purchase-request.md
@@ -0,0 +1,19 @@
+---
+sidebar_position: 2
+title: Create Purchase Request
+hide_title: true
+description: How to create purchase request in SQL Accounting
+slug: /quick-start/purchase/create-purchase-request
+tags: ["Purchase"]
+---
+
+import { VideoPlayer, QRCodeGenerator } from '@site/src/components/custom';
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/quick-start/purchase/purchase-request/intro.md b/docs/quick-start/purchase/purchase-request/intro.md
new file mode 100644
index 00000000..b09620f6
--- /dev/null
+++ b/docs/quick-start/purchase/purchase-request/intro.md
@@ -0,0 +1,40 @@
+---
+sidebar_position: 1
+title: Table of contents
+hide_title: true
+slug: /quick-start/purchase/purchase-request
+# id: purchase/purchase-request/intro
+---
+
+
+ 📘 **Data Entry**
+
+
+
+
+
diff --git a/docs/quick-start/purchase/purchase-returned/_category_.json b/docs/quick-start/purchase/purchase-returned/_category_.json
new file mode 100644
index 00000000..ce79e534
--- /dev/null
+++ b/docs/quick-start/purchase/purchase-returned/_category_.json
@@ -0,0 +1,8 @@
+{
+ "label": "Purchase Returned",
+ "position": 7,
+ "link": {
+ "type": "doc",
+ "id": "quick-start/purchase/purchase-returned/intro"
+ }
+}
diff --git a/docs/quick-start/purchase/purchase-returned/advanced/_category_.json b/docs/quick-start/purchase/purchase-returned/advanced/_category_.json
new file mode 100644
index 00000000..f915ee9c
--- /dev/null
+++ b/docs/quick-start/purchase/purchase-returned/advanced/_category_.json
@@ -0,0 +1,7 @@
+{
+ "label": "Advanced",
+ "position": 3,
+ "link": {
+ "slug": "/invoice/advanced"
+ }
+}
diff --git a/docs/quick-start/purchase/purchase-returned/advanced/example.md b/docs/quick-start/purchase/purchase-returned/advanced/example.md
new file mode 100644
index 00000000..dc43f8ce
--- /dev/null
+++ b/docs/quick-start/purchase/purchase-returned/advanced/example.md
@@ -0,0 +1,17 @@
+---
+sidebar_position: 1
+title: Example
+hide_title: true
+description: Edit a invoice in SQL Accounting
+slug: /advanced/example
+# tags: ["Quotation"]
+---
+
+import { VideoPlayer, QRCodeGenerator } from '@site/src/components/custom';
+
+
+
+
\ No newline at end of file
diff --git a/docs/quick-start/purchase/purchase-returned/basic/_category_.json b/docs/quick-start/purchase/purchase-returned/basic/_category_.json
new file mode 100644
index 00000000..41511f87
--- /dev/null
+++ b/docs/quick-start/purchase/purchase-returned/basic/_category_.json
@@ -0,0 +1,7 @@
+{
+ "label": "Data Entry",
+ "position": 2,
+ "link": {
+ "slug": "/invoice/basic"
+ }
+}
diff --git a/docs/quick-start/purchase/purchase-returned/basic/create-purchase-returned.md b/docs/quick-start/purchase/purchase-returned/basic/create-purchase-returned.md
new file mode 100644
index 00000000..51abdb14
--- /dev/null
+++ b/docs/quick-start/purchase/purchase-returned/basic/create-purchase-returned.md
@@ -0,0 +1,19 @@
+---
+sidebar_position: 7
+title: Create Purchase Returned
+hide_title: true
+description: How to create purchase returned in SQL Accounting
+slug: /quick-start/purchase/create-purchase-returned
+tags: ["Purchase"]
+---
+
+import { VideoPlayer, QRCodeGenerator } from '@site/src/components/custom';
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/quick-start/purchase/purchase-returned/intro.md b/docs/quick-start/purchase/purchase-returned/intro.md
new file mode 100644
index 00000000..1f7f5a12
--- /dev/null
+++ b/docs/quick-start/purchase/purchase-returned/intro.md
@@ -0,0 +1,39 @@
+---
+sidebar_position: 1
+title: Table of contents
+hide_title: true
+slug: /quick-start/purchase/purchase-returned
+# id: purchase/purchase-returned/intro
+---
+
+
+ 📘 **Data Entry**
+
+
+
+
diff --git a/docs/quick-start/sales/_category_.json b/docs/quick-start/sales/_category_.json
new file mode 100644
index 00000000..360ebd34
--- /dev/null
+++ b/docs/quick-start/sales/_category_.json
@@ -0,0 +1,8 @@
+{
+ "label": "Sales",
+ "position": 1,
+ "link": {
+ "type": "generated-index",
+ "description": "Learn on Sales in SQL Account"
+ }
+}
diff --git a/docs/quick-start/sales/cash-sales/_category_.json b/docs/quick-start/sales/cash-sales/_category_.json
new file mode 100644
index 00000000..c6bd12c0
--- /dev/null
+++ b/docs/quick-start/sales/cash-sales/_category_.json
@@ -0,0 +1,8 @@
+{
+ "label": "Cash Sales",
+ "position": 5,
+ "link": {
+ "type": "doc",
+ "id": "quick-start/sales/cash-sales/intro"
+ }
+}
diff --git a/docs/quick-start/sales/cash-sales/advanced/_category_.json b/docs/quick-start/sales/cash-sales/advanced/_category_.json
new file mode 100644
index 00000000..4da93d5a
--- /dev/null
+++ b/docs/quick-start/sales/cash-sales/advanced/_category_.json
@@ -0,0 +1,7 @@
+{
+ "label": "Advanced",
+ "position": 3,
+ "link": {
+ "slug": "/sales/advanced"
+ }
+}
diff --git a/docs/quick-start/sales/cash-sales/basic/_category_.json b/docs/quick-start/sales/cash-sales/basic/_category_.json
new file mode 100644
index 00000000..9512ef7d
--- /dev/null
+++ b/docs/quick-start/sales/cash-sales/basic/_category_.json
@@ -0,0 +1,7 @@
+{
+ "label": "Data Entry",
+ "position": 2,
+ "link": {
+ "slug": "/sales/basic"
+ }
+}
diff --git a/docs/quick-start/sales/cash-sales/basic/create-cash-sales.md b/docs/quick-start/sales/cash-sales/basic/create-cash-sales.md
new file mode 100644
index 00000000..aadb1a30
--- /dev/null
+++ b/docs/quick-start/sales/cash-sales/basic/create-cash-sales.md
@@ -0,0 +1,20 @@
+---
+sidebar_position: 2
+title: Create Cash Sales
+hide_title: true
+description: How to create cash sales in SQL Accounting
+slug: /quick-start/sales/create-cash-sales
+tags: ["Sales"]
+---
+
+
+import { VideoPlayer, QRCodeGenerator } from '@site/src/components/custom';
+
+
+
+
+
+
diff --git a/docs/quick-start/sales/cash-sales/intro.md b/docs/quick-start/sales/cash-sales/intro.md
new file mode 100644
index 00000000..15d66854
--- /dev/null
+++ b/docs/quick-start/sales/cash-sales/intro.md
@@ -0,0 +1,40 @@
+---
+sidebar_position: 1
+title: Table of contents
+hide_title: true
+slug: /quick-start/sales/cash-sales
+# id: sales/cash-sales/intro
+---
+
+
+ 📘 **Data Entry**
+
+
+
+
\ No newline at end of file
diff --git a/docs/quick-start/sales/sales-cancelled-note/_category_.json b/docs/quick-start/sales/sales-cancelled-note/_category_.json
new file mode 100644
index 00000000..4be3e813
--- /dev/null
+++ b/docs/quick-start/sales/sales-cancelled-note/_category_.json
@@ -0,0 +1,8 @@
+{
+ "label": "Sales Cancelled Note",
+ "position": 8,
+ "link": {
+ "type": "doc",
+ "id": "quick-start/sales/sales-cancelled-note/intro"
+ }
+}
diff --git a/docs/quick-start/sales/sales-cancelled-note/advanced/_category_.json b/docs/quick-start/sales/sales-cancelled-note/advanced/_category_.json
new file mode 100644
index 00000000..4da93d5a
--- /dev/null
+++ b/docs/quick-start/sales/sales-cancelled-note/advanced/_category_.json
@@ -0,0 +1,7 @@
+{
+ "label": "Advanced",
+ "position": 3,
+ "link": {
+ "slug": "/sales/advanced"
+ }
+}
diff --git a/docs/quick-start/sales/sales-cancelled-note/basic/_category_.json b/docs/quick-start/sales/sales-cancelled-note/basic/_category_.json
new file mode 100644
index 00000000..9512ef7d
--- /dev/null
+++ b/docs/quick-start/sales/sales-cancelled-note/basic/_category_.json
@@ -0,0 +1,7 @@
+{
+ "label": "Data Entry",
+ "position": 2,
+ "link": {
+ "slug": "/sales/basic"
+ }
+}
diff --git a/docs/quick-start/sales/sales-cancelled-note/basic/create-sales-cancelled-note.md b/docs/quick-start/sales/sales-cancelled-note/basic/create-sales-cancelled-note.md
new file mode 100644
index 00000000..d9e6bdc2
--- /dev/null
+++ b/docs/quick-start/sales/sales-cancelled-note/basic/create-sales-cancelled-note.md
@@ -0,0 +1,19 @@
+---
+sidebar_position: 8
+title: Create Sales Cancelled Note
+hide_title: true
+description: How to create sales cancelled note in SQL Accounting
+slug: /quick-start/sales/create-sales-cancelled-note
+tags: ["Sales"]
+---
+
+import { VideoPlayer, QRCodeGenerator } from '@site/src/components/custom';
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/quick-start/sales/sales-cancelled-note/intro.md b/docs/quick-start/sales/sales-cancelled-note/intro.md
new file mode 100644
index 00000000..49673e7b
--- /dev/null
+++ b/docs/quick-start/sales/sales-cancelled-note/intro.md
@@ -0,0 +1,39 @@
+---
+sidebar_position: 1
+title: Table of contents
+hide_title: true
+slug: /quick-start/sales/sales-cancelled-note
+# id: sales/sales-cancelled-note/intro
+---
+
+
+ 📘 **Data Entry**
+
+
+
+
\ No newline at end of file
diff --git a/docs/quick-start/sales/sales-credit-note/_category_.json b/docs/quick-start/sales/sales-credit-note/_category_.json
new file mode 100644
index 00000000..44f9d7f0
--- /dev/null
+++ b/docs/quick-start/sales/sales-credit-note/_category_.json
@@ -0,0 +1,8 @@
+{
+ "label": "Sales Credit Note",
+ "position": 7,
+ "link": {
+ "type": "doc",
+ "id": "quick-start/sales/sales-credit-note/intro"
+ }
+}
diff --git a/docs/quick-start/sales/sales-credit-note/advanced/_category_.json b/docs/quick-start/sales/sales-credit-note/advanced/_category_.json
new file mode 100644
index 00000000..4da93d5a
--- /dev/null
+++ b/docs/quick-start/sales/sales-credit-note/advanced/_category_.json
@@ -0,0 +1,7 @@
+{
+ "label": "Advanced",
+ "position": 3,
+ "link": {
+ "slug": "/sales/advanced"
+ }
+}
diff --git a/docs/quick-start/sales/sales-credit-note/basic/_category_.json b/docs/quick-start/sales/sales-credit-note/basic/_category_.json
new file mode 100644
index 00000000..9512ef7d
--- /dev/null
+++ b/docs/quick-start/sales/sales-credit-note/basic/_category_.json
@@ -0,0 +1,7 @@
+{
+ "label": "Data Entry",
+ "position": 2,
+ "link": {
+ "slug": "/sales/basic"
+ }
+}
diff --git a/docs/quick-start/sales/sales-credit-note/basic/create-sales-credit-note.md b/docs/quick-start/sales/sales-credit-note/basic/create-sales-credit-note.md
new file mode 100644
index 00000000..df213914
--- /dev/null
+++ b/docs/quick-start/sales/sales-credit-note/basic/create-sales-credit-note.md
@@ -0,0 +1,19 @@
+---
+sidebar_position: 2
+title: Create Sales Credit Note
+hide_title: true
+description: How to create sales credit note in SQL Accounting
+slug: /quick-start/sales/create-sales-credit-note
+tags: ["Sales"]
+---
+
+import { VideoPlayer, QRCodeGenerator } from '@site/src/components/custom';
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/quick-start/sales/sales-credit-note/intro.md b/docs/quick-start/sales/sales-credit-note/intro.md
new file mode 100644
index 00000000..e52f5e70
--- /dev/null
+++ b/docs/quick-start/sales/sales-credit-note/intro.md
@@ -0,0 +1,39 @@
+---
+sidebar_position: 1
+title: Table of contents
+hide_title: true
+slug: /quick-start/sales/sales-credit-note
+# id: sales/sales-credit-note/intro
+---
+
+
+ 📘 **Data Entry**
+
+
+
+
\ No newline at end of file
diff --git a/docs/quick-start/sales/sales-debit-note/_category_.json b/docs/quick-start/sales/sales-debit-note/_category_.json
new file mode 100644
index 00000000..f560c4ed
--- /dev/null
+++ b/docs/quick-start/sales/sales-debit-note/_category_.json
@@ -0,0 +1,8 @@
+{
+ "label": "Sales Debit Note",
+ "position": 6,
+ "link": {
+ "type": "doc",
+ "id": "quick-start/sales/sales-debit-note/intro"
+ }
+}
diff --git a/docs/quick-start/sales/sales-debit-note/advanced/_category_.json b/docs/quick-start/sales/sales-debit-note/advanced/_category_.json
new file mode 100644
index 00000000..4da93d5a
--- /dev/null
+++ b/docs/quick-start/sales/sales-debit-note/advanced/_category_.json
@@ -0,0 +1,7 @@
+{
+ "label": "Advanced",
+ "position": 3,
+ "link": {
+ "slug": "/sales/advanced"
+ }
+}
diff --git a/docs/quick-start/sales/sales-debit-note/basic/_category_.json b/docs/quick-start/sales/sales-debit-note/basic/_category_.json
new file mode 100644
index 00000000..296d6705
--- /dev/null
+++ b/docs/quick-start/sales/sales-debit-note/basic/_category_.json
@@ -0,0 +1,7 @@
+{
+ "label": "Data Entry",
+ "position": 2,
+ "link": {
+ "slug": "/sales/basic"
+ }
+}
diff --git a/docs/quick-start/sales/sales-debit-note/basic/create-sales-debit-note.md b/docs/quick-start/sales/sales-debit-note/basic/create-sales-debit-note.md
new file mode 100644
index 00000000..b0e3e6fc
--- /dev/null
+++ b/docs/quick-start/sales/sales-debit-note/basic/create-sales-debit-note.md
@@ -0,0 +1,20 @@
+---
+sidebar_position: 2
+title: Create Sales Debit Note
+hide_title: true
+description: How to create sales debit note in SQL Accounting
+slug: /quick-start/sales/create-sales-debit-note
+tags: ["Sales"]
+---
+
+
+import { VideoPlayer, QRCodeGenerator } from '@site/src/components/custom';
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/quick-start/sales/sales-debit-note/intro.md b/docs/quick-start/sales/sales-debit-note/intro.md
new file mode 100644
index 00000000..ccebf104
--- /dev/null
+++ b/docs/quick-start/sales/sales-debit-note/intro.md
@@ -0,0 +1,38 @@
+---
+sidebar_position: 1
+title: Table of contents
+hide_title: true
+slug: /quick-start/sales/sales-debit-note
+# id: sales/sales-debit-note/intro
+---
+
+ 📘 **Data Entry**
+
+
+
+
diff --git a/docs/quick-start/sales/sales-delivery-order/_category_.json b/docs/quick-start/sales/sales-delivery-order/_category_.json
new file mode 100644
index 00000000..3023cbff
--- /dev/null
+++ b/docs/quick-start/sales/sales-delivery-order/_category_.json
@@ -0,0 +1,8 @@
+{
+ "label": "Sales Delivery Order",
+ "position": 3,
+ "link": {
+ "type": "doc",
+ "id": "quick-start/sales/sales-delivery-order/intro"
+ }
+}
diff --git a/docs/quick-start/sales/sales-delivery-order/advanced/_category_.json b/docs/quick-start/sales/sales-delivery-order/advanced/_category_.json
new file mode 100644
index 00000000..4da93d5a
--- /dev/null
+++ b/docs/quick-start/sales/sales-delivery-order/advanced/_category_.json
@@ -0,0 +1,7 @@
+{
+ "label": "Advanced",
+ "position": 3,
+ "link": {
+ "slug": "/sales/advanced"
+ }
+}
diff --git a/docs/quick-start/sales/sales-delivery-order/basic/_category_.json b/docs/quick-start/sales/sales-delivery-order/basic/_category_.json
new file mode 100644
index 00000000..9512ef7d
--- /dev/null
+++ b/docs/quick-start/sales/sales-delivery-order/basic/_category_.json
@@ -0,0 +1,7 @@
+{
+ "label": "Data Entry",
+ "position": 2,
+ "link": {
+ "slug": "/sales/basic"
+ }
+}
diff --git a/docs/quick-start/sales/sales-delivery-order/basic/create-sales-delivery-order.md b/docs/quick-start/sales/sales-delivery-order/basic/create-sales-delivery-order.md
new file mode 100644
index 00000000..c32e5f7f
--- /dev/null
+++ b/docs/quick-start/sales/sales-delivery-order/basic/create-sales-delivery-order.md
@@ -0,0 +1,20 @@
+---
+sidebar_position: 2
+title: Create Sales Delivery Order
+hide_title: true
+description: How to create sales delivery order in SQL Accounting
+slug: /quick-start/sales/create-sales-delivery-order
+tags: ["Sales"]
+---
+
+import { VideoPlayer, QRCodeGenerator } from '@site/src/components/custom';
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/quick-start/sales/sales-delivery-order/intro.md b/docs/quick-start/sales/sales-delivery-order/intro.md
new file mode 100644
index 00000000..0bc64de5
--- /dev/null
+++ b/docs/quick-start/sales/sales-delivery-order/intro.md
@@ -0,0 +1,39 @@
+---
+sidebar_position: 1
+title: Table of contents
+hide_title: true
+slug: /quick-start/sales/sales-delivery-order
+# id: sales/sales-delivery-order/intro
+---
+
+ 📘 **Data Entry**
+
+
+
+
\ No newline at end of file
diff --git a/docs/quick-start/sales/sales-invoice/_category_.json b/docs/quick-start/sales/sales-invoice/_category_.json
new file mode 100644
index 00000000..759cf1f1
--- /dev/null
+++ b/docs/quick-start/sales/sales-invoice/_category_.json
@@ -0,0 +1,8 @@
+{
+ "label": "Sales Invoice",
+ "position": 4,
+ "link": {
+ "type": "doc",
+ "id": "quick-start/sales/sales-invoice/intro"
+ }
+}
diff --git a/docs/quick-start/sales/sales-invoice/advanced/_category_.json b/docs/quick-start/sales/sales-invoice/advanced/_category_.json
new file mode 100644
index 00000000..4da93d5a
--- /dev/null
+++ b/docs/quick-start/sales/sales-invoice/advanced/_category_.json
@@ -0,0 +1,7 @@
+{
+ "label": "Advanced",
+ "position": 3,
+ "link": {
+ "slug": "/sales/advanced"
+ }
+}
diff --git a/docs/quick-start/sales/sales-invoice/basic/_category_.json b/docs/quick-start/sales/sales-invoice/basic/_category_.json
new file mode 100644
index 00000000..9512ef7d
--- /dev/null
+++ b/docs/quick-start/sales/sales-invoice/basic/_category_.json
@@ -0,0 +1,7 @@
+{
+ "label": "Data Entry",
+ "position": 2,
+ "link": {
+ "slug": "/sales/basic"
+ }
+}
diff --git a/docs/quick-start/sales/sales-invoice/basic/create-sales-invoice.md b/docs/quick-start/sales/sales-invoice/basic/create-sales-invoice.md
new file mode 100644
index 00000000..069474df
--- /dev/null
+++ b/docs/quick-start/sales/sales-invoice/basic/create-sales-invoice.md
@@ -0,0 +1,20 @@
+---
+sidebar_position: 2
+title: Create Sales Invoice
+hide_title: true
+description: How to create sales invoice in SQL Accounting
+slug: /quick-start/sales/create-sales-invoice
+tags: ["Sales"]
+---
+
+
+import { VideoPlayer, QRCodeGenerator } from '@site/src/components/custom';
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/quick-start/sales/sales-invoice/intro.md b/docs/quick-start/sales/sales-invoice/intro.md
new file mode 100644
index 00000000..909c5961
--- /dev/null
+++ b/docs/quick-start/sales/sales-invoice/intro.md
@@ -0,0 +1,38 @@
+---
+sidebar_position: 1
+title: Table of contents
+hide_title: true
+slug: /quick-start/sales/sales-invoice
+# id: sales/sales-invoice/intro
+---
+
+ 📘 **Data Entry**
+
+
+
+
diff --git a/docs/quick-start/sales/sales-order/_category_.json b/docs/quick-start/sales/sales-order/_category_.json
new file mode 100644
index 00000000..5176deac
--- /dev/null
+++ b/docs/quick-start/sales/sales-order/_category_.json
@@ -0,0 +1,8 @@
+{
+ "label": "Sales Order",
+ "position": 2,
+ "link": {
+ "type": "doc",
+ "id": "quick-start/sales/sales-order/intro"
+ }
+}
diff --git a/docs/quick-start/sales/sales-order/advanced/_category_.json b/docs/quick-start/sales/sales-order/advanced/_category_.json
new file mode 100644
index 00000000..4da93d5a
--- /dev/null
+++ b/docs/quick-start/sales/sales-order/advanced/_category_.json
@@ -0,0 +1,7 @@
+{
+ "label": "Advanced",
+ "position": 3,
+ "link": {
+ "slug": "/sales/advanced"
+ }
+}
diff --git a/docs/quick-start/sales/sales-order/basic/_category_.json b/docs/quick-start/sales/sales-order/basic/_category_.json
new file mode 100644
index 00000000..9512ef7d
--- /dev/null
+++ b/docs/quick-start/sales/sales-order/basic/_category_.json
@@ -0,0 +1,7 @@
+{
+ "label": "Data Entry",
+ "position": 2,
+ "link": {
+ "slug": "/sales/basic"
+ }
+}
diff --git a/docs/quick-start/sales/sales-order/basic/create-sales-order.md b/docs/quick-start/sales/sales-order/basic/create-sales-order.md
new file mode 100644
index 00000000..9b197952
--- /dev/null
+++ b/docs/quick-start/sales/sales-order/basic/create-sales-order.md
@@ -0,0 +1,18 @@
+---
+sidebar_position: 2
+title: Create Sales Order
+hide_title: true
+description: How to create sales order in SQL Accounting
+slug: /quick-start/sales/create-sales-order
+tags: ["Sales"]
+---
+
+import { VideoPlayer, QRCodeGenerator } from '@site/src/components/custom';
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/quick-start/sales/sales-order/intro.md b/docs/quick-start/sales/sales-order/intro.md
new file mode 100644
index 00000000..c34a3886
--- /dev/null
+++ b/docs/quick-start/sales/sales-order/intro.md
@@ -0,0 +1,40 @@
+---
+sidebar_position: 1
+title: Table of contents
+hide_title: true
+# id: "sales/sales-order/intro"
+slug: /quick-start/sales/sales-order
+---
+
+
+
+ 📘 **Data Entry**
+
+
+
+
diff --git a/docs/quick-start/sales/sales-quotation/_category_.json b/docs/quick-start/sales/sales-quotation/_category_.json
new file mode 100644
index 00000000..72236547
--- /dev/null
+++ b/docs/quick-start/sales/sales-quotation/_category_.json
@@ -0,0 +1,8 @@
+{
+ "label": "Sales Quotation",
+ "position": 1,
+ "link": {
+ "type": "doc",
+ "id": "quick-start/sales/sales-quotation/intro"
+ }
+}
diff --git a/docs/quick-start/sales/sales-quotation/advanced/_category_.json b/docs/quick-start/sales/sales-quotation/advanced/_category_.json
new file mode 100644
index 00000000..4da93d5a
--- /dev/null
+++ b/docs/quick-start/sales/sales-quotation/advanced/_category_.json
@@ -0,0 +1,7 @@
+{
+ "label": "Advanced",
+ "position": 3,
+ "link": {
+ "slug": "/sales/advanced"
+ }
+}
diff --git a/docs/quick-start/sales/sales-quotation/basic/_category_.json b/docs/quick-start/sales/sales-quotation/basic/_category_.json
new file mode 100644
index 00000000..9512ef7d
--- /dev/null
+++ b/docs/quick-start/sales/sales-quotation/basic/_category_.json
@@ -0,0 +1,7 @@
+{
+ "label": "Data Entry",
+ "position": 2,
+ "link": {
+ "slug": "/sales/basic"
+ }
+}
diff --git a/docs/quick-start/sales/sales-quotation/basic/create-sales-quotation.md b/docs/quick-start/sales/sales-quotation/basic/create-sales-quotation.md
new file mode 100644
index 00000000..56db0970
--- /dev/null
+++ b/docs/quick-start/sales/sales-quotation/basic/create-sales-quotation.md
@@ -0,0 +1,20 @@
+---
+sidebar_position: 2
+title: Create Sales Quotation
+hide_title: true
+description: How to create quotation in SQL Accounting
+slug: /quick-start/sales/create-sales-quotation
+tags: ["Sales"]
+---
+
+import { VideoPlayer, QRCodeGenerator } from '@site/src/components/custom';
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/quick-start/sales/sales-quotation/intro.md b/docs/quick-start/sales/sales-quotation/intro.md
new file mode 100644
index 00000000..9feb9226
--- /dev/null
+++ b/docs/quick-start/sales/sales-quotation/intro.md
@@ -0,0 +1,40 @@
+---
+sidebar_position: 1
+title: Table of contents
+hide_title: true
+# id: "sales/sales-quotation/intro"
+slug: /quick-start/sales/sales-quotation
+---
+
+
+ 📘 **Data Entry**
+
+
+
+
+
\ No newline at end of file
diff --git a/docusaurus.config.js b/docusaurus.config.js
index fe7f734d..ed74269c 100644
--- a/docusaurus.config.js
+++ b/docusaurus.config.js
@@ -38,6 +38,7 @@ const config = {
routeBasePath: "/",
sidebarPath: "./sidebars.js",
editUrl: "https://github.com/eStreamSoftware/docs-sqlacc/edit/master/",
+ exclude: ['**/advanced/**']
},
theme: {
customCss: [require.resolve("./static/css/custom.css")],
@@ -45,7 +46,6 @@ const config = {
}),
],
],
-
themeConfig:
/** @type {import('@docusaurus/preset-classic').ThemeConfig} */
({
diff --git a/package-lock.json b/package-lock.json
index 3d9b5670..bfbd47e4 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -16,8 +16,13 @@
"clsx": "^2.0.0",
"plugin-image-zoom": "github:flexanalytics/plugin-image-zoom",
"prism-react-renderer": "^2.3.0",
+ "qrcode.react": "^4.2.0",
"react": "^18.0.0",
- "react-dom": "^18.0.0"
+ "react-dom": "^18.0.0",
+ "react-icon": "^1.0.0",
+ "react-icons": "^5.4.0",
+ "video.js": "^8.21.0",
+ "videojs-youtube": "^3.0.1"
},
"devDependencies": {
"@docusaurus/module-type-aliases": "3.1.0",
@@ -4363,6 +4368,54 @@
"resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz",
"integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ=="
},
+ "node_modules/@videojs/http-streaming": {
+ "version": "3.16.2",
+ "resolved": "https://registry.npmjs.org/@videojs/http-streaming/-/http-streaming-3.16.2.tgz",
+ "integrity": "sha512-fvt4ko7FknxiT9FnjyNQt6q2px+awrkM+Orv7IB/4gldvj94u4fowGfmNHynnvNTPgPkdxHklGmFLGfclYw8HA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@babel/runtime": "^7.12.5",
+ "@videojs/vhs-utils": "^4.1.1",
+ "aes-decrypter": "^4.0.2",
+ "global": "^4.4.0",
+ "m3u8-parser": "^7.2.0",
+ "mpd-parser": "^1.3.1",
+ "mux.js": "7.1.0",
+ "video.js": "^7 || ^8"
+ },
+ "engines": {
+ "node": ">=8",
+ "npm": ">=5"
+ },
+ "peerDependencies": {
+ "video.js": "^8.19.0"
+ }
+ },
+ "node_modules/@videojs/vhs-utils": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/@videojs/vhs-utils/-/vhs-utils-4.1.1.tgz",
+ "integrity": "sha512-5iLX6sR2ownbv4Mtejw6Ax+naosGvoT9kY+gcuHzANyUZZ+4NpeNdKMUhb6ag0acYej1Y7cmr/F2+4PrggMiVA==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.12.5",
+ "global": "^4.4.0"
+ },
+ "engines": {
+ "node": ">=8",
+ "npm": ">=5"
+ }
+ },
+ "node_modules/@videojs/xhr": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/@videojs/xhr/-/xhr-2.7.0.tgz",
+ "integrity": "sha512-giab+EVRanChIupZK7gXjHy90y3nncA2phIOyG3Ne5fvpiMJzvqYwiTOnEVW2S4CoYcuKJkomat7bMXA/UoUZQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.5.5",
+ "global": "~4.4.0",
+ "is-function": "^1.0.1"
+ }
+ },
"node_modules/@webassemblyjs/ast": {
"version": "1.11.6",
"resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz",
@@ -4494,6 +4547,15 @@
"@xtuc/long": "4.2.2"
}
},
+ "node_modules/@xmldom/xmldom": {
+ "version": "0.8.10",
+ "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.10.tgz",
+ "integrity": "sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
"node_modules/@xtuc/ieee754": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
@@ -4578,6 +4640,18 @@
"node": ">= 10.0.0"
}
},
+ "node_modules/aes-decrypter": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/aes-decrypter/-/aes-decrypter-4.0.2.tgz",
+ "integrity": "sha512-lc+/9s6iJvuaRe5qDlMTpCFjnwpkeOXp8qP3oiZ5jsj1MRg+SBVUmmICrhxHvc8OELSmc+fEyyxAuppY6hrWzw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@babel/runtime": "^7.12.5",
+ "@videojs/vhs-utils": "^4.1.1",
+ "global": "^4.4.0",
+ "pkcs7": "^1.0.4"
+ }
+ },
"node_modules/aggregate-error": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
@@ -4878,6 +4952,24 @@
"@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
}
},
+ "node_modules/babel-runtime": {
+ "version": "5.8.38",
+ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-5.8.38.tgz",
+ "integrity": "sha512-KpgoA8VE/pMmNCrnEeeXqFG24TIH11Z3ZaimIhJWsin8EbfZy3WzFKUTIan10ZIDgRVvi9EkLbruJElJC9dRlg==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "core-js": "^1.0.0"
+ }
+ },
+ "node_modules/babel-runtime/node_modules/core-js": {
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz",
+ "integrity": "sha512-ZiPp9pZlgxpWRu0M+YWbm6+aQ84XEfH1JRXvfOc/fILWI0VKhLC2LX13X1NYq4fULzLMq7Hfh43CSo2/aIaUPA==",
+ "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.",
+ "license": "MIT",
+ "peer": true
+ },
"node_modules/bail": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz",
@@ -6309,6 +6401,11 @@
"url": "https://github.com/cheeriojs/dom-serializer?sponsor=1"
}
},
+ "node_modules/dom-walk": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz",
+ "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w=="
+ },
"node_modules/domelementtype": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
@@ -7340,6 +7437,16 @@
"resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
"integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw=="
},
+ "node_modules/global": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz",
+ "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==",
+ "license": "MIT",
+ "dependencies": {
+ "min-document": "^2.19.0",
+ "process": "^0.11.10"
+ }
+ },
"node_modules/global-dirs": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz",
@@ -8332,6 +8439,12 @@
"node": ">=8"
}
},
+ "node_modules/is-function": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz",
+ "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==",
+ "license": "MIT"
+ },
"node_modules/is-glob": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
@@ -8822,6 +8935,17 @@
"resolved": "https://registry.npmjs.org/lunr-languages/-/lunr-languages-1.14.0.tgz",
"integrity": "sha512-hWUAb2KqM3L7J5bcrngszzISY4BxrXn/Xhbb9TTCJYEGqlR1nG67/M14sp09+PTIRklobrn57IAxcdcO/ZFyNA=="
},
+ "node_modules/m3u8-parser": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/m3u8-parser/-/m3u8-parser-7.2.0.tgz",
+ "integrity": "sha512-CRatFqpjVtMiMaKXxNvuI3I++vUumIXVVT/JpCpdU/FynV/ceVw1qpPyyBNindL+JlPMSesx+WX1QJaZEJSaMQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@babel/runtime": "^7.12.5",
+ "@videojs/vhs-utils": "^4.1.1",
+ "global": "^4.4.0"
+ }
+ },
"node_modules/mark.js": {
"version": "8.11.1",
"resolved": "https://registry.npmjs.org/mark.js/-/mark.js-8.11.1.tgz",
@@ -11012,6 +11136,14 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/min-document": {
+ "version": "2.19.0",
+ "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz",
+ "integrity": "sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==",
+ "dependencies": {
+ "dom-walk": "^0.1.0"
+ }
+ },
"node_modules/mini-css-extract-plugin": {
"version": "2.7.7",
"resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.7.tgz",
@@ -11054,6 +11186,21 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/mpd-parser": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/mpd-parser/-/mpd-parser-1.3.1.tgz",
+ "integrity": "sha512-1FuyEWI5k2HcmhS1HkKnUAQV7yFPfXPht2DnRRGtoiiAAW+ESTbtEXIDpRkwdU+XyrQuwrIym7UkoPKsZ0SyFw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@babel/runtime": "^7.12.5",
+ "@videojs/vhs-utils": "^4.0.0",
+ "@xmldom/xmldom": "^0.8.3",
+ "global": "^4.4.0"
+ },
+ "bin": {
+ "mpd-to-m3u8-json": "bin/parse.js"
+ }
+ },
"node_modules/mrmime": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz",
@@ -11079,6 +11226,23 @@
"multicast-dns": "cli.js"
}
},
+ "node_modules/mux.js": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/mux.js/-/mux.js-7.1.0.tgz",
+ "integrity": "sha512-NTxawK/BBELJrYsZThEulyUMDVlLizKdxyAsMuzoCD1eFj97BVaA8D/CvKsKu6FOLYkFojN5CbM9h++ZTZtknA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@babel/runtime": "^7.11.2",
+ "global": "^4.4.0"
+ },
+ "bin": {
+ "muxjs-transmux": "bin/transmux.js"
+ },
+ "engines": {
+ "node": ">=8",
+ "npm": ">=5"
+ }
+ },
"node_modules/nanoid": {
"version": "3.3.7",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
@@ -11579,6 +11743,18 @@
"url": "https://github.com/sponsors/jonschlinkert"
}
},
+ "node_modules/pkcs7": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/pkcs7/-/pkcs7-1.0.4.tgz",
+ "integrity": "sha512-afRERtHn54AlwaF2/+LFszyAANTCggGilmcmILUzEjvs3XgFZT+xE6+QWQcAGmu4xajy+Xtj7acLOPdx5/eXWQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@babel/runtime": "^7.5.5"
+ },
+ "bin": {
+ "pkcs7": "bin/cli.js"
+ }
+ },
"node_modules/pkg-dir": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz",
@@ -12296,6 +12472,15 @@
"node": ">=6"
}
},
+ "node_modules/process": {
+ "version": "0.11.10",
+ "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
+ "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6.0"
+ }
+ },
"node_modules/process-nextick-args": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
@@ -12376,6 +12561,15 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/qrcode.react": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/qrcode.react/-/qrcode.react-4.2.0.tgz",
+ "integrity": "sha512-QpgqWi8rD9DsS9EP3z7BT+5lY5SFhsqGjpgW5DY/i3mK4M9DTBNz3ErMi8BWYEfI3L0d8GIbGmcdFAS1uIRGjA==",
+ "license": "ISC",
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
+ }
+ },
"node_modules/qs": {
"version": "6.11.0",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
@@ -12655,6 +12849,25 @@
"react-dom": "^16.6.0 || ^17.0.0 || ^18.0.0"
}
},
+ "node_modules/react-icon": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/react-icon/-/react-icon-1.0.0.tgz",
+ "integrity": "sha512-VzSlpBHnLanVw79mOxyq98hWDi6DlxK9qPiZ1bAK6bLurMBCaxO/jjyYUrRx9+JGLc/NbnwOmyE/W5Qglbb2QA==",
+ "license": "MIT",
+ "peerDependencies": {
+ "babel-runtime": "^5.3.3",
+ "react": ">=0.12.0"
+ }
+ },
+ "node_modules/react-icons": {
+ "version": "5.4.0",
+ "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-5.4.0.tgz",
+ "integrity": "sha512-7eltJxgVt7X64oHh6wSWNwwbKTCtMfK35hcjvJS0yxEAhPM8oUKdS3+kqaW1vicIltw+kR2unHaa12S9pPALoQ==",
+ "license": "MIT",
+ "peerDependencies": {
+ "react": "*"
+ }
+ },
"node_modules/react-is": {
"version": "16.13.1",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
@@ -14848,6 +15061,69 @@
"url": "https://opencollective.com/unified"
}
},
+ "node_modules/video.js": {
+ "version": "8.21.0",
+ "resolved": "https://registry.npmjs.org/video.js/-/video.js-8.21.0.tgz",
+ "integrity": "sha512-zcwerRb257QAuWfi8NH9yEX7vrGKFthjfcONmOQ4lxFRpDAbAi+u5LAjCjMWqhJda6zEmxkgdDpOMW3Y21QpXA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@babel/runtime": "^7.12.5",
+ "@videojs/http-streaming": "^3.16.2",
+ "@videojs/vhs-utils": "^4.1.1",
+ "@videojs/xhr": "2.7.0",
+ "aes-decrypter": "^4.0.2",
+ "global": "4.4.0",
+ "m3u8-parser": "^7.2.0",
+ "mpd-parser": "^1.3.1",
+ "mux.js": "^7.0.1",
+ "videojs-contrib-quality-levels": "4.1.0",
+ "videojs-font": "4.2.0",
+ "videojs-vtt.js": "0.15.5"
+ }
+ },
+ "node_modules/videojs-contrib-quality-levels": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/videojs-contrib-quality-levels/-/videojs-contrib-quality-levels-4.1.0.tgz",
+ "integrity": "sha512-TfrXJJg1Bv4t6TOCMEVMwF/CoS8iENYsWNKip8zfhB5kTcegiFYezEA0eHAJPU64ZC8NQbxQgOwAsYU8VXbOWA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "global": "^4.4.0"
+ },
+ "engines": {
+ "node": ">=16",
+ "npm": ">=8"
+ },
+ "peerDependencies": {
+ "video.js": "^8"
+ }
+ },
+ "node_modules/videojs-font": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/videojs-font/-/videojs-font-4.2.0.tgz",
+ "integrity": "sha512-YPq+wiKoGy2/M7ccjmlvwi58z2xsykkkfNMyIg4xb7EZQQNwB71hcSsB3o75CqQV7/y5lXkXhI/rsGAS7jfEmQ==",
+ "license": "Apache-2.0"
+ },
+ "node_modules/videojs-vtt.js": {
+ "version": "0.15.5",
+ "resolved": "https://registry.npmjs.org/videojs-vtt.js/-/videojs-vtt.js-0.15.5.tgz",
+ "integrity": "sha512-yZbBxvA7QMYn15Lr/ZfhhLPrNpI/RmCSCqgIff57GC2gIrV5YfyzLfLyZMj0NnZSAz8syB4N0nHXpZg9MyrMOQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "global": "^4.3.1"
+ }
+ },
+ "node_modules/videojs-youtube": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/videojs-youtube/-/videojs-youtube-3.0.1.tgz",
+ "integrity": "sha512-0gKgag7Zno/dDwIdk+h48ODKDulR4IW62RxGE81PrMwi0OX/wUcKO6m1j+DFYI+7qjtWMZTKnbtQoHGxvUrFQg==",
+ "license": "MIT",
+ "dependencies": {
+ "video.js": "5.x || 6.x || 7.x || 8.x"
+ },
+ "peerDependencies": {
+ "video.js": "5.x || 6.x || 7.x || 8.x"
+ }
+ },
"node_modules/watchpack": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz",
diff --git a/package.json b/package.json
index 395b85f0..e05f8932 100644
--- a/package.json
+++ b/package.json
@@ -22,8 +22,13 @@
"clsx": "^2.0.0",
"plugin-image-zoom": "github:flexanalytics/plugin-image-zoom",
"prism-react-renderer": "^2.3.0",
+ "qrcode.react": "^4.2.0",
"react": "^18.0.0",
- "react-dom": "^18.0.0"
+ "react-dom": "^18.0.0",
+ "react-icon": "^1.0.0",
+ "react-icons": "^5.4.0",
+ "video.js": "^8.21.0",
+ "videojs-youtube": "^3.0.1"
},
"devDependencies": {
"@docusaurus/module-type-aliases": "3.1.0",
diff --git a/src/components/custom.js b/src/components/custom.js
new file mode 100644
index 00000000..ae50471b
--- /dev/null
+++ b/src/components/custom.js
@@ -0,0 +1,116 @@
+import React, { useState, useEffect, useRef } from 'react';
+import videojs from 'video.js';
+import 'video.js/dist/video-js.css';
+import 'videojs-youtube';
+import { QRCodeCanvas } from 'qrcode.react';
+import { IoQrCode } from 'react-icons/io5';
+
+// const IframeWrapper = ({ src, title }) => {
+// return (
+//
+// );
+// };
+
+const VideoPlayer = ({ videoId, title }) => {
+ const videoNode = useRef(null);
+ const player = useRef(null);
+
+ useEffect(() => {
+ if (videoNode.current) {
+ player.current = videojs(videoNode.current, {
+ techOrder: ['youtube'],
+ controls: true,
+ autoplay: true,
+ preload: 'auto',
+ muted: false,
+ sources: [
+ {
+ src: `https://www.youtube.com/embed/${videoId}?autoplay=1`,
+ type: 'video/youtube',
+ },
+ ],
+ youtube: {
+ modestbranding: 1, // Removes the YouTube logo
+ rel: 0, // Disables related videos at the end
+ showinfo: 0, // Removes the video title and uploader info
+ iv_load_policy: 3, // Hides video annotations
+ },
+ userActions: {
+ doubleClick: false, // Disable fullscreen on double-click
+ },
+ });
+
+ return () => {
+ if (player.current) {
+ player.current.dispose();
+ }
+ };
+ }
+ }, [videoId]);
+
+ return (
+
+
+
+ );
+};
+
+const QRCodeGenerator = ({url}) => {
+ const [showQR, setShowQR] = useState(false);
+
+ const closePreview = () => setShowQR(false);
+
+ return (
+
+
+
+ {/* Full-screen preview modal */}
+ {showQR && (
+
+
+
+ )}
+
+ );
+};
+
+export { VideoPlayer, QRCodeGenerator };
diff --git a/static/css/custom.css b/static/css/custom.css
index 5e7b7b0b..47a6ddec 100644
--- a/static/css/custom.css
+++ b/static/css/custom.css
@@ -1,5 +1,121 @@
/* replace here for the image size */
img {
- max-width: 100%;
- height: auto;
- }
\ No newline at end of file
+ max-width: 100%;
+ height: auto;
+}
+
+:root {
+ .card3 {
+ flex: 1 1 calc(100% - 20px);
+ /* max-width: calc(100% - 20px); */
+ /* min-width: 410px; */
+ width: calc(100% - 20px);
+ box-sizing: border-box;
+ padding: 0.7vw;
+ margin-bottom: 10px;
+ border: none !important;
+ border-radius: 8px;
+ box-shadow: none !important;
+ transition: transform 0.2s, background-color 0.2s;
+ background-color: white;
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ gap: 10px;
+ };
+
+ .card3:hover {
+ background-color: #f0f8ff;
+ transform: scale(1.01);
+ };
+
+ .card3:active {
+ background-color: white;
+ transform: scale(1);
+ }
+
+ details {
+ border: none !important;
+ outline: none !important;
+ background-color: #eef0ff !important;
+ border-radius: 5px;
+ box-shadow: none !important;
+ };
+
+ details[open] {
+ border: none !important;
+ outline: none !important;
+ box-shadow: none !important;
+ background-color: #eef0ff !important;
+ };
+}
+
+[data-theme="dark"] {
+ .card3 {
+ flex: 1 1 calc(100% - 20px);
+ /* max-width: calc(100% - 20px); */
+ /* min-width: 410px; */
+ width: calc(100% - 20px);
+ box-sizing: border-box;
+ padding: 0.7vw;
+ margin-bottom: 10px;
+ border: none !important;
+ border-radius: 8px;
+ box-shadow: none !important;
+ transition: transform 0.2s, background-color 0.2s;
+ background-color: #3a3c3d;
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ gap: 10px;
+ };
+
+ .card3:hover {
+ background-color: rgb(83, 86, 88);
+ transform: scale(1.01);
+ };
+
+ .card3:active {
+ background-color: rgb(83, 86, 88);
+ transform: scale(1);
+ }
+
+ details {
+ border: none !important;
+ outline: none !important;
+ background-color: #242526 !important;
+ border-radius: 5px;
+ box-shadow: none !important;
+ };
+
+ details[open] {
+ border: none !important;
+ outline: none !important;
+ box-shadow: none !important;
+ background-color: #242526 !important;
+ };
+}
+
+.card-link {
+ display: flex;
+ flex-direction: column;
+ align-items: flex-start;
+ text-decoration: none;
+ color: inherit;
+}
+
+.card-link:hover {
+ text-decoration: none;
+ color: inherit;
+}
+
+.video-js {
+ height: 100%;
+ width: 100%;
+ aspect-ratio: 16/9;
+}
+
+/* Hide all overlays that YouTube may add */
+iframe {
+ pointer-events: none;
+}