@sentroy-co/client-sdk 2.3.2 → 2.4.4
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/README.md +40 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/react/MediaManager.d.ts.map +1 -1
- package/dist/react/MediaManager.js +10 -3
- package/dist/react/MediaManager.js.map +1 -1
- package/dist/react/MediaManagerTrigger.d.ts.map +1 -1
- package/dist/react/MediaManagerTrigger.js +9 -1
- package/dist/react/MediaManagerTrigger.js.map +1 -1
- package/dist/react/lib/Lightbox.d.ts.map +1 -1
- package/dist/react/lib/Lightbox.js +7 -1
- package/dist/react/lib/Lightbox.js.map +1 -1
- package/dist/thumbnails.d.ts +67 -0
- package/dist/thumbnails.d.ts.map +1 -0
- package/dist/thumbnails.js +106 -0
- package/dist/thumbnails.js.map +1 -0
- package/package.json +1 -1
- package/src/index.ts +8 -0
- package/src/react/MediaManager.tsx +10 -3
- package/src/react/MediaManagerTrigger.tsx +8 -1
- package/src/react/lib/Lightbox.tsx +8 -1
- package/src/thumbnails.ts +128 -0
package/README.md
CHANGED
|
@@ -247,6 +247,46 @@ const thumb = await sentroy.media.download("product-assets", mediaId, {
|
|
|
247
247
|
await sentroy.media.delete("product-assets", mediaId)
|
|
248
248
|
```
|
|
249
249
|
|
|
250
|
+
#### Thumbnail URL helpers
|
|
251
|
+
|
|
252
|
+
When you upload an image, the CDN auto-generates several thumbnail
|
|
253
|
+
sizes (`media.imageMeta.thumbnails`). Showing the original 4000-px JPG
|
|
254
|
+
in a 56-px avatar wastes bandwidth and slows render. Use these helpers
|
|
255
|
+
to pick the right URL for the display target:
|
|
256
|
+
|
|
257
|
+
```ts
|
|
258
|
+
import {
|
|
259
|
+
pickThumbnailUrl,
|
|
260
|
+
pickPresetThumbnailUrl,
|
|
261
|
+
THUMBNAIL_PRESETS,
|
|
262
|
+
} from "@sentroy-co/client-sdk"
|
|
263
|
+
|
|
264
|
+
// Manual target (px) — pass display size * 2 for retina
|
|
265
|
+
const avatarUrl = pickThumbnailUrl(media, 56 * 2)
|
|
266
|
+
|
|
267
|
+
// Semantic preset — avatar / card / preview / hero
|
|
268
|
+
const cardUrl = pickPresetThumbnailUrl(media, "card") // → ~500px
|
|
269
|
+
const previewUrl = pickPresetThumbnailUrl(media, "preview") // → ~960px
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
The helper picks the smallest thumbnail that still **covers** the
|
|
273
|
+
target (so you never upscale), then falls back through:
|
|
274
|
+
|
|
275
|
+
1. `thumbnail.url` if the backend exposed it directly,
|
|
276
|
+
2. CDN-prefix + `thumbnail.fileName` derived from `media.url`,
|
|
277
|
+
3. proxy `media.downloadUrl?quality=N` for private buckets,
|
|
278
|
+
4. `media.url` / `media.downloadUrl` if no thumbnails exist
|
|
279
|
+
(non-image, or image upload before thumbnails were generated).
|
|
280
|
+
|
|
281
|
+
Returns `undefined` only when the media has no public URL at all.
|
|
282
|
+
|
|
283
|
+
| Preset | Target px | Use case |
|
|
284
|
+
|-------------|-----------|----------|
|
|
285
|
+
| `avatar` | 128 | Round chips, 28-64 px display @2x |
|
|
286
|
+
| `card` | 500 | Grid / list cards, 200-300 px |
|
|
287
|
+
| `preview` | 960 | Modal / detail view |
|
|
288
|
+
| `hero` | 1600 | Full-bleed hero, edge cases |
|
|
289
|
+
|
|
250
290
|
## Error Handling
|
|
251
291
|
|
|
252
292
|
```ts
|
package/dist/index.d.ts
CHANGED
|
@@ -40,4 +40,5 @@ export declare class Sentroy {
|
|
|
40
40
|
}
|
|
41
41
|
export type { SentroyClientConfig, ApiResponse, Domain, MailboxUser, Template, LocalizedString, MessageAddress, MessageSummary, MessageDetail, AttachmentInfo, Mailbox, InboxListParams, Attachment, SendParams, SendResult, Bucket, CreateBucketParams, UpdateBucketParams, Media, MediaType, MediaThumbnail, MediaImageMeta, MediaListParams, MediaListResult, UploadMediaParams, StorageQuota, StorageUsage, StorageUsageBucket, StorageUsageByType, } from "./types";
|
|
42
42
|
export { SentroyError } from "./http";
|
|
43
|
+
export { pickThumbnailUrl, pickPresetThumbnailUrl, THUMBNAIL_PRESETS, type ThumbnailPreset, type ThumbnailSourceMedia, } from "./thumbnails";
|
|
43
44
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAC7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAElD,qBAAa,OAAO;IAClB,SAAgB,OAAO,EAAE,OAAO,CAAA;IAChC,SAAgB,SAAS,EAAE,SAAS,CAAA;IACpC,SAAgB,SAAS,EAAE,SAAS,CAAA;IACpC,SAAgB,KAAK,EAAE,KAAK,CAAA;IAC5B,SAAgB,IAAI,EAAE,IAAI,CAAA;IAC1B,SAAgB,OAAO,EAAE,OAAO,CAAA;IAChC,SAAgB,KAAK,EAAE,aAAa,CAAA;IACpC,SAAgB,OAAO,EAAE,OAAO,CAAA;IAEhC;;;;;;;;;;;;;;;;;;;OAmBG;gBACS,MAAM,EAAE,mBAAmB;CA6BxC;AAGD,YAAY,EACV,mBAAmB,EACnB,WAAW,EACX,MAAM,EACN,WAAW,EACX,QAAQ,EACR,eAAe,EACf,cAAc,EACd,cAAc,EACd,aAAa,EACb,cAAc,EACd,OAAO,EACP,eAAe,EACf,UAAU,EACV,UAAU,EACV,UAAU,EACV,MAAM,EACN,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,EACL,SAAS,EACT,cAAc,EACd,cAAc,EACd,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAC7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAElD,qBAAa,OAAO;IAClB,SAAgB,OAAO,EAAE,OAAO,CAAA;IAChC,SAAgB,SAAS,EAAE,SAAS,CAAA;IACpC,SAAgB,SAAS,EAAE,SAAS,CAAA;IACpC,SAAgB,KAAK,EAAE,KAAK,CAAA;IAC5B,SAAgB,IAAI,EAAE,IAAI,CAAA;IAC1B,SAAgB,OAAO,EAAE,OAAO,CAAA;IAChC,SAAgB,KAAK,EAAE,aAAa,CAAA;IACpC,SAAgB,OAAO,EAAE,OAAO,CAAA;IAEhC;;;;;;;;;;;;;;;;;;;OAmBG;gBACS,MAAM,EAAE,mBAAmB;CA6BxC;AAGD,YAAY,EACV,mBAAmB,EACnB,WAAW,EACX,MAAM,EACN,WAAW,EACX,QAAQ,EACR,eAAe,EACf,cAAc,EACd,cAAc,EACd,aAAa,EACb,cAAc,EACd,OAAO,EACP,eAAe,EACf,UAAU,EACV,UAAU,EACV,UAAU,EACV,MAAM,EACN,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,EACL,SAAS,EACT,cAAc,EACd,cAAc,EACd,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAErC,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EACjB,KAAK,eAAe,EACpB,KAAK,oBAAoB,GAC1B,MAAM,cAAc,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SentroyError = exports.Sentroy = void 0;
|
|
3
|
+
exports.THUMBNAIL_PRESETS = exports.pickPresetThumbnailUrl = exports.pickThumbnailUrl = exports.SentroyError = exports.Sentroy = void 0;
|
|
4
4
|
const http_1 = require("./http");
|
|
5
5
|
const domains_1 = require("./resources/domains");
|
|
6
6
|
const mailboxes_1 = require("./resources/mailboxes");
|
|
@@ -61,4 +61,8 @@ class Sentroy {
|
|
|
61
61
|
exports.Sentroy = Sentroy;
|
|
62
62
|
var http_2 = require("./http");
|
|
63
63
|
Object.defineProperty(exports, "SentroyError", { enumerable: true, get: function () { return http_2.SentroyError; } });
|
|
64
|
+
var thumbnails_1 = require("./thumbnails");
|
|
65
|
+
Object.defineProperty(exports, "pickThumbnailUrl", { enumerable: true, get: function () { return thumbnails_1.pickThumbnailUrl; } });
|
|
66
|
+
Object.defineProperty(exports, "pickPresetThumbnailUrl", { enumerable: true, get: function () { return thumbnails_1.pickPresetThumbnailUrl; } });
|
|
67
|
+
Object.defineProperty(exports, "THUMBNAIL_PRESETS", { enumerable: true, get: function () { return thumbnails_1.THUMBNAIL_PRESETS; } });
|
|
64
68
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,iCAAmC;AACnC,iDAA6C;AAC7C,qDAAiD;AACjD,qDAAiD;AACjD,6CAAyC;AACzC,2CAAuC;AACvC,iDAA6C;AAC7C,6CAAiD;AACjD,iDAA6C;AAG7C,MAAa,OAAO;IACF,OAAO,CAAS;IAChB,SAAS,CAAW;IACpB,SAAS,CAAW;IACpB,KAAK,CAAO;IACZ,IAAI,CAAM;IACV,OAAO,CAAS;IAChB,KAAK,CAAe;IACpB,OAAO,CAAS;IAEhC;;;;;;;;;;;;;;;;;;;OAmBG;IACH,YAAY,MAA2B;QACrC,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QAC/C,MAAM,IAAI,GAAG,kBAAkB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QAEnD,mEAAmE;QACnE,kEAAkE;QAClE,mBAAmB;QACnB,MAAM,QAAQ,GAAG,IAAI,iBAAU,CAC7B,GAAG,IAAI,uBAAuB,IAAI,EAAE,EACpC,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,OAAO,CACf,CAAA;QAED,8DAA8D;QAC9D,MAAM,WAAW,GAAG,IAAI,iBAAU,CAChC,GAAG,IAAI,0BAA0B,IAAI,EAAE,EACvC,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,OAAO,CACf,CAAA;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAO,CAAC,QAAQ,CAAC,CAAA;QACpC,IAAI,CAAC,SAAS,GAAG,IAAI,qBAAS,CAAC,QAAQ,CAAC,CAAA;QACxC,IAAI,CAAC,SAAS,GAAG,IAAI,qBAAS,CAAC,QAAQ,CAAC,CAAA;QACxC,IAAI,CAAC,KAAK,GAAG,IAAI,aAAK,CAAC,QAAQ,CAAC,CAAA;QAChC,IAAI,CAAC,IAAI,GAAG,IAAI,WAAI,CAAC,QAAQ,CAAC,CAAA;QAC9B,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAO,CAAC,WAAW,CAAC,CAAA;QACvC,IAAI,CAAC,KAAK,GAAG,IAAI,qBAAa,CAAC,WAAW,CAAC,CAAA;QAC3C,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAO,CAAC,WAAW,CAAC,CAAA;IACzC,CAAC;CACF;AA3DD,0BA2DC;AAmCD,+BAAqC;AAA5B,oGAAA,YAAY,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,iCAAmC;AACnC,iDAA6C;AAC7C,qDAAiD;AACjD,qDAAiD;AACjD,6CAAyC;AACzC,2CAAuC;AACvC,iDAA6C;AAC7C,6CAAiD;AACjD,iDAA6C;AAG7C,MAAa,OAAO;IACF,OAAO,CAAS;IAChB,SAAS,CAAW;IACpB,SAAS,CAAW;IACpB,KAAK,CAAO;IACZ,IAAI,CAAM;IACV,OAAO,CAAS;IAChB,KAAK,CAAe;IACpB,OAAO,CAAS;IAEhC;;;;;;;;;;;;;;;;;;;OAmBG;IACH,YAAY,MAA2B;QACrC,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QAC/C,MAAM,IAAI,GAAG,kBAAkB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QAEnD,mEAAmE;QACnE,kEAAkE;QAClE,mBAAmB;QACnB,MAAM,QAAQ,GAAG,IAAI,iBAAU,CAC7B,GAAG,IAAI,uBAAuB,IAAI,EAAE,EACpC,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,OAAO,CACf,CAAA;QAED,8DAA8D;QAC9D,MAAM,WAAW,GAAG,IAAI,iBAAU,CAChC,GAAG,IAAI,0BAA0B,IAAI,EAAE,EACvC,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,OAAO,CACf,CAAA;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAO,CAAC,QAAQ,CAAC,CAAA;QACpC,IAAI,CAAC,SAAS,GAAG,IAAI,qBAAS,CAAC,QAAQ,CAAC,CAAA;QACxC,IAAI,CAAC,SAAS,GAAG,IAAI,qBAAS,CAAC,QAAQ,CAAC,CAAA;QACxC,IAAI,CAAC,KAAK,GAAG,IAAI,aAAK,CAAC,QAAQ,CAAC,CAAA;QAChC,IAAI,CAAC,IAAI,GAAG,IAAI,WAAI,CAAC,QAAQ,CAAC,CAAA;QAC9B,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAO,CAAC,WAAW,CAAC,CAAA;QACvC,IAAI,CAAC,KAAK,GAAG,IAAI,qBAAa,CAAC,WAAW,CAAC,CAAA;QAC3C,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAO,CAAC,WAAW,CAAC,CAAA;IACzC,CAAC;CACF;AA3DD,0BA2DC;AAmCD,+BAAqC;AAA5B,oGAAA,YAAY,OAAA;AAErB,2CAMqB;AALnB,8GAAA,gBAAgB,OAAA;AAChB,oHAAA,sBAAsB,OAAA;AACtB,+GAAA,iBAAiB,OAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MediaManager.d.ts","sourceRoot":"","sources":["../../src/react/MediaManager.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,IAAI,CAAA;AACjC,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"MediaManager.d.ts","sourceRoot":"","sources":["../../src/react/MediaManager.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,IAAI,CAAA;AACjC,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAa7C;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,WAAW,sBAAsB;IACrC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,yEAAyE;IACzE,MAAM,EAAE,OAAO,CAAA;IACf;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,0EAA0E;IAC1E,YAAY,CAAC,EAAE,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,CAAA;IACpC,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,IAAI,CAAA;IACtC,sEAAsE;IACtE,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,IAAI,CAAA;IACtC;0CACsC;IACtC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAA;IAC1C,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,6CAA6C;IAC7C,UAAU,CAAC,EAAE,sBAAsB,CAAA;IACnC,qDAAqD;IACrD,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,6DAA6D;IAC7D,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC7B;AAcD,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,2CAgiBpD"}
|
|
@@ -5,6 +5,7 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
5
5
|
const react_1 = require("react");
|
|
6
6
|
const Lightbox_1 = require("./lib/Lightbox");
|
|
7
7
|
const use_media_list_1 = require("./lib/use-media-list");
|
|
8
|
+
const thumbnails_1 = require("../thumbnails");
|
|
8
9
|
const utils_1 = require("./lib/utils");
|
|
9
10
|
const KIND_FILTERS = [
|
|
10
11
|
{ value: "all", label: "All" },
|
|
@@ -192,7 +193,12 @@ function MediaManager(props) {
|
|
|
192
193
|
} })] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex min-h-[280px] flex-1", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex-1 overflow-y-auto p-3", children: [loading && ((0, jsx_runtime_1.jsx)("div", { className: "grid gap-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5", children: Array.from({ length: 8 }).map((_, i) => ((0, jsx_runtime_1.jsx)("div", { className: "h-28 animate-pulse rounded-md bg-muted/50" }, i))) })), error && ((0, jsx_runtime_1.jsx)("div", { className: "rounded-md border border-destructive/30 bg-destructive/5 p-3 text-xs text-destructive", children: error })), !loading && !error && visibleItems.length === 0 && ((0, jsx_runtime_1.jsxs)("div", { className: (0, utils_1.cn)("flex h-full flex-col items-center justify-center gap-2 py-8 text-center text-sm text-muted-foreground", cls.empty), children: [(0, jsx_runtime_1.jsx)("span", { children: "No files match." }), (0, jsx_runtime_1.jsx)("button", { type: "button", onClick: () => fileInputRef.current?.click(), className: "text-xs underline", children: "Upload one" })] })), !loading && !error && visibleItems.length > 0 && ((0, jsx_runtime_1.jsx)("div", { className: (0, utils_1.cn)("grid gap-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5", cls.grid), children: visibleItems.map((media) => {
|
|
193
194
|
const isSel = selectedIds.has(media.id);
|
|
194
195
|
const kind = (0, utils_1.detectKind)(media);
|
|
195
|
-
|
|
196
|
+
// Grid card 200-300 px display — orijinal 4K JPG yerine
|
|
197
|
+
// "card" preset (~500px) thumbnail. Gerçek thumbnail yoksa
|
|
198
|
+
// helper orijinale fallback yapar.
|
|
199
|
+
const thumb = kind === "image"
|
|
200
|
+
? (0, thumbnails_1.pickPresetThumbnailUrl)(media, "card") ?? null
|
|
201
|
+
: null;
|
|
196
202
|
return ((0, jsx_runtime_1.jsxs)("button", { type: "button", onClick: () => toggleSelect(media), onDoubleClick: () => {
|
|
197
203
|
const idx = visibleItems.findIndex((m) => m.id === media.id);
|
|
198
204
|
if (idx >= 0) {
|
|
@@ -211,9 +217,10 @@ function MediaManager(props) {
|
|
|
211
217
|
}) }))] }), showDetailsPane && ((0, jsx_runtime_1.jsx)("aside", { className: (0, utils_1.cn)("hidden w-64 shrink-0 flex-col gap-2 border-s bg-muted/10 p-3 lg:flex", cls.details), children: selected.length === 0 ? ((0, jsx_runtime_1.jsxs)("div", { className: "text-xs text-muted-foreground", children: ["Select a file to see details. Press", " ", (0, jsx_runtime_1.jsx)("kbd", { className: "rounded border bg-muted px-1 text-[10px]", children: "Space" }), " ", "to preview."] })) : selected.length === 1 ? ((() => {
|
|
212
218
|
const m = selected[0];
|
|
213
219
|
const kind = (0, utils_1.detectKind)(m);
|
|
214
|
-
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { className: "aspect-square overflow-hidden rounded-md bg-muted/30", children: kind === "image" &&
|
|
220
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { className: "aspect-square overflow-hidden rounded-md bg-muted/30", children: kind === "image" &&
|
|
221
|
+
(0, thumbnails_1.pickPresetThumbnailUrl)(m, "card") ? (
|
|
215
222
|
// eslint-disable-next-line @next/next/no-img-element
|
|
216
|
-
(0, jsx_runtime_1.jsx)("img", { src: m
|
|
223
|
+
(0, jsx_runtime_1.jsx)("img", { src: (0, thumbnails_1.pickPresetThumbnailUrl)(m, "card") ?? "", alt: m.alt ?? m.fileName, className: "size-full object-cover" })) : ((0, jsx_runtime_1.jsx)("div", { className: "flex size-full items-center justify-center text-xs text-muted-foreground", children: utils_1.KIND_LABELS[kind] })) }), (0, jsx_runtime_1.jsxs)("div", { className: "flex flex-col gap-0.5", children: [(0, jsx_runtime_1.jsx)("span", { className: "break-all text-xs font-medium", children: m.fileName }), (0, jsx_runtime_1.jsxs)("span", { className: "text-[10px] text-muted-foreground", children: [(0, utils_1.formatBytes)(m.size ?? 0), m.mimeType ? ` · ${m.mimeType}` : ""] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "mt-auto flex items-center gap-2", children: [(0, jsx_runtime_1.jsx)("button", { type: "button", onClick: () => {
|
|
217
224
|
const idx = visibleItems.findIndex((it) => it.id === m.id);
|
|
218
225
|
if (idx >= 0)
|
|
219
226
|
setLightboxIdx(idx);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MediaManager.js","sourceRoot":"","sources":["../../src/react/MediaManager.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MediaManager.js","sourceRoot":"","sources":["../../src/react/MediaManager.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MediaManagerTrigger.d.ts","sourceRoot":"","sources":["../../src/react/MediaManagerTrigger.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAoC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAExE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,EAAgB,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAGrE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,MAAM,WAAW,wBACf,SAAQ,IAAI,CAAC,iBAAiB,EAAE,UAAU,GAAG,UAAU,GAAG,UAAU,CAAC;IACrE,8DAA8D;IAC9D,OAAO,EAAE,SAAS,CAAA;IAClB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,wEAAwE;IACxE,QAAQ,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,IAAI,CAAA;IACrC,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,4CAA4C;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,wDAAwD;IACxD,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACtC,kCAAkC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,qEAAqE;IACrE,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,qDAAqD;IACrD,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,6CAA6C;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,
|
|
1
|
+
{"version":3,"file":"MediaManagerTrigger.d.ts","sourceRoot":"","sources":["../../src/react/MediaManagerTrigger.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAoC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAExE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,EAAgB,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAGrE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,MAAM,WAAW,wBACf,SAAQ,IAAI,CAAC,iBAAiB,EAAE,UAAU,GAAG,UAAU,GAAG,UAAU,CAAC;IACrE,8DAA8D;IAC9D,OAAO,EAAE,SAAS,CAAA;IAClB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,wEAAwE;IACxE,QAAQ,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,IAAI,CAAA;IACrC,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,4CAA4C;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,wDAAwD;IACxD,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACtC,kCAAkC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,qEAAqE;IACrE,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,qDAAqD;IACrD,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,6CAA6C;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,2CAuMlE"}
|
|
@@ -69,7 +69,15 @@ function MediaManagerTrigger(props) {
|
|
|
69
69
|
setOpen(true);
|
|
70
70
|
}
|
|
71
71
|
}, className: (0, utils_1.cn)("inline-block", disabled ? "cursor-not-allowed opacity-50" : "cursor-pointer", triggerClassName), children: trigger }));
|
|
72
|
-
const modalNode = open && mounted ? ((0, jsx_runtime_1.jsxs)("div", { className: "fixed inset-0 z-[100] flex items-center justify-center p-4", role: "dialog", "aria-modal": "true", "aria-labelledby": "sentroy-mm-title", children: [(0, jsx_runtime_1.jsx)("div", { className: "absolute inset-0 bg-black/60 backdrop-blur-sm", onClick: () => setOpen(false) }), (0, jsx_runtime_1.jsxs)("div", { className: (0, utils_1.cn)(
|
|
72
|
+
const modalNode = open && mounted ? ((0, jsx_runtime_1.jsxs)("div", { className: "fixed inset-0 z-[100] flex items-center justify-center p-4", role: "dialog", "aria-modal": "true", "aria-labelledby": "sentroy-mm-title", children: [(0, jsx_runtime_1.jsx)("div", { className: "absolute inset-0 bg-black/60 backdrop-blur-sm", onClick: () => setOpen(false) }), (0, jsx_runtime_1.jsxs)("div", { className: (0, utils_1.cn)(
|
|
73
|
+
// Default boyutlar mütevazı — single-image avatar/cover picker
|
|
74
|
+
// için idealdir. Geniş kullanım için consumer `modalClassName`
|
|
75
|
+
// ile `max-w-5xl` veya `max-w-7xl` set edebilir.
|
|
76
|
+
//
|
|
77
|
+
// `h-[min(80vh,640px)]` küçük ekranda viewport oranlı,
|
|
78
|
+
// 4K/ultrawide ekranda 640px hard cap — modal tüm ekranı
|
|
79
|
+
// kaplamaz, dialog hissi korunur.
|
|
80
|
+
"relative z-10 flex h-[min(80vh,640px)] w-full max-w-3xl flex-col gap-3 rounded-xl border bg-background p-4 shadow-2xl", modalClassName), children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex items-start justify-between gap-2", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex flex-col gap-0.5", children: [(0, jsx_runtime_1.jsx)("h2", { id: "sentroy-mm-title", className: "text-base font-semibold", children: title }), description && ((0, jsx_runtime_1.jsx)("p", { className: "text-xs text-muted-foreground", children: description }))] }), (0, jsx_runtime_1.jsx)("button", { type: "button", onClick: () => setOpen(false), className: "rounded-md p-1 text-muted-foreground hover:bg-muted/50", "aria-label": "Close", children: (0, jsx_runtime_1.jsx)("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: (0, jsx_runtime_1.jsx)("path", { d: "M18 6L6 18M6 6l12 12" }) }) })] }), (0, jsx_runtime_1.jsx)("div", { className: "min-h-0 flex-1 overflow-hidden", children: (0, jsx_runtime_1.jsx)(MediaManager_1.MediaManager, { ...mmProps, multiple: maxItems > 1, maxItems: maxItems, onChange: setSelected, className: (0, utils_1.cn)("h-full", mmProps.className) }) }), (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center justify-between gap-2 border-t pt-3", children: [(0, jsx_runtime_1.jsx)("div", { className: "text-xs text-muted-foreground", children: selected.length === 0
|
|
73
81
|
? maxItems === 1
|
|
74
82
|
? "Select an item"
|
|
75
83
|
: `Select up to ${maxItems} items`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MediaManagerTrigger.js","sourceRoot":"","sources":["../../src/react/MediaManagerTrigger.tsx"],"names":[],"mappings":";;AAmEA,
|
|
1
|
+
{"version":3,"file":"MediaManagerTrigger.js","sourceRoot":"","sources":["../../src/react/MediaManagerTrigger.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Lightbox.d.ts","sourceRoot":"","sources":["../../../src/react/lib/Lightbox.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"Lightbox.d.ts","sourceRoot":"","sources":["../../../src/react/lib/Lightbox.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAIxC;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,KAAK,CAAA;IACZ,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,OAAO,EACP,MAAM,EACN,MAAM,EACN,SAAS,GACV,EAAE,aAAa,2CA6If"}
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.Lightbox = Lightbox;
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
5
|
const react_1 = require("react");
|
|
6
|
+
const thumbnails_1 = require("../../thumbnails");
|
|
6
7
|
const utils_1 = require("./utils");
|
|
7
8
|
function Lightbox({ media, onClose, onPrev, onNext, className, }) {
|
|
8
9
|
(0, react_1.useEffect)(() => {
|
|
@@ -22,7 +23,12 @@ function Lightbox({ media, onClose, onPrev, onNext, className, }) {
|
|
|
22
23
|
};
|
|
23
24
|
}, [onClose, onPrev, onNext]);
|
|
24
25
|
const kind = (0, utils_1.detectKind)(media);
|
|
25
|
-
|
|
26
|
+
// Lightbox modal — büyük preview ama 4K/orijinal gerekmez. Image
|
|
27
|
+
// için "preview" preset (~960px) kullan, video/audio/diğerlerinde
|
|
28
|
+
// orijinal URL'i akıt.
|
|
29
|
+
const url = kind === "image"
|
|
30
|
+
? (0, thumbnails_1.pickPresetThumbnailUrl)(media, "preview") ?? media.url ?? media.downloadUrl
|
|
31
|
+
: media.url ?? media.downloadUrl;
|
|
26
32
|
return ((0, jsx_runtime_1.jsxs)("div", { role: "dialog", "aria-modal": "true", onClick: (e) => {
|
|
27
33
|
if (e.target === e.currentTarget)
|
|
28
34
|
onClose();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Lightbox.js","sourceRoot":"","sources":["../../../src/react/lib/Lightbox.tsx"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"Lightbox.js","sourceRoot":"","sources":["../../../src/react/lib/Lightbox.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Media thumbnail URL helpers — display target'ına göre uygun boyutta
|
|
3
|
+
* URL döndürür. Orijinal kaliteyi avatar/grid card gibi küçük yerlerde
|
|
4
|
+
* göstermek bandwidth ve render cost açısından mantıksız.
|
|
5
|
+
*
|
|
6
|
+
* CDN tarafı upload sırasında image'lar için pre-generated thumbnail'lar
|
|
7
|
+
* üretir (`imageMeta.thumbnails[]`). Bu helper:
|
|
8
|
+
* 1. Hedef boyutu kapsayacak en küçük thumbnail'ı seçer (yoksa en büyük).
|
|
9
|
+
* 2. Thumbnail URL'i exposed ise direkt onu kullanır.
|
|
10
|
+
* 3. Değilse `media.url`'in CDN prefix'ine `thumbnail.fileName` ekleyerek
|
|
11
|
+
* URL inşa eder ({cdn-base}/{bucketId}/{thumbnail.fileName}).
|
|
12
|
+
* 4. Hiçbir public URL yoksa download endpoint'ini `?quality=N` ile döner.
|
|
13
|
+
* 5. En kötü durumda media.downloadUrl ya da undefined.
|
|
14
|
+
*/
|
|
15
|
+
import type { Media } from "./types";
|
|
16
|
+
/**
|
|
17
|
+
* Yardımcı fonksiyona verilebilecek minimum Media subset — Media tipinin
|
|
18
|
+
* tamamını import etmek istemeyen consumer'lar için.
|
|
19
|
+
*/
|
|
20
|
+
export type ThumbnailSourceMedia = Pick<Media, "url" | "downloadUrl" | "imageMeta" | "type">;
|
|
21
|
+
/**
|
|
22
|
+
* Display hedef boyutuna göre uygun thumbnail URL'sini döndür.
|
|
23
|
+
*
|
|
24
|
+
* @param media Sentroy media object (list / get / upload result).
|
|
25
|
+
* @param targetPx Display'in maksimum boyutu (genişlik veya yükseklik) px.
|
|
26
|
+
* Retina için `2x` ile çağırın: `pickThumbnailUrl(m, 56*2)`.
|
|
27
|
+
*
|
|
28
|
+
* @returns URL string ya da hiçbir şey üretilemezse `undefined`.
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```tsx
|
|
32
|
+
* const avatarUrl = pickThumbnailUrl(media, 56 * 2) // 112px target
|
|
33
|
+
* <img src={avatarUrl} className="size-14 rounded-full" />
|
|
34
|
+
* ```
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* ```tsx
|
|
38
|
+
* const cardUrl = pickThumbnailUrl(media, 320)
|
|
39
|
+
* const fullUrl = media.url // grid'te küçük, lightbox'ta orijinal
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
export declare function pickThumbnailUrl(media: ThumbnailSourceMedia, targetPx: number): string | undefined;
|
|
43
|
+
/**
|
|
44
|
+
* Yaygın preset boyutları — semantik isimle çağırmak isteyen consumer
|
|
45
|
+
* için kısayol. Retina-aware: avatar ufacık olduğundan @2x; orta boy
|
|
46
|
+
* preview için orijinal yerine ~640.
|
|
47
|
+
*
|
|
48
|
+
* Manuel `targetPx` vermek istemediğinde:
|
|
49
|
+
* `pickPresetThumbnailUrl(media, "avatar")`.
|
|
50
|
+
*/
|
|
51
|
+
export declare const THUMBNAIL_PRESETS: {
|
|
52
|
+
/** Avatar / round chip — 28-64px display, 2x retina için ~120 hedef. */
|
|
53
|
+
readonly avatar: 128;
|
|
54
|
+
/** List/grid card — 200-300px display, ~500 hedef. */
|
|
55
|
+
readonly card: 500;
|
|
56
|
+
/** Modal preview — büyük ama orijinali yormayan ~960. */
|
|
57
|
+
readonly preview: 960;
|
|
58
|
+
/** Hero / fullbleed — 1280-1920 display, neredeyse orijinal. */
|
|
59
|
+
readonly hero: 1600;
|
|
60
|
+
};
|
|
61
|
+
export type ThumbnailPreset = keyof typeof THUMBNAIL_PRESETS;
|
|
62
|
+
/**
|
|
63
|
+
* `pickThumbnailUrl`'in semantik kısayolu — display amacını isimle ifade
|
|
64
|
+
* et, helper preset → px mapping'ini halletsin.
|
|
65
|
+
*/
|
|
66
|
+
export declare function pickPresetThumbnailUrl(media: ThumbnailSourceMedia, preset: ThumbnailPreset): string | undefined;
|
|
67
|
+
//# sourceMappingURL=thumbnails.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thumbnails.d.ts","sourceRoot":"","sources":["../src/thumbnails.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAkB,MAAM,SAAS,CAAA;AAEpD;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,IAAI,CACrC,KAAK,EACL,KAAK,GAAG,aAAa,GAAG,WAAW,GAAG,MAAM,CAC7C,CAAA;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,oBAAoB,EAC3B,QAAQ,EAAE,MAAM,GACf,MAAM,GAAG,SAAS,CA6CpB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB;IAC5B,wEAAwE;;IAExE,sDAAsD;;IAEtD,yDAAyD;;IAEzD,gEAAgE;;CAExD,CAAA;AAEV,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,iBAAiB,CAAA;AAE5D;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,oBAAoB,EAC3B,MAAM,EAAE,eAAe,GACtB,MAAM,GAAG,SAAS,CAEpB"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Media thumbnail URL helpers — display target'ına göre uygun boyutta
|
|
4
|
+
* URL döndürür. Orijinal kaliteyi avatar/grid card gibi küçük yerlerde
|
|
5
|
+
* göstermek bandwidth ve render cost açısından mantıksız.
|
|
6
|
+
*
|
|
7
|
+
* CDN tarafı upload sırasında image'lar için pre-generated thumbnail'lar
|
|
8
|
+
* üretir (`imageMeta.thumbnails[]`). Bu helper:
|
|
9
|
+
* 1. Hedef boyutu kapsayacak en küçük thumbnail'ı seçer (yoksa en büyük).
|
|
10
|
+
* 2. Thumbnail URL'i exposed ise direkt onu kullanır.
|
|
11
|
+
* 3. Değilse `media.url`'in CDN prefix'ine `thumbnail.fileName` ekleyerek
|
|
12
|
+
* URL inşa eder ({cdn-base}/{bucketId}/{thumbnail.fileName}).
|
|
13
|
+
* 4. Hiçbir public URL yoksa download endpoint'ini `?quality=N` ile döner.
|
|
14
|
+
* 5. En kötü durumda media.downloadUrl ya da undefined.
|
|
15
|
+
*/
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.THUMBNAIL_PRESETS = void 0;
|
|
18
|
+
exports.pickThumbnailUrl = pickThumbnailUrl;
|
|
19
|
+
exports.pickPresetThumbnailUrl = pickPresetThumbnailUrl;
|
|
20
|
+
/**
|
|
21
|
+
* Display hedef boyutuna göre uygun thumbnail URL'sini döndür.
|
|
22
|
+
*
|
|
23
|
+
* @param media Sentroy media object (list / get / upload result).
|
|
24
|
+
* @param targetPx Display'in maksimum boyutu (genişlik veya yükseklik) px.
|
|
25
|
+
* Retina için `2x` ile çağırın: `pickThumbnailUrl(m, 56*2)`.
|
|
26
|
+
*
|
|
27
|
+
* @returns URL string ya da hiçbir şey üretilemezse `undefined`.
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```tsx
|
|
31
|
+
* const avatarUrl = pickThumbnailUrl(media, 56 * 2) // 112px target
|
|
32
|
+
* <img src={avatarUrl} className="size-14 rounded-full" />
|
|
33
|
+
* ```
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```tsx
|
|
37
|
+
* const cardUrl = pickThumbnailUrl(media, 320)
|
|
38
|
+
* const fullUrl = media.url // grid'te küçük, lightbox'ta orijinal
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
function pickThumbnailUrl(media, targetPx) {
|
|
42
|
+
// Image değilse veya thumbnail listesi boşsa — orijinal URL.
|
|
43
|
+
const thumbs = media.imageMeta?.thumbnails;
|
|
44
|
+
if (!thumbs || thumbs.length === 0 || media.type !== "image") {
|
|
45
|
+
return media.url ?? media.downloadUrl;
|
|
46
|
+
}
|
|
47
|
+
if (!targetPx || targetPx <= 0) {
|
|
48
|
+
return media.url ?? media.downloadUrl;
|
|
49
|
+
}
|
|
50
|
+
// En yakın "kapsayan" thumbnail — width >= target olan en küçük; yoksa
|
|
51
|
+
// en büyük (target'tan küçük olsa bile en az bozulmayı verir).
|
|
52
|
+
const sorted = [...thumbs].sort((a, b) => a.width - b.width);
|
|
53
|
+
const fit = sorted.find((t) => t.width >= targetPx) ?? sorted[sorted.length - 1];
|
|
54
|
+
// Backend bazı endpoint'lerde thumbnail'ın kendi URL'ini de döndüyor
|
|
55
|
+
// (CdnUploadResult.imageMeta.thumbnails[].url). Tipte opsiyonel olarak
|
|
56
|
+
// değil ama runtime'da gelirse direkt kullanırız.
|
|
57
|
+
const fitWithUrl = fit;
|
|
58
|
+
if (typeof fitWithUrl.url === "string" && fitWithUrl.url.length > 0) {
|
|
59
|
+
return fitWithUrl.url;
|
|
60
|
+
}
|
|
61
|
+
// Pattern fallback: original URL'in son `/`'ından sonraki kısmı atıp
|
|
62
|
+
// thumbnail'ın fileName'ini ekle. Backend pattern'ı:
|
|
63
|
+
// {cdn}/{bucketId}/{originalFileName} ← media.url
|
|
64
|
+
// {cdn}/{bucketId}/{thumbnailFileName} ← inşa edilen
|
|
65
|
+
if (media.url) {
|
|
66
|
+
const slash = media.url.lastIndexOf("/");
|
|
67
|
+
if (slash >= 0) {
|
|
68
|
+
// Query string varsa düşür — thumbnail için anlamsız.
|
|
69
|
+
const base = media.url.substring(0, slash + 1);
|
|
70
|
+
const cleanBase = base.split("?")[0];
|
|
71
|
+
return cleanBase + fit.fileName;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
// Public URL hiç yoksa proxy download endpoint'ini quality=N ile çağır.
|
|
75
|
+
if (media.downloadUrl) {
|
|
76
|
+
const sep = media.downloadUrl.includes("?") ? "&" : "?";
|
|
77
|
+
return `${media.downloadUrl}${sep}quality=${fit.width}`;
|
|
78
|
+
}
|
|
79
|
+
return undefined;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Yaygın preset boyutları — semantik isimle çağırmak isteyen consumer
|
|
83
|
+
* için kısayol. Retina-aware: avatar ufacık olduğundan @2x; orta boy
|
|
84
|
+
* preview için orijinal yerine ~640.
|
|
85
|
+
*
|
|
86
|
+
* Manuel `targetPx` vermek istemediğinde:
|
|
87
|
+
* `pickPresetThumbnailUrl(media, "avatar")`.
|
|
88
|
+
*/
|
|
89
|
+
exports.THUMBNAIL_PRESETS = {
|
|
90
|
+
/** Avatar / round chip — 28-64px display, 2x retina için ~120 hedef. */
|
|
91
|
+
avatar: 128,
|
|
92
|
+
/** List/grid card — 200-300px display, ~500 hedef. */
|
|
93
|
+
card: 500,
|
|
94
|
+
/** Modal preview — büyük ama orijinali yormayan ~960. */
|
|
95
|
+
preview: 960,
|
|
96
|
+
/** Hero / fullbleed — 1280-1920 display, neredeyse orijinal. */
|
|
97
|
+
hero: 1600,
|
|
98
|
+
};
|
|
99
|
+
/**
|
|
100
|
+
* `pickThumbnailUrl`'in semantik kısayolu — display amacını isimle ifade
|
|
101
|
+
* et, helper preset → px mapping'ini halletsin.
|
|
102
|
+
*/
|
|
103
|
+
function pickPresetThumbnailUrl(media, preset) {
|
|
104
|
+
return pickThumbnailUrl(media, exports.THUMBNAIL_PRESETS[preset]);
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=thumbnails.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thumbnails.js","sourceRoot":"","sources":["../src/thumbnails.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;;AAkCH,4CAgDC;AA2BD,wDAKC;AArGD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,SAAgB,gBAAgB,CAC9B,KAA2B,EAC3B,QAAgB;IAEhB,6DAA6D;IAC7D,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,UAAU,CAAA;IAC1C,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC7D,OAAO,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,WAAW,CAAA;IACvC,CAAC;IACD,IAAI,CAAC,QAAQ,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,WAAW,CAAA;IACvC,CAAC;IAED,uEAAuE;IACvE,+DAA+D;IAC/D,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAA;IAC5D,MAAM,GAAG,GACP,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAEtE,qEAAqE;IACrE,uEAAuE;IACvE,kDAAkD;IAClD,MAAM,UAAU,GAAG,GAAwC,CAAA;IAC3D,IAAI,OAAO,UAAU,CAAC,GAAG,KAAK,QAAQ,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpE,OAAO,UAAU,CAAC,GAAG,CAAA;IACvB,CAAC;IAED,qEAAqE;IACrE,qDAAqD;IACrD,wDAAwD;IACxD,0DAA0D;IAC1D,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;QACd,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;QACxC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YACf,sDAAsD;YACtD,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;YAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;YACpC,OAAO,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAA;QACjC,CAAC;IACH,CAAC;IAED,wEAAwE;IACxE,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACtB,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;QACvD,OAAO,GAAG,KAAK,CAAC,WAAW,GAAG,GAAG,WAAW,GAAG,CAAC,KAAK,EAAE,CAAA;IACzD,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC;AAED;;;;;;;GAOG;AACU,QAAA,iBAAiB,GAAG;IAC/B,wEAAwE;IACxE,MAAM,EAAE,GAAG;IACX,sDAAsD;IACtD,IAAI,EAAE,GAAG;IACT,yDAAyD;IACzD,OAAO,EAAE,GAAG;IACZ,gEAAgE;IAChE,IAAI,EAAE,IAAI;CACF,CAAA;AAIV;;;GAGG;AACH,SAAgB,sBAAsB,CACpC,KAA2B,EAC3B,MAAuB;IAEvB,OAAO,gBAAgB,CAAC,KAAK,EAAE,yBAAiB,CAAC,MAAM,CAAC,CAAC,CAAA;AAC3D,CAAC"}
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -104,3 +104,11 @@ export type {
|
|
|
104
104
|
} from "./types"
|
|
105
105
|
|
|
106
106
|
export { SentroyError } from "./http"
|
|
107
|
+
|
|
108
|
+
export {
|
|
109
|
+
pickThumbnailUrl,
|
|
110
|
+
pickPresetThumbnailUrl,
|
|
111
|
+
THUMBNAIL_PRESETS,
|
|
112
|
+
type ThumbnailPreset,
|
|
113
|
+
type ThumbnailSourceMedia,
|
|
114
|
+
} from "./thumbnails"
|
|
@@ -9,6 +9,7 @@ import type { Sentroy } from ".."
|
|
|
9
9
|
import type { Bucket, Media } from "../types"
|
|
10
10
|
import { Lightbox } from "./lib/Lightbox"
|
|
11
11
|
import { useMediaList } from "./lib/use-media-list"
|
|
12
|
+
import { pickPresetThumbnailUrl } from "../thumbnails"
|
|
12
13
|
import {
|
|
13
14
|
cn,
|
|
14
15
|
detectKind,
|
|
@@ -435,8 +436,13 @@ export function MediaManager(props: MediaManagerProps) {
|
|
|
435
436
|
{visibleItems.map((media) => {
|
|
436
437
|
const isSel = selectedIds.has(media.id)
|
|
437
438
|
const kind = detectKind(media)
|
|
439
|
+
// Grid card 200-300 px display — orijinal 4K JPG yerine
|
|
440
|
+
// "card" preset (~500px) thumbnail. Gerçek thumbnail yoksa
|
|
441
|
+
// helper orijinale fallback yapar.
|
|
438
442
|
const thumb =
|
|
439
|
-
kind === "image"
|
|
443
|
+
kind === "image"
|
|
444
|
+
? pickPresetThumbnailUrl(media, "card") ?? null
|
|
445
|
+
: null
|
|
440
446
|
return (
|
|
441
447
|
<button
|
|
442
448
|
key={media.id}
|
|
@@ -540,10 +546,11 @@ export function MediaManager(props: MediaManagerProps) {
|
|
|
540
546
|
return (
|
|
541
547
|
<>
|
|
542
548
|
<div className="aspect-square overflow-hidden rounded-md bg-muted/30">
|
|
543
|
-
{kind === "image" &&
|
|
549
|
+
{kind === "image" &&
|
|
550
|
+
pickPresetThumbnailUrl(m, "card") ? (
|
|
544
551
|
// eslint-disable-next-line @next/next/no-img-element
|
|
545
552
|
<img
|
|
546
|
-
src={m
|
|
553
|
+
src={pickPresetThumbnailUrl(m, "card") ?? ""}
|
|
547
554
|
alt={m.alt ?? m.fileName}
|
|
548
555
|
className="size-full object-cover"
|
|
549
556
|
/>
|
|
@@ -179,7 +179,14 @@ export function MediaManagerTrigger(props: MediaManagerTriggerProps) {
|
|
|
179
179
|
/>
|
|
180
180
|
<div
|
|
181
181
|
className={cn(
|
|
182
|
-
|
|
182
|
+
// Default boyutlar mütevazı — single-image avatar/cover picker
|
|
183
|
+
// için idealdir. Geniş kullanım için consumer `modalClassName`
|
|
184
|
+
// ile `max-w-5xl` veya `max-w-7xl` set edebilir.
|
|
185
|
+
//
|
|
186
|
+
// `h-[min(80vh,640px)]` küçük ekranda viewport oranlı,
|
|
187
|
+
// 4K/ultrawide ekranda 640px hard cap — modal tüm ekranı
|
|
188
|
+
// kaplamaz, dialog hissi korunur.
|
|
189
|
+
"relative z-10 flex h-[min(80vh,640px)] w-full max-w-3xl flex-col gap-3 rounded-xl border bg-background p-4 shadow-2xl",
|
|
183
190
|
modalClassName,
|
|
184
191
|
)}
|
|
185
192
|
>
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { useEffect } from "react"
|
|
2
2
|
import type { Media } from "../../types"
|
|
3
|
+
import { pickPresetThumbnailUrl } from "../../thumbnails"
|
|
3
4
|
import { detectKind, formatBytes } from "./utils"
|
|
4
5
|
|
|
5
6
|
/**
|
|
@@ -40,7 +41,13 @@ export function Lightbox({
|
|
|
40
41
|
}, [onClose, onPrev, onNext])
|
|
41
42
|
|
|
42
43
|
const kind = detectKind(media)
|
|
43
|
-
|
|
44
|
+
// Lightbox modal — büyük preview ama 4K/orijinal gerekmez. Image
|
|
45
|
+
// için "preview" preset (~960px) kullan, video/audio/diğerlerinde
|
|
46
|
+
// orijinal URL'i akıt.
|
|
47
|
+
const url =
|
|
48
|
+
kind === "image"
|
|
49
|
+
? pickPresetThumbnailUrl(media, "preview") ?? media.url ?? media.downloadUrl
|
|
50
|
+
: media.url ?? media.downloadUrl
|
|
44
51
|
|
|
45
52
|
return (
|
|
46
53
|
<div
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Media thumbnail URL helpers — display target'ına göre uygun boyutta
|
|
3
|
+
* URL döndürür. Orijinal kaliteyi avatar/grid card gibi küçük yerlerde
|
|
4
|
+
* göstermek bandwidth ve render cost açısından mantıksız.
|
|
5
|
+
*
|
|
6
|
+
* CDN tarafı upload sırasında image'lar için pre-generated thumbnail'lar
|
|
7
|
+
* üretir (`imageMeta.thumbnails[]`). Bu helper:
|
|
8
|
+
* 1. Hedef boyutu kapsayacak en küçük thumbnail'ı seçer (yoksa en büyük).
|
|
9
|
+
* 2. Thumbnail URL'i exposed ise direkt onu kullanır.
|
|
10
|
+
* 3. Değilse `media.url`'in CDN prefix'ine `thumbnail.fileName` ekleyerek
|
|
11
|
+
* URL inşa eder ({cdn-base}/{bucketId}/{thumbnail.fileName}).
|
|
12
|
+
* 4. Hiçbir public URL yoksa download endpoint'ini `?quality=N` ile döner.
|
|
13
|
+
* 5. En kötü durumda media.downloadUrl ya da undefined.
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
import type { Media, MediaThumbnail } from "./types"
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Yardımcı fonksiyona verilebilecek minimum Media subset — Media tipinin
|
|
20
|
+
* tamamını import etmek istemeyen consumer'lar için.
|
|
21
|
+
*/
|
|
22
|
+
export type ThumbnailSourceMedia = Pick<
|
|
23
|
+
Media,
|
|
24
|
+
"url" | "downloadUrl" | "imageMeta" | "type"
|
|
25
|
+
>
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Display hedef boyutuna göre uygun thumbnail URL'sini döndür.
|
|
29
|
+
*
|
|
30
|
+
* @param media Sentroy media object (list / get / upload result).
|
|
31
|
+
* @param targetPx Display'in maksimum boyutu (genişlik veya yükseklik) px.
|
|
32
|
+
* Retina için `2x` ile çağırın: `pickThumbnailUrl(m, 56*2)`.
|
|
33
|
+
*
|
|
34
|
+
* @returns URL string ya da hiçbir şey üretilemezse `undefined`.
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* ```tsx
|
|
38
|
+
* const avatarUrl = pickThumbnailUrl(media, 56 * 2) // 112px target
|
|
39
|
+
* <img src={avatarUrl} className="size-14 rounded-full" />
|
|
40
|
+
* ```
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
* ```tsx
|
|
44
|
+
* const cardUrl = pickThumbnailUrl(media, 320)
|
|
45
|
+
* const fullUrl = media.url // grid'te küçük, lightbox'ta orijinal
|
|
46
|
+
* ```
|
|
47
|
+
*/
|
|
48
|
+
export function pickThumbnailUrl(
|
|
49
|
+
media: ThumbnailSourceMedia,
|
|
50
|
+
targetPx: number,
|
|
51
|
+
): string | undefined {
|
|
52
|
+
// Image değilse veya thumbnail listesi boşsa — orijinal URL.
|
|
53
|
+
const thumbs = media.imageMeta?.thumbnails
|
|
54
|
+
if (!thumbs || thumbs.length === 0 || media.type !== "image") {
|
|
55
|
+
return media.url ?? media.downloadUrl
|
|
56
|
+
}
|
|
57
|
+
if (!targetPx || targetPx <= 0) {
|
|
58
|
+
return media.url ?? media.downloadUrl
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
// En yakın "kapsayan" thumbnail — width >= target olan en küçük; yoksa
|
|
62
|
+
// en büyük (target'tan küçük olsa bile en az bozulmayı verir).
|
|
63
|
+
const sorted = [...thumbs].sort((a, b) => a.width - b.width)
|
|
64
|
+
const fit =
|
|
65
|
+
sorted.find((t) => t.width >= targetPx) ?? sorted[sorted.length - 1]
|
|
66
|
+
|
|
67
|
+
// Backend bazı endpoint'lerde thumbnail'ın kendi URL'ini de döndüyor
|
|
68
|
+
// (CdnUploadResult.imageMeta.thumbnails[].url). Tipte opsiyonel olarak
|
|
69
|
+
// değil ama runtime'da gelirse direkt kullanırız.
|
|
70
|
+
const fitWithUrl = fit as MediaThumbnail & { url?: string }
|
|
71
|
+
if (typeof fitWithUrl.url === "string" && fitWithUrl.url.length > 0) {
|
|
72
|
+
return fitWithUrl.url
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
// Pattern fallback: original URL'in son `/`'ından sonraki kısmı atıp
|
|
76
|
+
// thumbnail'ın fileName'ini ekle. Backend pattern'ı:
|
|
77
|
+
// {cdn}/{bucketId}/{originalFileName} ← media.url
|
|
78
|
+
// {cdn}/{bucketId}/{thumbnailFileName} ← inşa edilen
|
|
79
|
+
if (media.url) {
|
|
80
|
+
const slash = media.url.lastIndexOf("/")
|
|
81
|
+
if (slash >= 0) {
|
|
82
|
+
// Query string varsa düşür — thumbnail için anlamsız.
|
|
83
|
+
const base = media.url.substring(0, slash + 1)
|
|
84
|
+
const cleanBase = base.split("?")[0]
|
|
85
|
+
return cleanBase + fit.fileName
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
// Public URL hiç yoksa proxy download endpoint'ini quality=N ile çağır.
|
|
90
|
+
if (media.downloadUrl) {
|
|
91
|
+
const sep = media.downloadUrl.includes("?") ? "&" : "?"
|
|
92
|
+
return `${media.downloadUrl}${sep}quality=${fit.width}`
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
return undefined
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* Yaygın preset boyutları — semantik isimle çağırmak isteyen consumer
|
|
100
|
+
* için kısayol. Retina-aware: avatar ufacık olduğundan @2x; orta boy
|
|
101
|
+
* preview için orijinal yerine ~640.
|
|
102
|
+
*
|
|
103
|
+
* Manuel `targetPx` vermek istemediğinde:
|
|
104
|
+
* `pickPresetThumbnailUrl(media, "avatar")`.
|
|
105
|
+
*/
|
|
106
|
+
export const THUMBNAIL_PRESETS = {
|
|
107
|
+
/** Avatar / round chip — 28-64px display, 2x retina için ~120 hedef. */
|
|
108
|
+
avatar: 128,
|
|
109
|
+
/** List/grid card — 200-300px display, ~500 hedef. */
|
|
110
|
+
card: 500,
|
|
111
|
+
/** Modal preview — büyük ama orijinali yormayan ~960. */
|
|
112
|
+
preview: 960,
|
|
113
|
+
/** Hero / fullbleed — 1280-1920 display, neredeyse orijinal. */
|
|
114
|
+
hero: 1600,
|
|
115
|
+
} as const
|
|
116
|
+
|
|
117
|
+
export type ThumbnailPreset = keyof typeof THUMBNAIL_PRESETS
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* `pickThumbnailUrl`'in semantik kısayolu — display amacını isimle ifade
|
|
121
|
+
* et, helper preset → px mapping'ini halletsin.
|
|
122
|
+
*/
|
|
123
|
+
export function pickPresetThumbnailUrl(
|
|
124
|
+
media: ThumbnailSourceMedia,
|
|
125
|
+
preset: ThumbnailPreset,
|
|
126
|
+
): string | undefined {
|
|
127
|
+
return pickThumbnailUrl(media, THUMBNAIL_PRESETS[preset])
|
|
128
|
+
}
|