mirror of
https://github.com/pablouser1/ProxiTok.git
synced 2024-12-06 19:27:30 +01:00
implemented following (AKA discover) & fyp using new endpoints
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
namespace App\Controllers;
|
||||
|
||||
use App\Helpers\ErrorHandler;
|
||||
use App\Helpers\Misc;
|
||||
use App\Helpers\Wrappers;
|
||||
use App\Models\FeedTemplate;
|
||||
|
||||
class FollowingController {
|
||||
public static function get() {
|
||||
$cursor = Misc::getCursor();
|
||||
|
||||
$api = Wrappers::api();
|
||||
$following = $api->following();
|
||||
$following->feed($cursor);
|
||||
if ($following->ok()) {
|
||||
$feed = $following->getFeed();
|
||||
Wrappers::latte('following', new FeedTemplate('Following / Discover', $feed));
|
||||
} else {
|
||||
ErrorHandler::showMeta($following->error());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
namespace App\Controllers;
|
||||
|
||||
use App\Helpers\ErrorHandler;
|
||||
use App\Helpers\Misc;
|
||||
use App\Helpers\Wrappers;
|
||||
use App\Models\FeedTemplate;
|
||||
use App\Models\RSSTemplate;
|
||||
|
||||
class ForYouController {
|
||||
public static function get() {
|
||||
$api = Wrappers::api();
|
||||
$fyp = $api->foryou();
|
||||
$fyp->feed();
|
||||
if ($fyp->ok()) {
|
||||
$feed = $fyp->getFeed();
|
||||
Wrappers::latte('foryou', new FeedTemplate('For you', $feed));
|
||||
} else {
|
||||
ErrorHandler::showMeta($fyp->error());
|
||||
}
|
||||
}
|
||||
|
||||
public static function rss() {
|
||||
$api = Wrappers::api();
|
||||
$fyp = $api->foryou();
|
||||
$fyp->feed();
|
||||
if ($fyp->ok()) {
|
||||
$feed = $fyp->getFeed();
|
||||
Misc::rss('For you');
|
||||
Wrappers::latte('rss', new RSSTemplate('For you', 'For you Page', '', Misc::url('/foryou'), $feed->items));
|
||||
}
|
||||
}
|
||||
}
|
||||
Generated
+7
-7
@@ -589,20 +589,20 @@
|
||||
},
|
||||
{
|
||||
"name": "pablouser1/tikscraper",
|
||||
"version": "v2.6.1.2",
|
||||
"version": "v2.6.2.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/pablouser1/TikScraperPHP.git",
|
||||
"reference": "2322cb8ffa4d7e6a0ae295048448469f48dbe58e"
|
||||
"reference": "051f3b4dd5debc05b1d49ab21e6ab831ed04ed9a"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/pablouser1/TikScraperPHP/zipball/2322cb8ffa4d7e6a0ae295048448469f48dbe58e",
|
||||
"reference": "2322cb8ffa4d7e6a0ae295048448469f48dbe58e",
|
||||
"url": "https://api.github.com/repos/pablouser1/TikScraperPHP/zipball/051f3b4dd5debc05b1d49ab21e6ab831ed04ed9a",
|
||||
"reference": "051f3b4dd5debc05b1d49ab21e6ab831ed04ed9a",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"guzzlehttp/guzzle": "^7.8",
|
||||
"guzzlehttp/guzzle": "^7.9",
|
||||
"php": "^8.1",
|
||||
"php-webdriver/webdriver": "^1.12"
|
||||
},
|
||||
@@ -628,9 +628,9 @@
|
||||
"description": "Get data from TikTok API",
|
||||
"support": {
|
||||
"issues": "https://github.com/pablouser1/TikScraperPHP/issues",
|
||||
"source": "https://github.com/pablouser1/TikScraperPHP/tree/v2.6.1.2"
|
||||
"source": "https://github.com/pablouser1/TikScraperPHP/tree/v2.6.2.0"
|
||||
},
|
||||
"time": "2024-08-21T17:09:53+00:00"
|
||||
"time": "2024-08-28T12:27:55+00:00"
|
||||
},
|
||||
{
|
||||
"name": "php-webdriver/webdriver",
|
||||
|
||||
@@ -72,6 +72,14 @@ $router->mount('/tag/([^/]+)', function () use ($router) {
|
||||
|
||||
$router->get('/music/([^/]+)', 'MusicController@get');
|
||||
|
||||
// For you
|
||||
$router->mount('/foryou', function () use ($router) {
|
||||
$router->get('/', 'ForYouController@get');
|
||||
$router->get('/rss', 'ForYouController@rss');
|
||||
});
|
||||
|
||||
$router->get('/following', 'FollowingController@get');
|
||||
|
||||
// -- Settings -- //
|
||||
$router->mount('/settings', function () use ($router) {
|
||||
$router->get('/', 'SettingsController@index');
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
{layout '../layouts/default.latte'}
|
||||
|
||||
{block header}
|
||||
<p class="title">Discover</p>
|
||||
{/block}
|
||||
|
||||
{block content}
|
||||
<div class="columns is-multiline is-vcentered">
|
||||
{foreach $feed->items as $item}
|
||||
<div class="column is-one-quarter">
|
||||
{embed '../components/card.latte'}
|
||||
{block content}
|
||||
<div class="media">
|
||||
<!-- Show image if exists -->
|
||||
{if !empty($item->info->detail->avatarLarger)}
|
||||
<div class="media-left">
|
||||
<figure class="image is-96x96">
|
||||
<img loading="lazy" width="96" height="96" src="{url_stream($item->info->detail->avatarLarger)}" />
|
||||
</figure>
|
||||
</div>
|
||||
{/if}
|
||||
<div class="media-content">
|
||||
<p class="title">{$item->info->detail->nickname}</p>
|
||||
<p class="subtitle">{$item->info->detail->uniqueId}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="content">
|
||||
<p>{$item->info->detail->signature}</p>
|
||||
</div>
|
||||
{/block}
|
||||
{block footer}
|
||||
<a href="{url_user($item->info->detail->uniqueId)}" class="card-footer-item">Go</a>
|
||||
{/block}
|
||||
{/embed}
|
||||
</div>
|
||||
{/foreach}
|
||||
</div>
|
||||
{include '../components/themes/common/controls.latte', feed: $feed}
|
||||
{/block}
|
||||
@@ -0,0 +1,12 @@
|
||||
{layout '../layouts/default.latte'}
|
||||
|
||||
{var $has_rss = true}
|
||||
|
||||
{block header}
|
||||
<p class="title">For you</p>
|
||||
<p class="subtitle">{include '../components/rss.latte'}</p>
|
||||
{/block}
|
||||
|
||||
{block content}
|
||||
{include '../components/feed.latte'}
|
||||
{/block}
|
||||
@@ -28,4 +28,14 @@
|
||||
</div>
|
||||
{/block}
|
||||
{/embed}
|
||||
<div class="columns is-centered is-mobile mt-2">
|
||||
<div class="column is-narrow">
|
||||
<p>For you</p>
|
||||
<a class="button is-success" href="{path('/foryou')}">Go</a>
|
||||
</div>
|
||||
<div class="column is-narrow">
|
||||
<p>Following</p>
|
||||
<a class="button is-success" href="{path('/following')}">Go</a>
|
||||
</div>
|
||||
</div>
|
||||
{/block}
|
||||
|
||||
Reference in New Issue
Block a user