[ SYSTEM ]: Linux wordpress 6.1.0-41-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.158-1 (2025-11-09) x86_64
[ SERVER ]: Apache/2.4.66 (Debian) | PHP: 8.2.30
[ USER ]: www-data | IP: 172.19.30.54
GEFORCE FILE MANAGER
/
var
/
www
/
html
/
wordpress
/
wp-content
/
plugins
/
presto-player
/
src
/
admin
/
blocks
/
shared
/
presets
/
UPLOAD:
NAME
SIZE
QUICK PERMS
ACTIONS
📁 parts
SET
[ DEL ]
📄 ActionBar.js
9,233 B
SET
[ EDIT ]
|
[ DEL ]
📄 CTA.js
10,729 B
SET
[ EDIT ]
|
[ DEL ]
📄 Controls.js
4,779 B
SET
[ EDIT ]
|
[ DEL ]
📄 Edit.js
10,235 B
SET
[ EDIT ]
|
[ DEL ]
📄 Email.js
7,520 B
SET
[ EDIT ]
|
[ DEL ]
📄 Preset.js
6,565 B
SET
[ EDIT ]
|
[ DEL ]
📄 Search.js
3,832 B
SET
[ EDIT ]
|
[ DEL ]
📄 Style.js
2,114 B
SET
[ EDIT ]
|
[ DEL ]
📄 Watermark.js
4,043 B
SET
[ EDIT ]
|
[ DEL ]
📄 index.js
3,615 B
SET
[ EDIT ]
|
[ DEL ]
DELETE SELECTED
[ CLOSE ]
EDIT: Email.js
/** @jsx jsx */ /** * WordPress dependencies */ import { __ } from "@wordpress/i18n"; import { ToggleControl, BaseControl, RangeControl, TextControl, Button, Flex, TextareaControl, Notice, } from "@wordpress/components"; import { useSelect } from "@wordpress/data"; import ChooseProvider from "./parts/ChooseProvider"; import ColorPopup from "../components/ColorPopup"; import { css, jsx } from "@emotion/core"; export default function ({ state, updateState, className }) { const { email_collection, cta } = state; const branding = useSelect((select) => { return select("presto-player/player").branding(); }); const updateEmailState = (updated) => { updateState({ ...state, email_collection: { ...email_collection, ...updated, }, }); }; const disableCTA = () => { updateState({ ...state, cta: { ...cta, ...{ enabled: false }, }, }); }; return ( <div className={className}> <BaseControl> <h3>{__("Email Capture", "presto-player")}</h3> </BaseControl> <BaseControl className="presto-player__control--large-play"> <ToggleControl label={__("Enable", "presto-player")} help={__( "Show an email collection form and message over your player.", "presto-player" )} onChange={(enabled) => { updateEmailState({ enabled, }); }} checked={email_collection?.enabled} /> </BaseControl> {!!email_collection?.enabled && ( <> <BaseControl className="presto-player__control--percentage-watched" css={css` padding-left: 8px; margin-bottom: 34px !important; .components-range-control__root { align-items: flex-start; } `} > <RangeControl label={__("Display At (Percentage)", "presto-player")} labelPosition="top" onChange={(percentage) => { updateEmailState({ percentage, }); }} marks={[ { value: 0, label: __("Start", "presto-player"), }, { value: 50, label: __("50% Watched", "presto-player"), }, { value: 100, label: __("End", "presto-player"), }, ]} shiftStep={5} value={email_collection?.percentage || 0} css={css` .components-range-control__slider { position: relative !important; } `} /> </BaseControl> {cta?.enabled && email_collection?.percentage === cta?.percentage && ( <Notice css={css` margin: 0 0 30px 0 !important; `} status="warning" isDismissible={false} > {__( "You already have a Call To Action set display at the same time.", "presto-player" )} <Button onClick={disableCTA} isLink css={css` margin-top: 10px !important; `} > {__("Disable Call To Action", "presto-player")} </Button> </Notice> )} <BaseControl className="presto-player__control--large-play"> <ToggleControl label={__("Allow Skipping", "presto-player")} help={__("Let the viewer skip", "presto-player")} onChange={(allow_skip) => { updateEmailState({ allow_skip, }); }} checked={email_collection?.allow_skip} /> </BaseControl> <BaseControl className="presto-player__control--large-play"> <TextareaControl label={__("Headline", "presto-player")} help={__("The headline for your form.", "presto-player")} value={email_collection?.headline} onChange={(headline) => { updateEmailState({ headline, }); }} /> </BaseControl> <BaseControl className="presto-player__control--large-play"> <TextareaControl label={__("Bottom Text", "presto-player")} help={__( "Text displayed below the form. HTML allowed.", "presto-player" )} value={email_collection?.bottom_text} onChange={(bottom_text) => { updateEmailState({ bottom_text, }); }} /> </BaseControl> <BaseControl className="presto-player__control--large-play"> <TextControl label={__("Play Button Text", "presto-player")} help={<p>{__("Submit button text", "presto-player")}</p>} value={email_collection?.button_text} onChange={(button_text) => updateEmailState({ button_text })} /> </BaseControl> <BaseControl className="presto-player__control--button-color"> <Flex> <BaseControl.VisualLabel> {__("Button Color", "presto-player")} </BaseControl.VisualLabel> <ColorPopup color={cta?.button_color || branding?.color} setColor={(value) => updateEmailState({ button_color: value && value.hex, }) } /> </Flex> </BaseControl> <BaseControl className="presto-player__control--button-text-color"> <Flex> <BaseControl.VisualLabel> {__("Button Text Color", "presto-player")} </BaseControl.VisualLabel> <ColorPopup color={cta?.button_text_color || "#ffffff"} setColor={(value) => updateEmailState({ button_text_color: value && value.hex, }) } /> </Flex> </BaseControl> <h3>{__("Integrate", "presto-player")}</h3> <BaseControl> <ChooseProvider updateEmailState={updateEmailState} options={email_collection} /> </BaseControl> <h3>{__("Style", "presto-player")}</h3> <BaseControl> <RangeControl label={__("Round Corners", "presto-player")} help={__("Border radius of form elements.", "presto-player")} value={email_collection?.border_radius || 0} onChange={(border_radius) => updateEmailState({ border_radius })} min={0} max={25} css={css` padding-left: 4px; .components-range-control__root { align-items: flex-start; } `} /> </BaseControl> </> )} </div> ); }