utils#saveToLocalStorage TypeScript Examples

The following examples show how to use utils#saveToLocalStorage. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: index.tsx    From exevo-pan with The Unlicense 6 votes vote down vote up
Sticker = ({
  localStorageKey,
  className,
  children,
  ...props
}: StickerProps) => {
  const [hasSticker] = useState(() =>
    getFromLocalStorage(localStorageKey, true),
  )

  const ref = useRef<HTMLSpanElement>(null)
  const onScreen = useOnScreen<HTMLSpanElement>(ref)

  useEffect(() => {
    saveToLocalStorage(localStorageKey, false)
  }, [onScreen])

  if (!hasSticker) return null
  return (
    <span
      className={clsx(
        'bg-battleYellow border-1 border-separator rounded-md border-dashed p-[3px] text-[9px] uppercase tracking-wider text-black opacity-80',
        className,
      )}
      {...props}
      ref={ref}
    >
      {children}
    </span>
  )
}
Example #2
Source File: index.tsx    From exevo-pan with The Unlicense 6 votes vote down vote up
static async fetchWarStatisticsData(): Promise<WarStatistics> {
    try {
      const response = await fetch(this.warStatisticsDataUrl)
      const data = (await response.json()) as WarStatistics

      saveToLocalStorage(localStorageKeys.WAR_STATISTICS_DATA, data)

      return data
    } catch (error: unknown) {
      console.log(error)
      return getFromLocalStorage<WarStatistics>(
        localStorageKeys.WAR_STATISTICS_DATA,
        {} as WarStatistics,
      )
    }
  }
Example #3
Source File: index.tsx    From exevo-pan with The Unlicense 6 votes vote down vote up
static async fetchGuildWarData(guildName: string): Promise<MemberWarData[]> {
    let path = paths.PUNE_DATA
    let guildLocalStorageKey = localStorageKeys.PUNE_GUILD_DATA
    let guildId = 0
    if (guildName === 'Bones Alliance') {
      path = paths.BONES_DATA
      guildLocalStorageKey = localStorageKeys.BONES_GUILD_DATA
      guildId = 1
    }

    try {
      const response = await fetch(`${endpoints.WAR_DATA}${path}`)
      const data = (await response.json()) as MiniMemberWarData[]
      const buildedData = unminifyGuildData(data, guildName, guildId)

      saveToLocalStorage(guildLocalStorageKey, buildedData)

      return buildedData
    } catch (error: unknown) {
      console.log(error)
      return getFromLocalStorage<MemberWarData[]>(
        guildLocalStorageKey,
        [] as MemberWarData[],
      )
    }
  }
Example #4
Source File: index.ts    From exevo-pan with The Unlicense 6 votes vote down vote up
setup = {
  setTimeout: (): void => {
    jest.useFakeTimers()

    jest
      .spyOn(window, 'setTimeout')
      .mockImplementationOnce((fn) => fn() as unknown as NodeJS.Timeout)
  },
  fetch: (): jest.MockedFunction<typeof fetch> => {
    global.fetch = jest.fn()
    return fetch as jest.MockedFunction<typeof fetch>
  },
  scrollIntoView: (): jest.Mock<any, any> => {
    const mockedScrollIntoView = jest.fn()
    window.HTMLElement.prototype.scrollIntoView = mockedScrollIntoView

    return mockedScrollIntoView
  },
  IntersectionObserver,
  useRouter: (): jest.MockedFunction<typeof useRouter> =>
    useRouter as jest.MockedFunction<typeof useRouter>,
  getFromLocalStorage: (): jest.MockedFunction<typeof getFromLocalStorage> =>
    getFromLocalStorage as jest.MockedFunction<typeof getFromLocalStorage>,
  saveToLocalStorage: (): jest.MockedFunction<typeof saveToLocalStorage> =>
    saveToLocalStorage as jest.MockedFunction<typeof saveToLocalStorage>,
}