rssany 0.3.1 → 0.3.2
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/app/plugins/builtin/xiaohongshu.rssany.js +59 -2
- package/app/webui/build/200.html +6 -6
- package/app/webui/build/_app/immutable/assets/0.BLOTwIuF.css +1 -0
- package/app/webui/build/_app/immutable/chunks/{DkamXS6W.js → BXTsojX2.js} +1 -1
- package/app/webui/build/_app/immutable/chunks/Brun6sCr.js +36 -0
- package/app/webui/build/_app/immutable/chunks/{_qj9U-za.js → DAV9bzjw.js} +1 -1
- package/app/webui/build/_app/immutable/chunks/{CqYSO3Dx.js → DXDBlEGf.js} +1 -1
- package/app/webui/build/_app/immutable/chunks/Dr67pd7v.js +1 -0
- package/app/webui/build/_app/immutable/entry/{app.RFfWi3_i.js → app.dq7-6soi.js} +2 -2
- package/app/webui/build/_app/immutable/entry/start.BnoTfBrB.js +1 -0
- package/app/webui/build/_app/immutable/nodes/{0.DK_mcVDm.js → 0.CQDkqUeN.js} +1 -1
- package/app/webui/build/_app/immutable/nodes/{1.0PRrU2uQ.js → 1.BUa24rXB.js} +1 -1
- package/app/webui/build/_app/immutable/nodes/{10.CsxzlUER.js → 10.MZgVhpGF.js} +1 -1
- package/app/webui/build/_app/immutable/nodes/{11.D-PkhIRW.js → 11.B39IbrZ0.js} +1 -1
- package/app/webui/build/_app/immutable/nodes/12.B5B81dLQ.js +1 -0
- package/app/webui/build/_app/immutable/nodes/{14.COwSLwDN.js → 14.Db6eOPqq.js} +1 -1
- package/app/webui/build/_app/immutable/nodes/{15.nDN_AHrs.js → 15.B2jiP2VJ.js} +1 -1
- package/app/webui/build/_app/immutable/nodes/{16.zfSe93Ab.js → 16.p6WfP435.js} +1 -1
- package/app/webui/build/_app/immutable/nodes/{3.CEVEHuaH.js → 3.BZQeL-vz.js} +1 -1
- package/app/webui/build/_app/immutable/nodes/{5.BZScQ2CH.js → 5.Bo_ftyqW.js} +1 -1
- package/app/webui/build/_app/immutable/nodes/{6.CkFk8X--.js → 6.vOowdQUr.js} +1 -1
- package/app/webui/build/_app/immutable/nodes/{7.CuQJk7te.js → 7.BfVbBKZu.js} +1 -1
- package/app/webui/build/_app/immutable/nodes/{8.DIavWJnU.js → 8.BslYG5f2.js} +1 -1
- package/app/webui/build/_app/immutable/nodes/{9.Db30M8x0.js → 9.DAgT-df2.js} +1 -1
- package/app/webui/build/_app/version.json +1 -1
- package/dist/index.js +47 -3
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
- package/scripts/dev.mjs +5 -1
- package/app/webui/build/_app/immutable/assets/0.DsKls1SN.css +0 -1
- package/app/webui/build/_app/immutable/chunks/CVW0ymE1.js +0 -1
- package/app/webui/build/_app/immutable/chunks/DJ2e04vK.js +0 -36
- package/app/webui/build/_app/immutable/entry/start.DU_kyeGS.js +0 -1
- package/app/webui/build/_app/immutable/nodes/12.GGf-JLUY.js +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rssany",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.2",
|
|
4
4
|
"description": "Universal RSS/Atom/JSON Feed pipeline — fetches, extracts, parses and converts any web content into consumable feeds with plugin support",
|
|
5
5
|
"author": "Joo",
|
|
6
6
|
"type": "module",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"serve:route": "node scripts/serve-route.mjs",
|
|
36
36
|
"serve:app": "npx tsx app/index.ts",
|
|
37
37
|
"test": "vitest",
|
|
38
|
-
"test:run": "vitest run",
|
|
38
|
+
"test:run": "vitest run --passWithNoTests",
|
|
39
39
|
"lint": "eslint .",
|
|
40
40
|
"lint:fix": "eslint . --fix",
|
|
41
41
|
"typecheck": "tsc --noEmit",
|
|
@@ -79,8 +79,8 @@
|
|
|
79
79
|
"tsx": "^4.19.0",
|
|
80
80
|
"typescript": "~5.6.0",
|
|
81
81
|
"typescript-eslint": "^8.15.0",
|
|
82
|
-
"vite": "^6.4.
|
|
83
|
-
"vitest": "^
|
|
82
|
+
"vite": "^6.4.3",
|
|
83
|
+
"vitest": "^4.1.8"
|
|
84
84
|
},
|
|
85
85
|
"dependencies": {
|
|
86
86
|
"@hono/node-server": "^1.19.10",
|
package/scripts/dev.mjs
CHANGED
|
@@ -73,7 +73,11 @@ function waitForInitialWebuiBuild(child) {
|
|
|
73
73
|
}, 500);
|
|
74
74
|
child.stdout?.on("data", (chunk) => {
|
|
75
75
|
const text = chunk.toString();
|
|
76
|
-
if (
|
|
76
|
+
if (
|
|
77
|
+
text.includes('Wrote site to "build"') ||
|
|
78
|
+
text.includes("Wrote site to 'build'") ||
|
|
79
|
+
text.includes("[webui:watch] build complete")
|
|
80
|
+
) {
|
|
77
81
|
finish();
|
|
78
82
|
}
|
|
79
83
|
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.toast.svelte-zemmny{position:fixed;top:1rem;left:50%;transform:translate(-50%);background:#111;color:#fff;padding:.625rem 1.25rem;border-radius:8px;font-size:.875rem;z-index:100;white-space:nowrap;pointer-events:none}.toast.error.svelte-zemmny{background:#c0392b}.toast.success.svelte-zemmny{background:#1a7f37}/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-outline-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.fixed{position:fixed}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.flex{display:flex}.inline{display:inline}.table{display:table}.flex-shrink{flex-shrink:1}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-wrap{flex-wrap:wrap}.border{border-style:var(--tw-border-style);border-width:1px}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--primary:#5e6ad2;--primary-foreground:#fff;--color-primary:var(--primary);--color-primary-hover:#7c85e8;--color-primary-light:#5e6ad22e;--color-primary-foreground:var(--primary-foreground);--background:#f7f7f7;--foreground:#1f1f1f;--color-background:var(--background);--color-foreground:var(--foreground);--color-card:#fff;--color-card-elevated:#fcfcfc;--color-card-foreground:#2e2e2e;--color-muted:#0000000e;--color-muted-foreground:#737373;--color-muted-foreground-strong:#4a4a4a;--color-muted-foreground-soft:#787878;--color-accent:#0000000e;--color-accent-foreground:#2e2e2e;--color-border:#0000001c;--color-border-muted:#00000013;--color-hairline:#00000013;--color-input:#00000024;--color-destructive:#b12525;--color-destructive-foreground:#fff;--color-success:#207945;--color-success-foreground:#fff;--color-scrollbar-thumb:#00000038;--shadow-panel:0 12px 40px #00000014;--radius-sm:6px;--radius-md:8px;--radius-lg:10px;--shell-gutter:clamp(.5rem, 1.8vw, 1rem);--layout-page-inset:clamp(.4rem, 1.25vw, .85rem);--layout-max-width:64rem;--content-max:64rem;--topbar-sticky-offset: 3.125rem ;--main-padding-top:1.5rem;--feed-sticky-gap-after:1rem}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100%}body{background:var(--color-background);height:100%;min-height:100%;color:var(--color-foreground);flex-direction:column;width:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex;overflow:hidden}#svelte{flex-direction:column;flex:1;height:100%;min-height:0;display:flex;overflow:hidden}*{scrollbar-width:thin;scrollbar-color:var(--color-scrollbar-thumb) transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:var(--color-scrollbar-thumb);border-radius:999px}::-webkit-scrollbar-track{background:0 0}.options-menu-trigger{width:2rem;height:2rem;color:var(--color-muted-foreground);border-radius:var(--radius-sm);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:color .15s,background-color .15s,border-color .15s;display:inline-flex}.options-menu-trigger:hover:not(:disabled){color:var(--color-foreground);background:var(--color-muted);border-color:var(--color-border)}.options-menu-trigger:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.options-menu-trigger:disabled{opacity:.45;cursor:not-allowed}.options-menu-panel{z-index:100;background:var(--color-card-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:9rem;box-shadow:var(--shadow-panel);padding:.35rem}.options-menu-item{box-sizing:border-box;text-align:left;width:100%;color:var(--color-foreground);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;margin:0;padding:.5rem .65rem;font-family:inherit;font-size:.8125rem;line-height:1.35;transition:background .12s;display:block}.options-menu-item:hover:not(:disabled){background:var(--color-muted)}.options-menu-item:disabled{opacity:.55;cursor:not-allowed}.options-menu-item-danger{color:var(--color-destructive)}.options-menu-item-danger:hover:not(:disabled){background:var(--color-destructive)}@supports (color:color-mix(in lab,red,red)){.options-menu-item-danger:hover:not(:disabled){background:color-mix(in srgb,var(--color-destructive) 12%,transparent)}}.page-header .options-menu-trigger{margin-top:.1rem}.admin-feed-header{border-bottom:1px solid var(--color-border-muted);flex-shrink:0;justify-content:space-between;align-items:flex-end;gap:1rem;padding:.75rem 0;display:flex}.admin-feed-header__left{flex:1;min-width:0}.admin-feed-header__left>h2{color:var(--color-foreground);margin:0 0 .15rem;font-size:.9375rem;font-weight:600}.admin-feed-header__desc{color:var(--color-muted-foreground-soft);margin:0;font-size:.75rem;line-height:1.45}.admin-feed-header__actions{flex-direction:row;flex-shrink:0;align-items:center;gap:.5rem;min-width:0;display:flex}.admin-toolbar-btn{box-sizing:border-box;white-space:nowrap;cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;gap:.35rem;min-height:2rem;padding:.35rem .65rem;font-family:inherit;font-size:.8125rem;font-weight:500;line-height:1.25;transition:opacity .15s,background .15s;display:inline-flex}.admin-toolbar-btn:disabled{opacity:.5;cursor:not-allowed}.admin-toolbar-btn--primary{color:var(--color-primary-foreground);background:var(--color-primary);border:none}.admin-toolbar-btn--primary:hover:not(:disabled){opacity:.9;background:var(--color-primary-hover,var(--color-primary))}.admin-toolbar-btn--secondary{color:var(--color-foreground);background:var(--color-muted);border:1px solid var(--color-border)}.admin-toolbar-btn--secondary:hover:not(:disabled){background:var(--color-accent)}.admin-toolbar-btn--danger{color:var(--color-destructive);background:var(--color-destructive)}@supports (color:color-mix(in lab,red,red)){.admin-toolbar-btn--danger{background:color-mix(in srgb,var(--color-destructive) 12%,var(--color-muted))}}.admin-toolbar-btn--danger{border:1px solid var(--color-destructive)}@supports (color:color-mix(in lab,red,red)){.admin-toolbar-btn--danger{border:1px solid color-mix(in srgb,var(--color-destructive) 35%,transparent)}}.admin-toolbar-btn--danger:hover:not(:disabled){background:var(--color-destructive)}@supports (color:color-mix(in lab,red,red)){.admin-toolbar-btn--danger:hover:not(:disabled){background:color-mix(in srgb,var(--color-destructive) 18%,var(--color-muted))}}.admin-toolbar-input{box-sizing:border-box;border:1px solid var(--color-input);border-radius:var(--radius-sm);background:var(--color-card-elevated);width:min(100%,18rem);min-width:10rem;height:2rem;min-height:2rem;color:var(--color-foreground);padding:.35rem .6rem;font-family:inherit;font-size:.8125rem}.admin-toolbar-input:focus{border-color:var(--color-primary);outline:none}.admin-toolbar-input::placeholder{color:var(--color-muted-foreground-soft)}@media(max-width:600px){.admin-feed-header{flex-direction:column;align-items:stretch}.admin-feed-header__actions{justify-content:flex-end}.admin-feed-header__actions .admin-toolbar-input{flex:1;width:auto;min-width:0}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}button:not([class]),button[class=""]{font:inherit;cursor:pointer;padding:.35rem .75rem;border:1px solid var(--color-input);border-radius:var(--radius-sm, 6px);background:var(--color-card-elevated);color:var(--color-foreground)}button:not([class]):hover:not(:disabled),button[class=""]:hover:not(:disabled){background:var(--color-accent);border-color:var(--color-border)}button:not([class]):disabled,button[class=""]:disabled{opacity:.45;cursor:not-allowed}.layout-outer.svelte-12qhfyh{box-sizing:border-box;display:flex;flex-direction:column;width:100%;flex:1;min-height:0;overflow:hidden;padding:var(--layout-page-inset, .75rem);--home-feed-rail-width: 36rem;--nav-rail-width: 3rem}.layout-app.svelte-12qhfyh{display:flex;flex-direction:row;justify-content:center;align-items:stretch;flex:1;min-height:0;width:100%;overflow:hidden}.layout-merged-cluster.svelte-12qhfyh{box-sizing:border-box;display:flex;flex-direction:row;align-items:stretch;flex:0 1 var(--layout-max-width);align-self:stretch;min-width:0;min-height:0;width:min(100%,var(--layout-max-width));max-width:min(100%,var(--layout-max-width));margin-inline:auto;border:1px solid var(--color-border-muted);border-radius:var(--radius-lg);overflow:hidden;background:var(--color-card)}.layout-nav-rail.svelte-12qhfyh{flex:0 0 var(--nav-rail-width);width:var(--nav-rail-width);display:flex;flex-direction:column;justify-content:space-between;align-items:stretch;flex-shrink:0;background:transparent;border-right:1px solid var(--color-border-muted);z-index:30}.nav-rail-links.svelte-12qhfyh{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:.75rem .35rem;flex:1;min-height:0}.nav-rail-cluster.svelte-12qhfyh{display:flex;flex-direction:column;gap:0;width:100%;max-width:2.35rem;border-radius:var(--radius-sm);overflow:hidden;background:var(--color-muted)}.nav-rail-link.svelte-12qhfyh{display:flex;align-items:center;justify-content:center;min-height:2.65rem;padding:.4rem .25rem;color:var(--color-muted-foreground-strong);text-decoration:none;border-radius:0;border-bottom:1px solid var(--color-border-muted);transition:color .15s ease,background .15s ease}.nav-rail-link.svelte-12qhfyh:last-child{border-bottom:none}.nav-rail-link.svelte-12qhfyh svg{flex-shrink:0}.nav-rail-link.svelte-12qhfyh:hover:not(.active){color:var(--color-foreground);background:var(--color-muted)}.nav-rail-link.active.svelte-12qhfyh{color:var(--color-primary);background:var(--color-primary-light)}.nav-rail-footer.svelte-12qhfyh{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.5rem .2rem .75rem;border-top:1px solid var(--color-border-muted);background:transparent}.nav-rail-github.svelte-12qhfyh{display:inline-flex;align-items:center;justify-content:center;padding:.35rem;color:var(--color-muted-foreground);border-radius:6px;transition:color .15s ease,background .15s ease}.nav-rail-github.svelte-12qhfyh:hover{color:var(--color-foreground);background:var(--color-muted)}.nav-rail-github-icon.svelte-12qhfyh{width:18px;height:18px;display:block}.nav-rail-brand.svelte-12qhfyh{font-size:.62rem;font-weight:600;line-height:1.15;color:var(--color-muted-foreground-soft);writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:.06em;max-height:6.5rem;overflow:hidden;text-overflow:ellipsis;text-decoration:none;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s ease}.nav-rail-brand.svelte-12qhfyh:hover{color:var(--color-foreground)}.nav-rail-brand.svelte-12qhfyh:focus-visible{outline:1px solid color-mix(in srgb,var(--color-primary) 55%,transparent);outline-offset:2px}.shell.svelte-12qhfyh{box-sizing:border-box;width:100%;max-width:min(var(--content-max),100%);margin-left:auto;margin-right:auto;padding-inline:var(--shell-gutter)}.shell-frame.svelte-12qhfyh{box-sizing:border-box;display:flex;flex-direction:column;flex:1 1 auto;min-width:0;min-height:0;max-width:none;border:none;background:transparent}.shell-frame--with-feed-rail.svelte-12qhfyh{border-right:none}.layout-feed-rail.svelte-12qhfyh{box-sizing:border-box;flex:0 0 var(--home-feed-rail-width);width:var(--home-feed-rail-width);display:flex;flex-direction:column;min-height:0;align-self:stretch;border-left:1px solid var(--color-border-muted);background:transparent}.layout-feed-rail--home.svelte-12qhfyh{padding-top:calc(var(--main-padding-top) + .75rem)}.layout-feed-rail.svelte-12qhfyh .source-feed-panel-inline{flex:1 1 auto;min-height:0;width:100%;max-width:none;height:100%}@media(max-width:720px){.layout-merged-cluster.svelte-12qhfyh{flex-direction:column;width:100%!important;border-radius:var(--radius-md);border-left:none;border-right:none}.layout-nav-rail.svelte-12qhfyh{flex:0 0 auto;width:100%;flex-direction:row;align-items:center;justify-content:space-between;border-right:none;border-bottom:1px solid var(--color-border-muted)}.nav-rail-links.svelte-12qhfyh{flex-direction:row;justify-content:center;padding:.4rem .5rem}.nav-rail-cluster.svelte-12qhfyh{flex-direction:row;max-width:none;width:auto}.nav-rail-link.svelte-12qhfyh{min-height:0;min-width:2.65rem;padding:.45rem .5rem;border-bottom:none;border-right:1px solid var(--color-border-muted)}.nav-rail-link.svelte-12qhfyh:last-child{border-right:none}.nav-rail-footer.svelte-12qhfyh{flex-direction:row;border-top:none;padding:.35rem .5rem;gap:.5rem}.nav-rail-brand.svelte-12qhfyh{writing-mode:horizontal-tb;max-height:none;font-size:.65rem;max-width:5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shell-frame--with-feed-rail.svelte-12qhfyh{border-right:none}.layout-feed-rail.svelte-12qhfyh{flex:1 1 auto;width:100%;max-width:none;max-height:min(42vh,22rem);min-height:12rem;border-left:none;border-top:1px solid var(--color-border-muted)}.layout-feed-rail--home.svelte-12qhfyh{padding-top:0}}.main.svelte-12qhfyh{flex:0 1 auto;min-width:0;display:flex;flex-direction:column;padding-top:var(--main-padding-top);padding-bottom:1.5rem}.main.main-fill.svelte-12qhfyh{flex:1;min-height:0;overflow:hidden;padding-bottom:0}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var Zt=t=>{throw TypeError(t)};var Ne=(t,e,n)=>e.has(t)||Zt("Cannot "+n);var v=(t,e,n)=>(Ne(t,e,"read from private field"),n?n.call(t):e.get(t)),A=(t,e,n)=>e.has(t)?Zt("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n);import{b7 as P,i as T,a5 as I,T as gt,bt as De}from"./vtBo8kBV.js";import{w as Dt}from"./ClknbeNl.js";import{b as qe,H as qt,S as Vt,R as Bt}from"./BUApaBEI.js";import{o as te}from"./Dyvi1wBH.js";new URL("sveltekit-internal://");function Ve(t,e){return t==="/"||e==="ignore"?t:e==="never"?t.endsWith("/")?t.slice(0,-1):t:e==="always"&&!t.endsWith("/")?t+"/":t}function Be(t){return t.split("%25").map(decodeURI).join("%25")}function Ke(t){for(const e in t)t[e]=decodeURIComponent(t[e]);return t}function At({href:t}){return t.split("#")[0]}function Fe(t,e,n,a=!1){const r=new URL(t);Object.defineProperty(r,"searchParams",{value:new Proxy(r.searchParams,{get(i,o){if(o==="get"||o==="getAll"||o==="has")return(c,...p)=>(n(c),i[o](c,...p));e();const l=Reflect.get(i,o);return typeof l=="function"?l.bind(i):l}}),enumerable:!0,configurable:!0});const s=["href","pathname","search","toString","toJSON"];a&&s.push("hash");for(const i of s)Object.defineProperty(r,i,{get(){return e(),t[i]},enumerable:!0,configurable:!0});return r}function Ge(...t){let e=5381;for(const n of t)if(typeof n=="string"){let a=n.length;for(;a;)e=e*33^n.charCodeAt(--a)}else if(ArrayBuffer.isView(n)){const a=new Uint8Array(n.buffer,n.byteOffset,n.byteLength);let r=a.length;for(;r;)e=e*33^a[--r]}else throw new TypeError("value must be a string or TypedArray");return(e>>>0).toString(36)}const He=window.fetch;window.fetch=(t,e)=>((t instanceof Request?t.method:(e==null?void 0:e.method)||"GET")!=="GET"&&z.delete(Kt(t)),He(t,e));const z=new Map;function Me(t,e){const n=Kt(t,e),a=document.querySelector(n);if(a!=null&&a.textContent){a.remove();let{body:r,...s}=JSON.parse(a.textContent);const i=a.getAttribute("data-ttl");return i&&z.set(n,{body:r,init:s,ttl:1e3*Number(i)}),a.getAttribute("data-b64")!==null&&(r=qe(r)),Promise.resolve(new Response(r,s))}return window.fetch(t,e)}function We(t,e,n){if(z.size>0){const a=Kt(t,n),r=z.get(a);if(r){if(performance.now()<r.ttl&&["default","force-cache","only-if-cached",void 0].includes(n==null?void 0:n.cache))return new Response(r.body,r.init);z.delete(a)}}return window.fetch(e,n)}function Kt(t,e){let a=`script[data-sveltekit-fetched][data-url=${JSON.stringify(t instanceof Request?t.url:t)}]`;if(e!=null&&e.headers||e!=null&&e.body){const r=[];e.headers&&r.push([...new Headers(e.headers)].join(",")),e.body&&(typeof e.body=="string"||ArrayBuffer.isView(e.body))&&r.push(e.body),a+=`[data-hash="${Ge(...r)}"]`}return a}const Ye=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/;function ze(t){const e=[];return{pattern:t==="/"?/^\/$/:new RegExp(`^${Xe(t).map(a=>{const r=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(a);if(r)return e.push({name:r[1],matcher:r[2],optional:!1,rest:!0,chained:!0}),"(?:/([^]*))?";const s=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(a);if(s)return e.push({name:s[1],matcher:s[2],optional:!0,rest:!1,chained:!0}),"(?:/([^/]+))?";if(!a)return;const i=a.split(/\[(.+?)\](?!\])/);return"/"+i.map((l,c)=>{if(c%2){if(l.startsWith("x+"))return Pt(String.fromCharCode(parseInt(l.slice(2),16)));if(l.startsWith("u+"))return Pt(String.fromCharCode(...l.slice(2).split("-").map(f=>parseInt(f,16))));const p=Ye.exec(l),[,h,_,g,d]=p;return e.push({name:g,matcher:d,optional:!!h,rest:!!_,chained:_?c===1&&i[0]==="":!1}),_?"([^]*?)":h?"([^/]*)?":"([^/]+?)"}return Pt(l)}).join("")}).join("")}/?$`),params:e}}function Je(t){return t!==""&&!/^\([^)]+\)$/.test(t)}function Xe(t){return t.slice(1).split("/").filter(Je)}function Qe(t,e,n){const a={},r=t.slice(1),s=r.filter(o=>o!==void 0);let i=0;for(let o=0;o<e.length;o+=1){const l=e[o];let c=r[o-i];if(l.chained&&l.rest&&i&&(c=r.slice(o-i,o+1).filter(p=>p).join("/"),i=0),c===void 0)if(l.rest)c="";else continue;if(!l.matcher||n[l.matcher](c)){a[l.name]=c;const p=e[o+1],h=r[o+1];p&&!p.rest&&p.optional&&h&&l.chained&&(i=0),!p&&!h&&Object.keys(a).length===s.length&&(i=0);continue}if(l.optional&&l.chained){i++;continue}return}if(!i)return a}function Pt(t){return t.normalize().replace(/[[\]]/g,"\\$&").replace(/%/g,"%25").replace(/\//g,"%2[Ff]").replace(/\?/g,"%3[Ff]").replace(/#/g,"%23").replace(/[.*+?^${}()|\\]/g,"\\$&")}function Ze({nodes:t,server_loads:e,dictionary:n,matchers:a}){const r=new Set(e);return Object.entries(n).map(([o,[l,c,p]])=>{const{pattern:h,params:_}=ze(o),g={id:o,exec:d=>{const f=h.exec(d);if(f)return Qe(f,_,a)},errors:[1,...p||[]].map(d=>t[d]),layouts:[0,...c||[]].map(i),leaf:s(l)};return g.errors.length=g.layouts.length=Math.max(g.errors.length,g.layouts.length),g});function s(o){const l=o<0;return l&&(o=~o),[l,t[o]]}function i(o){return o===void 0?o:[r.has(o),t[o]]}}function ge(t,e=JSON.parse){try{return e(sessionStorage[t])}catch{}}function ee(t,e,n=JSON.stringify){const a=n(e);try{sessionStorage[t]=a}catch{}}var fe;const U=((fe=globalThis.__sveltekit_29f0f)==null?void 0:fe.base)??"";var ue;const tn=((ue=globalThis.__sveltekit_29f0f)==null?void 0:ue.assets)??U??"",en="1780569808680",me="sveltekit:snapshot",_e="sveltekit:scroll",we="sveltekit:states",nn="sveltekit:pageurl",F="sveltekit:history",X="sveltekit:navigation",D={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},Et=location.origin;function Ft(t){if(t instanceof URL)return t;let e=document.baseURI;if(!e){const n=document.getElementsByTagName("base");e=n.length?n[0].href:document.URL}return new URL(t,e)}function V(){return{x:pageXOffset,y:pageYOffset}}function K(t,e){return t.getAttribute(`data-sveltekit-${e}`)}const ne={...D,"":D.hover};function ve(t){let e=t.assignedSlot??t.parentNode;return(e==null?void 0:e.nodeType)===11&&(e=e.host),e}function ye(t,e){for(;t&&t!==e;){if(t.nodeName.toUpperCase()==="A"&&t.hasAttribute("href"))return t;t=ve(t)}}function Ot(t,e,n){let a;try{if(a=new URL(t instanceof SVGAElement?t.href.baseVal:t.href,document.baseURI),n&&a.hash.match(/^#[^/]/)){const o=location.hash.split("#")[1]||"/";a.hash=`#${o}${a.hash}`}}catch{}const r=t instanceof SVGAElement?t.target.baseVal:t.target,s=!a||!!r||St(a,e,n)||(t.getAttribute("rel")||"").split(/\s+/).includes("external"),i=(a==null?void 0:a.origin)===Et&&t.hasAttribute("download");return{url:a,external:s,target:r,download:i}}function mt(t){let e=null,n=null,a=null,r=null,s=null,i=null,o=t;for(;o&&o!==document.documentElement;)a===null&&(a=K(o,"preload-code")),r===null&&(r=K(o,"preload-data")),e===null&&(e=K(o,"keepfocus")),n===null&&(n=K(o,"noscroll")),s===null&&(s=K(o,"reload")),i===null&&(i=K(o,"replacestate")),o=ve(o);function l(c){switch(c){case"":case"true":return!0;case"off":case"false":return!1;default:return}}return{preload_code:ne[a??"off"],preload_data:ne[r??"off"],keepfocus:l(e),noscroll:l(n),reload:l(s),replace_state:l(i)}}function re(t){const e=Dt(t);let n=!0;function a(){n=!0,e.update(i=>i)}function r(i){n=!1,e.set(i)}function s(i){let o;return e.subscribe(l=>{(o===void 0||n&&l!==o)&&i(o=l)})}return{notify:a,set:r,subscribe:s}}const be={v:()=>{}};function rn(){const{set:t,subscribe:e}=Dt(!1);let n;async function a(){clearTimeout(n);try{const r=await fetch(`${tn}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!r.ok)return!1;const i=(await r.json()).version!==en;return i&&(t(!0),be.v(),clearTimeout(n)),i}catch{return!1}}return{subscribe:e,check:a}}function St(t,e,n){return t.origin!==Et||!t.pathname.startsWith(e)?!0:n?t.pathname!==location.pathname:!1}function Cn(t){}const ke=new Set(["load","prerender","csr","ssr","trailingSlash","config"]);[...ke];const an=new Set([...ke]);[...an];function on(t){return t.filter(e=>e!=null)}function Gt(t){return t instanceof qt||t instanceof Vt?t.status:500}function sn(t){return t instanceof Vt?t.text:"Internal Error"}let S,Q,Tt;const ln=te.toString().includes("$$")||/function \w+\(\) \{\}/.test(te.toString()),ae="a:";var rt,at,ot,it,st,lt,ct,ft,de,ut,he,dt,pe;ln?(S={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL(ae)},Q={current:null},Tt={current:!1}):(S=new(de=class{constructor(){A(this,rt,P({}));A(this,at,P(null));A(this,ot,P(null));A(this,it,P({}));A(this,st,P({id:null}));A(this,lt,P({}));A(this,ct,P(-1));A(this,ft,P(new URL(ae)))}get data(){return T(v(this,rt))}set data(e){I(v(this,rt),e)}get form(){return T(v(this,at))}set form(e){I(v(this,at),e)}get error(){return T(v(this,ot))}set error(e){I(v(this,ot),e)}get params(){return T(v(this,it))}set params(e){I(v(this,it),e)}get route(){return T(v(this,st))}set route(e){I(v(this,st),e)}get state(){return T(v(this,lt))}set state(e){I(v(this,lt),e)}get status(){return T(v(this,ct))}set status(e){I(v(this,ct),e)}get url(){return T(v(this,ft))}set url(e){I(v(this,ft),e)}},rt=new WeakMap,at=new WeakMap,ot=new WeakMap,it=new WeakMap,st=new WeakMap,lt=new WeakMap,ct=new WeakMap,ft=new WeakMap,de),Q=new(he=class{constructor(){A(this,ut,P(null))}get current(){return T(v(this,ut))}set current(e){I(v(this,ut),e)}},ut=new WeakMap,he),Tt=new(pe=class{constructor(){A(this,dt,P(!1))}get current(){return T(v(this,dt))}set current(e){I(v(this,dt),e)}},dt=new WeakMap,pe),be.v=()=>Tt.current=!0);function cn(t){Object.assign(S,t)}const oe={spanContext(){return fn},setAttribute(){return this},setAttributes(){return this},addEvent(){return this},setStatus(){return this},updateName(){return this},end(){return this},isRecording(){return!1},recordException(){return this},addLink(){return this},addLinks(){return this}},fn={traceId:"",spanId:"",traceFlags:0},un=new Set(["icon","shortcut icon","apple-touch-icon"]);let W=null;const j=ge(_e)??{},Z=ge(me)??{},$={url:re({}),page:re({}),navigating:Dt(null),updated:rn()};function Ht(t){j[t]=V()}function dn(t,e){let n=t+1;for(;j[n];)delete j[n],n+=1;for(n=e+1;Z[n];)delete Z[n],n+=1}function tt(t,e=!1){return e?location.replace(t.href):location.href=t.href,new Promise(()=>{})}async function Re(){if("serviceWorker"in navigator){const t=await navigator.serviceWorker.getRegistration(U||"/");t&&await t.update()}}function ie(){}let Mt,Ct,_t,O,$t,k;const wt=[],vt=[];let b=null;function jt(){var t;(t=b==null?void 0:b.fork)==null||t.then(e=>e==null?void 0:e.discard()),b=null}const pt=new Map,Ee=new Set,hn=new Set,J=new Set;let w={branch:[],error:null,url:null},Se=!1,yt=!1,se=!0,et=!1,Y=!1,xe=!1,Wt=!1,Le,R,L,q;const bt=new Set,le=new Map;async function Dn(t,e,n){var s,i,o,l,c;(s=globalThis.__sveltekit_29f0f)!=null&&s.data&&globalThis.__sveltekit_29f0f.data,document.URL!==location.href&&(location.href=location.href),k=t,await((o=(i=t.hooks).init)==null?void 0:o.call(i)),Mt=Ze(t),O=document.documentElement,$t=e,Ct=t.nodes[0],_t=t.nodes[1],Ct(),_t(),R=(l=history.state)==null?void 0:l[F],L=(c=history.state)==null?void 0:c[X],R||(R=L=Date.now(),history.replaceState({...history.state,[F]:R,[X]:L},""));const a=j[R];function r(){a&&(history.scrollRestoration="manual",scrollTo(a.x,a.y))}n?(r(),await Sn($t,n)):(await G({type:"enter",url:Ft(k.hash?Un(new URL(location.href)):location.href),replace_state:!0}),r()),En()}function pn(){wt.length=0,Wt=!1}function Ue(t){vt.some(e=>e==null?void 0:e.snapshot)&&(Z[t]=vt.map(e=>{var n;return(n=e==null?void 0:e.snapshot)==null?void 0:n.capture()}))}function Ae(t){var e;(e=Z[t])==null||e.forEach((n,a)=>{var r,s;(s=(r=vt[a])==null?void 0:r.snapshot)==null||s.restore(n)})}function ce(){Ht(R),ee(_e,j),Ue(L),ee(me,Z)}async function Pe(t,e,n,a){let r;e.invalidateAll&&jt(),await G({type:"goto",url:Ft(t),keepfocus:e.keepFocus,noscroll:e.noScroll,replace_state:e.replaceState,state:e.state,redirect_count:n,nav_token:a,accept:()=>{e.invalidateAll&&(Wt=!0,r=[...le.keys()]),e.invalidate&&e.invalidate.forEach(Rn)}}),e.invalidateAll&>().then(gt).then(()=>{le.forEach(({resource:s},i)=>{var o;r!=null&&r.includes(i)&&((o=s.refresh)==null||o.call(s))})})}async function gn(t){if(t.id!==(b==null?void 0:b.id)){jt();const e={};bt.add(e),b={id:t.id,token:e,promise:Oe({...t,preload:e}).then(n=>(bt.delete(e),n.type==="loaded"&&n.state.error&&jt(),n)),fork:null}}return b.promise}async function It(t){var n;const e=(n=await xt(t,!1))==null?void 0:n.route;e&&await Promise.all([...e.layouts,e.leaf].filter(Boolean).map(a=>a[1]()))}async function Te(t,e,n){var s;const a={params:w.params,route:{id:((s=w.route)==null?void 0:s.id)??null},url:new URL(location.href)};w={...t.state,nav:a};const r=document.querySelector("style[data-sveltekit]");if(r&&r.remove(),Object.assign(S,t.props.page),Le=new k.root({target:e,props:{...t.props,stores:$,components:vt},hydrate:n,sync:!1,transformError:void 0}),await Promise.resolve(),Ae(L),n){const i={from:null,to:{...a,scroll:j[R]??V()},willUnload:!1,type:"enter",complete:Promise.resolve()};J.forEach(o=>o(i))}yt=!0}async function kt({url:t,params:e,branch:n,errors:a,status:r,error:s,route:i,form:o}){let l="never";if(U&&(t.pathname===U||t.pathname===U+"/"))l="always";else for(const d of n)(d==null?void 0:d.slash)!==void 0&&(l=d.slash);t.pathname=Ve(t.pathname,l),t.search=t.search;const c={type:"loaded",state:{url:t,params:e,branch:n,error:s,route:i},props:{constructors:on(n).map(d=>d.node.component),page:Qt(S)}};o!==void 0&&(c.props.form=o);let p={},h=!S,_=0;for(let d=0;d<Math.max(n.length,w.branch.length);d+=1){const f=n[d],u=w.branch[d];(f==null?void 0:f.data)!==(u==null?void 0:u.data)&&(h=!0),f&&(p={...p,...f.data},h&&(c.props[`data_${_}`]=p),_+=1)}return(!w.url||t.href!==w.url.href||w.error!==s||o!==void 0&&o!==S.form||h)&&(c.props.page={error:s,params:e,route:{id:(i==null?void 0:i.id)??null},state:{},status:r,url:new URL(t),form:o??null,data:h?p:S.data}),c}async function Yt({loader:t,parent:e,url:n,params:a,route:r,server_data_node:s}){var p,h,_;let i=null,o=!0;const l={dependencies:new Set,params:new Set,parent:!1,route:!1,url:!1,search_params:new Set},c=await t();if((p=c.universal)!=null&&p.load){let g=function(...f){for(const u of f){const{href:m}=new URL(u,n);l.dependencies.add(m)}};const d={tracing:{enabled:!1,root:oe,current:oe},route:new Proxy(r,{get:(f,u)=>(o&&(l.route=!0),f[u])}),params:new Proxy(a,{get:(f,u)=>(o&&l.params.add(u),f[u])}),data:(s==null?void 0:s.data)??null,url:Fe(n,()=>{o&&(l.url=!0)},f=>{o&&l.search_params.add(f)},k.hash),async fetch(f,u){f instanceof Request&&(u={body:f.method==="GET"||f.method==="HEAD"?void 0:await f.blob(),cache:f.cache,credentials:f.credentials,headers:[...f.headers].length>0?f==null?void 0:f.headers:void 0,integrity:f.integrity,keepalive:f.keepalive,method:f.method,mode:f.mode,redirect:f.redirect,referrer:f.referrer,referrerPolicy:f.referrerPolicy,signal:f.signal,...u});const{resolved:m,promise:y}=Ie(f,u,n);return o&&g(m.href),y},setHeaders:()=>{},depends:g,parent(){return o&&(l.parent=!0),e()},untrack(f){o=!1;try{return f()}finally{o=!0}}};i=await c.universal.load.call(null,d)??null}return{node:c,loader:t,server:s,universal:(h=c.universal)!=null&&h.load?{type:"data",data:i,uses:l}:null,data:i??(s==null?void 0:s.data)??null,slash:((_=c.universal)==null?void 0:_.trailingSlash)??(s==null?void 0:s.slash)}}function Ie(t,e,n){let a=t instanceof Request?t.url:t;const r=new URL(a,n);r.origin===n.origin&&(a=r.href.slice(n.origin.length));const s=yt?We(a,r.href,e):Me(a,e);return{resolved:r,promise:s}}function mn(t,e,n,a,r,s){if(Wt)return!0;if(!r)return!1;if(r.parent&&t||r.route&&e||r.url&&n)return!0;for(const i of r.search_params)if(a.has(i))return!0;for(const i of r.params)if(s[i]!==w.params[i])return!0;for(const i of r.dependencies)if(wt.some(o=>o(new URL(i))))return!0;return!1}function zt(t,e){return(t==null?void 0:t.type)==="data"?t:(t==null?void 0:t.type)==="skip"?e??null:null}function _n(t,e){if(!t)return new Set(e.searchParams.keys());const n=new Set([...t.searchParams.keys(),...e.searchParams.keys()]);for(const a of n){const r=t.searchParams.getAll(a),s=e.searchParams.getAll(a);r.every(i=>s.includes(i))&&s.every(i=>r.includes(i))&&n.delete(a)}return n}function wn({error:t,url:e,route:n,params:a}){return{type:"loaded",state:{error:t,url:e,route:n,params:a,branch:[]},props:{page:Qt(S),constructors:[]}}}async function Oe({id:t,invalidating:e,url:n,params:a,route:r,preload:s}){if((b==null?void 0:b.id)===t)return bt.delete(b.token),b.promise;const{errors:i,layouts:o,leaf:l}=r,c=[...o,l];i.forEach(u=>u==null?void 0:u().catch(()=>{})),c.forEach(u=>u==null?void 0:u[1]().catch(()=>{}));const p=w.url?t!==Rt(w.url):!1,h=w.route?r.id!==w.route.id:!1,_=_n(w.url,n);let g=!1;const d=c.map(async(u,m)=>{var C;if(!u)return;const y=w.branch[m];return u[1]===(y==null?void 0:y.loader)&&!mn(g,h,p,_,(C=y.universal)==null?void 0:C.uses,a)?y:(g=!0,Yt({loader:u[1],url:n,params:a,route:r,parent:async()=>{var ht;const N={};for(let B=0;B<m;B+=1)Object.assign(N,(ht=await d[B])==null?void 0:ht.data);return N},server_data_node:zt(u[0]?{type:"skip"}:null,u[0]?y==null?void 0:y.server:void 0)}))});for(const u of d)u.catch(()=>{});const f=[];for(let u=0;u<c.length;u+=1)if(c[u])try{f.push(await d[u])}catch(m){if(m instanceof Bt)return{type:"redirect",location:m.location};if(bt.has(s))return wn({error:await nt(m,{params:a,url:n,route:{id:r.id}}),url:n,params:a,route:r});let y=Gt(m),x;if(m instanceof qt)x=m.body;else{if(await $.updated.check())return await Re(),await tt(n);x=await nt(m,{params:a,url:n,route:{id:r.id}})}const C=await vn(u,f,i);return C?kt({url:n,params:a,branch:f.slice(0,C.idx).concat(C.node),errors:i,status:y,error:x,route:r}):await $e(n,{id:r.id},x,y)}else f.push(void 0);return kt({url:n,params:a,branch:f,errors:i,status:200,error:null,route:r,form:e?void 0:null})}async function vn(t,e,n){for(;t--;)if(n[t]){let a=t;for(;!e[a];)a-=1;try{return{idx:a+1,node:{node:await n[t](),loader:n[t],data:{},server:null,universal:null}}}catch{continue}}}async function Jt({status:t,error:e,url:n,route:a}){const r={};let s=null;try{const i=await Yt({loader:Ct,url:n,params:r,route:a,parent:()=>Promise.resolve({}),server_data_node:zt(s)}),o={node:await _t(),loader:_t,universal:null,server:null,data:null};return kt({url:n,params:r,branch:[i,o],status:t,error:e,errors:[],route:null})}catch(i){if(i instanceof Bt)return Pe(new URL(i.location,location.href),{},0);throw i}}async function yn(t){const e=t.href;if(pt.has(e))return pt.get(e);let n;try{const a=(async()=>{let r=await k.hooks.reroute({url:new URL(t),fetch:async(s,i)=>Ie(s,i,t).promise})??t;if(typeof r=="string"){const s=new URL(t);k.hash?s.hash=r:s.pathname=r,r=s}return r})();pt.set(e,a),n=await a}catch{pt.delete(e);return}return n}async function xt(t,e){if(t&&!St(t,U,k.hash)){const n=await yn(t);if(!n)return;const a=bn(n);for(const r of Mt){const s=r.exec(a);if(s)return{id:Rt(t),invalidating:e,route:r,params:Ke(s),url:t}}}}function bn(t){return Be(k.hash?t.hash.replace(/^#/,"").replace(/[?#].+/,""):t.pathname.slice(U.length))||"/"}function Rt(t){return(k.hash?t.hash.replace(/^#/,""):t.pathname)+t.search}function Ce({url:t,type:e,intent:n,delta:a,event:r,scroll:s}){let i=!1;const o=Xt(w,n,t,e,s??null);a!==void 0&&(o.navigation.delta=a),r!==void 0&&(o.navigation.event=r);const l={...o.navigation,cancel:()=>{i=!0,o.reject(new Error("navigation cancelled"))}};return et||Ee.forEach(c=>c(l)),i?null:o}async function G({type:t,url:e,popped:n,keepfocus:a,noscroll:r,replace_state:s,state:i={},redirect_count:o=0,nav_token:l={},accept:c=ie,block:p=ie,event:h}){var B;const _=q;q=l;const g=await xt(e,!1),d=t==="enter"?Xt(w,g,e,t):Ce({url:e,type:t,delta:n==null?void 0:n.delta,intent:g,scroll:n==null?void 0:n.scroll,event:h});if(!d){p(),q===l&&(q=_);return}const f=R,u=L;c(),et=!0,yt&&d.navigation.type!=="enter"&&$.navigating.set(Q.current=d.navigation);let m=g&&await Oe(g);if(!m){if(St(e,U,k.hash))return await tt(e,s);m=await $e(e,{id:null},await nt(new Vt(404,"Not Found",`Not found: ${e.pathname}`),{url:e,params:{},route:{id:null}}),404,s)}if(e=(g==null?void 0:g.url)||e,q!==l)return d.reject(new Error("navigation aborted")),!1;if(m.type==="redirect"){if(o<20){await G({type:t,url:new URL(m.location,e),popped:n,keepfocus:a,noscroll:r,replace_state:s,state:i,redirect_count:o+1,nav_token:l}),d.fulfil(void 0);return}m=await Jt({status:500,error:await nt(new Error("Redirect loop"),{url:e,params:{},route:{id:null}}),url:e,route:{id:null}})}else m.props.page.status>=400&&await $.updated.check()&&(await Re(),await tt(e,s));if(pn(),Ht(f),Ue(u),m.props.page.url.pathname!==e.pathname&&(e.pathname=m.props.page.url.pathname),i=n?n.state:i,!n){const E=s?0:1,H={[F]:R+=E,[X]:L+=E,[we]:i};(s?history.replaceState:history.pushState).call(history,H,"",e),s||dn(R,L)}const y=g&&(b==null?void 0:b.id)===g.id?b.fork:null;b=null,m.props.page.state=i;let x;if(yt){const E=(await Promise.all(Array.from(hn,M=>M(d.navigation)))).filter(M=>typeof M=="function");if(E.length>0){let M=function(){E.forEach(Ut=>{J.delete(Ut)})};E.push(M),E.forEach(Ut=>{J.add(Ut)})}const H=d.navigation.to;w={...m.state,nav:{params:H.params,route:H.route,url:H.url}},m.props.page&&(m.props.page.url=e);const Lt=y&&await y;Lt?x=Lt.commit():(W=null,Le.$set(m.props),W&&Object.assign(m.props.page,W),cn(m.props.page),x=(B=De)==null?void 0:B()),xe=!0}else await Te(m,$t,!1);const{activeElement:C}=document;await x,await gt(),await gt();let N=null;if(se){const E=n?n.scroll:r?V():null;E?scrollTo(E.x,E.y):(N=e.hash&&document.getElementById(je(e)))?N.scrollIntoView():scrollTo(0,0)}const ht=document.activeElement!==C&&document.activeElement!==document.body;!a&&!ht&&Ln(e,!N),se=!0,m.props.page&&(W&&Object.assign(m.props.page,W),Object.assign(S,m.props.page)),et=!1,t==="popstate"&&Ae(L),d.fulfil(void 0),d.navigation.to&&(d.navigation.to.scroll=V()),J.forEach(E=>E(d.navigation)),$.navigating.set(Q.current=null)}async function $e(t,e,n,a,r){return t.origin===Et&&t.pathname===location.pathname&&!Se?await Jt({status:a,error:n,url:t,route:e}):await tt(t,r)}function kn(){let t,e={element:void 0,href:void 0},n;O.addEventListener("mousemove",o=>{const l=o.target;clearTimeout(t),t=setTimeout(()=>{s(l,D.hover)},20)});function a(o){o.defaultPrevented||s(o.composedPath()[0],D.tap)}O.addEventListener("mousedown",a),O.addEventListener("touchstart",a,{passive:!0});const r=new IntersectionObserver(o=>{for(const l of o)l.isIntersecting&&(It(new URL(l.target.href)),r.unobserve(l.target))},{threshold:0});async function s(o,l){const c=ye(o,O),p=c===e.element&&(c==null?void 0:c.href)===e.href&&l>=n;if(!c||p)return;const{url:h,external:_,download:g}=Ot(c,U,k.hash);if(_||g)return;const d=mt(c),f=h&&Rt(w.url)===Rt(h);if(!(d.reload||f))if(l<=d.preload_data){e={element:c,href:c.href},n=D.tap;const u=await xt(h,!1);if(!u)return;gn(u)}else l<=d.preload_code&&(e={element:c,href:c.href},n=l,It(h))}function i(){r.disconnect();for(const o of O.querySelectorAll("a")){const{url:l,external:c,download:p}=Ot(o,U,k.hash);if(c||p)continue;const h=mt(o);h.reload||(h.preload_code===D.viewport&&r.observe(o),h.preload_code===D.eager&&It(l))}}J.add(i),i()}function nt(t,e){if(t instanceof qt)return t.body;const n=Gt(t),a=sn(t);return k.hooks.handleError({error:t,event:e,status:n,message:a})??{message:a}}function qn(t,e={}){return t=new URL(Ft(t)),t.origin!==Et?Promise.reject(new Error("goto: invalid URL")):Pe(t,e,0)}function Rn(t){if(typeof t=="function")wt.push(t);else{const{href:e}=new URL(t,location.href);wt.push(n=>n.href===e)}}function En(){var e;history.scrollRestoration="manual",addEventListener("beforeunload",n=>{let a=!1;if(ce(),!et){const r=Xt(w,void 0,null,"leave"),s={...r.navigation,cancel:()=>{a=!0,r.reject(new Error("navigation cancelled"))}};Ee.forEach(i=>i(s))}a?(n.preventDefault(),n.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&ce()}),(e=navigator.connection)!=null&&e.saveData||kn(),O.addEventListener("click",async n=>{if(n.button||n.which!==1||n.metaKey||n.ctrlKey||n.shiftKey||n.altKey||n.defaultPrevented)return;const a=ye(n.composedPath()[0],O);if(!a)return;const{url:r,external:s,target:i,download:o}=Ot(a,U,k.hash);if(!r)return;if(i==="_parent"||i==="_top"){if(window.parent!==window)return}else if(i&&i!=="_self")return;const l=mt(a);if(!(a instanceof SVGAElement)&&r.protocol!==location.protocol&&!(r.protocol==="https:"||r.protocol==="http:")||o)return;const[p,h]=(k.hash?r.hash.replace(/^#/,""):r.href).split("#"),_=p===At(location);if(s||l.reload&&(!_||!h)){Ce({url:r,type:"link",event:n})?et=!0:n.preventDefault();return}if(h!==void 0&&_){const[,g]=w.url.href.split("#");if(g===h){if(n.preventDefault(),h===""||h==="top"&&a.ownerDocument.getElementById("top")===null)scrollTo({top:0});else{const d=a.ownerDocument.getElementById(decodeURIComponent(h));d&&(d.scrollIntoView(),d.focus())}return}if(Y=!0,Ht(R),t(r),!l.replace_state)return;Y=!1}n.preventDefault(),await new Promise(g=>{requestAnimationFrame(()=>{setTimeout(g,0)}),setTimeout(g,100)}),await G({type:"link",url:r,keepfocus:l.keepfocus,noscroll:l.noscroll,replace_state:l.replace_state??r.href===location.href,event:n})}),O.addEventListener("submit",n=>{if(n.defaultPrevented)return;const a=HTMLFormElement.prototype.cloneNode.call(n.target),r=n.submitter;if(((r==null?void 0:r.formTarget)||a.target)==="_blank"||((r==null?void 0:r.formMethod)||a.method)!=="get")return;const o=new URL((r==null?void 0:r.hasAttribute("formaction"))&&(r==null?void 0:r.formAction)||a.action);if(St(o,U,!1))return;const l=n.target,c=mt(l);if(c.reload)return;n.preventDefault(),n.stopPropagation();const p=new FormData(l,r);o.search=new URLSearchParams(p).toString(),G({type:"form",url:o,keepfocus:c.keepfocus,noscroll:c.noscroll,replace_state:c.replace_state??o.href===location.href,event:n})}),addEventListener("popstate",async n=>{var a;if(!Nt){if((a=n.state)!=null&&a[F]){const r=n.state[F];if(q={},r===R)return;const s=j[r],i=n.state[we]??{},o=new URL(n.state[nn]??location.href),l=n.state[X],c=w.url?At(location)===At(w.url):!1;if(l===L&&(xe||c)){i!==S.state&&(S.state=i),t(o),j[R]=V(),s&&scrollTo(s.x,s.y),R=r;return}const h=r-R;await G({type:"popstate",url:o,popped:{state:i,scroll:s,delta:h},accept:()=>{R=r,L=l},block:()=>{history.go(-h)},nav_token:q,event:n})}else if(!Y){const r=new URL(location.href);t(r),k.hash&&location.reload()}}}),addEventListener("hashchange",()=>{Y&&(Y=!1,history.replaceState({...history.state,[F]:++R,[X]:L},"",location.href))});for(const n of document.querySelectorAll("link"))un.has(n.rel)&&(n.href=n.href);addEventListener("pageshow",n=>{n.persisted&&$.navigating.set(Q.current=null)});function t(n){w.url=S.url=n,$.page.set(Qt(S)),$.page.notify()}}async function Sn(t,{status:e=200,error:n,node_ids:a,params:r,route:s,server_route:i,data:o,form:l}){Se=!0;const c=new URL(location.href);let p;({params:r={},route:s={id:null}}=await xt(c,!1)||{}),p=Mt.find(({id:g})=>g===s.id);let h,_=!0;try{const g=a.map(async(f,u)=>{const m=o[u];return m!=null&&m.uses&&(m.uses=xn(m.uses)),Yt({loader:k.nodes[f],url:c,params:r,route:s,parent:async()=>{const y={};for(let x=0;x<u;x+=1)Object.assign(y,(await g[x]).data);return y},server_data_node:zt(m)})}),d=await Promise.all(g);if(p){const f=p.layouts;for(let u=0;u<f.length;u++)f[u]||d.splice(u,0,void 0)}h=await kt({url:c,params:r,branch:d,status:e,error:n,errors:p==null?void 0:p.errors,form:l,route:p??null})}catch(g){if(g instanceof Bt){await tt(new URL(g.location,location.href));return}h=await Jt({status:Gt(g),error:await nt(g,{url:c,params:r,route:s}),url:c,route:s}),t.textContent="",_=!1}h.props.page&&(h.props.page.state={}),await Te(h,t,_)}function xn(t){return{dependencies:new Set((t==null?void 0:t.dependencies)??[]),params:new Set((t==null?void 0:t.params)??[]),parent:!!(t!=null&&t.parent),route:!!(t!=null&&t.route),url:!!(t!=null&&t.url),search_params:new Set((t==null?void 0:t.search_params)??[])}}let Nt=!1;function Ln(t,e=!0){const n=document.querySelector("[autofocus]");if(n)n.focus();else{const a=je(t);if(a&&document.getElementById(a)){const{x:s,y:i}=V();setTimeout(()=>{const o=history.state;Nt=!0,location.replace(new URL(`#${a}`,location.href)),history.replaceState(o,"",t),e&&scrollTo(s,i),Nt=!1})}else{const s=document.body,i=s.getAttribute("tabindex");s.tabIndex=-1,s.focus({preventScroll:!0,focusVisible:!1}),i!==null?s.setAttribute("tabindex",i):s.removeAttribute("tabindex")}const r=getSelection();if(r&&r.type!=="None"){const s=[];for(let i=0;i<r.rangeCount;i+=1)s.push(r.getRangeAt(i));setTimeout(()=>{if(r.rangeCount===s.length){for(let i=0;i<r.rangeCount;i+=1){const o=s[i],l=r.getRangeAt(i);if(o.commonAncestorContainer!==l.commonAncestorContainer||o.startContainer!==l.startContainer||o.endContainer!==l.endContainer||o.startOffset!==l.startOffset||o.endOffset!==l.endOffset)return}r.removeAllRanges()}})}}}function Xt(t,e,n,a,r=null){var c,p;let s,i;const o=new Promise((h,_)=>{s=h,i=_});return o.catch(()=>{}),{navigation:{from:{params:t.params,route:{id:((c=t.route)==null?void 0:c.id)??null},url:t.url,scroll:V()},to:n&&{params:(e==null?void 0:e.params)??null,route:{id:((p=e==null?void 0:e.route)==null?void 0:p.id)??null},url:n,scroll:r},willUnload:!e,type:a,complete:o},fulfil:s,reject:i}}function Qt(t){return{data:t.data,error:t.error,form:t.form,params:t.params,route:t.route,state:t.state,status:t.status,url:t.url}}function Un(t){const e=new URL(t);return e.hash=decodeURIComponent(t.hash),e}function je(t){let e;if(k.hash){const[,,n]=t.hash.split("#",3);e=n??""}else e=t.hash.slice(1);return decodeURIComponent(e)}export{Dn as a,qn as g,Cn as l,S as p,$ as s};
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import{c as X,a as s,f as h,t as xt}from"./CS53ooo0.js";import{f as H,at as mt,b7 as ne,a4 as at,an as We,a5 as L,av as c,ax as l,aw as R,i as e,az as w,au as _t,aA as $,U as tt,ay as kt}from"./vtBo8kBV.js";import{d as gt,a as ze,s as j,e as ot,r as it}from"./B2cyTHdf.js";import{i as D}from"./BkD3yAYe.js";import{e as st,i as $t}from"./CFwxUBGi.js";import{c as Te}from"./C4uF_YIK.js";import{a as Ye,s as S,c as rt}from"./DoRPmqLn.js";import{l as xe,s as ke,p as N}from"./BAJAS8BI.js";import{a as Ge}from"./CBY2biv-.js";import{s as Be}from"./CGCMIfh3.js";import{w as pt}from"./ClknbeNl.js";import{I as $e,P as Pt}from"./DsxvjlCC.js";import{a as wt,b as St,c as It,d as Mt,D as Dt}from"./DAdOEnFb.js";import"./BA4Gucnq.js";import{s as Pe}from"./ChUctqXA.js";function lt(_,a){const d=xe(a,["children","$$slots","$$events","$$legacy"]);/**
|
|
2
|
-
* @license lucide-svelte v0.460.1 - ISC
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the ISC license.
|
|
5
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
6
|
-
*/const i=[["path",{d:"M4 11a9 9 0 0 1 9 9"}],["path",{d:"M4 4a16 16 0 0 1 16 16"}],["circle",{cx:"5",cy:"19",r:"1"}]];$e(_,ke({name:"rss"},()=>d,{get iconNode(){return i},children:(b,A)=>{var p=X(),v=H(p);Pe(v,a,"default",{}),s(b,p)},$$slots:{default:!0}}))}function ct(_,a){const d=xe(a,["children","$$slots","$$events","$$legacy"]);/**
|
|
7
|
-
* @license lucide-svelte v0.460.1 - ISC
|
|
8
|
-
*
|
|
9
|
-
* This source code is licensed under the ISC license.
|
|
10
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
11
|
-
*/const i=[["path",{d:"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z"}]];$e(_,ke({name:"puzzle"},()=>d,{get iconNode(){return i},children:(b,A)=>{var p=X(),v=H(p);Pe(v,a,"default",{}),s(b,p)},$$slots:{default:!0}}))}function Lt(_,a){const d=xe(a,["children","$$slots","$$events","$$legacy"]);/**
|
|
12
|
-
* @license lucide-svelte v0.460.1 - ISC
|
|
13
|
-
*
|
|
14
|
-
* This source code is licensed under the ISC license.
|
|
15
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
16
|
-
*/const i=[["path",{d:"M18 6 6 18"}],["path",{d:"m6 6 12 12"}]];$e(_,ke({name:"x"},()=>d,{get iconNode(){return i},children:(b,A)=>{var p=X(),v=H(p);Pe(v,a,"default",{}),s(b,p)},$$slots:{default:!0}}))}function dt(_){const a=_.trim();if(!a)return"";const d=a.charAt(0);return/[a-z0-9\u4e00-\u9fff]/i.test(d)?d.toUpperCase():""}function yt(_,a){const d=i=>{const b=i==null?void 0:i.trim();if(!b)return"";try{return new URL(b.startsWith("http")?b:`https://${b}`).hostname.replace(/^www\./i,"")||""}catch{return""}};return d(_)||d(a||"")}function Nt(_){if(!_)return"";const a=_.charAt(0);return/[a-z0-9\u4e00-\u9fff]/i.test(a)?a.toUpperCase():""}function Tt(_,a,d,i){const b=yt(_,a),A=Nt(b);if(A)return A;if(d&&d.length>0){const v=dt(d[0].name);if(v)return v}if(i){const v=dt(i);if(v)return v}const p=(a||"").trim();if(p){const v=p.charAt(0);return/[a-z0-9\u4e00-\u9fff]/i.test(v)?v.toUpperCase():"?"}return"?"}function Rt(_){return _?`/api/feed-favicon?domain=${encodeURIComponent(_)}`:""}function Ht(_){let a=2166136261;for(let b=0;b<_.length;b++)a^=_.charCodeAt(b),a=Math.imul(a,16777619);return`hsl(${(a>>>0)%360} 46% 46%)`}function At(_){const a=_.link||"",d=_.sourceRef,{author:i,authors:b,guid:A,title:p}=_,v=yt(a,d),W=Rt(v),fe=Tt(a,d,b,i),T=(A||[a,d,p,i,b==null?void 0:b.map(C=>C.name).join("|")].filter(Boolean).join("|")||fe).trim(),J=Ht(T||"feed");return{siteHost:v,faviconSrc:W,letter:fe,avatarSeed:T,avatarBg:J}}var Ct=h('<img alt="" class="feed-card-favicon svelte-1dgd2z5" width="26" height="26" loading="lazy" decoding="async"/>'),Ft=h('<span class="feed-card-icon-letter svelte-1dgd2z5" aria-hidden="true"> </span>'),Ut=h('<a data-sveltekit-preload-data="hover"><!></a>'),jt=h('<img alt="" class="feed-card-favicon svelte-1dgd2z5" width="26" height="26" loading="lazy" decoding="async"/>'),Et=h('<span class="feed-card-icon-letter svelte-1dgd2z5" aria-hidden="true"> </span>'),Ot=h('<div role="img"><!></div>'),Bt=h('<span class="feed-card-author-sep svelte-1dgd2z5">、</span>'),Jt=h('<a class="feed-card-author-link svelte-1dgd2z5"> </a><!>',1),qt=h('<a class="feed-card-author-link svelte-1dgd2z5"> </a>'),Xt=h('<span class="feed-card-author-plain svelte-1dgd2z5"> </span>'),Gt=h('<span class="feed-card-author-empty svelte-1dgd2z5">未署名</span>'),Wt=h('<time class="feed-card-time svelte-1dgd2z5"> </time>'),Yt=h('<a class="feed-card-title svelte-1dgd2z5" target="_blank" rel="noopener noreferrer"> </a>'),Kt=h('<span class="feed-card-title feed-card-title-text svelte-1dgd2z5"> </span>'),Qt=h('<div class="feed-card-title-row svelte-1dgd2z5"><!></div>'),Vt=h('<a class="feed-card-summary-link svelte-1dgd2z5" target="_blank" rel="noopener noreferrer" title="打开原文"><p class="feed-card-summary svelte-1dgd2z5"> </p></a>'),Zt=h('<p class="feed-card-summary svelte-1dgd2z5"> </p>'),er=h('<a class="feed-card-open-original svelte-1dgd2z5" target="_blank" rel="noopener noreferrer">查看原文</a>'),tr=h('<a class="feed-card-media-anchor svelte-1dgd2z5" target="_blank" rel="noopener noreferrer" title="打开原文"><img alt="" class="feed-card-media-img svelte-1dgd2z5" loading="lazy" decoding="async"/></a>'),rr=h('<img alt="" class="feed-card-media-img svelte-1dgd2z5" loading="lazy" decoding="async"/>'),ar=h('<div class="feed-card-media svelte-1dgd2z5"><!></div>'),sr=h('<button class="ctx-menu-item svelte-1dgd2z5" type="button"> </button>'),nr=h('<button class="ctx-menu-item ctx-delete svelte-1dgd2z5" type="button">删除</button>'),or=h('<div class="ctx-menu-backdrop svelte-1dgd2z5" role="presentation"><div class="ctx-menu svelte-1dgd2z5" role="menu" tabindex="-1"><!> <!></div></div>'),ir=h('<div role="article"><div class="feed-card-aside svelte-1dgd2z5"><!></div> <div class="feed-card-main svelte-1dgd2z5"><div class="feed-card-author-line svelte-1dgd2z5"><span class="feed-card-author svelte-1dgd2z5"><!></span> <!></div> <!> <!> <!></div></div> <!>',1);function vt(_,a){mt(a,!0);let d=N(a,"title",3,""),i=N(a,"link",3,""),b=N(a,"summary",3,void 0),A=N(a,"content",3,void 0),p=N(a,"author",3,void 0),v=N(a,"pubDate",3,void 0),W=N(a,"sourceRef",3,void 0),fe=N(a,"sourceHref",3,void 0),T=N(a,"authorHref",3,void 0),J=N(a,"authors",3,void 0),C=N(a,"guid",3,void 0),Y=N(a,"coverImg",3,void 0),ee=N(a,"rawItem",3,void 0),K=N(a,"onDelete",3,void 0),Q=ne(at({show:!1,x:0,y:0})),oe=ne("idle"),he=ne(!1);function Ke(t){return t.replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,"").replace(/<style\b[^<]*(?:(?!<\/style>)<[^<]*)*<\/style>/gi,"").replace(/<[^>]+>/g," ").replace(/\s+/g," ").trim()}function Je(t){const r=t.match(/!\[[^\]]*\]\(([^)\s]+)(?:\s+['"][^'"]*['"])?\)/);if(r!=null&&r[1])return r[1].trim();const m=t.match(/<img\b[^>]*\bsrc=["']([^"']+)["'][^>]*>/i);if(m!=null&&m[1])return m[1].trim()}function qe(t){return t.replace(/!\[[^\]]*\]\(([^)\s]+)(?:\s+['"][^'"]*['"])?\)/g," ").replace(/<img\b[^>]*>/gi," ")}function Qe(t){if(!t)return"";const r=new Date(t);if(Number.isNaN(r.getTime()))return"";const f=Date.now()-r.getTime(),I=r.toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"});if(f<0)return I;const u=Math.floor(f/36e5),n=Math.floor(f/864e5);return n>=7?I:n>=1?`${n} day${n===1?"":"s"} ago`:u>=1?`${u} hour${u===1?"":"s"} ago`:"just now"}We(()=>{i(),W(),L(he,!1)});const we=$(()=>At({link:i()||"",sourceRef:W(),author:p(),authors:J(),guid:C(),title:d()})),te=$(()=>e(we).siteHost),Se=$(()=>e(we).faviconSrc),re=$(()=>!!(e(Se)&&!e(he))),Re=$(()=>e(we).letter),He=$(()=>e(we).avatarBg),Ae=$(()=>{var t,r;return(((t=A())==null?void 0:t.trim())||((r=b())==null?void 0:r.trim())||"").trim()}),Ce=$(()=>{var t;return((t=Y())==null?void 0:t.trim())||Je(e(Ae))}),Ie=$(()=>e(Ae)?Ke(qe(e(Ae))):""),x=$(()=>{var t;return!!((t=d())!=null&&t.trim())}),z=$(()=>!!(i()&&!e(x)&&e(Ie)));function k(t){!ee()&&!(C()&&K())||(t.preventDefault(),L(oe,"idle"),L(Q,{show:!0,x:t.clientX,y:t.clientY},!0))}function M(){L(Q,{...e(Q),show:!1},!0)}async function O(){if(!ee())return;const t=JSON.stringify(ee(),null,2);try{await navigator.clipboard.writeText(t),L(oe,"copied"),window.setTimeout(M,350)}catch{L(oe,"error")}}function V(){C()&&K()&&(K()(C()),M())}var Z=ir(),q=H(Z);let ie;var le=c(q),me=c(le);{var Me=t=>{var r=Ut();let m,f;var I=c(r);{var u=o=>{var g=Ct();w(()=>S(g,"src",e(Se))),ot("error",g,()=>L(he,!0)),it(g),s(o,g)},n=o=>{var g=Ft(),F=c(g,!0);l(g),w(()=>j(F,e(Re))),s(o,g)};D(I,o=>{e(re)?o(u):o(n,-1)})}l(r),w(()=>{m=Ye(r,1,"feed-card-icon svelte-1dgd2z5",null,m,{"feed-card-icon--favicon":e(re)}),S(r,"href",fe()),S(r,"title",W()||e(te)||"筛选该来源"),f=rt(r,"",f,{"background-color":e(re)?"transparent":e(He),color:"#fff"})}),s(t,r)},_e=t=>{var r=Ot();let m,f;var I=c(r);{var u=o=>{var g=jt();w(()=>S(g,"src",e(Se))),ot("error",g,()=>L(he,!0)),it(g),s(o,g)},n=o=>{var g=Et(),F=c(g,!0);l(g),w(()=>j(F,e(Re))),s(o,g)};D(I,o=>{e(re)?o(u):o(n,-1)})}l(r),w(()=>{m=Ye(r,1,"feed-card-icon svelte-1dgd2z5",null,m,{"feed-card-icon--favicon":e(re)}),S(r,"title",W()||e(te)||"来源"),S(r,"aria-label",W()||e(te)||"来源"),f=rt(r,"",f,{"background-color":e(re)?"transparent":e(He),color:"#fff"})}),s(t,r)};D(me,t=>{fe()?t(Me):t(_e,-1)})}l(le);var ge=R(le,2),ae=c(ge),ce=c(ae),pe=c(ce);{var de=t=>{var r=X(),m=H(r);st(m,17,J,$t,(f,I,u)=>{var n=Jt(),o=H(n),g=c(o,!0);l(o);var F=R(o);{var P=y=>{var B=Bt();s(y,B)};D(F,y=>{u<J().length-1&&y(P)})}w(()=>{S(o,"href",e(I).href),j(g,e(I).name)}),s(f,n)}),s(t,r)},Fe=t=>{var r=X(),m=H(r);{var f=u=>{var n=qt(),o=c(n,!0);l(n),w(()=>{S(n,"href",T()),j(o,p())}),s(u,n)},I=u=>{var n=Xt(),o=c(n,!0);l(n),w(()=>j(o,p())),s(u,n)};D(m,u=>{T()?u(f):u(I,-1)})}s(t,r)},Xe=t=>{var r=Gt();s(t,r)};D(pe,t=>{J()&&J().length>0?t(de):p()?t(Fe,1):t(Xe,-1)})}l(ce);var G=R(ce,2);{var ve=t=>{var r=Wt(),m=c(r,!0);l(r),w(f=>{S(r,"datetime",v()),S(r,"title",v()),j(m,f)},[()=>Qe(v())]),s(t,r)};D(G,t=>{v()&&t(ve)})}l(ae);var ue=R(ae,2);{var se=t=>{var r=Qt(),m=c(r);{var f=u=>{var n=Yt(),o=c(n,!0);l(n),w(()=>{S(n,"href",i()),j(o,d())}),s(u,n)},I=u=>{var n=Kt(),o=c(n,!0);l(n),w(()=>j(o,d())),s(u,n)};D(m,u=>{i()?u(f):u(I,-1)})}l(r),s(t,r)};D(ue,t=>{e(x)&&t(se)})}var ye=R(ue,2);{var be=t=>{var r=X(),m=H(r);{var f=u=>{var n=Vt(),o=c(n),g=c(o,!0);l(o),l(n),w(()=>{S(n,"href",i()),j(g,e(Ie))}),s(u,n)},I=u=>{var n=Zt(),o=c(n,!0);l(n),w(()=>j(o,e(Ie))),s(u,n)};D(m,u=>{e(z)?u(f):u(I,-1)})}s(t,r)},De=t=>{var r=er();w(()=>S(r,"href",i())),s(t,r)};D(ye,t=>{e(Ie)?t(be):i()&&!e(x)&&t(De,1)})}var Le=R(ye,2);{var Ue=t=>{var r=ar(),m=c(r);{var f=u=>{var n=tr(),o=c(n);l(n),w(()=>{S(n,"href",i()),S(o,"src",e(Ce))}),s(u,n)},I=u=>{var n=rr();w(()=>S(n,"src",e(Ce))),s(u,n)};D(m,u=>{i()?u(f):u(I,-1)})}l(r),s(t,r)};D(Le,t=>{e(Ce)&&t(Ue)})}l(ge),l(q);var je=R(q,2);{var Ee=t=>{var r=or(),m=c(r);let f;var I=c(m);{var u=g=>{var F=sr(),P=c(F,!0);l(F),w(()=>j(P,e(oe)==="copied"?"已复制":e(oe)==="error"?"复制失败":"复制 JSON")),ze("click",F,O),s(g,F)};D(I,g=>{ee()&&g(u)})}var n=R(I,2);{var o=g=>{var F=nr();ze("click",F,V),s(g,F)};D(n,g=>{C()&&K()&&g(o)})}l(m),l(r),w(()=>f=rt(m,"",f,{left:`${e(Q).x}px`,top:`${e(Q).y}px`})),ze("click",r,M),ze("click",m,g=>g.stopPropagation()),ze("keydown",m,g=>g.stopPropagation()),s(t,r)};D(je,t=>{e(Q).show&&(ee()||C()&&K())&&t(Ee)})}w(()=>ie=Ye(q,1,"feed-card svelte-1dgd2z5",null,ie,{"ctx-deletable":!!C()&&!!K()})),ze("contextmenu",q,k),s(_,Z),_t()}gt(["contextmenu","click","keydown"]);function lr(_,a){const d=xe(a,["children","$$slots","$$events","$$legacy"]);/**
|
|
17
|
-
* @license lucide-svelte v0.460.1 - ISC
|
|
18
|
-
*
|
|
19
|
-
* This source code is licensed under the ISC license.
|
|
20
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
21
|
-
*/const i=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8"}],["path",{d:"M21 3v5h-5"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16"}],["path",{d:"M8 16H3v5"}]];$e(_,ke({name:"refresh-cw"},()=>d,{get iconNode(){return i},children:(b,A)=>{var p=X(),v=H(p);Pe(v,a,"default",{}),s(b,p)},$$slots:{default:!0}}))}function ut(_,a){const d=xe(a,["children","$$slots","$$events","$$legacy"]);/**
|
|
22
|
-
* @license lucide-svelte v0.460.1 - ISC
|
|
23
|
-
*
|
|
24
|
-
* This source code is licensed under the ISC license.
|
|
25
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
26
|
-
*/const i=[["circle",{cx:"12",cy:"12",r:"10"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"}],["path",{d:"M2 12h20"}]];$e(_,ke({name:"globe"},()=>d,{get iconNode(){return i},children:(b,A)=>{var p=X(),v=H(p);Pe(v,a,"default",{}),s(b,p)},$$slots:{default:!0}}))}function ft(_,a){const d=xe(a,["children","$$slots","$$events","$$legacy"]);/**
|
|
27
|
-
* @license lucide-svelte v0.460.1 - ISC
|
|
28
|
-
*
|
|
29
|
-
* This source code is licensed under the ISC license.
|
|
30
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
31
|
-
*/const i=[["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"}]];$e(_,ke({name:"mail"},()=>d,{get iconNode(){return i},children:(b,A)=>{var p=X(),v=H(p);Pe(v,a,"default",{}),s(b,p)},$$slots:{default:!0}}))}function ht(_,a){const d=xe(a,["children","$$slots","$$events","$$legacy"]);/**
|
|
32
|
-
* @license lucide-svelte v0.460.1 - ISC
|
|
33
|
-
*
|
|
34
|
-
* This source code is licensed under the ISC license.
|
|
35
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
36
|
-
*/const i=[["path",{d:"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"}],["path",{d:"M20 3v4"}],["path",{d:"M22 5h-4"}],["path",{d:"M4 17v2"}],["path",{d:"M5 18H3"}]];$e(_,ke({name:"sparkles"},()=>d,{get iconNode(){return i},children:(b,A)=>{var p=X(),v=H(p);Pe(v,a,"default",{}),s(b,p)},$$slots:{default:!0}}))}const nt=pt({});function cr(_,a){nt.update(d=>({...d,[_]:a}))}function dr(_){nt.update(a=>{const d={...a};return delete d[_],d})}var vr=h('<span class="source-sheet-meta-icon svelte-ypseth"><!></span>'),ur=h('<span class="source-sheet-proxy svelte-ypseth" aria-label="已配置代理"><!></span>'),fr=h('<div class="source-sheet-state svelte-ypseth">加载中…</div>'),hr=h('<div class="source-sheet-state err svelte-ypseth"> </div>'),mr=h('<div class="source-sheet-state svelte-ypseth">暂无条目</div>'),_r=h('<div class="source-feed-cards svelte-ypseth"></div>'),gr=h('<header class="source-sheet-header svelte-ypseth"><div class="source-sheet-title-wrap svelte-ypseth"><div class="source-sheet-title-row svelte-ypseth"><div class="source-sheet-title-cluster svelte-ypseth"><!> <div class="source-sheet-header-icons svelte-ypseth"><!> <!></div></div></div> <p class="source-sheet-sub source-sheet-sub-desc svelte-ypseth"> </p></div> <!></header> <div class="source-sheet-body svelte-ypseth"><!></div>',1),pr=h("<!> <!>",1),yr=h('<span class="source-sheet-meta-icon svelte-ypseth"><!></span>'),br=h('<span class="source-sheet-proxy svelte-ypseth" aria-label="已配置代理"><!></span>'),zr=h('<div class="source-sheet-state svelte-ypseth">加载中…</div>'),xr=h('<div class="source-sheet-state err svelte-ypseth"> </div>'),kr=h('<div class="source-sheet-state svelte-ypseth">暂无条目</div>'),$r=h('<div class="source-feed-cards svelte-ypseth"></div>'),Pr=h('<header class="source-sheet-header source-sheet-header-inline svelte-ypseth"><div class="source-sheet-title-wrap svelte-ypseth"><div class="source-sheet-title-row svelte-ypseth"><div class="source-sheet-title-cluster svelte-ypseth"><h2 class="source-sheet-title svelte-ypseth"> </h2> <div class="source-sheet-header-icons svelte-ypseth"><!> <!> <button type="button"><!></button></div></div></div> <p class="source-sheet-sub source-sheet-sub-desc svelte-ypseth"> </p></div></header> <div class="source-sheet-body svelte-ypseth"><!></div>',1),wr=h('<div class="source-sheet-inline-empty svelte-ypseth"><p class="source-sheet-inline-empty-title svelte-ypseth">信源条目</p> <p class="source-sheet-inline-empty-hint svelte-ypseth">在左侧列表中点击某一信源,在此查看已拉取的条目。</p></div>'),Sr=h('<aside class="source-feed-panel-inline svelte-ypseth" aria-label="信源条目列表"><!></aside>');function Br(_,a){mt(a,!0);let d=N(a,"open",3,!1),i=N(a,"sourceRef",3,""),b=N(a,"sourceLabel",3,""),A=N(a,"sourceDescription",3,""),p=N(a,"sourceProxy",3,""),v=N(a,"sourceParseHint",3,null),W=N(a,"variant",3,"overlay"),fe=N(a,"onOpenChange",3,()=>{}),T=ne(at([])),J=ne(!1),C=ne(""),Y=ne(0),ee=ne(null),K=ne(at({}));We(()=>{const x=nt.subscribe(z=>{L(K,z,!0)});return()=>x()});async function Q(){const x=i().trim();if(!x){L(T,[],!0);return}L(Y,e(Y)+1);const z=e(Y);L(J,!0),L(C,"");try{const k=new URLSearchParams;k.set("ref",x),k.set("limit","100"),k.set("offset","0");const M=await Ge("/api/items?"+k.toString());if(z!==e(Y))return;if(!M.ok)throw new Error(await M.text().catch(()=>`HTTP ${M.status}`));const O=await M.json();L(T,Array.isArray(O.items)?O.items:[],!0)}catch(k){if(z!==e(Y))return;L(C,k instanceof Error?k.message:String(k),!0),L(T,[],!0)}finally{z===e(Y)&&L(J,!1)}}We(()=>{if(d()&&i()){if(!i().trim()){L(T,[],!0);return}tt(()=>void Q())}else d()||tt(()=>{L(Y,e(Y)+1),L(T,[],!0),L(C,""),L(J,!1)})});function oe(x){const z=x.author;if(z!=null&&z.length)return z.join(", ")}function he(x){Ke(x)}async function Ke(x){const z=x.trim();if(!(!z||e(ee))){L(ee,z,!0);try{const k=await Ge("/api/items/"+encodeURIComponent(z),{method:"DELETE"});if(!k.ok){const M=await k.text().catch(()=>"");throw new Error(M.trim()||`HTTP ${k.status}`)}L(T,e(T).filter(M=>M.id!==z),!0),Be("已删除该条目","success")}catch(k){Be(k instanceof Error?k.message:String(k),"error")}finally{L(ee,null)}}}const Je=$(()=>A().trim()?A().trim():"—"),qe=$(()=>[b(),i()].filter(Boolean).join(" · ")||void 0);async function Qe(x){for(let z=0;z<120;z++){const k=await Ge(`/api/tasks/${x}`);if(!k.ok)return{ok:!1,error:"轮询失败"};const M=await k.json();if(M.status==="done")return{ok:!0};if(M.status==="error")return{ok:!1,error:M.error??"拉取失败"};await new Promise(O=>setTimeout(O,800))}return{ok:!1,error:"拉取超时"}}async function we(x,z){z==null||z.preventDefault(),z==null||z.stopPropagation();const k=x.trim();if(!(!k||k in e(K)))try{const M=await Ge("/api/tasks",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({type:"source-pull",ref:k})}),O=await M.json();if(!M.ok||!O.taskId){Be(O.error??"拉取失败","error");return}cr(k,O.taskId);const V=await Qe(O.taskId);V.ok?await Q():Be(V.error??"拉取失败","error")}catch(M){Be(M instanceof Error?M.message:"拉取失败","error")}finally{dr(k)}}const te=$(()=>W()==="inline"&&d()&&i().trim()!==""&&i()in e(K));let Se=!1;We(()=>{const x=e(te);Se&&!x&&d()&&W()==="inline"&&i().trim()&&tt(()=>void Q()),Se=x});function re(x){switch(x){case"rss":return"标准 RSS/Atom/JSON Feed(内置 __rss__)";case"plugin":return"Site 插件(listUrlPattern)或语鲸协议(lingowhale://)";case"llm":return"通用网页列表:LLM 解析(generic)";case"email":return"内置 IMAP 邮件插件(__email__)";default:return""}}function Re(x){switch(x){case"rss":return"解析方式:RSS/Atom";case"plugin":return"解析方式:插件";case"llm":return"解析方式:LLM";case"email":return"解析方式:邮箱";default:return"解析方式"}}var He=X(),Ae=H(He);{var Ce=x=>{var z=X(),k=H(z);Te(k,()=>Dt,(M,O)=>{O(M,{get open(){return d()},onOpenChange:V=>fe()(V),children:(V,Z)=>{var q=X(),ie=H(q);Te(ie,()=>Pt,(le,me)=>{me(le,{children:(Me,_e)=>{var ge=pr(),ae=H(ge);Te(ae,()=>wt,(pe,de)=>{de(pe,{class:"source-sheet-overlay"})});var ce=R(ae,2);Te(ce,()=>St,(pe,de)=>{de(pe,{class:"source-sheet-panel","aria-describedby":void 0,children:(Fe,Xe)=>{var G=gr(),ve=H(G),ue=c(ve),se=c(ue),ye=c(se),be=c(ye);Te(be,()=>It,(P,y)=>{y(P,{class:"source-sheet-title",get title(){return e(qe)},children:(B,U)=>{kt();var Ne=xt();w(()=>j(Ne,b()||i()||"信源条目")),s(B,Ne)},$$slots:{default:!0}})});var De=R(be,2),Le=c(De);{var Ue=P=>{var y=vr(),B=c(y);{var U=E=>{lt(E,{size:16,class:"source-sheet-meta-icon-svg"})},Ne=E=>{ct(E,{size:16,class:"source-sheet-meta-icon-svg"})},Ve=E=>{ht(E,{size:16,class:"source-sheet-meta-icon-svg"})},Ze=E=>{ft(E,{size:16,class:"source-sheet-meta-icon-svg"})};D(B,E=>{v()==="rss"?E(U):v()==="plugin"?E(Ne,1):v()==="llm"?E(Ve,2):v()==="email"&&E(Ze,3)})}l(y),w((E,et)=>{S(y,"title",`解析方式:${E??""}`),S(y,"aria-label",et)},[()=>re(v()),()=>Re(v())]),s(P,y)};D(Le,P=>{v()&&P(Ue)})}var je=R(Le,2);{var Ee=P=>{var y=ur(),B=c(y);ut(B,{size:16,class:"source-sheet-proxy-globe","aria-hidden":"true"}),l(y),w(U=>S(y,"title",`代理:${U??""}`),[()=>p().trim()]),s(P,y)},t=$(()=>p().trim());D(je,P=>{e(t)&&P(Ee)})}l(De),l(ye),l(se);var r=R(se,2),m=c(r,!0);l(r),l(ue);var f=R(ue,2);Te(f,()=>Mt,(P,y)=>{y(P,{class:"source-sheet-close","aria-label":"关闭",children:(B,U)=>{Lt(B,{size:18})},$$slots:{default:!0}})}),l(ve);var I=R(ve,2),u=c(I);{var n=P=>{var y=fr();s(P,y)},o=P=>{var y=hr(),B=c(y,!0);l(y),w(()=>j(B,e(C))),s(P,y)},g=P=>{var y=mr();s(P,y)},F=P=>{var y=_r();st(y,21,()=>e(T),B=>B.id,(B,U)=>{{let Ne=$(()=>{var Oe;return((Oe=e(U).title)==null?void 0:Oe.trim())||""}),Ve=$(()=>e(U).summary??void 0),Ze=$(()=>e(U).content??void 0),E=$(()=>oe(e(U))),et=$(()=>e(U).pub_date||e(U).fetched_at),bt=$(()=>i().trim()),zt=$(()=>{var Oe;return(Oe=e(U).image_url)!=null&&Oe.trim()?e(U).image_url:void 0});vt(B,{get title(){return e(Ne)},get link(){return e(U).url},get summary(){return e(Ve)},get content(){return e(Ze)},get author(){return e(E)},get pubDate(){return e(et)},get sourceRef(){return e(bt)},get coverImg(){return e(zt)},get guid(){return e(U).id},get rawItem(){return e(U)},onDelete:he})}}),l(y),s(P,y)};D(u,P=>{e(J)&&e(T).length===0?P(n):e(C)?P(o,1):e(T).length===0?P(g,2):P(F,-1)})}l(I),w(()=>{S(r,"title",i()),j(m,e(Je))}),s(Fe,G)},$$slots:{default:!0}})}),s(Me,ge)},$$slots:{default:!0}})}),s(V,q)},$$slots:{default:!0}})}),s(x,z)},Ie=x=>{var z=Sr(),k=c(z);{var M=Z=>{var q=Pr(),ie=H(q),le=c(ie),me=c(le),Me=c(me),_e=c(Me),ge=c(_e,!0);l(_e);var ae=R(_e,2),ce=c(ae);{var pe=t=>{var r=yr(),m=c(r);{var f=o=>{lt(o,{size:16,class:"source-sheet-meta-icon-svg"})},I=o=>{ct(o,{size:16,class:"source-sheet-meta-icon-svg"})},u=o=>{ht(o,{size:16,class:"source-sheet-meta-icon-svg"})},n=o=>{ft(o,{size:16,class:"source-sheet-meta-icon-svg"})};D(m,o=>{v()==="rss"?o(f):v()==="plugin"?o(I,1):v()==="llm"?o(u,2):v()==="email"&&o(n,3)})}l(r),w((o,g)=>{S(r,"title",`解析方式:${o??""}`),S(r,"aria-label",g)},[()=>re(v()),()=>Re(v())]),s(t,r)};D(ce,t=>{v()&&t(pe)})}var de=R(ce,2);{var Fe=t=>{var r=br(),m=c(r);ut(m,{size:16,class:"source-sheet-proxy-globe","aria-hidden":"true"}),l(r),w(f=>S(r,"title",`代理:${f??""}`),[()=>p().trim()]),s(t,r)},Xe=$(()=>p().trim());D(de,t=>{e(Xe)&&t(Fe)})}var G=R(de,2);let ve;var ue=c(G);lr(ue,{size:16}),l(G),l(ae),l(Me),l(me);var se=R(me,2),ye=c(se,!0);l(se),l(le),l(ie);var be=R(ie,2),De=c(be);{var Le=t=>{var r=zr();s(t,r)},Ue=t=>{var r=xr(),m=c(r,!0);l(r),w(()=>j(m,e(C))),s(t,r)},je=t=>{var r=kr();s(t,r)},Ee=t=>{var r=$r();st(r,21,()=>e(T),m=>m.id,(m,f)=>{{let I=$(()=>{var y;return((y=e(f).title)==null?void 0:y.trim())||""}),u=$(()=>e(f).summary??void 0),n=$(()=>e(f).content??void 0),o=$(()=>oe(e(f))),g=$(()=>e(f).pub_date||e(f).fetched_at),F=$(()=>i().trim()),P=$(()=>{var y;return(y=e(f).image_url)!=null&&y.trim()?e(f).image_url:void 0});vt(m,{get title(){return e(I)},get link(){return e(f).url},get summary(){return e(u)},get content(){return e(n)},get author(){return e(o)},get pubDate(){return e(g)},get sourceRef(){return e(F)},get coverImg(){return e(P)},get guid(){return e(f).id},get rawItem(){return e(f)},onDelete:he})}}),l(r),s(t,r)};D(De,t=>{e(J)&&e(T).length===0?t(Le):e(C)?t(Ue,1):e(T).length===0?t(je,2):t(Ee,-1)})}l(be),w(()=>{S(_e,"title",e(qe)),j(ge,b()||i()||"信源条目"),ve=Ye(G,1,"source-sheet-pull-status svelte-ypseth",null,ve,{pulling:e(te)}),S(G,"title",e(te)?"拉取中…":"立即拉取"),S(G,"aria-label",e(te)?"拉取中":"立即拉取"),S(G,"aria-busy",e(te)),S(se,"title",i()),j(ye,e(Je))}),ze("click",G,t=>we(i(),t)),s(Z,q)},O=$(()=>d()&&i().trim()),V=Z=>{var q=wr();s(Z,q)};D(k,Z=>{e(O)?Z(M):Z(V,-1)})}l(z),s(x,z)};D(Ae,x=>{W()==="overlay"?x(Ce):x(Ie,-1)})}s(_,He),_t()}gt(["click"]);const Jr=pt(null);export{ft as M,ct as P,lt as R,Br as S,ht as a,lr as b,dr as c,Jr as h,nt as r,cr as s};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{l as o,a as r}from"../chunks/CVW0ymE1.js";export{o as load_css,r as start};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as v,f as c}from"../chunks/CS53ooo0.js";import"../chunks/BA4Gucnq.js";import{o as xe}from"../chunks/Dyvi1wBH.js";import{v as we,at as ke,f as Ce,az as E,i as s,au as Te,d as Le,av as n,a5 as a,z as w,aw as i,$ as Ee,ax as r,u as $e}from"../chunks/vtBo8kBV.js";import{e as f,s as S}from"../chunks/B2cyTHdf.js";import{i as O}from"../chunks/BkD3yAYe.js";import{e as se,i as ae}from"../chunks/CFwxUBGi.js";import{h as Me}from"../chunks/DL3Q5sfb.js";import{P as Pe,r as Se,c as Oe}from"../chunks/DoRPmqLn.js";import{b as Fe}from"../chunks/C8umpVpB.js";import{s as X}from"../chunks/Bfc47y5P.js";import{i as Je}from"../chunks/DVa8Y-mQ.js";import{B as Ne}from"../chunks/_qj9U-za.js";import{b as Y}from"../chunks/CBY2biv-.js";import{s as F}from"../chunks/CGCMIfh3.js";function je(z,$){var k;var o=(k=z.$$events)==null?void 0:k[$.type],p=we(o)?o.slice():o==null?[]:[o];for(var u of p)u.call(this,$)}var ze=c('<div class="state svelte-1s5glru">加载中…</div>'),Be=c('<p class="empty-hint svelte-1s5glru">暂无标签。添加后,pipeline 会对新入库条目自动打标签。</p>'),De=c('<span class="tag-meta svelte-1s5glru"> </span>'),Ie=c('<div class="tag-badge svelte-1s5glru"><span class="tag-name svelte-1s5glru"> </span> <!> <button type="button" class="tag-remove svelte-1s5glru" title="从系统标签中删除">×</button></div>'),Re=c('<div class="tag-list svelte-1s5glru"></div>'),Ue=c('<div class="tag-badge suggested svelte-1s5glru"><span class="tag-name svelte-1s5glru"> </span> <span class="tag-meta svelte-1s5glru"> </span> <button type="button" class="tag-add svelte-1s5glru" title="添加到系统标签">+</button></div>'),qe=c('<div class="suggested-section svelte-1s5glru"><h3 class="section-title svelte-1s5glru">建议添加(文章中出现但未在系统标签库中)</h3> <div class="tag-list svelte-1s5glru"></div></div>'),Ae=c('<div class="body svelte-1s5glru"><div class="tags-section svelte-1s5glru"><h3 class="section-title svelte-1s5glru"> </h3> <!></div> <!></div>'),Xe=c('<div class="context-menu svelte-1s5glru" role="menu" tabindex="-1"><button type="button" class="context-menu-item svelte-1s5glru">从所有文章中移除该标签</button></div>'),Ye=c('<div class="feed-wrap svelte-1s5glru"><div class="feed-col svelte-1s5glru"><div class="feed-toolbar-block svelte-1s5glru"><!> <div class="admin-feed-header"><div class="admin-feed-header__left"><h2>系统标签</h2> <p class="admin-feed-header__desc">系统标签库,新入库条目会由 LLM 自动匹配打标签。</p></div> <div class="admin-feed-header__actions"><input type="text" class="admin-toolbar-input" placeholder="输入新标签,回车添加"/> <button type="button" class="admin-toolbar-btn admin-toolbar-btn--primary">添加</button></div></div></div> <div class="feed-body-scroll"><!></div></div></div> <!>',1);function lt(z,$){ke($,!1);let o=w([]),p=[],u=w([]),k=w(!0),_=w(!1),M=w(""),b=w(null),J=w(!1);async function re(){a(k,!0);try{const t=await Y("/api/tags");a(o,(t==null?void 0:t.tags)??[]),p=(t==null?void 0:t.stats)??[],a(u,(t==null?void 0:t.suggestedTags)??[])}catch{a(o,[]),p=[],a(u,[])}finally{a(k,!1)}}function oe(t){return p.find(e=>e.name.toLowerCase()===t.toLowerCase())}async function B(t){a(_,!0);try{const e=await Y("/api/tags",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({tags:t})});if(!(e!=null&&e.ok))throw new Error((e==null?void 0:e.message)??"保存失败");a(o,(e==null?void 0:e.tags)??t),p=(e==null?void 0:e.stats)??[],a(u,(e==null?void 0:e.suggestedTags)??[]),F("已保存","success")}catch(e){F("保存失败: "+(e instanceof Error?e.message:String(e)),"error")}finally{a(_,!1)}}function G(){const t=s(M).trim();if(!(!t||s(_))){if(s(o).some(e=>e.toLowerCase()===t.toLowerCase())){F("标签已存在","error");return}a(M,""),B([...s(o),t])}}function ne(t){s(_)||B(s(o).filter(e=>e!==t))}function ie(t){s(_)||s(o).some(e=>e.toLowerCase()===t.toLowerCase())||B([...s(o),t])}function H(t,e){t.preventDefault(),t.stopPropagation(),a(b,{x:t.clientX,y:t.clientY,tag:e})}function D(){a(b,null)}async function le(t){if(!s(J)){a(J,!0),a(b,null);try{const e=await Y("/api/tags/remove-from-items",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({tag:t})});if(!(e!=null&&e.ok))throw new Error((e==null?void 0:e.message)??"操作失败");a(o,(e==null?void 0:e.tags)??s(o)),p=(e==null?void 0:e.stats)??p,a(u,(e==null?void 0:e.suggestedTags)??s(u)),F(`已从 ${(e==null?void 0:e.removedCount)??0} 篇文章中移除该标签`,"success")}catch(e){F("操作失败: "+(e instanceof Error?e.message:String(e)),"error")}finally{a(J,!1)}}}xe(()=>{re();const t=()=>D(),e=()=>D();return document.addEventListener("click",t),document.addEventListener("contextmenu",e),()=>{document.removeEventListener("click",t),document.removeEventListener("contextmenu",e)}}),Je();var K=Ye();Me("1s5glru",t=>{Le(()=>{Ee.title=`标签 - ${Pe}`})});var I=Ce(K),Q=n(I),R=n(Q),V=n(R);Ne(V,{});var W=i(V,2),Z=i(n(W),2),N=n(Z);Se(N);var ee=i(N,2);r(Z),r(W),r(R);var te=i(R,2),ve=n(te);{var ce=t=>{var e=ze();v(t,e)},ue=t=>{var e=Ae(),C=n(e),h=n(C),ge=n(h);r(h);var fe=i(h,2);{var pe=l=>{var d=Be();v(l,d)},_e=l=>{var d=Re();se(d,5,()=>s(o),ae,(j,T)=>{const m=$e(()=>oe(s(T)));var g=Ie(),y=n(g),U=n(y,!0);r(y);var L=i(y,2);{var q=x=>{var A=De(),ye=n(A);r(A),E(()=>S(ye,`${s(m).count??""} 篇 · 热度 ${s(m).hotness??""}`)),v(x,A)};O(L,x=>{s(m)&&x(q)})}var P=i(L,2);r(g),E(()=>{S(U,s(T)),P.disabled=s(_)}),f("click",P,X(()=>ne(s(T)))),f("contextmenu",g,x=>H(x,s(T))),v(j,g)}),r(d),v(l,d)};O(fe,l=>{s(o).length===0?l(pe):l(_e,-1)})}r(C);var be=i(C,2);{var he=l=>{var d=qe(),j=i(n(d),2);se(j,5,()=>s(u),ae,(T,m)=>{var g=Ue(),y=n(g),U=n(y,!0);r(y);var L=i(y,2),q=n(L);r(L);var P=i(L,2);r(g),E(()=>{S(U,s(m).name),S(q,`${s(m).count??""} 篇 · 热度 ${s(m).hotness??""}`),P.disabled=s(_)}),f("click",P,X(()=>ie(s(m).name))),f("contextmenu",g,x=>H(x,s(m).name)),v(T,g)}),r(j),r(d),v(l,d)};O(be,l=>{s(u).length>0&&l(he)})}r(e),E(()=>S(ge,`当前标签 (${s(o).length??""})`)),v(t,e)};O(ve,t=>{s(k)?t(ce):t(ue,-1)})}r(te),r(Q),r(I);var de=i(I,2);{var me=t=>{var e=Xe(),C=n(e);r(e),E(()=>{Oe(e,`left: ${s(b).x??""}px; top: ${s(b).y??""}px`),C.disabled=s(J)}),f("click",C,()=>le(s(b).tag)),f("click",e,X(function(h){je.call(this,$,h)})),f("keydown",e,h=>h.key==="Escape"&&D()),v(t,e)};O(de,t=>{s(b)&&t(me)})}E(t=>ee.disabled=t,[()=>!s(M).trim()||s(_)]),Fe(N,()=>s(M),t=>a(M,t)),f("keydown",N,t=>t.key==="Enter"&&G()),f("click",ee,G),v(z,K),Te()}export{lt as component};
|