@industry-theme/alexandria-panels 0.2.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/mocks/panelContext.d.ts.map +1 -1
- package/dist/panels/LocalProjectsPanel/index.d.ts.map +1 -1
- package/dist/panels/shared/github-types.d.ts +5 -42
- package/dist/panels/shared/github-types.d.ts.map +1 -1
- package/dist/panels.bundle.js +49 -33
- package/dist/panels.bundle.js.map +1 -1
- package/package.json +3 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"panelContext.d.ts","sourceRoot":"","sources":["../../src/mocks/panelContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AACnF,OAAO,KAAK,EACV,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,UAAU,EAGX,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,EACV,SAAS,EAEV,MAAM,4CAA4C,CAAC;AACpD,OAAO,KAAK,EACV,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,+BAA+B,CAAC;AAIvC;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,SAAS,EAsCrC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,6BAA6B,EAAE,gBAAgB,EA6F3D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B,EAAE,gBAAgB,EA6DxD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,kBAAkB,
|
|
1
|
+
{"version":3,"file":"panelContext.d.ts","sourceRoot":"","sources":["../../src/mocks/panelContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AACnF,OAAO,KAAK,EACV,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,UAAU,EAGX,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,EACV,SAAS,EAEV,MAAM,4CAA4C,CAAC;AACpD,OAAO,KAAK,EACV,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,+BAA+B,CAAC;AAIvC;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,SAAS,EAsCrC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,6BAA6B,EAAE,gBAAgB,EA6F3D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B,EAAE,gBAAgB,EA6DxD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,kBAAkB,EAevD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAqFxE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B,EAAE,eAAe,EAiGvD,CAAC;AA+BF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAC5B,YAAY,OAAO,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC/D,iBA6HF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAC5B,YAAY,OAAO,CAAC,YAAY,CAAC,KAChC,YAkBD,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,8BAA8B;;;;;+BAQR,MAAM,QAAQ,MAAM;6BAItB,MAAM,eAAe,OAAO;4BAI7B,eAAe;6BAMd,eAAe;;;2CAnYc,CAAC;;;CA0Y7D,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,+BAA+B;4BAEZ,MAAM,YAAY;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE;mCAYnC,MAAM,WAAW,OAAO,CAAC,SAAS,CAAC;mCAInC,MAAM;uCAIF,MAAM;iCAIZ,MAAM;4CAKK,MAAM;;;;2CA9aQ,CAAC;;;CA8b7D,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,8BAA8B;4BAEX,gBAAgB;gCAKZ,MAAM;;;2CA1coB,CAAC;;;CAod7D,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,+BAA+B;4BAEZ,gBAAgB;gCAKZ,MAAM;;;2CAheoB,CAAC;;;CA0e7D,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,gBAAgB,QAAO,iBAwCnC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC;IACvC,QAAQ,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,KAAK,CAAC,SAAS,CAAC;IAC1D,gBAAgB,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC9C,gBAAgB,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;CAC1C,CAMA,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/panels/LocalProjectsPanel/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAIzE,OAAO,0BAA0B,CAAC;AAClC,OAAO,sBAAsB,CAAC;AAG9B,OAAO,KAAK,EACV,4BAA4B,EAG7B,MAAM,SAAS,CAAC;AAgBjB,MAAM,WAAW,uBAAwB,SAAQ,4BAA4B;IAC3E,gDAAgD;IAChD,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,oEAAoE;IACpE,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/panels/LocalProjectsPanel/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAIzE,OAAO,0BAA0B,CAAC;AAClC,OAAO,sBAAsB,CAAC;AAG9B,OAAO,KAAK,EACV,4BAA4B,EAG7B,MAAM,SAAS,CAAC;AAgBjB,MAAM,WAAW,uBAAwB,SAAQ,4BAA4B;IAC3E,gDAAgD;IAChD,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,oEAAoE;IACpE,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AA84BD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAIhE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,EA6C7C,CAAC;AAGF,YAAY,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -1,52 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Shared GitHub API Types
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* Re-exports types from @industry-theme/github-panels to avoid duplication.
|
|
5
|
+
* See: https://github.com/principal-ade/industry-themed-github-panels
|
|
5
6
|
*/
|
|
6
|
-
|
|
7
|
-
* GitHub repository data from the API
|
|
8
|
-
*/
|
|
9
|
-
export interface GitHubRepository {
|
|
10
|
-
id: number;
|
|
11
|
-
name: string;
|
|
12
|
-
full_name: string;
|
|
13
|
-
owner: {
|
|
14
|
-
login: string;
|
|
15
|
-
avatar_url: string;
|
|
16
|
-
};
|
|
17
|
-
private: boolean;
|
|
18
|
-
html_url: string;
|
|
19
|
-
description: string | null;
|
|
20
|
-
clone_url: string;
|
|
21
|
-
updated_at: string;
|
|
22
|
-
pushed_at?: string;
|
|
23
|
-
language: string | null;
|
|
24
|
-
stargazers_count?: number;
|
|
25
|
-
default_branch: string;
|
|
26
|
-
fork?: boolean;
|
|
27
|
-
/** Parent repository info (for forks) */
|
|
28
|
-
parent?: {
|
|
29
|
-
full_name: string;
|
|
30
|
-
owner: {
|
|
31
|
-
login: string;
|
|
32
|
-
avatar_url: string;
|
|
33
|
-
};
|
|
34
|
-
};
|
|
35
|
-
/** License SPDX identifier (e.g., "MIT", "Apache-2.0") */
|
|
36
|
-
license?: string | null;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* GitHub organization data from the API
|
|
40
|
-
*/
|
|
41
|
-
export interface GitHubOrganization {
|
|
42
|
-
login: string;
|
|
43
|
-
id: number;
|
|
44
|
-
avatar_url: string;
|
|
45
|
-
description: string | null;
|
|
46
|
-
}
|
|
7
|
+
export type { GitHubRepository, GitHubOrganization, } from '@industry-theme/github-panels';
|
|
47
8
|
/**
|
|
48
9
|
* Reference to a locally cloned repository
|
|
49
10
|
* Used to match GitHub repos with local Alexandria entries
|
|
11
|
+
*
|
|
12
|
+
* Note: This type is Alexandria-specific and not exported from github-panels
|
|
50
13
|
*/
|
|
51
14
|
export interface LocalRepositoryReference {
|
|
52
15
|
/** Local file system path */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-types.d.ts","sourceRoot":"","sources":["../../../src/panels/shared/github-types.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"github-types.d.ts","sourceRoot":"","sources":["../../../src/panels/shared/github-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,YAAY,EACV,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,+BAA+B,CAAC;AAEvC;;;;;GAKG;AACH,MAAM,WAAW,wBAAwB;IACvC,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iCAAiC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
|
package/dist/panels.bundle.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
try {
|
|
4
4
|
if (typeof document != "undefined") {
|
|
5
5
|
var elementStyle = document.createElement("style");
|
|
6
|
-
elementStyle.appendChild(document.createTextNode("/* Spin animation for scanning button */\n@keyframes spin {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n\n/* Container query for responsive LocalProjectCard */\n.local-projects-panel {\n container-type: inline-size;\n container-name: local-projects;\n height: 100%;\n}\n\n/* Animated underline that grows from left on hover */\n.local-project-card .project-name-underline {\n position: relative;\n text-decoration: none;\n}\n\n.local-project-card .project-name-underline::after {\n content: '';\n position: absolute;\n left: 0;\n bottom: -3px;\n width: 0;\n height: 2px;\n background-color: var(--underline-color);\n transition: width 0.2s ease-out;\n}\n\n.local-project-card:hover .project-name-underline::after {\n width: 100%;\n}\n\n/* Compact mode when container is 400px or less */\n@container local-projects (max-width: 400px) {\n .local-projects-panel {\n padding: 8px !important;\n gap: 8px !important;\n }\n\n .local-projects-list {\n gap: 8px !important;\n }\n\n .local-project-card {\n padding: 8px !important;\n }\n}\n/* Shared Panel Styles */\n\n/* Header button hover states */\n.header-button {\n transition:\n color 0.2s ease,\n background-color 0.2s ease,\n border-color 0.2s ease;\n}\n\n.header-button:not(.active):hover {\n color: var(--theme-text) !important;\n}\n\n/* Search input focus state */\n.search-input:focus {\n border-color: var(--theme-primary) !important;\n}\n\n/* Clear filter button hover */\n.clear-filter-button {\n transition: color 0.2s ease;\n}\n\n.clear-filter-button:hover {\n color: var(--theme-text) !important;\n}\n\n/* Search overlay animation - grows from right to left */\n.search-overlay {\n animation: searchExpand 0.2s ease-out forwards;\n}\n\n@keyframes searchExpand {\n from {\n clip-path: inset(0 0 0 100%);\n }\n to {\n clip-path: inset(0 0 0 0);\n }\n}"));
|
|
6
|
+
elementStyle.appendChild(document.createTextNode("/* Spin animation for scanning button */\n@keyframes spin {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n\n/* Container query for responsive LocalProjectCard */\n.local-projects-panel {\n container-type: inline-size;\n container-name: local-projects;\n height: 100%;\n}\n\n/* Animated underline that grows from left on hover */\n.local-project-card .project-name-underline {\n position: relative;\n text-decoration: none;\n}\n\n.local-project-card .project-name-underline::after {\n content: '';\n position: absolute;\n left: 0;\n bottom: -3px;\n width: 0;\n height: 2px;\n background-color: var(--underline-color);\n transition: width 0.2s ease-out;\n}\n\n.local-project-card:hover .project-name-underline::after {\n width: 100%;\n}\n\n/* Header action buttons - background change on hover */\n.header-action-button {\n transition: background-color 0.2s ease, border-color 0.2s ease, opacity 0.2s !important;\n}\n\n.header-action-button:hover:not(:disabled) {\n background-color: var(--button-hover-bg) !important;\n}\n\n/* Add project button - also show border on hover */\n.add-project-button {\n border: 1px solid transparent !important;\n}\n\n.add-project-button:hover:not(:disabled) {\n border-color: var(--add-button-border-color) !important;\n}\n\n/* Compact mode when container is 400px or less */\n@container local-projects (max-width: 400px) {\n .local-projects-panel {\n padding: 8px !important;\n gap: 8px !important;\n }\n\n .local-projects-list {\n gap: 8px !important;\n }\n\n .local-project-card {\n padding: 8px !important;\n }\n}\n/* Shared Panel Styles */\n\n/* Header button hover states */\n.header-button {\n transition:\n color 0.2s ease,\n background-color 0.2s ease,\n border-color 0.2s ease;\n}\n\n.header-button:not(.active):hover {\n color: var(--theme-text) !important;\n}\n\n/* Search input focus state */\n.search-input:focus {\n border-color: var(--theme-primary) !important;\n}\n\n/* Clear filter button hover */\n.clear-filter-button {\n transition: color 0.2s ease;\n}\n\n.clear-filter-button:hover {\n color: var(--theme-text) !important;\n}\n\n/* Search overlay animation - grows from right to left */\n.search-overlay {\n animation: searchExpand 0.2s ease-out forwards;\n}\n\n@keyframes searchExpand {\n from {\n clip-path: inset(0 0 0 100%);\n }\n to {\n clip-path: inset(0 0 0 0);\n }\n}"));
|
|
7
7
|
document.head.appendChild(elementStyle);
|
|
8
8
|
}
|
|
9
9
|
} catch (e) {
|
|
@@ -650,9 +650,9 @@ function useNodesContext() {
|
|
|
650
650
|
throw new Error("Provide a NodesContext");
|
|
651
651
|
return value;
|
|
652
652
|
}
|
|
653
|
-
const DndContext$
|
|
653
|
+
const DndContext$2 = createContext(null);
|
|
654
654
|
function useDndContext() {
|
|
655
|
-
const value = useContext(DndContext$
|
|
655
|
+
const value = useContext(DndContext$2);
|
|
656
656
|
if (value === null)
|
|
657
657
|
throw new Error("Provide a DnDContext");
|
|
658
658
|
return value;
|
|
@@ -1895,7 +1895,7 @@ const ListInnerElement = forwardRef(function InnerElement(_a, ref) {
|
|
|
1895
1895
|
const paddingBottom = (_e = (_d = tree.props.padding) !== null && _d !== void 0 ? _d : tree.props.paddingBottom) !== null && _e !== void 0 ? _e : 0;
|
|
1896
1896
|
return jsx("div", Object.assign({ ref, style: Object.assign(Object.assign({}, style), { height: `${parseFloat(style.height) + paddingTop + paddingBottom}px` }) }, rest));
|
|
1897
1897
|
});
|
|
1898
|
-
var DndContext = createContext({
|
|
1898
|
+
var DndContext$1 = createContext({
|
|
1899
1899
|
dragDropManager: void 0
|
|
1900
1900
|
});
|
|
1901
1901
|
var HandlerRole;
|
|
@@ -3604,7 +3604,7 @@ var DndProvider = memo(function DndProvider2(_ref) {
|
|
|
3604
3604
|
};
|
|
3605
3605
|
}
|
|
3606
3606
|
}, []);
|
|
3607
|
-
return jsx(DndContext.Provider, Object.assign({
|
|
3607
|
+
return jsx(DndContext$1.Provider, Object.assign({
|
|
3608
3608
|
value: manager
|
|
3609
3609
|
}, {
|
|
3610
3610
|
children
|
|
@@ -4507,7 +4507,7 @@ function useDragSource(spec, monitor, connector) {
|
|
|
4507
4507
|
return handler;
|
|
4508
4508
|
}
|
|
4509
4509
|
function useDragDropManager() {
|
|
4510
|
-
var _useContext = useContext(DndContext), dragDropManager = _useContext.dragDropManager;
|
|
4510
|
+
var _useContext = useContext(DndContext$1), dragDropManager = _useContext.dragDropManager;
|
|
4511
4511
|
invariant(dragDropManager != null, "Expected drag drop context");
|
|
4512
4512
|
return dragDropManager;
|
|
4513
4513
|
}
|
|
@@ -7525,7 +7525,7 @@ function TreeProvider({ treeProps, imperativeHandle, children }) {
|
|
|
7525
7525
|
store.current.dispatch(actions$2.clear(true));
|
|
7526
7526
|
}
|
|
7527
7527
|
}, [api.props.searchTerm]);
|
|
7528
|
-
return jsx(TreeApiContext.Provider, { value: api, children: jsx(DataUpdatesContext.Provider, { value: updateCount.current, children: jsx(NodesContext.Provider, { value: state.nodes, children: jsx(DndContext$
|
|
7528
|
+
return jsx(TreeApiContext.Provider, { value: api, children: jsx(DataUpdatesContext.Provider, { value: updateCount.current, children: jsx(NodesContext.Provider, { value: state.nodes, children: jsx(DndContext$2.Provider, { value: state.dnd, children: jsx(DndProvider, Object.assign({ backend: HTML5Backend, options: { rootElement: api.props.dndRootElement || void 0 } }, treeProps.dndManager && { manager: treeProps.dndManager }, { children })) }) }) }) });
|
|
7529
7529
|
}
|
|
7530
7530
|
function useOuterDrop() {
|
|
7531
7531
|
const tree = useTreeApi();
|
|
@@ -7747,6 +7747,13 @@ var useContainerHeight = (initialHeight = 600) => {
|
|
|
7747
7747
|
}, []);
|
|
7748
7748
|
return [containerRef, containerHeight];
|
|
7749
7749
|
};
|
|
7750
|
+
var DndContext = createContext({
|
|
7751
|
+
dragDropManager: void 0
|
|
7752
|
+
});
|
|
7753
|
+
var useParentDndManager = () => {
|
|
7754
|
+
const context = useContext(DndContext);
|
|
7755
|
+
return context.dragDropManager;
|
|
7756
|
+
};
|
|
7750
7757
|
var PANEL_DATA_MIME_TYPE$1 = "application/x-panel-data";
|
|
7751
7758
|
function TreeNode({
|
|
7752
7759
|
node,
|
|
@@ -7970,6 +7977,7 @@ var RepositoryTreeCore = ({
|
|
|
7970
7977
|
verticalNodePadding = "6px",
|
|
7971
7978
|
verticalPadding = "8px"
|
|
7972
7979
|
}) => {
|
|
7980
|
+
const parentDndManager = useParentDndManager();
|
|
7973
7981
|
const rowHeight = useMemo(() => {
|
|
7974
7982
|
const paddingValue = parseFloat(verticalNodePadding);
|
|
7975
7983
|
const contentLineHeight = 20;
|
|
@@ -8055,7 +8063,8 @@ var RepositoryTreeCore = ({
|
|
|
8055
8063
|
...selection !== void 0 && { selection },
|
|
8056
8064
|
width: "100%",
|
|
8057
8065
|
height: containerHeight,
|
|
8058
|
-
rowHeight
|
|
8066
|
+
rowHeight,
|
|
8067
|
+
dndManager: parentDndManager
|
|
8059
8068
|
}, NodeRenderer));
|
|
8060
8069
|
};
|
|
8061
8070
|
React2.createContext(null);
|
|
@@ -8897,6 +8906,7 @@ const LocalProjectsPanelContent = ({
|
|
|
8897
8906
|
/* @__PURE__ */ jsx(
|
|
8898
8907
|
"button",
|
|
8899
8908
|
{
|
|
8909
|
+
className: "header-action-button",
|
|
8900
8910
|
onClick: () => setViewMode(viewMode === "list" ? "tree" : "list"),
|
|
8901
8911
|
title: viewMode === "list" ? "Switch to tree view" : "Switch to list view",
|
|
8902
8912
|
style: {
|
|
@@ -8904,14 +8914,14 @@ const LocalProjectsPanelContent = ({
|
|
|
8904
8914
|
height: "40px",
|
|
8905
8915
|
borderRadius: "0",
|
|
8906
8916
|
border: "none",
|
|
8907
|
-
backgroundColor: theme.colors.
|
|
8917
|
+
backgroundColor: theme.colors.background,
|
|
8908
8918
|
color: theme.colors.textSecondary,
|
|
8909
8919
|
cursor: "pointer",
|
|
8910
8920
|
display: "flex",
|
|
8911
8921
|
alignItems: "center",
|
|
8912
8922
|
justifyContent: "center",
|
|
8913
|
-
|
|
8914
|
-
|
|
8923
|
+
flexShrink: 0,
|
|
8924
|
+
["--button-hover-bg"]: theme.colors.backgroundSecondary
|
|
8915
8925
|
},
|
|
8916
8926
|
children: viewMode === "list" ? /* @__PURE__ */ jsx(GitFork, { size: 16 }) : /* @__PURE__ */ jsx(List, { size: 16 })
|
|
8917
8927
|
}
|
|
@@ -8919,6 +8929,7 @@ const LocalProjectsPanelContent = ({
|
|
|
8919
8929
|
/* @__PURE__ */ jsx(
|
|
8920
8930
|
"button",
|
|
8921
8931
|
{
|
|
8932
|
+
className: "header-action-button",
|
|
8922
8933
|
onClick: handleScanForRepos,
|
|
8923
8934
|
disabled: isScanning,
|
|
8924
8935
|
title: "Scan for repositories",
|
|
@@ -8927,15 +8938,15 @@ const LocalProjectsPanelContent = ({
|
|
|
8927
8938
|
height: "40px",
|
|
8928
8939
|
borderRadius: "0",
|
|
8929
8940
|
border: "none",
|
|
8930
|
-
backgroundColor: theme.colors.
|
|
8941
|
+
backgroundColor: theme.colors.background,
|
|
8931
8942
|
color: theme.colors.textSecondary,
|
|
8932
8943
|
cursor: isScanning ? "default" : "pointer",
|
|
8933
8944
|
display: "flex",
|
|
8934
8945
|
alignItems: "center",
|
|
8935
8946
|
justifyContent: "center",
|
|
8936
8947
|
opacity: isScanning ? 0.6 : 1,
|
|
8937
|
-
|
|
8938
|
-
|
|
8948
|
+
flexShrink: 0,
|
|
8949
|
+
["--button-hover-bg"]: theme.colors.backgroundSecondary
|
|
8939
8950
|
},
|
|
8940
8951
|
children: /* @__PURE__ */ jsx(
|
|
8941
8952
|
RefreshCw,
|
|
@@ -8951,6 +8962,7 @@ const LocalProjectsPanelContent = ({
|
|
|
8951
8962
|
panelActions.selectDirectory && /* @__PURE__ */ jsx(
|
|
8952
8963
|
"button",
|
|
8953
8964
|
{
|
|
8965
|
+
className: "header-action-button add-project-button",
|
|
8954
8966
|
onClick: handleAddProject,
|
|
8955
8967
|
disabled: isAdding,
|
|
8956
8968
|
title: "Add existing project",
|
|
@@ -8958,16 +8970,16 @@ const LocalProjectsPanelContent = ({
|
|
|
8958
8970
|
padding: "0 12px",
|
|
8959
8971
|
height: "40px",
|
|
8960
8972
|
borderRadius: "0",
|
|
8961
|
-
|
|
8962
|
-
|
|
8963
|
-
color: theme.colors.background,
|
|
8973
|
+
backgroundColor: theme.colors.background,
|
|
8974
|
+
color: theme.colors.primary,
|
|
8964
8975
|
cursor: isAdding ? "default" : "pointer",
|
|
8965
8976
|
display: "flex",
|
|
8966
8977
|
alignItems: "center",
|
|
8967
8978
|
justifyContent: "center",
|
|
8968
8979
|
opacity: isAdding ? 0.6 : 1,
|
|
8969
|
-
|
|
8970
|
-
|
|
8980
|
+
flexShrink: 0,
|
|
8981
|
+
["--button-hover-bg"]: theme.colors.backgroundSecondary,
|
|
8982
|
+
["--add-button-border-color"]: theme.colors.primary
|
|
8971
8983
|
},
|
|
8972
8984
|
children: /* @__PURE__ */ jsx(Plus, { size: 16 })
|
|
8973
8985
|
}
|
|
@@ -9038,10 +9050,10 @@ const LocalProjectsPanelContent = ({
|
|
|
9038
9050
|
/* @__PURE__ */ jsx(
|
|
9039
9051
|
"button",
|
|
9040
9052
|
{
|
|
9041
|
-
className: `header-button ${showSearch ? "active" : ""}`,
|
|
9053
|
+
className: `header-button header-action-button ${showSearch ? "active" : ""}`,
|
|
9042
9054
|
onClick: handleToggleSearch,
|
|
9043
9055
|
style: {
|
|
9044
|
-
background: showSearch ? theme.colors.backgroundSecondary :
|
|
9056
|
+
background: showSearch ? theme.colors.backgroundSecondary : theme.colors.background,
|
|
9045
9057
|
border: "none",
|
|
9046
9058
|
borderRadius: "0",
|
|
9047
9059
|
cursor: "pointer",
|
|
@@ -9051,7 +9063,8 @@ const LocalProjectsPanelContent = ({
|
|
|
9051
9063
|
alignItems: "center",
|
|
9052
9064
|
justifyContent: "center",
|
|
9053
9065
|
color: showSearch ? theme.colors.primary : theme.colors.textSecondary,
|
|
9054
|
-
["--theme-text"]: theme.colors.text
|
|
9066
|
+
["--theme-text"]: theme.colors.text,
|
|
9067
|
+
["--button-hover-bg"]: theme.colors.backgroundSecondary
|
|
9055
9068
|
},
|
|
9056
9069
|
title: showSearch ? "Close search" : "Search projects",
|
|
9057
9070
|
children: /* @__PURE__ */ jsx(Search, { size: 16 })
|
|
@@ -9060,6 +9073,7 @@ const LocalProjectsPanelContent = ({
|
|
|
9060
9073
|
/* @__PURE__ */ jsx(
|
|
9061
9074
|
"button",
|
|
9062
9075
|
{
|
|
9076
|
+
className: "header-action-button",
|
|
9063
9077
|
onClick: () => setViewMode(viewMode === "list" ? "tree" : "list"),
|
|
9064
9078
|
title: viewMode === "list" ? "Switch to tree view" : "Switch to list view",
|
|
9065
9079
|
style: {
|
|
@@ -9067,14 +9081,14 @@ const LocalProjectsPanelContent = ({
|
|
|
9067
9081
|
height: "40px",
|
|
9068
9082
|
borderRadius: "0",
|
|
9069
9083
|
border: "none",
|
|
9070
|
-
backgroundColor: theme.colors.
|
|
9084
|
+
backgroundColor: theme.colors.background,
|
|
9071
9085
|
color: theme.colors.textSecondary,
|
|
9072
9086
|
cursor: "pointer",
|
|
9073
9087
|
display: "flex",
|
|
9074
9088
|
alignItems: "center",
|
|
9075
9089
|
justifyContent: "center",
|
|
9076
|
-
|
|
9077
|
-
|
|
9090
|
+
flexShrink: 0,
|
|
9091
|
+
["--button-hover-bg"]: theme.colors.backgroundSecondary
|
|
9078
9092
|
},
|
|
9079
9093
|
children: viewMode === "list" ? /* @__PURE__ */ jsx(GitFork, { size: 16 }) : /* @__PURE__ */ jsx(List, { size: 16 })
|
|
9080
9094
|
}
|
|
@@ -9082,6 +9096,7 @@ const LocalProjectsPanelContent = ({
|
|
|
9082
9096
|
/* @__PURE__ */ jsx(
|
|
9083
9097
|
"button",
|
|
9084
9098
|
{
|
|
9099
|
+
className: "header-action-button",
|
|
9085
9100
|
onClick: handleScanForRepos,
|
|
9086
9101
|
disabled: isScanning,
|
|
9087
9102
|
title: "Scan for repositories",
|
|
@@ -9090,15 +9105,15 @@ const LocalProjectsPanelContent = ({
|
|
|
9090
9105
|
height: "40px",
|
|
9091
9106
|
borderRadius: "0",
|
|
9092
9107
|
border: "none",
|
|
9093
|
-
backgroundColor: theme.colors.
|
|
9108
|
+
backgroundColor: theme.colors.background,
|
|
9094
9109
|
color: theme.colors.textSecondary,
|
|
9095
9110
|
cursor: isScanning ? "default" : "pointer",
|
|
9096
9111
|
display: "flex",
|
|
9097
9112
|
alignItems: "center",
|
|
9098
9113
|
justifyContent: "center",
|
|
9099
9114
|
opacity: isScanning ? 0.6 : 1,
|
|
9100
|
-
|
|
9101
|
-
|
|
9115
|
+
flexShrink: 0,
|
|
9116
|
+
["--button-hover-bg"]: theme.colors.backgroundSecondary
|
|
9102
9117
|
},
|
|
9103
9118
|
children: /* @__PURE__ */ jsx(
|
|
9104
9119
|
RefreshCw,
|
|
@@ -9114,6 +9129,7 @@ const LocalProjectsPanelContent = ({
|
|
|
9114
9129
|
panelActions.selectDirectory && /* @__PURE__ */ jsx(
|
|
9115
9130
|
"button",
|
|
9116
9131
|
{
|
|
9132
|
+
className: "header-action-button add-project-button",
|
|
9117
9133
|
onClick: handleAddProject,
|
|
9118
9134
|
disabled: isAdding,
|
|
9119
9135
|
title: "Add existing project",
|
|
@@ -9121,16 +9137,16 @@ const LocalProjectsPanelContent = ({
|
|
|
9121
9137
|
padding: "0 12px",
|
|
9122
9138
|
height: "40px",
|
|
9123
9139
|
borderRadius: "0",
|
|
9124
|
-
|
|
9125
|
-
|
|
9126
|
-
color: theme.colors.background,
|
|
9140
|
+
backgroundColor: theme.colors.background,
|
|
9141
|
+
color: theme.colors.primary,
|
|
9127
9142
|
cursor: isAdding ? "default" : "pointer",
|
|
9128
9143
|
display: "flex",
|
|
9129
9144
|
alignItems: "center",
|
|
9130
9145
|
justifyContent: "center",
|
|
9131
9146
|
opacity: isAdding ? 0.6 : 1,
|
|
9132
|
-
|
|
9133
|
-
|
|
9147
|
+
flexShrink: 0,
|
|
9148
|
+
["--button-hover-bg"]: theme.colors.backgroundSecondary,
|
|
9149
|
+
["--add-button-border-color"]: theme.colors.primary
|
|
9134
9150
|
},
|
|
9135
9151
|
children: /* @__PURE__ */ jsx(Plus, { size: 16 })
|
|
9136
9152
|
}
|