1.0.8 • Published 7 months ago

@blumjs/utils v1.0.8

Weekly downloads
-
License
ISC
Repository
-
Last release
7 months ago

Описание

Библиотека содержит утилиты. Сделано для быстрой разработки vk-mini-apps. Рекомендуется использовать с @blumjs/cli.

Использование

import { useCallback, useEffect, memo } from 'react';
import {
  clickLink,
  createDeclinationWord,
  createImgBase64,
  getSearchParams,
} from '@blumjs/utils';

const UserAvatarComponent = memo(({id, name, photo, countLikes}) => {
  const handleClick = useCallback(() => {
    // симуляция клика, иногда полезнее использовать чем <a></a> (могут быть пробелмы со стилем)
    // первый аргумент url, второй target(как prop в элементе <a target=''></a>, по умолчанию: '_blank')
    clickLink(`https://vk.com/id${id}`);
  }, [id]);

  // Создает функцию для склонения слова
  const declOfLikes = createDeclinationWord(['лайк', 'лайка', 'лайков']);

  console.log(declOfLikes(1));
  // -> 'лайк'

  console.log(declOfLikes(2));
  // -> 'лайка'

  console.log(declOfLikes(5));
  // -> 'лайков'

  const createStory = useCallback(() => {
    createImgBase64(
      // картинка и путь к ней
      [{src: 'img src or url', x: 0, y: 0, width: 1080, height: 1920}],

      // размерности канваса
      {width: 1080, height: 1920},

      // что произойдет, когда канвас полностью отрисуется
      (data) => {
        if (data.isSuccess) {
          console.log('your base64 is ready!', data.result);
        } else {
          console.log('smth went failed...', data.result);
        }
      },
    );
  }, []);

  useEffect(() => {
    // получение query params
    const searchParams = getSearchParams();
    console.log('is page of user', searchParams.get('vk_id') === id);
  }, [id]);

  return<>
    <div onClick={handleClick}>
      go to website
    </div>
    <div>
      user's likes: {declOfLikes(countLikes)}
    </div>
  </>
});
1.0.8

7 months ago

1.0.7

7 months ago

1.0.6

7 months ago

1.0.5

7 months ago

1.0.4

12 months ago

1.0.3

12 months ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago