Jake Vanderwerf
2025-11-10 3241a281b1f854dd848156cd9ca54de0e607f08c
dashboard/_setup.php
@@ -1 +1,83 @@
<?php
add_filter('jvb_options', function() {
    return [
        'fields' => [
            'today_hours'  => [
                'type'  => 'group',
                'label' => 'Hours',
                'fields' => [
                    'time_start'    => [
                        'type'   => 'time',
                        'label' => 'Open'
                    ],
                    'time_end'    => [
                        'type'   => 'time',
                        'label' => 'Closed'
                    ],
                ]
            ],
            'common' => ['hours'],
            'open_to_public' => [
                'type'   => 'true_false',
                'label' => 'Open to Public?'
            ],
        ]
    ];
});
add_filter('jvbAdminDashboard', 'nebAdminDashboard');
function nebAdminDashboard(string $content):string
{
    $user = wp_get_current_user()->display_name;
    $meta = new JVBase\meta\MetaManager(null, 'options');
    $fields = ['today_hours', 'open_to_public'];
    $temp = [];
    $saved = jvbGetFields('options', 'options');
    foreach ($fields as $field) {
        $temp[$field] = $saved[$field];
    }
    $fields = $temp;
    return $meta->renderForm(
        'options',
        [
            'heading' => 'Hi '.$user.'!',
            'description'   => 'Do you have availability today?',
            'submit'    => true,
            'classes'   => ['col']
        ],
        $fields,
        false,
        true
    );
}
add_filter('jvbDashboardSettings', 'nebDashboardSettings');
function nebDashboardSettings(string $content):string
{
    $meta = new JVBase\meta\MetaManager(null, 'options');
    ob_start();
    $meta->render('render', 'hours');
    ?>
    <form id="hours" data-save="options" data-form-id="set-hours">
        <?php
        $meta->render('form', 'hours',null,false,false);
        ?>
    </form>
    <?php
    $hours = ob_get_clean();
    $tabs = [
        'hours' => [
            'title'         => 'Hours',
            'description'   => 'If you are open regular hours you can list your hours here. When you log in to set your location, it pulls from this record first. Updates your Google Business Listing automatically.',
            'content'       => $hours,
        ],
    ];
    return jvbRenderTabs($tabs, true);
}