1. Go to this page and download the library: Download tapp/filament-social-share library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
use Tapp\FilamentSocialShare\Actions\SocialShareAction;
SocialShareAction::make()
->nativeBrowserShare()
use Tapp\FilamentSocialShare\Actions\SocialShareAction;
SocialShareAction::make()
->x()
->facebook()
->linkedin()
->reddit()
->email()
use Tapp\FilamentSocialShare\Actions\SocialShareAction;
SocialShareAction::make()
->urlToShare('https://github.com/TappNetwork/filament-social-share')
use Tapp\FilamentSocialShare\Actions\SocialShareAction;
SocialShareAction::make()
->text('Social Share Filament Plugin')
use Tapp\FilamentSocialShare\Actions\SocialShareAction;
SocialShareAction::make()
->x()
// With custom icon, tooltip, and color
SocialShareAction::make()
->x(
enabled: true,
icon: 'fab-x',
tooltip: 'Share on X',
color: '#000000'
)
// Using dedicated methods
SocialShareAction::make()
->x()
->xIcon('fab-x')
->xTooltip('Share this post on X')
->xColor('#000000')
use Tapp\FilamentSocialShare\Actions\SocialShareAction;
SocialShareAction::make()
->facebook()
// With custom icon, tooltip, and color
SocialShareAction::make()
->facebook(
enabled: true,
icon: 'fab-facebook-f',
tooltip: 'Share on Facebook',
color: '#1877f2'
)
// Using dedicated methods
SocialShareAction::make()
->facebook()
->facebookIcon('fab-facebook-f')
->facebookTooltip('Share this post on Facebook')
->facebookColor('#1877f2')
use Tapp\FilamentSocialShare\Actions\SocialShareAction;
SocialShareAction::make()
->linkedin()
// With custom icon, tooltip, and color
SocialShareAction::make()
->linkedin(
enabled: true,
icon: 'fab-linkedin-in',
tooltip: 'Share on LinkedIn',
color: '#0077b5'
)
// Using dedicated methods
SocialShareAction::make()
->linkedin()
->linkedinIcon('fab-linkedin-in')
->linkedinTooltip('Share on LinkedIn network')
->linkedinColor('#0077b5')
use Tapp\FilamentSocialShare\Actions\SocialShareAction;
SocialShareAction::make()
->reddit()
// With custom icon, tooltip, and color
SocialShareAction::make()
->reddit(
enabled: true,
icon: 'fab-reddit-alien',
tooltip: 'Share on Reddit',
color: '#ff4500'
)
// Using dedicated methods
SocialShareAction::make()
->reddit()
->redditIcon('fab-reddit-alien')
->redditTooltip('Post to Reddit')
->redditColor('#ff4500')
use Tapp\FilamentSocialShare\Actions\SocialShareAction;
SocialShareAction::make()
->email()
// With custom icon, tooltip, and color
SocialShareAction::make()
->email(
enabled: true,
icon: 'heroicon-o-envelope',
tooltip: 'Share via Email',
color: '#6b7280'
)
// Using dedicated methods
SocialShareAction::make()
->email()
->emailIcon('heroicon-o-envelope')
->emailTooltip('Send via Email')
->emailColor('#6b7280')
use Tapp\FilamentSocialShare\Actions\SocialShareAction;
SocialShareAction::make()
->nativeBrowserShare()
use Tapp\FilamentSocialShare\Actions\SocialShareAction;
use Filament\Notifications\Notification;
SocialShareAction::make()
->before(function () {
// Execute before sharing modal opens
Notification::make()
->title('Opening share options...')
->info()
->send();
})
->after(function () {
// Execute after sharing process
\Log::info('User opened social share modal');
})
->facebook()
->linkedin()
SocialShareAction::make()
->facebook(
enabled: true,
icon: 'fab-facebook-f',
tooltip: 'Share this post on Facebook',
color: '#1877f2'
)
->linkedin(
icon: 'fab-linkedin-in',
color: '#0077b5',
tooltip: 'Share on LinkedIn network'
)
->reddit(
color: '#ff4500',
tooltip: 'Post to Reddit'
)
SocialShareAction::make()
->facebook()
->facebookIcon('fab-facebook-f')
->facebookTooltip('Share this amazing post on Facebook')
->facebookColor('#1877f2')
->linkedin()
->linkedinColor('#0077b5')
->linkedinTooltip('Share on LinkedIn network')
->reddit()
->redditColor('#ff4500')
SocialShareAction::make()
->facebook(icon: 'fab-facebook-f') // Named parameter for icon
->facebookTooltip('Custom tooltip') // Dedicated method for tooltip
->facebookColor('#1877f2') // Dedicated method for color
->linkedin(color: '#0077b5') // Named parameter for color
->linkedinIcon('fab-linkedin-in') // Dedicated method for icon
->reddit() // Enable with all defaults
->redditColor('#ff4500')
$action = SocialShareAction::make()
->facebook()
->linkedin();
// Conditionally customize based on user preferences
if ($user->prefers_custom_colors) {
$action->facebookColor('#custom-color')
->linkedinColor('#another-color');
}
if ($user->is_premium) {
$action->reddit()
->redditTooltip('Premium user sharing');
}
use Tapp\FilamentSocialShare\Actions\SocialShareAction;
SocialShareAction::make()
->facebook()
->iconButton(),
use Filament\Notifications\Notification;
use Tapp\FilamentSocialShare\Actions\SocialShareAction;
SocialShareAction::make()
->facebook()
->linkedin()
->after(function () {
// Send notification after user opens share modal
Notification::make()
->title('Share options displayed')
->body('The social sharing options have been presented to the user.')
->success()
->send();
}),
use Illuminate\Support\Facades\Log;
use Tapp\FilamentSocialShare\Actions\SocialShareAction;
SocialShareAction::make()
->facebook()
->linkedin()
->before(function () {
// Log that user initiated sharing
Log::info('User opened social share modal', [
'user_id' => auth()->id(),
'timestamp' => now(),
'url' => request()->url()
]);
})
->after(function () {
// Log completion
Log::info('Social share modal displayed successfully');
})
use Filament\Notifications\Notification;
use Tapp\FilamentSocialShare\Actions\SocialShareAction;
SocialShareAction::make()
->facebook()
->linkedin()
->before(function () {
// Check if user has permission to share
if (!auth()->user()->can('share_content')) {
Notification::make()
->title('Permission Denied')
->body('You do not have permission to share content.')
->danger()
->send();
throw new \Exception('Unauthorized sharing attempt');
}
})