mirror of
https://github.com/wavelog/wavelog.git
synced 2026-03-22 10:24:14 +00:00
share modal implementation
This commit is contained in:
@@ -675,4 +675,20 @@ class QSO extends CI_Controller {
|
||||
redirect('dashboard');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Easy modal Loader
|
||||
* Used for Share Modal in QSO Details view
|
||||
*/
|
||||
function getShareModal() {
|
||||
|
||||
$data['qso'] = $this->input->post('qso_data', TRUE);
|
||||
|
||||
if (empty($data['qso'])) {
|
||||
echo "No QSO data provided.";
|
||||
return;
|
||||
}
|
||||
|
||||
$this->load->view('qso/components/share_modal', $data, false);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
*/
|
||||
var lang_general_word_qso_data = "<?= __("QSO Data"); ?>";
|
||||
var lang_general_edit_qso = "<?= __("Edit QSO"); ?>";
|
||||
var lang_general_share_qso = "<?= __("Share QSO"); ?>";
|
||||
var lang_general_word_danger = "<?= __("DANGER"); ?>";
|
||||
var lang_general_word_error = "<?= __("ERROR"); ?>";
|
||||
var lang_general_word_attention = "<?= __("Attention"); ?>";
|
||||
|
||||
13
application/views/qso/components/share_modal.php
Normal file
13
application/views/qso/components/share_modal.php
Normal file
@@ -0,0 +1,13 @@
|
||||
<div class="container" id="share_modal">
|
||||
<a class="btn btn-primary mb-3" target="_blank" href="https://twitter.com/intent/tweet?text=<?php echo urlencode($qso['twitter_string']); ?>">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path fill="white" d="M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z"/></svg> <?= __("Post on X"); ?>
|
||||
</a>
|
||||
<a class="btn btn-primary mb-3" target="_blank" href="https://bsky.app/intent/compose?text=<?php echo urlencode($qso['twitter_string']); ?>">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path fill="white" d="M111.8 62.2C170.2 105.9 233 194.7 256 242.4c23-47.6 85.8-136.4 144.2-180.2c42.1-31.6 110.3-56 110.3 21.8c0 15.5-8.9 130.5-14.1 149.2C478.2 298 412 314.6 353.1 304.5c102.9 17.5 129.1 75.5 72.5 133.5c-107.4 110.2-154.3-27.6-166.3-62.9l0 0c-1.7-4.9-2.6-7.8-3.3-7.8s-1.6 3-3.3 7.8l0 0c-12 35.3-59 173.1-166.3 62.9c-56.5-58-30.4-116 72.5-133.5C100 314.6 33.8 298 15.7 233.1C10.4 214.4 1.5 99.4 1.5 83.9c0-77.8 68.2-53.4 110.3-21.8z"/></svg> <?= __("Post on Bluesky"); ?>
|
||||
</a>
|
||||
<?php if ($this->session->userdata('user_mastodon_url') != null) { ?>
|
||||
<a class="btn btn-primary mb-3" target="_blank" href="<?php echo $this->session->userdata('user_mastodon_url') . '/share?text=' . urlencode($qso['twitter_string']); ?>">
|
||||
<i class="fab fa-mastodon"></i> <?= __("Toot on Mastodon"); ?>
|
||||
</a>
|
||||
<?php } ?>
|
||||
</div>
|
||||
@@ -585,15 +585,15 @@
|
||||
$hashtags .= " #".$row->COL_SIG." ".$row->COL_SIG_INFO;
|
||||
}
|
||||
if (!isset($distance)) {
|
||||
$twitter_string = urlencode("Just worked ".$row->COL_CALL." ");
|
||||
$twitter_string = "Just worked ".$row->COL_CALL." ";
|
||||
if ($row->COL_DXCC != 0) {
|
||||
$twitter_string .= urlencode("in ".ucwords(strtolower(($row->COL_COUNTRY)))." ");
|
||||
$twitter_string .= "in ".ucwords(strtolower(($row->COL_COUNTRY)))." ";
|
||||
}
|
||||
$twitter_string .= urlencode("on ".$twitter_band_sat." using ".($row->COL_SUBMODE==null?$row->COL_MODE:$row->COL_SUBMODE)." ".$hashtags);
|
||||
$twitter_string .= "on ".$twitter_band_sat." using ".($row->COL_SUBMODE==null?$row->COL_MODE:$row->COL_SUBMODE)." ".$hashtags;
|
||||
} else {
|
||||
$twitter_string = urlencode("Just worked ".$row->COL_CALL." ");
|
||||
$twitter_string = "Just worked ".$row->COL_CALL." ";
|
||||
if ($row->COL_DXCC != 0) {
|
||||
$twitter_string .= urlencode("in ".ucwords(strtolower(($row->COL_COUNTRY)))." ");
|
||||
$twitter_string .= "in ".ucwords(strtolower(($row->COL_COUNTRY)))." ";
|
||||
if ($dxccFlag != null) {
|
||||
$twitter_string .= $dxccFlag." ";
|
||||
}
|
||||
@@ -610,14 +610,10 @@
|
||||
$distancestring = "(Grids: ".$row->COL_VUCC_GRIDS.")";
|
||||
}
|
||||
}
|
||||
$twitter_string .= urlencode($distancestring." on ".$twitter_band_sat." using ".($row->COL_SUBMODE==null?$row->COL_MODE:$row->COL_SUBMODE)." ".$hashtags);
|
||||
$twitter_string .= $distancestring." on ".$twitter_band_sat." using ".($row->COL_SUBMODE==null?$row->COL_MODE:$row->COL_SUBMODE)." ".$hashtags;
|
||||
}
|
||||
?>
|
||||
|
||||
<div style="display: inline-block;"><a class="btn btn-primary twitter-share-button" target="_blank" href="https://twitter.com/intent/tweet?text=<?php echo $twitter_string; ?>"><i class="fab fa-twitter"></i> Tweet</a></div>
|
||||
<div style="display: inline-block;"><a class="btn btn-primary twitter-share-button" target="_blank" href="https://bsky.app/intent/compose?text=<?php echo $twitter_string; ?>"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path fill="white" d="M111.8 62.2C170.2 105.9 233 194.7 256 242.4c23-47.6 85.8-136.4 144.2-180.2c42.1-31.6 110.3-56 110.3 21.8c0 15.5-8.9 130.5-14.1 149.2C478.2 298 412 314.6 353.1 304.5c102.9 17.5 129.1 75.5 72.5 133.5c-107.4 110.2-154.3-27.6-166.3-62.9l0 0c-1.7-4.9-2.6-7.8-3.3-7.8s-1.6 3-3.3 7.8l0 0c-12 35.3-59 173.1-166.3 62.9c-56.5-58-30.4-116 72.5-133.5C100 314.6 33.8 298 15.7 233.1C10.4 214.4 1.5 99.4 1.5 83.9c0-77.8 68.2-53.4 110.3-21.8z"/></svg> Post</a></div>
|
||||
<?php if($this->session->userdata('user_mastodon_url') != null) { echo '<div style="display: inline-block;"><a class="btn btn-primary twitter-share-button" target="_blank" href="'.$this->session->userdata('user_mastodon_url').'/share?text='.$twitter_string.'"><i class="fab fa-mastodon"></i> Toot</a></div>'; } ?>
|
||||
|
||||
<button class="btn btn-primary" onClick='shareModal(<?php echo json_encode(['qso' => $row, 'twitter_string' => $twitter_string]); ?>);'><i class="fas fa-share-square"></i> <?= __("Share"); ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -266,6 +266,11 @@ thead > tr > td {
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
#share_modal {
|
||||
display: grid;
|
||||
grid-template-columns: auto;
|
||||
}
|
||||
|
||||
#oqrssearch:valid {
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
@@ -1159,6 +1159,31 @@ function enableMap() {
|
||||
map.keyboard.enable();
|
||||
}
|
||||
|
||||
function shareModal(qso_data) {
|
||||
console.log(qso_data);
|
||||
$.ajax({
|
||||
url: base_url + 'index.php/qso/getShareModal',
|
||||
type: 'post',
|
||||
data: {
|
||||
qso_data: qso_data
|
||||
},
|
||||
success: function (html) {
|
||||
BootstrapDialog.show({
|
||||
title: lang_general_share_qso,
|
||||
cssClass: 'bg-black bg-opacity-50',
|
||||
nl2br: false,
|
||||
message: html,
|
||||
buttons: [{
|
||||
label: lang_admin_close,
|
||||
action: function (dialogItself) {
|
||||
dialogItself.close();
|
||||
}
|
||||
}]
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
console.log("Ready to unleash your coding prowess and join the fun?\n\n" +
|
||||
"Check out our GitHub Repository and dive into the coding adventure:\n\n" +
|
||||
"🚀 https://www.github.com/wavelog/wavelog");
|
||||
|
||||
Reference in New Issue
Block a user