MCPcopy Create free account
hub / github.com/ZenNotes/zennotes / renameAsset

Function renameAsset

packages/app-core/src/components/AssetsView.tsx:90–109  ·  view source on GitHub ↗
(asset: AssetMeta)

Source from the content-addressed store, hash-verified

88 }
89
90 const renameAsset = async (asset: AssetMeta): Promise<void> => {
91 if (typeof window.zen.renameAsset !== 'function') return
92 const ext = asset.name.includes('.') ? asset.name.slice(asset.name.lastIndexOf('.')) : ''
93 const base = ext ? asset.name.slice(0, -ext.length) : asset.name
94 const next = await promptApp({
95 title: 'Rename asset',
96 initialValue: base,
97 okLabel: 'Rename',
98 validate: (v) => (v.includes('/') ? 'Use only a name' : null)
99 })
100 if (!next) return
101 const clean = next.trim()
102 if (!clean || `${clean}${ext}` === asset.name) return
103 try {
104 await window.zen.renameAsset(asset.path, `${clean}${ext}`)
105 await refreshAssets()
106 } catch (err) {
107 window.alert(err instanceof Error ? err.message : String(err))
108 }
109 }
110
111 const menuItems = (asset: AssetMeta): ContextMenuItem[] => [
112 { label: 'Open', onSelect: () => void openNoteInTab(assetTabPath(asset.path)) },

Callers 1

menuItemsFunction · 0.70

Calls 2

promptAppFunction · 0.90
renameAssetMethod · 0.80

Tested by

no test coverage detected