@gallop.software/studio 0.1.103 → 0.1.105

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.
@@ -2994,18 +2994,6 @@ var styles6 = {
2994
2994
  accent-color: ${colors.primary};
2995
2995
  cursor: pointer;
2996
2996
  `,
2997
- cdnBadge: css6`
2998
- position: absolute;
2999
- top: 8px;
3000
- right: 8px;
3001
- z-index: 10;
3002
- background-color: ${colors.successLight};
3003
- color: ${colors.success};
3004
- font-size: 11px;
3005
- font-weight: 500;
3006
- padding: 2px 8px;
3007
- border-radius: 4px;
3008
- `,
3009
2997
  content: css6`
3010
2998
  position: relative;
3011
2999
  aspect-ratio: 1;
@@ -3125,6 +3113,30 @@ var styles6 = {
3125
3113
  width: 18px;
3126
3114
  height: 18px;
3127
3115
  `,
3116
+ statusBtn: css6`
3117
+ position: absolute;
3118
+ top: 4px;
3119
+ right: 36px;
3120
+ z-index: 10;
3121
+ height: 28px;
3122
+ width: 28px;
3123
+ background: transparent;
3124
+ border: none;
3125
+ padding: 0;
3126
+ display: flex;
3127
+ align-items: center;
3128
+ justify-content: center;
3129
+ `,
3130
+ cloudIcon: css6`
3131
+ width: 18px;
3132
+ height: 18px;
3133
+ color: #f59e0b;
3134
+ `,
3135
+ globeIcon: css6`
3136
+ width: 18px;
3137
+ height: 18px;
3138
+ color: #ef4444;
3139
+ `,
3128
3140
  tooltip: css6`
3129
3141
  position: absolute;
3130
3142
  top: 50%;
@@ -3340,8 +3352,9 @@ function GridItem({ item, isSelected, onClick, onOpen, onGenerateThumbnail }) {
3340
3352
  )
3341
3353
  }
3342
3354
  ),
