mirror of
https://github.com/myronblair/kino-app
synced 2026-07-28 13:33:49 -05:00
Move service status bar to global chrome, fixed just below navbar (admin-only)
This commit is contained in:
@@ -5,6 +5,7 @@ import { ProfileProvider, useProfile } from "./lib/profile";
|
|||||||
import ProtectedRoute from "./components/ProtectedRoute";
|
import ProtectedRoute from "./components/ProtectedRoute";
|
||||||
import Navbar from "./components/Navbar";
|
import Navbar from "./components/Navbar";
|
||||||
import GrainOverlay from "./components/GrainOverlay";
|
import GrainOverlay from "./components/GrainOverlay";
|
||||||
|
import ServiceStatus from "./components/ServiceStatus";
|
||||||
import Login from "./pages/Login";
|
import Login from "./pages/Login";
|
||||||
import Register from "./pages/Register";
|
import Register from "./pages/Register";
|
||||||
import Browse from "./pages/Browse";
|
import Browse from "./pages/Browse";
|
||||||
@@ -52,6 +53,7 @@ const Shell = ({ children }) => {
|
|||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
{!hideChrome && user && active && <Navbar />}
|
{!hideChrome && user && active && <Navbar />}
|
||||||
|
{!hideChrome && user?.is_admin && active && <ServiceStatus />}
|
||||||
{children}
|
{children}
|
||||||
<GrainOverlay />
|
<GrainOverlay />
|
||||||
</>
|
</>
|
||||||
|
|||||||
@@ -38,7 +38,10 @@ export default function ServiceStatus() {
|
|||||||
if (!services.length) return null;
|
if (!services.length) return null;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="px-6 md:px-12 pt-6" data-testid="service-status">
|
<div
|
||||||
|
className="fixed top-16 left-0 right-0 z-40 bg-[#0a0a0a]/95 backdrop-blur border-b border-[#222] px-6 md:px-12 py-2"
|
||||||
|
data-testid="service-status"
|
||||||
|
>
|
||||||
<div className="flex flex-wrap gap-2">
|
<div className="flex flex-wrap gap-2">
|
||||||
{services.map((s) => (
|
{services.map((s) => (
|
||||||
<div
|
<div
|
||||||
|
|||||||
@@ -1,15 +1,12 @@
|
|||||||
import { useEffect, useState, useCallback } from "react";
|
import { useEffect, useState, useCallback } from "react";
|
||||||
import { useNavigate } from "react-router-dom";
|
import { useNavigate } from "react-router-dom";
|
||||||
import api from "../lib/api";
|
import api from "../lib/api";
|
||||||
import { useAuth } from "../lib/auth";
|
|
||||||
import Hero from "../components/Hero";
|
import Hero from "../components/Hero";
|
||||||
import Row from "../components/Row";
|
import Row from "../components/Row";
|
||||||
import MovieDetailModal from "../components/MovieDetailModal";
|
import MovieDetailModal from "../components/MovieDetailModal";
|
||||||
import ServiceStatus from "../components/ServiceStatus";
|
|
||||||
|
|
||||||
export default function Browse() {
|
export default function Browse() {
|
||||||
const nav = useNavigate();
|
const nav = useNavigate();
|
||||||
const { user } = useAuth();
|
|
||||||
const [featured, setFeatured] = useState(null);
|
const [featured, setFeatured] = useState(null);
|
||||||
const [movies, setMovies] = useState([]);
|
const [movies, setMovies] = useState([]);
|
||||||
const [genres, setGenres] = useState([]);
|
const [genres, setGenres] = useState([]);
|
||||||
@@ -60,7 +57,6 @@ export default function Browse() {
|
|||||||
)}
|
)}
|
||||||
|
|
||||||
<div className="-mt-20 relative z-10 pb-24">
|
<div className="-mt-20 relative z-10 pb-24">
|
||||||
{user?.is_admin && <ServiceStatus />}
|
|
||||||
{continueWatching.length > 0 && (
|
{continueWatching.length > 0 && (
|
||||||
<Row title="Resume" movies={continueWatching} onCardClick={handleMore} progressMap={progressMap} />
|
<Row title="Resume" movies={continueWatching} onCardClick={handleMore} progressMap={progressMap} />
|
||||||
)}
|
)}
|
||||||
|
|||||||
Reference in New Issue
Block a user