# code-snippets/3.10.2/js/components/EditMenu/EditorSidebar/actions/SubmitButtons.tsx

Code Snippets, version 3.10.2. 84 lines.

- Page: https://pluginprobe.com/plugins/code-snippets/3.10.2/code/js/components/EditMenu/EditorSidebar/actions/SubmitButtons.tsx
- Raw: https://pluginprobe.com/plugins/code-snippets/3.10.2/raw/js/components/EditMenu/EditorSidebar/actions/SubmitButtons.tsx
- Modified: 2026-06-19T15:56:12+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/code-snippets/3.10.2/code/js/components/EditMenu/EditorSidebar/actions/SubmitButtons.tsx#L10-L20`.

```tsx
import React from 'react'
import { __ } from '@wordpress/i18n'
import { SubmitSnippetAction } from '../../../../hooks/useSubmitSnippet'
import { isCondition } from '../../../../utils/snippets/snippets'
import { isNetworkAdmin } from '../../../../utils/screen'
import { useSnippetForm } from '../../SnippetForm/WithSnippetFormContext'
import { SubmitButton } from '../../../common/SubmitButton'
import type { SubmitButtonProps } from '../../../common/SubmitButton'

const SaveButton = (props: SubmitButtonProps) => {
	const { snippet } = useSnippetForm()

	return (
		<SubmitButton
			large
			name={SubmitSnippetAction.SAVE}
			text={isCondition(snippet)
				? __('Save Condition', 'code-snippets')
				: __('Save Snippet', 'code-snippets')}
			{...props}
		/>
	)
}

interface ActivateOrDeactivateButtonProps {
	primaryActivate: boolean
}

const ActivateOrDeactivateButton: React.FC<ActivateOrDeactivateButtonProps> = ({ primaryActivate }) => {
	const { snippet, isWorking } = useSnippetForm()

	switch (true) {
		case isCondition(snippet) || snippet.shared_network && isNetworkAdmin():
			return null

		case 'single-use' === snippet.scope:
			return (
				<SubmitButton
					large
					name={SubmitSnippetAction.SAVE_AND_EXECUTE}
					disabled={isWorking}
					text={__('Save and Execute Once', 'code-snippets')}
				/>
			)

		case snippet.active:
			return (
				<SubmitButton
					name={SubmitSnippetAction.SAVE_AND_DEACTIVATE}
					disabled={isWorking}
					large
					text={__('Save and Deactivate', 'code-snippets')}
				/>
			)

		default:
		case !snippet.active:
			return (
				<SubmitButton
					name={SubmitSnippetAction.SAVE_AND_ACTIVATE}
					primary={primaryActivate}
					disabled={isWorking}
					large
					text={__('Save and Activate', 'code-snippets')}
				/>
			)
	}
}

export const SubmitButtons: React.FC = () => {
	const { snippet } = useSnippetForm()

	const activateByDefault =
		!!window.CODE_SNIPPETS_EDIT?.activateByDefault &&
		!snippet.active && 'single-use' !== snippet.scope &&
		(!snippet.shared_network || !isNetworkAdmin())

	return <>
		{activateByDefault && <SaveButton primary={!activateByDefault} />}
		<ActivateOrDeactivateButton primaryActivate={activateByDefault} />
		{!activateByDefault && <SaveButton primary />}
	</>
}

```
