BS Loading Screen

BS Loading Screen

Config

export const config = {
  background: {
    type: 'image',
    source: './media/1.png',
  },
 
  // background image gallery
  // background: { type: "gallery", sources: ["./media/1.png", "./media/2.png", "./media/3.png"] },
 
  // background video
  // background: { type: "video", source: "./media/video.mp4" },
 
  // background youtube
  // background: { type: "youtube", source: "https://www.youtube.com/watch?v=VIDEO_ID" },
 
  logo: './media/logo.png',
 
  didYouKnow: {
    content: 'Did you know that you can use the /help command to get a list of all available commands?',
    author: 'The Bot Team',
  },
 
  socials: {
    website: 'brusie-roleplay.com',
    discord: 'https://discord.gg/brusieroleplay',
    tiktok: 'https://www.tiktok.com/@brusie_roleplay',
    youtube: 'https://www.youtube.com/@brusie_roleplay',
  },
 
  songs: [
    {
      source: './media/music/ramirez_the_fo_five.mp3',
      cover: './media/covers/ramirez_the_fo_five.jpg',
      title: 'The Fo Five',
      artist: 'The Fo Five',
    },
    {
      source: './media/music/sentino_casablanca.mp3',
      cover: './media/covers/sentino_casablanca.jpg',
      title: 'Casablanca',
      artist: 'Sentino',
    },
    {
      source: './media/music/sentino_wiecznie.mp3',
      cover: './media/covers/sentino_wiecznie.jpg',
      title: 'Wiecznie',
      artist: 'Sentino',
    },
    {
      source: './media/music/zoob_kawalek_podlogi.mp3',
      cover: './media/covers/zoob_kawalek_podlogi.jpg',
      title: 'Mój jest ten kawałek podłogi ',
      artist: 'Mr. Zoob',
    },
  ],
 
  updates: [
    {
      name: 'Devlog 5.11',
      news: ['New', 'New', 'New', 'New'],
      fixes: ['Fix', 'Fix', 'Fix', 'Fix'],
      asset: {
        type: 'youtube',
        source: 'https://youtu.be/VhPgSK2LLp4',
      },
    },
    {
      name: 'Devlog 5.10',
      news: ['New', 'New', 'New'],
      fixes: ['Fix', 'Fix', 'Fix'],
      asset: {
        type: 'youtube',
        source: 'https://youtu.be/VhPgSK2LLp4',
      },
    },
  ],
 
  keyboard: {
    F1: { tooltip: 'Open help menu' },
    W: { tooltip: 'Move forward' },
    SPACE: { tooltip: 'Jump' },
    CTRL: { tooltip: 'Crouch' },
    M: { tooltip: 'Phone' },
    G: { tooltip: 'Toogle engine' },
    L: { tooltip: 'Lock/unlock vehicle' },
  },
 
  team: [
    {
      role: 'Admin',
      name: 'haze',
      description: 'Boss of bosses',
      image: './media/avatar1.png',
    },
    {
      role: 'Owner',
      name: 'john',
      description: 'Server admin',
      image: './media/avatar1.png',
    },
    {
      role: 'Developer',
      name: 'doe',
      description: 'Full stack developer',
      image: './media/avatar1.png',
    },
    {
      role: 'Designer',
      name: 'jane',
      description: 'UI/UX designer',
      image: './media/avatar1.png',
    },
    {
      role: 'Support',
      name: 'alex',
      description: 'Customer support specialist',
      image: './media/avatar1.png',
    },
    {
      role: 'Moderator',
      name: 'sam',
      description: 'Community moderator',
      image: './media/avatar1.png',
    },
    {
      role: 'Tester',
      name: 'chris',
      description: 'Quality assurance tester',
      image: './media/avatar1.png',
    },
    {
      role: 'Content Creator',
      name: 'taylor',
      description: 'Content creator and streamer',
      image: './media/avatar1.png',
    },
    {
      role: 'Analyst',
      name: 'casey',
      description: 'Data analyst and strategist',
      image: './media/avatar1.png',
    },
  ],
};

Data Types

export type SocialsConfig = {
  website?: string;
  discord?: string;
  tiktok?: string;
  youtube?: string;
};
 
export type DidYouKnowConfig = {
  content: string;
  author: string;
};
 
export type SongConfig = {
  source: string;
  cover: string;
  title: string;
  artist: string;
};
 
export type UpdateConfig = {
  name: string;
  news: string[];
  fixes: string[];
  asset: {
    type: 'image' | 'video' | 'youtube';
    source: string;
  };
};
 
export type BackgroundConfig =
  | { type: 'image'; source: string }
  | { type: 'gallery'; source: string[]; interval?: number }
  | { type: 'video'; source: string }
  | { type: 'youtube'; source: string };
 
export type KeyboardConfig = {
  [key: string]: {
    tooltip: string;
  };
};
 
export type TeamMember = {
  name: string;
  role: string;
  image: string;
  description: string;
};
 
export type Config = {
  background: BackgroundConfig;
  logo: string;
  socials: SocialsConfig;
  didYouKnow: DidYouKnowConfig;
  songs: SongConfig[];
  updates: UpdateConfig[];
  keyboard: KeyboardConfig;
  team: TeamMember[];
};