diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index f16d021..357f749 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -22,80 +22,12 @@ on:
- minor
- major
-permissions:
- contents: write
- pull-requests: write
-
-concurrency:
- group: "release"
- cancel-in-progress: false
jobs:
release:
- runs-on: ubuntu-latest
-
- steps:
- - name: Checkout
- uses: actions/checkout@v6
-
- - name: "Update Dev Container Index"
- run: bash ./scripts/update-data.sh
-
- - name: "Bump to new version"
- id: bump
- run: |
- _version=$(npm --no-git-tag-version version ${{ github.event.inputs.version || 'patch' }})
-
- echo "new_version=$_version" >> $GITHUB_OUTPUT
- echo "New version: $_version"
-
- - name: "Create Pull Request"
- id: cpr
- uses: peter-evans/create-pull-request@v8
- with:
- token: ${{ secrets.RELEASE_PAT }}
- title: "chore(release): bump version to ${{ env.NEW_VERSION }}"
- body: "chore(release): bump version to ${{ env.NEW_VERSION }}"
- commit-message: "chore(release): bump version to ${{ env.NEW_VERSION }}"
- branch: "release-${{ env.NEW_VERSION }}"
- delete-branch: true
- env:
- NEW_VERSION: ${{ steps.bump.outputs.new_version }}
-
- - name: "Auto-merge PR"
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- run: |
- gh pr merge --squash --auto "${{ steps.cpr.outputs.pull-request-number }}"
-
- - name: "Wait for PR to merge"
- if: steps.cpr.outputs.pull-request-number != ''
- timeout-minutes: 3
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- PR_NUMBER: ${{ steps.cpr.outputs.pull-request-number }}
- run: |
- while true; do
- STATE=$(gh pr view "$PR_NUMBER" --json state --template '{{.state}}')
- if [ "$STATE" == "MERGED" ]; then
- echo "PR merged."
- break
- fi
- if [ "$STATE" == "CLOSED" ]; then
- echo "PR closed without merging."
- exit 1
- fi
- echo "State: $STATE. Waiting 3s..."
- sleep 3
- done
-
- - name: "Release"
- if: steps.cpr.outputs.pull-request-number != ''
- env:
- # https://docs.github.com/en/actions/how-tos/write-workflows/choose-when-workflows-run/trigger-a-workflow#triggering-a-workflow-from-a-workflow
- GITHUB_TOKEN: ${{ secrets.RELEASE_PAT }}
- NEW_VERSION: ${{ steps.bump.outputs.new_version }}
- run: |
- gh release create $NEW_VERSION \
- --target main \
- -t $NEW_VERSION
+ uses: drehelis/improved-chainsaw/.github/workflows/release.yml@main
+ with:
+ version: ${{ github.event.inputs.version || 'patch' }}
+ pre_release_command: "bash ./scripts/update-data.sh"
+ timeout_minutes: 5
+ secrets: inherit
diff --git a/src/components/layout/ActivityBar.vue b/src/components/layout/ActivityBar.vue
index ad8f0ee..08194aa 100644
--- a/src/components/layout/ActivityBar.vue
+++ b/src/components/layout/ActivityBar.vue
@@ -1,5 +1,11 @@
+
+
+
+
+
+
diff --git a/src/components/ui/icons/IconBase.vue b/src/components/ui/icons/IconBase.vue
new file mode 100644
index 0000000..9054933
--- /dev/null
+++ b/src/components/ui/icons/IconBase.vue
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
diff --git a/src/components/ui/icons/IconCheck.vue b/src/components/ui/icons/IconCheck.vue
new file mode 100644
index 0000000..3e5ee55
--- /dev/null
+++ b/src/components/ui/icons/IconCheck.vue
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
diff --git a/src/components/ui/icons/IconChevronDown.vue b/src/components/ui/icons/IconChevronDown.vue
new file mode 100644
index 0000000..578cc48
--- /dev/null
+++ b/src/components/ui/icons/IconChevronDown.vue
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
diff --git a/src/components/ui/icons/IconChevronRight.vue b/src/components/ui/icons/IconChevronRight.vue
new file mode 100644
index 0000000..b4bc215
--- /dev/null
+++ b/src/components/ui/icons/IconChevronRight.vue
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
diff --git a/src/components/ui/icons/IconCoffee.vue b/src/components/ui/icons/IconCoffee.vue
new file mode 100644
index 0000000..840d513
--- /dev/null
+++ b/src/components/ui/icons/IconCoffee.vue
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
diff --git a/src/components/ui/icons/IconCopy.vue b/src/components/ui/icons/IconCopy.vue
new file mode 100644
index 0000000..0036353
--- /dev/null
+++ b/src/components/ui/icons/IconCopy.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
diff --git a/src/components/ui/icons/IconDownload.vue b/src/components/ui/icons/IconDownload.vue
new file mode 100644
index 0000000..05dab52
--- /dev/null
+++ b/src/components/ui/icons/IconDownload.vue
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
diff --git a/src/components/ui/icons/IconEye.vue b/src/components/ui/icons/IconEye.vue
new file mode 100644
index 0000000..ad0b045
--- /dev/null
+++ b/src/components/ui/icons/IconEye.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
diff --git a/src/components/ui/icons/IconFeatures.vue b/src/components/ui/icons/IconFeatures.vue
new file mode 100644
index 0000000..e83fa1f
--- /dev/null
+++ b/src/components/ui/icons/IconFeatures.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
diff --git a/src/components/ui/icons/IconFile.vue b/src/components/ui/icons/IconFile.vue
new file mode 100644
index 0000000..84bced3
--- /dev/null
+++ b/src/components/ui/icons/IconFile.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
diff --git a/src/components/ui/icons/IconFrown.vue b/src/components/ui/icons/IconFrown.vue
new file mode 100644
index 0000000..e5915a3
--- /dev/null
+++ b/src/components/ui/icons/IconFrown.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
diff --git a/src/components/ui/icons/IconGithub.vue b/src/components/ui/icons/IconGithub.vue
new file mode 100644
index 0000000..4d2e513
--- /dev/null
+++ b/src/components/ui/icons/IconGithub.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
diff --git a/src/components/ui/icons/IconMounts.vue b/src/components/ui/icons/IconMounts.vue
new file mode 100644
index 0000000..393559b
--- /dev/null
+++ b/src/components/ui/icons/IconMounts.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
diff --git a/src/components/ui/icons/IconNetwork.vue b/src/components/ui/icons/IconNetwork.vue
new file mode 100644
index 0000000..92ad063
--- /dev/null
+++ b/src/components/ui/icons/IconNetwork.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
diff --git a/src/components/ui/icons/IconPresets.vue b/src/components/ui/icons/IconPresets.vue
new file mode 100644
index 0000000..311cc04
--- /dev/null
+++ b/src/components/ui/icons/IconPresets.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
diff --git a/src/components/ui/icons/IconSearch.vue b/src/components/ui/icons/IconSearch.vue
new file mode 100644
index 0000000..dc05d16
--- /dev/null
+++ b/src/components/ui/icons/IconSearch.vue
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
diff --git a/src/components/ui/icons/IconSettings.vue b/src/components/ui/icons/IconSettings.vue
new file mode 100644
index 0000000..ba982c9
--- /dev/null
+++ b/src/components/ui/icons/IconSettings.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
diff --git a/src/components/ui/icons/IconShare.vue b/src/components/ui/icons/IconShare.vue
new file mode 100644
index 0000000..068bb8a
--- /dev/null
+++ b/src/components/ui/icons/IconShare.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
diff --git a/src/components/ui/icons/IconSliders.vue b/src/components/ui/icons/IconSliders.vue
new file mode 100644
index 0000000..f4c8df9
--- /dev/null
+++ b/src/components/ui/icons/IconSliders.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
diff --git a/src/components/ui/icons/IconTerminal.vue b/src/components/ui/icons/IconTerminal.vue
new file mode 100644
index 0000000..2b8e6e2
--- /dev/null
+++ b/src/components/ui/icons/IconTerminal.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
diff --git a/src/components/ui/icons/IconTrash.vue b/src/components/ui/icons/IconTrash.vue
new file mode 100644
index 0000000..2114904
--- /dev/null
+++ b/src/components/ui/icons/IconTrash.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
diff --git a/src/constants/urls.ts b/src/constants/urls.ts
index 0b5bec7..007ea0c 100644
--- a/src/constants/urls.ts
+++ b/src/constants/urls.ts
@@ -21,6 +21,7 @@ export const URLS = {
// External
SIMPLE_ICONS_BASE: "https://cdn.simpleicons.org",
+ BUY_ME_A_COFFEE: "https://www.buymeacoffee.com/drehelis",
};
export const BASE_URL = import.meta.env.BASE_URL;
diff --git a/src/index.css b/src/index.css
index 631a9b2..1aba516 100644
--- a/src/index.css
+++ b/src/index.css
@@ -18,6 +18,7 @@
--color-ide-text: var(--theme-text);
--color-ide-text-muted: var(--theme-text-muted);
--color-ide-text-bright: var(--theme-text-bright);
+ --color-ide-bmc: var(--bmc-color);
--font-sans: "Geist", ui-sans-serif, system-ui;
--font-mono: "Geist Mono", ui-monospace, SFMono-Regular;
@@ -42,6 +43,7 @@
--mobile-nav-h: 4.5rem;
--safe-bottom: env(safe-area-inset-bottom, 0px);
+ --bmc-color: #ffdd00;
}
.theme-dracula {
@@ -93,6 +95,7 @@
--theme-text: #586e75;
--theme-text-muted: #657b83;
--theme-text-bright: #073642;
+ --bmc-color: #cb4b16; /* Same as theme-orange for high contrast on light bg */
}
@layer base {