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",
|
"name": "pablouser1/tikscraper",
|
||||||
"version": "v2.6.1.2",
|
"version": "v2.6.2.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/pablouser1/TikScraperPHP.git",
|
"url": "https://github.com/pablouser1/TikScraperPHP.git",
|
||||||
"reference": "2322cb8ffa4d7e6a0ae295048448469f48dbe58e"
|
"reference": "051f3b4dd5debc05b1d49ab21e6ab831ed04ed9a"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/pablouser1/TikScraperPHP/zipball/2322cb8ffa4d7e6a0ae295048448469f48dbe58e",
|
"url": "https://api.github.com/repos/pablouser1/TikScraperPHP/zipball/051f3b4dd5debc05b1d49ab21e6ab831ed04ed9a",
|
||||||
"reference": "2322cb8ffa4d7e6a0ae295048448469f48dbe58e",
|
"reference": "051f3b4dd5debc05b1d49ab21e6ab831ed04ed9a",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"guzzlehttp/guzzle": "^7.8",
|
"guzzlehttp/guzzle": "^7.9",
|
||||||
"php": "^8.1",
|
"php": "^8.1",
|
||||||
"php-webdriver/webdriver": "^1.12"
|
"php-webdriver/webdriver": "^1.12"
|
||||||
},
|
},
|
||||||
@@ -628,9 +628,9 @@
|
|||||||
"description": "Get data from TikTok API",
|
"description": "Get data from TikTok API",
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/pablouser1/TikScraperPHP/issues",
|
"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",
|
"name": "php-webdriver/webdriver",
|
||||||
|
|||||||
@@ -72,6 +72,14 @@ $router->mount('/tag/([^/]+)', function () use ($router) {
|
|||||||
|
|
||||||
$router->get('/music/([^/]+)', 'MusicController@get');
|
$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 -- //
|
// -- Settings -- //
|
||||||
$router->mount('/settings', function () use ($router) {
|
$router->mount('/settings', function () use ($router) {
|
||||||
$router->get('/', 'SettingsController@index');
|
$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>
|
</div>
|
||||||
{/block}
|
{/block}
|
||||||
{/embed}
|
{/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}
|
{/block}
|
||||||
|
|||||||
Reference in New Issue
Block a user