no more hard-coded tag descriptions

This commit is contained in:
Jeremy Kauffman 2019-09-24 14:18:34 -04:00
commit 16936bc759
4 changed files with 46 additions and 61 deletions

View file

@ -80,45 +80,19 @@ class MailActions extends Actions
public static function prepareSettingsFormPartial(array $vars)
{
return $vars + [
'tagMetadata' => [
'3d-printing' => [
'label' => '3D Printing',
'description' => 'Receive updates, tips, and new content suggestions related to 3D Printing.'
],
'android' => [
'label' => 'Android',
'description' => 'Be an Android beta tester, earn LBC, and receive notification when the app goes live!'
],
'college' => [
'label' => 'University',
'description' => 'LBRY has special programs and opportunities for people in school.'
],
'creator' => [
'label' => 'Creator',
'description' => 'Get the most out of the stuff you create with tips and feedback from LBRY.'
],
'consumer' => [
'label' => 'Content Lover',
'description' => 'Learn how to get the most out of LBRY as someone who just wants to find cool stuff.'
],
'developer' => [
'label' => 'Developer',
'description' => 'Receive technical updates and other news intended for those who are familiar with software engineering.'
],
'ios' => [
'label' => 'iPhone',
'description' => 'Be an iOS alpha tester, earn LBC, and receive notification when the app goes live!'
],
'reward' => [
'label' => 'Rewards',
'description' => 'Receive emails about the latest rewards that are available to LBRY users.'
],
'subscription' => [
'label' => 'Subscriptions',
'description' => 'Stay up to date on the latest content from your favorite creators.'
],
]
$tags = LBRY::listTags($vars['token']);
$tagMetadata = [];
$specialDisplayNames = [
'ios' => 'iOS'
];
foreach($tags as $tag) {
if ($tag['is_user_addable']) {
$tagMetadata[$tag['name']] = [
'label' => $specialDisplayNames[$tag['name']] ?? ucwords(str_replace(['-', '_'], ' ', $tag['name'])),
'description' => $tag['description']
];
}
}
return $vars + ['tagMetadata' => $tagMetadata];
}
}

View file

@ -23,6 +23,12 @@ class LBRY
return $response['data']['lbc_usd'] ?? 0;
}
public static function listTags($authToken)
{
$response = Curl::get(static::getApiUrl('/tag/list'), ['auth_token' => $authToken], ['json_response' => true]);
return $response['data'] ?? [];
}
public static function subscribe($email, $tag = null)
{
return Curl::post(static::getApiUrl('/list/subscribe'), array_filter([

View file

@ -11,49 +11,55 @@
<div class="notice notice-error spacer1"><?php echo $error ?></div>
<?php else: ?>
<form id="<?php echo $formId ?>" novalidate style="display: none">
<section class="email-section" style="position: relative;">
<section class="email-section">
<div style="min-height: 33px"> <?php //hack fix to prevent jumping ?>
<div class="notice notice-error hide spacer-half"></div>
<div class="notice notice-success hide spacer-half">Your email preferences have been updated.</div>
</div>
<h4><?php echo count($emails) > 1 ? 'Receiving Addresses' : 'Do You Want To Receive Mail?' ?></h4>
<?php if (count($emails) > 1): ?>
<div class="meta spacer-half">Uncheck all boxes if you want to receive no future messages.</div>
<?php endif ?>
<div class="notice notice-error hide spacer-half"></div>
<div class="notice notice-success hide spacer-half">Your email preferences have been updated.</div>
<?php $emailIndex = 0 ?>
<?php foreach ($emails as $email => $enabled): ?>
<?php $emailId = 'email_' . (++$emailIndex) ?>
<checkbox-element>
<input id="<?php echo $emailId ?>" name="<?php echo $emailId ?>" type="checkbox"<?php echo $enabled ? " checked" : "" ?> value="<?php echo urlencode($email) ?>"/>
<label for="<?php echo $emailId ?>"><?php echo $email ?></label>
<label for="<?php echo $emailId ?>"><?php echo count($emails) > 1 ? $email : __('Yes') . ' (' . $email . ')' ?></label>
<checkbox-toggle/>
</checkbox-element>
<?php endforeach ?>
</section>
<section class="tag-section spacer1" style="position: relative;">
<section class="tag-section spacer1">
<div style="min-height: 33px"> <?php //hack fix to prevent jumping ?>
<div class="notice notice-error hide spacer-half"></div>
<div class="notice notice-success hide spacer-half">Your email preferences have been updated.</div>
</div>
<h4>Fine-tune your Mail</h4>
<div class="notice notice-error hide spacer-half"></div>
<div class="notice notice-success hide spacer-half">Your email preferences have been updated.</div>
<?php $tagIndex = 0 ?>
<?php foreach ($tags as $tag => $enabled): ?>
<?php if (!isset($tagMetadata[$tag])) {
continue;
} //fix/kill this?>
<?php if (!isset($tagMetadata[$tag])) continue; ?>
<?php $tagId = 'tag_' . (++$tagIndex) ?>
<checkbox-element>
<input id="<?php echo $tagId ?>" name="<?php echo $tagId ?>" type="checkbox"<?php echo $enabled ? " checked" : "" ?> value="<?php echo urlencode($tag) ?>"/>
<label for="<?php echo $tagId ?>">
<?php echo isset($tagMetadata[$tag]['label']) ? $tagMetadata[$tag]['label'] : $tag ?>
<?php if (isset($tagMetadata[$tag]['description'])): ?>
<span class="meta">&middot; <?php echo $tagMetadata[$tag]['description'] ?></small>
<?php endif ?>
</label>
<checkbox-toggle/>
</checkbox-element>
<div>
<checkbox-element>
<input id="<?php echo $tagId ?>" name="<?php echo $tagId ?>" type="checkbox"<?php echo $enabled ? " checked" : "" ?> value="<?php echo urlencode($tag) ?>"/>
<label for="<?php echo $tagId ?>">
<?php echo isset($tagMetadata[$tag]['label']) ? $tagMetadata[$tag]['label'] : $tag ?>
<?php if (isset($tagMetadata[$tag]['description'])): ?>
<span class="meta">&middot; <?php echo $tagMetadata[$tag]['description'] ?></span>
<?php endif ?>
</label>
<checkbox-toggle/>
</checkbox-element>
</div>
<?php endforeach ?>
<?php if ($tagIndex === 0): ?>
<div class="notice notice-error"><?php echo __('Something went wrong. Please email help@lbry.com') ?></div>
<?php endif ?>
</section>
</form>
<?php endif ?>

View file

@ -9,7 +9,6 @@
}
.notice {
border: 1px solid var(--lbry-gray-1);
font-size: 0.8rem;
padding: 0.5rem 0.75rem;