diff --git a/app/Http/Controllers/FrontIndexController.php b/app/Http/Controllers/FrontIndexController.php index 58555dc..43723b4 100644 --- a/app/Http/Controllers/FrontIndexController.php +++ b/app/Http/Controllers/FrontIndexController.php @@ -11,24 +11,24 @@ class FrontIndexController extends Controller { private $limit = 15; - public function start() + private function getRecent() { - $sources = Source::where("active", true)->get(); $locations = Location::where("active", true)->orderByDesc('updated_at')->get(); $list = []; foreach ($locations as $location) { - if (($location->block_count + $location->silence_count) > 2) { + if (($location->block_count + $location->silence_count) >= 2) { array_push($list, $location); } } + return $list; + } - $recentList = Location::where("active", true) - ->where('block_count', '>', 2) - ->limit(10)->orderByDesc('updated_at')->get(); - + public function start() + { + $list = $this->getRecent(); return view('front.index', [ 'count' => count($list), - 'sources' => count($sources), + 'sources' => count(Source::where("active", true)->get()), 'recent' => $list, 'title' => "The Bad Space" ]); @@ -36,6 +36,7 @@ class FrontIndexController extends Controller public function indexSearch(Request $request) { + // this grabs the search results from the db $terms = $request->index_search; $rawSearch = $terms; $terms = str_replace(",", "", $terms); @@ -48,18 +49,17 @@ class FrontIndexController extends Controller } } - $locations = Location::where("active", true)->get(); - $count = count($locations); - $recent = Location::where("active", true) - ->where('block_count', '>', 2) - ->where('silence_count', '>', 2) - ->limit(10)->orderByDesc('updated_at')->get(); + //this gets recent updates to display under search results + $list = $this->getRecent(); return view('front.index', [ - 'count' => $count, - 'recent' => $recent, - 'title' => "The Bad Space", - 'results' => $results + 'count' => count($list), + 'sources' => count(Source::where("active", true)->get()), + 'recent' => $list, + 'results' => $results, + 'recent' => $list, + 'terms' => $terms, + 'title' => "Search Results", ]); } @@ -92,12 +92,40 @@ class FrontIndexController extends Controller public function listings(int $pageNum = 1) { - $range = $pageNum * $this->limit - $this->limit; - $active = Location::where("active", true)->where('block_count', '>', 2)->get(); - $locations = Location::where("active", true)->where('block_count', '>', 2) - ->limit($this->limit)->offset($range)->orderByDesc('id')->get(); + $locations = Location::where("active", true)->get(); + $active = []; + foreach ($locations as $location) { + if (($location->block_count + $location->silence_count) >= 2) { + array_push($active, $location); + } + } + + $pages = []; + + if (count($active) != 0) { + if (count($active) < $this->limit) { + $this->limit = count($active) - 1; + } + $range = $pageNum * $this->limit - $this->limit; + + if ($range != 0) { + $range = $range + 1; + } + for ($i = 0; $i <= $this->limit; ++$i) { + if (isset($active[$i + $range])) { + array_push($pages, $active[$i + $range]); + } else { + // chill out + } + } + } + $pageCount = ceil(count($active) / $this->limit); + if ($range != 0) { + $range = $range + 1; + } + $next = $pageNum + 1; if ($next > $pageCount) { $next = 1; @@ -111,11 +139,12 @@ class FrontIndexController extends Controller return view('front.listing', [ 'title' => "Listings", + 'sources' => count(Source::where("active", true)->get()), "totalPages" => $pageCount, "prev" => $prev, "next" => $next, 'pageNum' => $pageNum, - 'locations' => $locations + 'locations' => $pages ]); } } diff --git a/public/assets/css/front/listing.css b/public/assets/css/front/listing.css index 9c19ae3..7f7e96b 100644 --- a/public/assets/css/front/listing.css +++ b/public/assets/css/front/listing.css @@ -42,6 +42,7 @@ a.list-link { width: 80%; height: 45px; padding-bottom: 20px; + cursor: pointer; } a.list-link > .item-rating { @@ -58,6 +59,7 @@ a.list-link > .item-name { color: var(--black); font-weight: 400; padding: 9px 5px; + cursor: pointer; } a.list-link > .item-silence { diff --git a/public/assets/images/global/status-silence.svg b/public/assets/images/global/status-silence.svg index 38eccda..aa05225 100644 --- a/public/assets/images/global/status-silence.svg +++ b/public/assets/images/global/status-silence.svg @@ -1,6 +1,6 @@ - - + + diff --git a/public/assets/images/global/status-suspend.svg b/public/assets/images/global/status-suspend.svg index b0e0d08..58e4833 100644 --- a/public/assets/images/global/status-suspend.svg +++ b/public/assets/images/global/status-suspend.svg @@ -1,6 +1,6 @@ - - + + diff --git a/resources/views/front/about.blade.php b/resources/views/front/about.blade.php index 0ccde1d..6dcd9e4 100644 --- a/resources/views/front/about.blade.php +++ b/resources/views/front/about.blade.php @@ -20,6 +20,7 @@ Technical support provided by Ro. The repo can be found here.

+

Custom silence and suspend icons graciously provided by puf.

How does it work?

The Bad Space is a collaboration of instances committed to actively moderating against racism, sexism, heterosexism, transphobia, ableism, casteism, or religion.

diff --git a/resources/views/front/index.blade.php b/resources/views/front/index.blade.php index d199817..cf20a3f 100644 --- a/resources/views/front/index.blade.php +++ b/resources/views/front/index.blade.php @@ -14,12 +14,25 @@ @isset($results)
- - Found {{count($results)}} results: -
- @for($i = 0; $i < 10; $i++) - {{$recent[$i]->name}}
- @endfor +

Found {{count($results)}} results for {{$terms}}

+ @foreach($results as $item) + @php + $action = $item->block_count + $item->silence_count; + $rating = ($action / $sources)*100; + @endphp + + {{$rating}}% + +
+ + {{$item->silence_count}} +
+
+ + {{$item->block_count}} +
+
+ @endforeach
@endisset @@ -27,7 +40,6 @@

Recent Updates

@for($i = 0; $i < 10; $i++) - @php $action = $recent[$i]->block_count + $recent[$i]->silence_count; $rating = ($action / $sources)*100; diff --git a/resources/views/front/listing.blade.php b/resources/views/front/listing.blade.php index 693a2a1..8e8c2ad 100644 --- a/resources/views/front/listing.blade.php +++ b/resources/views/front/listing.blade.php @@ -9,15 +9,21 @@ {{$pageNum}} of {{$totalPages}} NEXT

@foreach($locations as $location) + @php + $action = $location->block_count + $location->silence_count; + $rating = ($action / $sources)*100; + @endphp - @if($location->rating == 'silence') - {{$location->block_count}} - - @else - {{$location->block_count}} - - @endif - + {{$rating}}% + +
+ + {{$location->silence_count}} +
+
+ + {{$location->block_count}} +
@endforeach