Port the admin console feature set from the Vue web app: AIChat, Analytics, Button, Document, FileManager, FormList, Function, Im (SignalR chat hub), Knowledge (Obsidian sync), Menu, Permission, Role, Storage, Workflow (X6 designer) and user management, plus CreateFormModal, avatar blob proxy and authFetch util.
65 lines
2.9 KiB
XML
65 lines
2.9 KiB
XML
<svg id="buildflow-flow-mark" xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64" role="img" aria-label="BuildFlow">
|
|
<defs>
|
|
<linearGradient id="buildflow-mark-bg" x1="10" y1="5" x2="54" y2="59" gradientUnits="userSpaceOnUse">
|
|
<stop stop-color="#4AA3FF"/>
|
|
<stop offset="0.55" stop-color="#1677FF"/>
|
|
<stop offset="1" stop-color="#0A5BFF"/>
|
|
</linearGradient>
|
|
<path id="buildflow-motion-path" d="M16 40C21 29 27 24 32 24C37 24 43 29 48 40"/>
|
|
<style>
|
|
#buildflow-flow-mark .flow-line {
|
|
stroke-dasharray: 58;
|
|
animation: buildflow-line 2.5s ease-in-out infinite;
|
|
}
|
|
#buildflow-flow-mark .flow-dot {
|
|
animation: buildflow-dot 2.5s ease-in-out infinite;
|
|
}
|
|
#buildflow-flow-mark .node {
|
|
transform-box: fill-box;
|
|
transform-origin: center;
|
|
animation: buildflow-node 2.5s ease-in-out infinite;
|
|
}
|
|
#buildflow-flow-mark #buildflow-node-middle {
|
|
animation-delay: 0.18s;
|
|
}
|
|
#buildflow-flow-mark #buildflow-node-finish {
|
|
animation-delay: 0.36s;
|
|
}
|
|
@keyframes buildflow-line {
|
|
0% { stroke-dashoffset: 58; opacity: 0.28; }
|
|
42%, 76% { stroke-dashoffset: 0; opacity: 1; }
|
|
100% { stroke-dashoffset: -58; opacity: 0.28; }
|
|
}
|
|
@keyframes buildflow-dot {
|
|
0%, 100% { opacity: 0.25; }
|
|
48%, 76% { opacity: 1; }
|
|
}
|
|
@keyframes buildflow-node {
|
|
0%, 100% { transform: scale(0.96); }
|
|
48%, 76% { transform: scale(1); }
|
|
}
|
|
</style>
|
|
</defs>
|
|
<rect x="6" y="6" width="52" height="52" rx="16" fill="url(#buildflow-mark-bg)"/>
|
|
<path d="M16 40C21 29 27 24 32 24C37 24 43 29 48 40" fill="none" stroke="#FFFFFF" stroke-width="8" stroke-linecap="round" opacity="0.18"/>
|
|
<use href="#buildflow-motion-path" class="flow-line" fill="none" stroke="#FFFFFF" stroke-width="3.4" stroke-linecap="round"/>
|
|
<circle class="flow-dot" r="2.8" fill="#FFFFFF">
|
|
<animateMotion dur="2.5s" repeatCount="indefinite" keyTimes="0;0.72;1" keyPoints="0;1;1" calcMode="linear">
|
|
<mpath href="#buildflow-motion-path"/>
|
|
</animateMotion>
|
|
</circle>
|
|
<g id="buildflow-node-start" class="node">
|
|
<rect x="10" y="34" width="12" height="12" rx="4" fill="#FFFFFF"/>
|
|
<path d="M13.5 38H18.5" stroke="#1677FF" stroke-width="1.8" stroke-linecap="round"/>
|
|
<path d="M13.5 42H17.5" stroke="#1677FF" stroke-width="1.8" stroke-linecap="round" opacity="0.68"/>
|
|
</g>
|
|
<g id="buildflow-node-middle" class="node">
|
|
<rect x="26" y="18" width="12" height="12" rx="6" fill="#FFFFFF"/>
|
|
<path d="M33 20L28.6 25.2H31.7L30.6 30L35.7 23.8H32.5L33 20Z" fill="#1677FF"/>
|
|
</g>
|
|
<g id="buildflow-node-finish" class="node">
|
|
<rect x="42" y="34" width="12" height="12" rx="6" fill="#FFFFFF"/>
|
|
<path d="M45.1 40L47.3 42.1L51 37.5" fill="none" stroke="#1677FF" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
</g>
|
|
</svg>
|