@ruck-plugins/tinypng-compress 1.0.0
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/assets/index--Ks-VWwP.css +1 -0
- package/assets/index-qSDh-E8H.jse +0 -0
- package/index.html +14 -0
- package/logo.png +0 -0
- package/package.json +4 -0
- package/plugin.json +41 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
:root{--bg-primary: var(--bg-base);--bg-card: var(--bg-surface);--bg-hover: var(--bg-muted);--text-primary: var(--text-primary);--text-secondary: var(--text-secondary);--text-muted: var(--text-tertiary, var(--text-secondary));--accent-color: var(--color-primary-500);--border-primary: var(--border-default);font-family:var(--font-sans, "Inter", system-ui, -apple-system, sans-serif);line-height:1.5;font-weight:400;color-scheme:light dark}*{box-sizing:border-box}html,body{margin:0;padding:0;min-width:320px;min-height:100vh;background-color:var(--bg-primary);color:var(--text-primary)}#app{width:100%;height:100vh}.app-root{display:flex;flex-direction:column;height:100%;background-color:var(--bg-primary)}.app-main{flex:1;display:flex;flex-direction:column;padding:16px 20px;box-sizing:border-box}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background-color:var(--border-primary);border-radius:3px}::-webkit-scrollbar-thumb:hover{background-color:var(--text-muted)}.floating-settings-btn{position:absolute;right:16px;bottom:60px;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--border-primary);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #0000001a;z-index:50}.floating-settings-btn:hover{background:var(--bg-hover);border-color:var(--accent-color);color:var(--accent-color);transform:rotate(30deg)}.full-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--bg-primary);z-index:100;display:flex;flex-direction:column}.overlay-header{display:flex;align-items:center;gap:20px;padding:12px 20px;border-bottom:1px solid var(--border-primary);flex-shrink:0}.overlay-header h2{margin:0;font-size:18px}.back-btn{display:flex;align-items:center;gap:4px;background:none;border:none;color:var(--accent-color);cursor:pointer;font-size:14px;transition:opacity .2s}.back-btn:hover{opacity:.7}.overlay-content{flex:1;overflow-y:auto;padding:20px}.fade-enter-active,.fade-leave-active{transition:opacity .2s ease,transform .2s ease}.fade-enter-from,.fade-leave-to{opacity:0;transform:translateY(10px)}.drop-area[data-v-67c0172c]{border:1px dashed var(--border-primary);border-radius:8px;display:flex;align-items:center;justify-content:center;background-color:var(--bg-card);width:100%;height:160px;margin-top:12px;cursor:pointer;transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease,transform .2s ease}.drop-area--active[data-v-67c0172c]{border-color:var(--accent-color);background-color:var(--bg-hover);box-shadow:0 0 0 1px #4f8ef726,0 10px 25px #0f172a0f;transform:translateY(-1px)}.drop-area[data-v-67c0172c]:hover{border-color:var(--accent-color);background-color:var(--bg-hover)}.drop-area__content[data-v-67c0172c]{text-align:center;color:var(--text-muted)}.drop-area__icon[data-v-67c0172c]{font-size:32px;margin-bottom:8px;transition:transform .2s ease,color .2s ease;color:var(--text-muted)}.drop-area:hover .drop-area__icon[data-v-67c0172c],.drop-area--active .drop-area__icon[data-v-67c0172c]{transform:translateY(-2px);color:var(--accent-color)}.drop-area__text[data-v-67c0172c]{font-size:14px;color:var(--text-muted);margin-top:4px}.drop-area:hover .drop-area__text[data-v-67c0172c],.drop-area--active .drop-area__text[data-v-67c0172c]{color:var(--text-primary)}.list[data-v-82b3048f]{margin-top:16px;flex:1;display:flex;flex-direction:column}.list__table[data-v-82b3048f]{width:100%;border-collapse:collapse;background-color:var(--bg-card);border-radius:8px;overflow:hidden}th[data-v-82b3048f],td[data-v-82b3048f]{padding:8px 12px;font-size:12px;border-bottom:1px solid var(--border-primary)}th[data-v-82b3048f]{text-align:left;background-color:var(--bg-hover);color:var(--text-secondary)}td[data-v-82b3048f]{color:var(--text-primary)}.col-name[data-v-82b3048f]{max-width:320px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.col-size[data-v-82b3048f],.col-rate[data-v-82b3048f],.col-status[data-v-82b3048f]{width:100px}.col-actions[data-v-82b3048f]{width:220px}.status-success[data-v-82b3048f]{color:#16a34a}.status-failed[data-v-82b3048f]{color:#dc2626}.list__empty[data-v-82b3048f]{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:13px}.row-btn[data-v-82b3048f]{margin-right:6px;padding:3px 8px;border-radius:4px;border:1px solid var(--border-primary);background-color:var(--bg-card);color:var(--text-secondary);font-size:11px;cursor:pointer}.row-btn[data-v-82b3048f]:hover:not(:disabled){background-color:var(--bg-hover);border-color:var(--accent-color);color:var(--accent-color)}.row-btn.danger[data-v-82b3048f]:hover{background-color:#fee2e2;border-color:#ef4444;color:#ef4444}.row-btn[data-v-82b3048f]:disabled{opacity:.5;cursor:default}.summary[data-v-8a67c85b]{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-top:1px solid var(--border-primary);background-color:var(--bg-card)}.summary__info[data-v-8a67c85b]{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary)}.divider[data-v-8a67c85b]{width:1px;height:14px;background-color:var(--border-primary)}.summary__actions[data-v-8a67c85b]{display:flex;align-items:center;gap:8px}button.secondary[data-v-8a67c85b]{min-width:88px;padding:5px 12px;border-radius:4px;border:1px solid var(--border-primary);background-color:var(--bg-card);color:var(--text-secondary);font-size:12px;cursor:pointer}button.secondary[data-v-8a67c85b]:hover:not(:disabled){background-color:var(--bg-hover);border-color:var(--accent-color);color:var(--accent-color)}button.secondary[data-v-8a67c85b]:disabled{opacity:.5;cursor:default}button.primary[data-v-8a67c85b]{min-width:96px;padding:6px 14px;border-radius:4px;border:none;background-color:var(--accent-color);color:#fff;font-size:13px;cursor:pointer;transition:opacity .2s}button.primary[data-v-8a67c85b]:hover:not(:disabled){opacity:.9;box-shadow:0 2px 8px rgba(var(--accent-color-rgb),.4)}button.primary[data-v-8a67c85b]:disabled{background-color:var(--border-primary);color:var(--text-muted);cursor:default}.settings-page[data-v-b03467f3]{padding-bottom:20px}.setting-group[data-v-b03467f3]{margin-bottom:24px;background-color:var(--bg-card);padding:16px;border-radius:8px;border:1px solid var(--border-primary)}.setting-group h3[data-v-b03467f3]{margin-top:0;margin-bottom:16px;font-size:16px;color:var(--text-primary);border-bottom:1px solid var(--border-primary);padding-bottom:8px}.form-item[data-v-b03467f3]{margin-bottom:12px;display:flex;flex-direction:column}label[data-v-b03467f3]{font-size:14px;margin-bottom:4px;color:var(--text-secondary)}input[type=text][data-v-b03467f3],input[type=password][data-v-b03467f3],input[type=number][data-v-b03467f3],select[data-v-b03467f3]{padding:8px 12px;border-radius:6px;border:1px solid var(--border-primary);background-color:var(--bg-primary);color:var(--text-primary);font-size:14px;outline:none;transition:border-color .2s}input[data-v-b03467f3]:focus,select[data-v-b03467f3]:focus{border-color:var(--text-accent)}small[data-v-b03467f3]{font-size:12px;color:var(--text-muted);margin-top:4px}.checkbox label[data-v-b03467f3]{display:flex;align-items:center;gap:8px;cursor:pointer}.actions[data-v-b03467f3]{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:16px}.btn-primary[data-v-b03467f3]{display:flex;align-items:center;gap:6px;padding:8px 16px;background-color:var(--text-accent);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:opacity .2s}.btn-primary[data-v-b03467f3]:hover:not(:disabled){opacity:.9;box-shadow:0 2px 8px #0000001a}.btn-primary[data-v-b03467f3]:active:not(:disabled){transform:translateY(1px)}.btn-primary[data-v-b03467f3]:disabled{opacity:.6;cursor:not-allowed}.message[data-v-b03467f3]{font-size:14px;color:#10b981}.message.error[data-v-b03467f3]{color:#ef4444}
|
|
Binary file
|
package/index.html
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="zh-CN">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<link rel="icon" type="image/svg+xml" href="./logo.png" />
|
|
6
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
7
|
+
<title>TinyPNG 压缩图片</title>
|
|
8
|
+
<script type="module" crossorigin src="./assets/index-qSDh-E8H.js"></script>
|
|
9
|
+
<link rel="stylesheet" crossorigin href="./assets/index--Ks-VWwP.css">
|
|
10
|
+
</head>
|
|
11
|
+
<body>
|
|
12
|
+
<div id="app"></div>
|
|
13
|
+
</body>
|
|
14
|
+
</html>
|
package/logo.png
ADDED
|
Binary file
|
package/package.json
ADDED
package/plugin.json
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@ruck-plugins/tinypng-compress",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"displayName": "TinyPNG 压缩图片",
|
|
5
|
+
"pluginType": "ui",
|
|
6
|
+
"description": "使用 TinyPNG 快速压缩本地图片",
|
|
7
|
+
"author": "JIAHE",
|
|
8
|
+
"logo": "logo.png",
|
|
9
|
+
"entry": "index.html",
|
|
10
|
+
"group": "image",
|
|
11
|
+
"permissions": [
|
|
12
|
+
"file_system_read",
|
|
13
|
+
"file_system_write",
|
|
14
|
+
"network_access",
|
|
15
|
+
"storage_get",
|
|
16
|
+
"storage_put",
|
|
17
|
+
"clipboard_write"
|
|
18
|
+
],
|
|
19
|
+
"features": [
|
|
20
|
+
{
|
|
21
|
+
"code": "tinypng-compress",
|
|
22
|
+
"explain": "使用 TinyPNG 压缩图片",
|
|
23
|
+
"cmds": [
|
|
24
|
+
"tinypng 压缩",
|
|
25
|
+
"压缩图片",
|
|
26
|
+
"TinyPNG",
|
|
27
|
+
{
|
|
28
|
+
"type": "files",
|
|
29
|
+
"label": "使用 TinyPNG 压缩",
|
|
30
|
+
"fileType": "file",
|
|
31
|
+
"minLength": 1,
|
|
32
|
+
"extensions": ["png", "jpg", "jpeg", "webp"]
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"type": "img",
|
|
36
|
+
"label": "使用 TinyPNG 压缩"
|
|
37
|
+
}
|
|
38
|
+
]
|
|
39
|
+
}
|
|
40
|
+
]
|
|
41
|
+
}
|