3343
- item.cdnPushed && /* @__PURE__ */ jsx6("span", { css: styles6.cdnBadge, children: "CDN" }),
3344
3355
  /* @__PURE__ */ jsxs6("div", { css: styles6.content, children: [
3356
+ item.cdnPushed && !item.isRemote && /* @__PURE__ */ jsx6("span", { css: styles6.statusBtn, title: "Pushed to CDN", children: /* @__PURE__ */ jsx6("svg", { css: styles6.cloudIcon, fill: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx6("path", { d: "M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96z" }) }) }),
3357
+ item.isRemote && /* @__PURE__ */ jsx6("span", { css: styles6.statusBtn, title: "Remote image", children: /* @__PURE__ */ jsx6("svg", { css: styles6.globeIcon, fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx6("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9a9 9 0 01-9-9m9 9c1.657 0 3-4.03 3-9s-1.343-9-3-9m0 18c-1.657 0-3-4.03-3-9s1.343-9 3-9m-9 9a9 9 0 019-9" }) }) }),
3345
3358
  /* @__PURE__ */ jsxs6(
3346
3359
  "button",
3347
3360
  {
@@ -3581,6 +3594,28 @@ var styles7 = {
3581
3594
  width: 16px;
3582
3595
  height: 16px;
3583
3596
  `,
3597
+ statusBtn: css7`
3598
+ flex-shrink: 0;
3599
+ height: 32px;
3600
+ width: 32px;
3601
+ background: ${colors.surface};
3602
+ border: 1px solid ${colors.border};
3603
+ padding: 0;
3604
+ border-radius: 4px;
3605
+ display: inline-flex;
3606
+ align-items: center;
3607
+ justify-content: center;
3608
+ `,
3609
+ cloudIcon: css7`
3610
+ width: 16px;
3611
+ height: 16px;
3612
+ color: #f59e0b;
3613
+ `,
3614
+ globeIcon: css7`
3615
+ width: 16px;
3616
+ height: 16px;
3617
+ color: #ef4444;
3618
+ `,
3584
3619
  tooltip: css7`
3585
3620
  position: absolute;
3586
3621
  top: 50%;
@@ -3721,6 +3756,13 @@ var styles7 = {
3721
3756
  font-weight: 500;
3722
3757
  color: ${colors.success};
3723
3758
  `,
3759
+ cdnBadgeRemote: css7`
3760
+ display: inline-flex;
3761
+ align-items: center;
3762
+ font-size: ${fontSize.xs};
3763
+ font-weight: 500;
3764
+ color: #ef4444;
3765
+ `,
3724
3766
  cdnIcon: css7`
3725
3767
  width: 12px;
3726
3768
  height: 12px;
@@ -3874,6 +3916,8 @@ function ListRow({ item, isSelected, onClick, onOpen, onGenerateThumbnail }) {
3874
3916
  ] }) : /* @__PURE__ */ jsx7("div", { css: styles7.folderIconWrapper, children: /* @__PURE__ */ jsx7("svg", { css: styles7.folderIcon, fill: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx7("path", { d: "M10 4H4a2 2 0 00-2 2v12a2 2 0 002 2h16a2 2 0 002-2V8a2 2 0 00-2-2h-8l-2-2z" }) }) }) : isImage && item.thumbnail ? /* @__PURE__ */ jsx7("div", { css: styles7.thumbnailWrapper, children: /* @__PURE__ */ jsx7("img", { css: styles7.thumbnail, src: item.thumbnail, alt: item.name, loading: "lazy" }) }) : /* @__PURE__ */ jsx7("div", { css: styles7.thumbnailWrapper, children: /* @__PURE__ */ jsx7("svg", { css: styles7.fileIcon, fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx7("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 1.5, d: "M7 21h10a2 2 0 002-2V9.414a1 1 0 00-.293-.707l-5.414-5.414A1 1 0 0012.586 3H7a2 2 0 00-2 2v14a2 2 0 002 2z" }) }) }),
3875
3917
  /* @__PURE__ */ jsx7("span", { css: styles7.name, title: item.name, children: truncateMiddle2(item.name) }),
3876
3918
  /* @__PURE__ */ jsxs7("div", { css: styles7.actionsCell, children: [
3919
+ item.cdnPushed && !item.isRemote && /* @__PURE__ */ jsx7("span", { css: styles7.statusBtn, title: "Pushed to CDN", children: /* @__PURE__ */ jsx7("svg", { css: styles7.cloudIcon, fill: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx7("path", { d: "M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96z" }) }) }),
3920
+ item.isRemote && /* @__PURE__ */ jsx7("span", { css: styles7.statusBtn, title: "Remote image", children: /* @__PURE__ */ jsx7("svg", { css: styles7.globeIcon, fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx7("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9a9 9 0 01-9-9m9 9c1.657 0 3-4.03 3-9s-1.343-9-3-9m0 18c-1.657 0-3-4.03-3-9s1.343-9 3-9m-9 9a9 9 0 019-9" }) }) }),
3877
3921
  /* @__PURE__ */ jsxs7(
3878
3922
  "button",
3879
3923
  {
@@ -3901,9 +3945,9 @@ function ListRow({ item, isSelected, onClick, onOpen, onGenerateThumbnail }) {
3901
3945
  ] }) }),
3902
3946
  /* @__PURE__ */ jsx7("td", { css: [styles7.td, styles7.meta], children: isFolder ? item.fileCount !== void 0 ? `${item.fileCount} files` : "--" : item.size !== void 0 ? formatFileSize2(item.size) : "--" }),
3903
3947
  /* @__PURE__ */ jsx7("td", { css: [styles7.td, styles7.meta], children: isFolder ? item.totalSize !== void 0 ? formatFileSize2(item.totalSize) : "--" : item.dimensions ? `${item.dimensions.width}x${item.dimensions.height}` : "--" }),
3904
- /* @__PURE__ */ jsx7("td", { css: styles7.td, children: item.cdnPushed ? /* @__PURE__ */ jsxs7("span", { css: styles7.cdnBadge, children: [
3948
+ /* @__PURE__ */ jsx7("td", { css: styles7.td, children: item.cdnPushed ? item.isRemote ? /* @__PURE__ */ jsx7("span", { css: styles7.cdnBadgeRemote, children: "Remote" }) : /* @__PURE__ */ jsxs7("span", { css: styles7.cdnBadge, children: [
3905
3949
  /* @__PURE__ */ jsx7("svg", { css: styles7.cdnIcon, fill: "currentColor", viewBox: "0 0 20 20", children: /* @__PURE__ */ jsx7("path", { fillRule: "evenodd", d: "M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z", clipRule: "evenodd" }) }),
3906
- "Synced"
3950
+ "Pushed"
3907
3951
  ] }) : /* @__PURE__ */ jsx7("span", { css: styles7.cdnEmpty, children: "--" }) })
3908
3952
  ]
3909
3953
  }
@@ -4005,6 +4049,26 @@ var styles8 = {
4005
4049
  height: 20px;
4006
4050
  color: ${colors.textSecondary};
4007
4051
  `,
4052
+ statusIcon: css8`
4053
+ display: flex;
4054
+ align-items: center;
4055
+ justify-content: center;
4056
+ padding: 8px;
4057
+ background: ${colors.surface};
4058
+ border: 1px solid ${colors.border};
4059
+ border-radius: 8px;
4060
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
4061
+ `,
4062
+ cloudIcon: css8`
4063
+ width: 20px;
4064
+ height: 20px;
4065
+ color: #f59e0b;
4066
+ `,
4067
+ globeIcon: css8`
4068
+ width: 20px;
4069
+ height: 20px;
4070
+ color: #ef4444;
4071
+ `,
4008
4072
  tooltip: css8`
4009
4073
  position: absolute;
4010
4074
  right: 100%;
@@ -4446,6 +4510,8 @@ function StudioDetailView() {
4446
4510
  /* @__PURE__ */ jsx8("div", { css: styles8.overlay, onClick: handleClose, children: /* @__PURE__ */ jsxs8("div", { css: styles8.container, onClick: (e) => e.stopPropagation(), children: [
4447
4511
  /* @__PURE__ */ jsxs8("div", { css: styles8.main, children: [
4448
4512
  /* @__PURE__ */ jsxs8("div", { css: styles8.headerButtons, children: [
4513
+ focusedItem.cdnPushed && !focusedItem.isRemote && /* @__PURE__ */ jsx8("span", { css: styles8.statusIcon, title: "Pushed to CDN", children: /* @__PURE__ */ jsx8("svg", { css: styles8.cloudIcon, fill: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx8("path", { d: "M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96z" }) }) }),
4514
+ focusedItem.isRemote && /* @__PURE__ */ jsx8("span", { css: styles8.statusIcon, title: "Remote image", children: /* @__PURE__ */ jsx8("svg", { css: styles8.globeIcon, fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx8("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9a9 9 0 01-9-9m9 9c1.657 0 3-4.03 3-9s-1.343-9-3-9m0 18c-1.657 0-3-4.03-3-9s1.343-9 3-9m-9 9a9 9 0 019-9" }) }) }),
4449
4515
  /* @__PURE__ */ jsxs8("button", { css: styles8.copyBtn, onClick: handleCopyPath, title: "Copy file path", children: [
4450
4516
  showCopied && /* @__PURE__ */ jsx8("span", { css: styles8.tooltip, children: "Copied!" }),
4451
4517
  /* @__PURE__ */ jsx8("svg", { css: styles8.copyIcon, fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx8("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2" }) })
@@ -5501,4 +5567,4 @@ export {
5501
5567
  StudioUI,
5502
5568
  StudioUI_default as default
5503
5569
  };
5504
- //# sourceMappingURL=StudioUI-24OSFA4A.mjs.map
5570
+ //# sourceMappingURL=StudioUI-J4DKTERW.mjs.map