Skip to content

Commit 50fc01a

Browse files
committed
Merge branch 'hotfix/1.0.2'
2 parents 6141df0 + 6790f48 commit 50fc01a

File tree

5 files changed

+42
-12
lines changed

5 files changed

+42
-12
lines changed

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,3 +97,6 @@ See LICENSE for more details.
9797

9898
[Microsoft Edge Manifest Docs](https://learn.microsoft.com/en-us/microsoft-edge/extensions-chromium/getting-started/manifest-format) * firefox alternate
9999

100+
## Changelog
101+
v1.0.2
102+
- compatible with github new design

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.0.1
1+
1.0.2

extension/contentScript.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ window.addEventListener("turbo:load", function(evt) {
6767
setTimeout(function() {
6868

6969
// checkbox add
70-
let navItem = document.querySelectorAll("div.js-navigation-item > div:first-child > svg")
70+
let navItem = document.querySelectorAll("table > tbody > tr > td > div.react-directory-filename-column > svg")
7171
if (navItem.length > 0) {
7272

7373
// inject checkbox
@@ -76,16 +76,16 @@ window.addEventListener("turbo:load", function(evt) {
7676
const element = navItem[key];
7777

7878
// type: none: 0 - file: 1 - folder: 2
79-
let itemType = element.getAttribute("aria-label")
80-
if (itemType === "Directory") {
79+
let itemType = element.getAttribute("class")
80+
if (itemType == "icon-directory") {
8181
itemType = 2
82-
} else if (itemType === "File") {
82+
} else {
8383
itemType = 1
8484
}
8585

86-
let pathElement = element.parentElement.nextElementSibling.querySelector("div > span > a")
86+
let pathElement = element.parentElement.querySelector("div.overflow-hidden > h3 > div > a")
8787
if (!!pathElement) {
88-
element.parentElement.insertAdjacentHTML("beforebegin", "<div role=\"gridcell\" class=\"mr-3 flex-shrink-0\"><input class=\"gitd-tree-checkbox\" type=\"checkbox\" data-name=\""+pathElement.innerText+"\" data-type=\""+itemType+"\" @click=\"toggleSelectList\"></div>")
88+
element.parentElement.insertAdjacentHTML("afterbegin", "<div role=\"gridcell\" class=\"mr-3 flex-shrink-0\"><input class=\"gitd-tree-checkbox\" type=\"checkbox\" data-name=\""+pathElement.innerText+"\" data-type=\""+itemType+"\" @click=\"toggleSelectList\"></div>")
8989
}
9090
}
9191
}

extension/lib/gitdmanager.js

Lines changed: 31 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ document.addEventListener('alpine:init', () => {
7171
let itemPathElement = this._findNavItemPath(hostname, element)
7272
if (!!itemPathElement) {
7373
let itemType = this._findNavItemType(hostname, element)
74-
element.parentElement.insertAdjacentHTML("beforebegin", this._findNavItemCheckbox(hostname, itemPathElement.innerText, itemType))
74+
element.parentElement.insertAdjacentHTML(this._findInsertPosition(hostname), this._findNavItemCheckbox(hostname, itemPathElement.innerText, itemType))
7575
}
7676
}
7777
}
@@ -80,10 +80,28 @@ document.addEventListener('alpine:init', () => {
8080

8181
},
8282

83+
_findInsertPosition(hostname) {
84+
switch (hostname) {
85+
case "github.com":
86+
return "afterbegin"
87+
break;
88+
case "gitlab.com":
89+
return "beforebegin"
90+
break;
91+
case "bitbucket.org":
92+
return "beforebegin"
93+
break;
94+
}
95+
96+
return null
97+
},
98+
8399
_findNavItem(hostname) {
84100
switch (hostname) {
85101
case "github.com":
86-
return document.querySelectorAll("div.js-navigation-item > div:first-child > svg")
102+
return document.querySelectorAll("table > tbody > tr > td > div.react-directory-filename-column > svg")
103+
// Old
104+
// return document.querySelectorAll("div.js-navigation-item > div:first-child > svg")
87105
break;
88106
case "gitlab.com":
89107
return document.querySelectorAll("table.tree-table > tbody > tr.tree-item > td.tree-item-file-name > a > span:first-child")
@@ -105,7 +123,14 @@ document.addEventListener('alpine:init', () => {
105123
// find item type
106124
switch (hostname) {
107125
case "github.com":
108-
itemTypeLabel = element.getAttribute("aria-label")
126+
itemTypeLabel = element.getAttribute("class")
127+
if (itemTypeLabel == "icon-directory") {
128+
itemTypeLabel = "folder-icon"
129+
} else {
130+
itemTypeLabel = "file-icon"
131+
}
132+
// OLD
133+
//itemTypeLabel = element.getAttribute("aria-label")
109134
break;
110135
case "gitlab.com":
111136
itemElement = element.querySelector("svg")
@@ -143,7 +168,9 @@ document.addEventListener('alpine:init', () => {
143168
// find item type
144169
switch (hostname) {
145170
case "github.com":
146-
return element.parentElement.nextElementSibling.querySelector("div > span > a")
171+
return element.parentElement.querySelector("div.overflow-hidden > h3 > div > a")
172+
// OLD
173+
// return element.parentElement.nextElementSibling.querySelector("div > span > a")
147174
break;
148175
case "gitlab.com":
149176
return element.parentElement.querySelector("span:last-child")

extension/manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"name": "Gitd Download Manager",
44
"short_name": "Gitd",
55
"description": "Download selected files and folders as a zip files with a single click, without the need for any API key or token.",
6-
"version": "1.0.1",
6+
"version": "1.0.2",
77
"homepage_url": "https://github.com/git-download-manager/gitd-extension",
88
"permissions": [
99
"webNavigation"

0 commit comments

Comments
 (0)