react-native-clock-analog

0.0.3 • Public • Published

React Native: react-native-clock-analog

GitHub package version github home platforms github home npm

github issues github closed issues Issue Stats github license

https://user-images.githubusercontent.com/20476002/153429759-b280998a-715c-4f39-ab2c-c62ac1d3b6ed.mov

📖 Getting started

$ npm install react-native-clock-analog --save

💻 Usage

import React, { useState, useEffect } from 'react';
import { StyleSheet, Text, View, ImageBackground } from 'react-native';
import AnalogClock from 'react-native-clock-analog';

const nowDate = () => {
  const d = new Date();
  let second = d.getSeconds();
  let minute = d.getMinutes();
  let hour = d.getHours();
  return { second, minute, hour };
};

const nowTimer = () => {
  const { second, minute, hour } = nowDate();
  const [state, setState] = useState({
    second,
    minute,
    hour,
  });

  useEffect(() => {
    setInterval(() => {
      const { second, minute, hour } = nowDate();
      setState({ second, minute, hour });
    }, 1000);
  }, [useState]);
  return state;
};

export default function App() {
  const { second, minute, hour } = nowTimer();
  return (
    <View style={styles.container}>
      <ImageBackground
        source={{
          uri: 'https://i.pinimg.com/originals/62/6f/84/626f84c40696c1308a77fd8331e12b3e.jpg',
        }}
        style={{
          alignItems: 'center',
          justifyContent: 'center',
          height: 500,
          width: 500,
        }}>
        <AnalogClock size={100} />
        <View style={{ marginBottom: 5 }} />
        <AnalogClock
          colorClock="#2196F3"
          colorNumber="#000000"
          colorCenter="#00BCD4"
          colorHour="#FF8F00"
          colorMinutes="#FFC400"
          hour={hour}
          minutes={minute}
          seconds={second}
          showSeconds
        />
      </ImageBackground>
    </View>
  );
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    alignItems: 'center',
    justifyContent: 'center',
    backgroundColor: '#ecf0f1',
    padding: 8,
  },
});

💻 AutoStart Mode

import React from 'react';
import { StyleSheet, Text, View, ImageBackground } from 'react-native';
import AnalogClock from 'react-native-clock-analog';

export default function App() {
  return (
    <View style={styles.container}>
      <ImageBackground
        source={{
          uri: 'https://i.pinimg.com/originals/62/6f/84/626f84c40696c1308a77fd8331e12b3e.jpg',
        }}
        style={{
          alignItems: 'center',
          justifyContent: 'center',
          height: 500,
          width: 500,
        }}>
        <AnalogClock size={100} />
        <View style={{ marginBottom: 5 }} />
        <AnalogClock
          colorClock="#2196F3"
          colorNumber="#000000"
          colorCenter="#00BCD4"
          colorHour="#FF8F00"
          colorMinutes="#FFC400"
          autostart={true}
          showSeconds
        />
      </ImageBackground>
    </View>
  );
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    alignItems: 'center',
    justifyContent: 'center',
    backgroundColor: '#ecf0f1',
    padding: 8,
  },
});

💡 Props

Prop Type Default Note
size number 180 Clock size.
showSeconds bool false Show the seconds.
autostart bool false Autostart, no need external timer
colorClock string rgba(255,255,255,0.8) Clock color.
colorNumber string #000000 Color of the clock numbers.
colorCenter string #000000 Clock center color.
colorHour string #000000 Clock hour hand color.
colorMinutes string rgba(255,255,255,0.7) Clock minute hand color.
colorSeconds string red Clock second hand color.
hour number Hour.
minutes number Minutes.
seconds number Seconds.

📜 License

This library is provided under the Apache License.

Dependencies (0)

    Dev Dependencies (0)

      Package Sidebar

      Install

      npm i react-native-clock-analog

      Weekly Downloads

      12

      Version

      0.0.3

      License

      Apache License 2.0

      Unpacked Size

      144 kB

      Total Files

      8

      Last publish

      Collaborators

      • zappi