dariusz-grubba / BirthdayWrapped

BirthdayWrapped inspired by Spotify Wrapped

Home Page:https://birthday-wrapped-project.vercel.app/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Birthday Wrapped

photos

About

The project was created using the zuck.js library. This made it possible to create Instagram-like stories.

Uploading your own stories

Initialize:

let stories = new Zuck(`{{element id string or element reference}}`, {
  skin: 'snapgram',      // container class
  avatars: true,         // shows user photo instead of last story item preview
  list: false,           // displays a timeline instead of carousel
  openEffect: true,      // enables effect when opening story
  cubeEffect: false,     // enables the 3d cube effect when sliding story
  autoFullScreen: false, // enables fullscreen on mobile browsers
  backButton: true,      // adds a back button to close the story viewer
  backNative: false,     // uses window history to enable back button on browsers/android
  previousTap: true,     // use 1/3 of the screen to navigate to previous item when tap the story
  localStorage: true,    // set true to save "seen" position. Element must have a id to save properly.
  reactive: true,        // set true if you use frameworks like React to control the timeline (see react.sample.html)
  rtl: false,            // enable/disable RTL

  stories: [ // array of stories
    // see stories structure example
  ],

  callbacks:  {
    onOpen (storyId, callback) {
      callback();  // on open story viewer
    },

    onView (storyId) {
      // on view story
    },

    onEnd (storyId, callback) {
      callback();  // on end story
    },

    onClose (storyId, callback) {
      callback();  // on close story viewer
    },

    onNavigateItem (storyId, nextStoryId, callback) {
      callback();  // on navigate item of story
    },

    onDataUpdate (currentState, callback) {
      callback(); // use to update state on your reactive framework
    }
  },

  template: {
    // use these functions to render custom templates
    // see src/zuck.js for more details

    timelineItem (itemData) {
      return ``;
    },

    timelineStoryItem (itemData) {
      return ``;
    },

    viewerItem (storyData, currentStoryItem) {
      return ``;
    },

    viewerItemPointer (index, currentIndex, item) {
      return ``;
    },

    viewerItemBody (index, currentIndex, item) {
      return ``;
    }
  },

  language: { // if you need to translate :)
    unmute: 'Touch to unmute',
    keyboardTip: 'Press space to see next',
    visitLink: 'Visit link',
    time: {
      ago:'ago', 
      hour:'hour', 
      hours:'hours', 
      minute:'minute', 
      minutes:'minutes', 
      fromnow: 'from now', 
      seconds:'seconds', 
      yesterday: 'yesterday', 
      tomorrow: 'tomorrow', 
      days:'days'
    }
  }
});

Add/update a story (timeline item):

stories.update({item object});

Remove a story:

stories.remove(storyId); // story id

Add/remove a story item:

stories.addItem(storyId, {item object});
stories.removeItem(storyId, itemId);

About

BirthdayWrapped inspired by Spotify Wrapped

https://birthday-wrapped-project.vercel.app/


Languages

Language:JavaScript 62.6%Language:CSS 19.4%Language:HTML 18.0%