- Add "Restore Defaults" dropdown to Automations page with confirmation - Create flows in "Defaults" folder for organization - Pre-populate trigger sample data when creating/restoring flows - Auto-publish flows (lock and enable) after creation - Fix email template context variables to match template tags - Fix dark mode logo switching in Activepieces iframe - Add iframe refresh on flow restore - Auto-populate business context (name, email, phone, address) in emails 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
73 lines
2.0 KiB
TypeScript
73 lines
2.0 KiB
TypeScript
import tinycolor from 'tinycolor2'
|
|
|
|
function generateColorVariations(defaultColor: string) {
|
|
const defaultColorObj = tinycolor(defaultColor)
|
|
|
|
const darkColor = defaultColorObj.clone().darken(2)
|
|
const baseLight = tinycolor('#ffffff')
|
|
const lightColor = tinycolor
|
|
.mix(baseLight, defaultColorObj.toHex(), 12)
|
|
.toHexString()
|
|
const mediumColor = defaultColorObj.clone().lighten(26)
|
|
|
|
return {
|
|
default: defaultColorObj.toHexString(),
|
|
dark: darkColor.toHexString(),
|
|
light: lightColor,
|
|
medium: mediumColor.toHexString(),
|
|
}
|
|
}
|
|
|
|
function generateSelectionColor(defaultColor: string) {
|
|
const defaultColorObj = tinycolor(defaultColor)
|
|
const lightColor = defaultColorObj.lighten(8)
|
|
return lightColor.toHexString()
|
|
}
|
|
|
|
export function generateTheme({
|
|
primaryColor,
|
|
fullLogoUrl,
|
|
favIconUrl,
|
|
logoIconUrl,
|
|
websiteName,
|
|
}: {
|
|
primaryColor: string
|
|
fullLogoUrl: string
|
|
favIconUrl: string
|
|
logoIconUrl: string
|
|
websiteName: string
|
|
}) {
|
|
return {
|
|
websiteName,
|
|
colors: {
|
|
avatar: '#515151',
|
|
'blue-link': '#1890ff',
|
|
danger: '#f94949',
|
|
primary: generateColorVariations(primaryColor),
|
|
warn: {
|
|
default: '#f78a3b',
|
|
light: '#fff6e4',
|
|
dark: '#cc8805',
|
|
},
|
|
success: {
|
|
default: '#14ae5c',
|
|
light: '#3cad71',
|
|
},
|
|
selection: generateSelectionColor(primaryColor),
|
|
},
|
|
logos: {
|
|
fullLogoUrl,
|
|
favIconUrl,
|
|
logoIconUrl,
|
|
},
|
|
}
|
|
}
|
|
|
|
export const defaultTheme = generateTheme({
|
|
primaryColor: '#6e41e2',
|
|
websiteName: 'Automation Builder',
|
|
fullLogoUrl: 'https://smoothschedule.nyc3.digitaloceanspaces.com/static/images/automation-builder-logo-light.svg',
|
|
favIconUrl: 'https://cdn.activepieces.com/brand/favicon.ico',
|
|
logoIconUrl: 'https://cdn.activepieces.com/brand/logo.svg',
|
|
})
|