sample state - Orenshaf/SoundProud GitHub Wiki

{
  entities: {

    users: {
      1: {
        id: 1,
        username: "orenshaf",
        imageUrl: "https://static.independent.co.uk/s3fs-public/thumbnails/image/2017/09/12/11/naturo-monkey-selfie.jpg?w968h681",
        tracks: [44, 36],
        liked_tracks: [15, 22]
      },
      2: {
        id: 2,
        username: "eric",
        imageUrl: "https://theadsgroup.com/content/uploads/2012/12/unicorn-wallpaper.jpg",
        tracks: [],
        liked_tracks: []

      },
      3: {
        id: 3,
        username: "migratingClock",
        imageUrl: null,
        tracks: [13],
        liked_tracks: [36]
      },
    },

    tracks: {
      44: {
        id: 44,
        title: "get money",
        track_url: "madgoodsong.mp3",
        image_url: null,
        genre: "pop",
        private: true,
        user_id: 1, 
        likes: 15,
        track_comments: [0, 1, 2, 3, 4, 5],
      },
      13: {
        id: 13,
        title: "blah",
        track_url: "ehhsong.mp3",
        image_url: "https://images-na.ssl-images-amazon.com/images/I/71rllRTWa8L._SY355_.jpg",
        genre: "none",
        private: false,
        user_id: 3,
        likes: 10,
        track_comments: [10, 11, 12, 13, 14],
      },
    },

    trackComments: {
      1: {
        id: 1,
        body: "sick",
        track_id: 1, //not sure if i need this either because I'll only get all the comments once i have the track
        track_time: 02:40,
        comment_replies: [1, 2, 3]
      },
      2: {
        id: 2,
        body: "amazing",
        track_id: 1,
        track_time: 00:42,
        comment_replies: [45]
      },
      3: {
        id: 300,
        body: "ehh",
        track_id: 1,
        track_time: 01:13,
        comment_replies: []
      },
    },

    commentReplies: {
      1: {
        id: 2,
        user_id: 123,
        body: "you're wrong",
      },
      2: {
        id: 2,
        user_id: 456,
        body: "this song is definitely not trash",
      },
    },
  },

  ui: {
    loading: true/false
  },

  errors: {
    login: ["That profile url does not exist", "This password is incorrect."],
    signup: ["Enter a valid email address or profile URL.", "Enter a password."]
    trackForm: ["Enter a title"],
  },

  session: { currentUserId: 25 }
}
// not sure if I should fetch ALL comments and render as needed or fetch comments as users hover over. On comments page only 10-12 comments are shown at a time, but under the songwave comments are rendered as small pictures of users.
⚠️ **GitHub.com Fallback** ⚠️