Advertisement
justfrenzy

CrackFlix - frontend /src/components/App/props.interface.ts

May 12th, 2024
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
TypeScript 5.25 KB | Source Code | 0 0
  1. export interface AuthModalProps {
  2.     isOpen: boolean;
  3.     onOpenChange: (newValue: boolean) => void;
  4. }
  5.  
  6. export interface SignInTextProps {
  7.     headerText: string;
  8.     inputLabel: string;
  9.     passwordLabel: string;
  10.     descriptionUsr: string;
  11.     descriptionPwd: string;
  12.     SignInButtonText: string;
  13.     notAMemberText: string;
  14.     SignUpLink: string;
  15.     emailErrorMsg: string;
  16.     passwordErrorMsg: string;
  17. }
  18.  
  19. export interface SignUpProps {
  20.     headerText: string;
  21.     usernameLabel: string;
  22.     emailLabel: string;
  23.     passwordLabel: string;
  24.     confirmPasswordLabel: string;
  25.     descriptionUsername: string;
  26.     descriptionEmail: string;
  27.     SingUpButtonText: string;
  28.     notAMemberText: string;
  29.     SignInLink: string;
  30.     usernameErrorMsg: string;
  31.     emailErrorMsg: string;
  32.     passwordErrorMsg: string;
  33.     confirmPasswordErrorMsg: string;
  34. }
  35.  
  36. export interface SignInProps {
  37.     onClose: () => void;
  38.     setIsLogin: React.Dispatch<React.SetStateAction<boolean>>;
  39.     isLogin: boolean;
  40. }
  41.  
  42. export type NavbarTextTypes = {
  43.     liked: string;
  44.     watched: string;
  45.     system: string;
  46.     dark: string;
  47.     light: string;
  48.     themeText: string;
  49.     bg: string;
  50.     en: string;
  51.     language: string;
  52.     signInBtn: string;
  53.     popularTxt: string;
  54.     trendingTxt: string;
  55.     nowPlayingTxt: string;
  56.     profile: string;
  57.     settings: string;
  58.     helpFeedback: string;
  59.     logOut: string;
  60.     categories: string;
  61. };
  62.  
  63. export type MenuItemsList = {
  64.     bg: string[];
  65.     en: string[];
  66. };
  67.  
  68. export interface PopularTextInterface {
  69.     bg: {
  70.         popularTxt: string;
  71.         popularMoviesText: string;
  72.         popularTvSeriesText: string;
  73.     };
  74.     en: {
  75.         popularTxt: string;
  76.         popularMoviesText: string;
  77.         popularTvSeriesText: string;
  78.     };
  79. }
  80.  
  81. export interface TrendingTextInterface {
  82.     bg: {
  83.         trendingTxt: string;
  84.         trendingMoviesText: string;
  85.         trendingTvSeriesText: string;
  86.     };
  87.     en: {
  88.         trendingTxt: string;
  89.         trendingMoviesText: string;
  90.         trendingTvSeriesText: string;
  91.     };
  92. }
  93.  
  94. export interface NowPlayingTextInterface {
  95.     bg: {
  96.         nowPlayingTxt: string;
  97.         nowPlayingMoviesText: string;
  98.         nowPlayingTvSeriesText: string;
  99.     };
  100.     en: {
  101.         nowPlayingTxt: string;
  102.         nowPlayingMoviesText: string;
  103.         nowPlayingTvSeriesText: string;
  104.     };
  105. }
  106.  
  107. export type mediaProps = {
  108.     id: number | undefined;
  109.     title?: string | undefined;
  110.     name?: string | undefined;
  111.     poster_path?: string | undefined;
  112.     release_date?: string | undefined;
  113.     first_air_date?: string | undefined;
  114.     vote_average?: number | undefined;
  115. };
  116.  
  117. export type mediaModalProps = {
  118.     bg: {
  119.         min: string;
  120.         country: string;
  121.         genre: string;
  122.         closeBtn: string;
  123.         playBtn: string;
  124.     };
  125.     en: {
  126.         min: string;
  127.         country: string;
  128.         genre: string;
  129.         closeBtn: string;
  130.         playBtn: string;
  131.     };
  132. };
  133.  
  134. export type CardProps = {
  135.     data: mediaProps;
  136.     isMovie: boolean;
  137. };
  138.  
  139. export type mediaImportProps = {
  140.     title: string;
  141.     buttonText1: string;
  142.     buttonText2: string;
  143.     moviesData: Array<object>;
  144.     tvData: Array<object>;
  145.     handleTVChange: () => void;
  146.     isMovies: boolean;
  147.     setIsMovies: React.Dispatch<React.SetStateAction<boolean>>;
  148.     type: "popular" | "trending" | "now_playing";
  149. };
  150.  
  151. export type movieType = {
  152.     adult: boolean;
  153.     backdrop_path: string;
  154.     genre_ids: Array<{ id: number; name: string }>;
  155.     id: number;
  156.     original_language: string;
  157.     original_title: string;
  158.     overview: string;
  159.     popularity: number;
  160.     poster_path: string;
  161.     release_date: string;
  162.     title: string;
  163.     video: boolean;
  164.     vote_average: number;
  165.     vote_count: number;
  166. };
  167.  
  168. export type mediaType = {
  169.     adult: boolean;
  170.     check: boolean;
  171.     rating: number;
  172.     backdrop_path: string;
  173.     created_by: Array<{
  174.         id: number;
  175.         name: string;
  176.     }>;
  177.     director: string;
  178.     episode_run_time: Array<number>;
  179.     first_air_date: string;
  180.     genres: Array<{
  181.         id: string | number;
  182.         name: string;
  183.     }>;
  184.     homepage: string;
  185.     id: number;
  186.     in_production: boolean;
  187.     name: string;
  188.     networks: Array<{
  189.         id: number;
  190.         name: string;
  191.     }>;
  192.     number_of_episodes: number;
  193.     number_of_seasons: number;
  194.     origin_country: Array<{
  195.         iso_3166_1: string;
  196.         name: string;
  197.     }>;
  198.     original_name: string;
  199.     overview: string;
  200.     popularity: number;
  201.     poster_path: string;
  202.     production_companies: Array<{
  203.         id: number;
  204.         name: string;
  205.     }>;
  206.     production_countries: Array<{
  207.         iso_3166_1: string;
  208.         name: string;
  209.     }>;
  210.     release_date: string;
  211.     runtime: number;
  212.     seasons: Array<{
  213.         air_date: string;
  214.         episode_count: number;
  215.         id: number;
  216.         name: string;
  217.         overview: string;
  218.         poster_path: string;
  219.         season_number: number;
  220.     }>;
  221.     spoken_languages: Array<{
  222.         english_name: string;
  223.         iso_639_1: string;
  224.         name: string;
  225.     }>;
  226.     status: string;
  227.     type: string;
  228.     title: string;
  229.     video: boolean;
  230.     vote_average: number;
  231.     vote_count: number;
  232.     length: number;
  233.     media_type: "movie" | "tv" | "person";
  234. };
  235.  
  236. export type ResponseType = {
  237.     status: number;
  238.     recommended: Array<mediaType>;
  239.     comments: Array<CommentI>;
  240.     message: string;
  241.     details: mediaType;
  242.     type: string;
  243.     user: {
  244.         email: string;
  245.         username: string;
  246.         _id: string;
  247.         role: "user" | "admin";
  248.         verified: boolean;
  249.         isWatch: boolean;
  250.         color: "green" | "blue" | "red" | "yellow" | "purple";
  251.         isPublic: boolean;
  252.         score: number;
  253.     };
  254. };
  255.  
  256. export interface CommentI {
  257.     id: string;
  258.   _id: string;
  259.     username: string;
  260.   hasNestedComments: boolean;
  261.     content: string;
  262.     media: "movie" | "tv";
  263.     mediaId: number;
  264.     parentId: number;
  265.     createdAt: string;
  266. }
  267.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement