>
+}
+
+function Slider({ playback, slider, setSlider }: GeshemSliderProps) {
const handleStyle = {
height: 40,
width: 40,
@@ -21,14 +30,14 @@ function Slider(props) {
return (
- props.setSlider(val)}
+ onChange={val => setSlider(val)}
/>
);
--
cgit v1.3.1
From 726393779822333d04d76a2c7fb5c9e121fb830f Mon Sep 17 00:00:00 2001
From: Yuval Adam <_@yuv.al>
Date: Mon, 29 Aug 2022 17:34:52 +0300
Subject: Fix Routes
---
src/Geshem.tsx | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
(limited to 'src/Geshem.tsx')
diff --git a/src/Geshem.tsx b/src/Geshem.tsx
index 3664546..a0750d4 100644
--- a/src/Geshem.tsx
+++ b/src/Geshem.tsx
@@ -1,5 +1,5 @@
import React, { useState, useEffect } from "react";
-import { BrowserRouter, Route } from "react-router-dom";
+import { BrowserRouter, Route, Routes } from "react-router-dom";
import Map from "./Map";
import Slider from "./Slider";
@@ -13,8 +13,10 @@ import "rc-slider/assets/index.css";
function App() {
return (
- } />
- } />
+
+ } />
+ } />
+
);
}
--
cgit v1.3.1
From 43fff9d6f8e1b7ba38078804217bb98f6740af99 Mon Sep 17 00:00:00 2001
From: Yuval Adam <_@yuv.al>
Date: Thu, 1 Sep 2022 09:31:33 +0300
Subject: Fix default exports
---
src/Datetime.tsx | 4 +---
src/Geshem.test.tsx | 2 +-
src/Geshem.tsx | 12 +++++-------
src/Map.tsx | 7 ++-----
src/Slider.tsx | 4 +---
src/index.tsx | 2 +-
6 files changed, 11 insertions(+), 20 deletions(-)
(limited to 'src/Geshem.tsx')
diff --git a/src/Datetime.tsx b/src/Datetime.tsx
index 84009a7..0a8fbcf 100644
--- a/src/Datetime.tsx
+++ b/src/Datetime.tsx
@@ -6,7 +6,7 @@ interface DateTimeProps {
slider: number
}
-function DateTime({ images, slider }: DateTimeProps) {
+export function DateTime({ images, slider }: DateTimeProps) {
let datetime = null;
if (images.length > 0) {
@@ -26,5 +26,3 @@ function DateTime({ images, slider }: DateTimeProps) {
);
}
-
-export default DateTime;
diff --git a/src/Geshem.test.tsx b/src/Geshem.test.tsx
index 185b1f4..8e4652d 100644
--- a/src/Geshem.test.tsx
+++ b/src/Geshem.test.tsx
@@ -1,6 +1,6 @@
import React from 'react';
import ReactDOM from 'react-dom';
-import Geshem from './Geshem';
+import { Geshem } from './Geshem';
it('renders without crashing', () => {
const div = document.createElement('div');
diff --git a/src/Geshem.tsx b/src/Geshem.tsx
index a0750d4..5210622 100644
--- a/src/Geshem.tsx
+++ b/src/Geshem.tsx
@@ -1,16 +1,16 @@
import React, { useState, useEffect } from "react";
import { BrowserRouter, Route, Routes } from "react-router-dom";
-import Map from "./Map";
-import Slider from "./Slider";
-import DateTime from "./Datetime";
+import { Map } from "./Map";
+import { Slider } from "./Slider";
+import { DateTime } from "./Datetime";
import { IMAGES_BASE_URL } from "./config";
import "./Geshem.css";
import "rc-slider/assets/index.css";
-function App() {
+export function App() {
return (
@@ -25,7 +25,7 @@ interface GeshemProps {
date?: string
}
-function Geshem({ date }: GeshemProps) {
+export function Geshem({ date }: GeshemProps) {
const [images, setImages] = useState([]);
const [playback] = useState(
date ||
@@ -77,5 +77,3 @@ function Geshem({ date }: GeshemProps) {
>
);
}
-
-export default App;
diff --git a/src/Map.tsx b/src/Map.tsx
index 62bebb2..7a49416 100644
--- a/src/Map.tsx
+++ b/src/Map.tsx
@@ -15,7 +15,7 @@ interface MapProps {
images: string[],
}
-function Map({ slider, images }: MapProps) {
+export function Map({ slider, images }: MapProps) {
const mapContainer = useRef(null);
const map = useRef(null);
const [lng, setLng] = useState(35);
@@ -60,7 +60,7 @@ function Map({ slider, images }: MapProps) {
}} />
);
-
+}
// return (
//
// {images.map((img, i) => {
@@ -93,6 +93,3 @@ function Map({ slider, images }: MapProps) {
// })}
//
// );
-}
-
-export default Map;
diff --git a/src/Slider.tsx b/src/Slider.tsx
index 64edb99..4d287a2 100644
--- a/src/Slider.tsx
+++ b/src/Slider.tsx
@@ -10,7 +10,7 @@ interface GeshemSliderProps {
setSlider: React.Dispatch>
}
-function Slider({ playback, slider, setSlider }: GeshemSliderProps) {
+export function Slider({ playback, slider, setSlider }: GeshemSliderProps) {
const handleStyle = {
height: 40,
width: 40,
@@ -42,5 +42,3 @@ function Slider({ playback, slider, setSlider }: GeshemSliderProps) {
);
}
-
-export default Slider;
diff --git a/src/index.tsx b/src/index.tsx
index 8d5df82..353cebb 100644
--- a/src/index.tsx
+++ b/src/index.tsx
@@ -1,7 +1,7 @@
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
-import App from './Geshem';
+import { App } from './Geshem';
console.log()
--
cgit v1.3.1
From ea1670f6e05d22c516d364072b7dde9bf3ebb5ae Mon Sep 17 00:00:00 2001
From: Yuval Adam <_@yuv.al>
Date: Thu, 1 Sep 2022 11:18:13 +0300
Subject: Extract playback slots to config
---
src/Geshem.tsx | 7 ++++---
src/Slider.tsx | 3 ++-
src/config.tsx | 4 ++++
3 files changed, 10 insertions(+), 4 deletions(-)
(limited to 'src/Geshem.tsx')
diff --git a/src/Geshem.tsx b/src/Geshem.tsx
index 5210622..6e88f19 100644
--- a/src/Geshem.tsx
+++ b/src/Geshem.tsx
@@ -5,7 +5,7 @@ import { Map } from "./Map";
import { Slider } from "./Slider";
import { DateTime } from "./Datetime";
-import { IMAGES_BASE_URL } from "./config";
+import { IMAGES_BASE_URL, PLAYBACK_HOURS, PLAYBACK_SLOTS } from "./config";
import "./Geshem.css";
import "rc-slider/assets/index.css";
@@ -25,6 +25,7 @@ interface GeshemProps {
date?: string
}
+
export function Geshem({ date }: GeshemProps) {
const [images, setImages] = useState([]);
const [playback] = useState(
@@ -32,7 +33,7 @@ export function Geshem({ date }: GeshemProps) {
new URL(window.location.toString()).searchParams.get("history") ||
undefined
);
- const [slider, setSlider] = useState(playback ? 143 : 9);
+ const [slider, setSlider] = useState(playback ? PLAYBACK_SLOTS : 9);
useEffect(() => {
const fetchImages = async () =>
@@ -43,7 +44,7 @@ export function Geshem({ date }: GeshemProps) {
const buildPlayback = async () => {
const date = playback;
- const hours = Array.from(Array(24).keys()).map(
+ const hours = Array.from(Array(PLAYBACK_HOURS).keys()).map(
h => `${String(h).padStart(2, "0")}`
);
const minutes = Array.from(Array(6).keys()).map(
diff --git a/src/Slider.tsx b/src/Slider.tsx
index 4d287a2..50223fc 100644
--- a/src/Slider.tsx
+++ b/src/Slider.tsx
@@ -1,5 +1,6 @@
import React from "react";
import RcSlider, { SliderProps, SliderRef } from 'rc-slider/lib/Slider';
+import { PLAYBACK_SLOTS } from "./config";
// use workaround from: https://github.com/react-component/slider/issues/835#issuecomment-1201805736
const CustomSlider = RcSlider as React.ForwardRefExoticComponent & React.RefAttributes>;
@@ -32,7 +33,7 @@ export function Slider({ playback, slider, setSlider }: GeshemSliderProps) {