Date align #23
3
.prettierrc
Normal file
3
.prettierrc
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"trailingComma": "none"
|
||||||
|
}
|
||||||
@@ -14,7 +14,7 @@ const CalenderNav = (): JSX.Element => {
|
|||||||
const handleNavButtons = (direction: "next" | "prev") => {
|
const handleNavButtons = (direction: "next" | "prev") => {
|
||||||
if (direction === "next") {
|
if (direction === "next") {
|
||||||
const newMonth = add(selectedDate, {
|
const newMonth = add(selectedDate, {
|
||||||
months: 1,
|
months: 1
|
||||||
});
|
});
|
||||||
|
|
||||||
const year = format(newMonth, "y");
|
const year = format(newMonth, "y");
|
||||||
@@ -23,7 +23,7 @@ const CalenderNav = (): JSX.Element => {
|
|||||||
router.push(`/calendar/${year}/${month}`);
|
router.push(`/calendar/${year}/${month}`);
|
||||||
} else if (direction === "prev") {
|
} else if (direction === "prev") {
|
||||||
const newMonth = sub(selectedDate, {
|
const newMonth = sub(selectedDate, {
|
||||||
months: 1,
|
months: 1
|
||||||
});
|
});
|
||||||
|
|
||||||
const year = format(newMonth, "y");
|
const year = format(newMonth, "y");
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ import {
|
|||||||
PopoverContent,
|
PopoverContent,
|
||||||
PopoverHeader,
|
PopoverHeader,
|
||||||
PopoverTrigger,
|
PopoverTrigger,
|
||||||
VStack,
|
VStack
|
||||||
} from "@chakra-ui/react";
|
} from "@chakra-ui/react";
|
||||||
import {
|
import {
|
||||||
Formik,
|
Formik,
|
||||||
@@ -22,7 +22,7 @@ import {
|
|||||||
FormikProps,
|
FormikProps,
|
||||||
Form,
|
Form,
|
||||||
Field,
|
Field,
|
||||||
FieldProps,
|
FieldProps
|
||||||
} from "formik";
|
} from "formik";
|
||||||
import { format } from "date-fns";
|
import { format } from "date-fns";
|
||||||
import { CalenderContext } from "../../contexts/CalenderContext";
|
import { CalenderContext } from "../../contexts/CalenderContext";
|
||||||
@@ -57,7 +57,7 @@ const DatePicker = (): JSX.Element => {
|
|||||||
const date: UpdateCalendarProps = {
|
const date: UpdateCalendarProps = {
|
||||||
year: parseInt(dateArr[0]),
|
year: parseInt(dateArr[0]),
|
||||||
month: parseInt(dateArr[1]),
|
month: parseInt(dateArr[1]),
|
||||||
day: parseInt(dateArr[2]),
|
day: parseInt(dateArr[2])
|
||||||
};
|
};
|
||||||
|
|
||||||
if (!/^(19|20)\d{2}$/.test(`${date.year}`)) {
|
if (!/^(19|20)\d{2}$/.test(`${date.year}`)) {
|
||||||
@@ -97,7 +97,7 @@ const DatePicker = (): JSX.Element => {
|
|||||||
const date: UpdateCalendarProps = {
|
const date: UpdateCalendarProps = {
|
||||||
year: parseInt(dateArr[0]),
|
year: parseInt(dateArr[0]),
|
||||||
month: parseInt(dateArr[1]),
|
month: parseInt(dateArr[1]),
|
||||||
day: parseInt(dateArr[2]),
|
day: parseInt(dateArr[2])
|
||||||
};
|
};
|
||||||
|
|
||||||
return resolve(router.push(`/calendar/${date.year}/${date.month}`));
|
return resolve(router.push(`/calendar/${date.year}/${date.month}`));
|
||||||
@@ -116,15 +116,15 @@ const DatePicker = (): JSX.Element => {
|
|||||||
bg: "gray.900",
|
bg: "gray.900",
|
||||||
borderColor: "white",
|
borderColor: "white",
|
||||||
_placeholder: {
|
_placeholder: {
|
||||||
color: "white",
|
color: "white"
|
||||||
},
|
},
|
||||||
_focus: {
|
_focus: {
|
||||||
bg: "#000",
|
bg: "#000",
|
||||||
color: "#FFF",
|
color: "#FFF",
|
||||||
borderColor: "#63b3ed",
|
borderColor: "#63b3ed",
|
||||||
boxShadow: "0 0 0 1px #63b3ed",
|
boxShadow: "0 0 0 1px #63b3ed",
|
||||||
zIndex: "1",
|
zIndex: "1"
|
||||||
},
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const initRef = useRef();
|
const initRef = useRef();
|
||||||
@@ -148,7 +148,7 @@ const DatePicker = (): JSX.Element => {
|
|||||||
<PopoverBody textAlign="center">
|
<PopoverBody textAlign="center">
|
||||||
<Formik
|
<Formik
|
||||||
initialValues={{
|
initialValues={{
|
||||||
date: "",
|
date: ""
|
||||||
}}
|
}}
|
||||||
onSubmit={(data, actions) => {
|
onSubmit={(data, actions) => {
|
||||||
handleSubmit(data)
|
handleSubmit(data)
|
||||||
@@ -156,8 +156,8 @@ const DatePicker = (): JSX.Element => {
|
|||||||
actions.setSubmitting(false);
|
actions.setSubmitting(false);
|
||||||
actions.resetForm({
|
actions.resetForm({
|
||||||
values: {
|
values: {
|
||||||
date: "",
|
date: ""
|
||||||
},
|
}
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
.catch(() => {
|
.catch(() => {
|
||||||
@@ -169,7 +169,7 @@ const DatePicker = (): JSX.Element => {
|
|||||||
<Form
|
<Form
|
||||||
style={{
|
style={{
|
||||||
width: "100%",
|
width: "100%",
|
||||||
height: "auto",
|
height: "auto"
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<VStack
|
<VStack
|
||||||
@@ -223,8 +223,8 @@ const DatePicker = (): JSX.Element => {
|
|||||||
boxShadow: "0 0 0 1px #00c17c",
|
boxShadow: "0 0 0 1px #00c17c",
|
||||||
_hover: {
|
_hover: {
|
||||||
borderColor: "brand.valid",
|
borderColor: "brand.valid",
|
||||||
boxShadow: "0 0 0 1px #00c17c",
|
boxShadow: "0 0 0 1px #00c17c"
|
||||||
},
|
}
|
||||||
}
|
}
|
||||||
: "")}
|
: "")}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ interface FormValidateEmojiProps {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const FormValidateEmoji: FC<FormValidateEmojiProps> = ({
|
const FormValidateEmoji: FC<FormValidateEmojiProps> = ({
|
||||||
type,
|
type
|
||||||
}: FormValidateEmojiProps) => {
|
}: FormValidateEmojiProps) => {
|
||||||
interface Validations {
|
interface Validations {
|
||||||
[key: string]: JSX.Element;
|
[key: string]: JSX.Element;
|
||||||
@@ -26,7 +26,7 @@ const FormValidateEmoji: FC<FormValidateEmojiProps> = ({
|
|||||||
<span role="img" aria-label="Check">
|
<span role="img" aria-label="Check">
|
||||||
✔
|
✔
|
||||||
</span>
|
</span>
|
||||||
),
|
)
|
||||||
};
|
};
|
||||||
|
|
||||||
return validations[`${type}`];
|
return validations[`${type}`];
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ const Calender = (newDate?: UpdateCalendarProps): JSX.Element => {
|
|||||||
// Simulated user settings context
|
// Simulated user settings context
|
||||||
const userSettings = {
|
const userSettings = {
|
||||||
theme: "default",
|
theme: "default",
|
||||||
startOfWeek: "Sunday",
|
startOfWeek: "Sunday"
|
||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|||||||
@@ -68,7 +68,7 @@ interface CalenderContextState {
|
|||||||
const CalenderContext = createContext({} as CalenderContextState);
|
const CalenderContext = createContext({} as CalenderContextState);
|
||||||
|
|
||||||
const CalenderContextProvider = ({
|
const CalenderContextProvider = ({
|
||||||
children,
|
children
|
||||||
}: {
|
}: {
|
||||||
children: ReactNode;
|
children: ReactNode;
|
||||||
}): JSX.Element => {
|
}): JSX.Element => {
|
||||||
@@ -81,7 +81,7 @@ const CalenderContextProvider = ({
|
|||||||
3: "Wednesday",
|
3: "Wednesday",
|
||||||
4: "Thursday",
|
4: "Thursday",
|
||||||
5: "Friday",
|
5: "Friday",
|
||||||
6: "Saturday",
|
6: "Saturday"
|
||||||
},
|
},
|
||||||
Monday: {
|
Monday: {
|
||||||
0: "Monday",
|
0: "Monday",
|
||||||
@@ -90,9 +90,9 @@ const CalenderContextProvider = ({
|
|||||||
3: "Thursday",
|
3: "Thursday",
|
||||||
4: "Friday",
|
4: "Friday",
|
||||||
5: "Saturday",
|
5: "Saturday",
|
||||||
6: "Sunday",
|
6: "Sunday"
|
||||||
},
|
}
|
||||||
},
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// Selected month & year
|
// Selected month & year
|
||||||
@@ -157,7 +157,7 @@ const CalenderContextProvider = ({
|
|||||||
"Wednesday",
|
"Wednesday",
|
||||||
"Thursday",
|
"Thursday",
|
||||||
"Friday",
|
"Friday",
|
||||||
"Saturday",
|
"Saturday"
|
||||||
],
|
],
|
||||||
Monday: [
|
Monday: [
|
||||||
"Monday",
|
"Monday",
|
||||||
@@ -166,9 +166,9 @@ const CalenderContextProvider = ({
|
|||||||
"Thursday",
|
"Thursday",
|
||||||
"Friday",
|
"Friday",
|
||||||
"Saturday",
|
"Saturday",
|
||||||
"Sunday",
|
"Sunday"
|
||||||
],
|
]
|
||||||
},
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
//TODO: Create an object of arrays that will align with the days on the week. Make two sets for each start of the week setting.
|
//TODO: Create an object of arrays that will align with the days on the week. Make two sets for each start of the week setting.
|
||||||
@@ -193,7 +193,7 @@ const CalenderContextProvider = ({
|
|||||||
selectedDate,
|
selectedDate,
|
||||||
daysOfMonth,
|
daysOfMonth,
|
||||||
daysOfWeek,
|
daysOfWeek,
|
||||||
setDate,
|
setDate
|
||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import {
|
|||||||
sub,
|
sub,
|
||||||
set,
|
set,
|
||||||
isAfter,
|
isAfter,
|
||||||
isBefore,
|
isBefore
|
||||||
} from "date-fns";
|
} from "date-fns";
|
||||||
// TODO: import types
|
// TODO: import types
|
||||||
|
|
||||||
@@ -72,7 +72,7 @@ interface CalenderContextState {
|
|||||||
const NewCalenderContext = createContext({} as CalenderContextState);
|
const NewCalenderContext = createContext({} as CalenderContextState);
|
||||||
|
|
||||||
const NewCalenderContextProvider = ({
|
const NewCalenderContextProvider = ({
|
||||||
children,
|
children
|
||||||
}: {
|
}: {
|
||||||
children: ReactNode;
|
children: ReactNode;
|
||||||
}): JSX.Element => {
|
}): JSX.Element => {
|
||||||
@@ -85,7 +85,7 @@ const NewCalenderContextProvider = ({
|
|||||||
"Wednesday",
|
"Wednesday",
|
||||||
"Thursday",
|
"Thursday",
|
||||||
"Friday",
|
"Friday",
|
||||||
"Saturday",
|
"Saturday"
|
||||||
],
|
],
|
||||||
monday: [
|
monday: [
|
||||||
"Monday",
|
"Monday",
|
||||||
@@ -94,30 +94,9 @@ const NewCalenderContextProvider = ({
|
|||||||
"Thursday",
|
"Thursday",
|
||||||
"Friday",
|
"Friday",
|
||||||
"Saturday",
|
"Saturday",
|
||||||
"Sunday",
|
"Sunday"
|
||||||
],
|
]
|
||||||
},
|
}
|
||||||
};
|
|
||||||
|
|
||||||
const ISOToIndex = {
|
|
||||||
sunday: {
|
|
||||||
Sun: 0,
|
|
||||||
Mon: 1,
|
|
||||||
Tue: 2,
|
|
||||||
Wed: 3,
|
|
||||||
Thu: 4,
|
|
||||||
Fri: 5,
|
|
||||||
Sat: 6,
|
|
||||||
},
|
|
||||||
monday: {
|
|
||||||
Mon: -1,
|
|
||||||
Tue: 0,
|
|
||||||
Wed: 1,
|
|
||||||
Thu: 2,
|
|
||||||
Fri: 3,
|
|
||||||
Sat: 4,
|
|
||||||
Sun: 5,
|
|
||||||
},
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const [selectedDate, setSelectedMonth] = useState<Date>(new Date());
|
const [selectedDate, setSelectedMonth] = useState<Date>(new Date());
|
||||||
@@ -133,18 +112,18 @@ const NewCalenderContextProvider = ({
|
|||||||
prevMonth: {
|
prevMonth: {
|
||||||
date: prevMonth,
|
date: prevMonth,
|
||||||
endDay: getDate(endOfMonth(prevMonth)),
|
endDay: getDate(endOfMonth(prevMonth)),
|
||||||
days: getDate(endOfMonth(prevMonth)),
|
days: getDate(endOfMonth(prevMonth))
|
||||||
},
|
},
|
||||||
startOfWeek: {
|
startOfWeek: {
|
||||||
sunday: {
|
sunday: {
|
||||||
layout: weekDays.startOfWeek.sunday,
|
layout: weekDays.startOfWeek.sunday,
|
||||||
month: {} as Month,
|
month: {} as Month
|
||||||
},
|
},
|
||||||
monday: {
|
monday: {
|
||||||
layout: weekDays.startOfWeek.monday,
|
layout: weekDays.startOfWeek.monday,
|
||||||
month: {} as Month,
|
month: {} as Month
|
||||||
},
|
}
|
||||||
},
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
//TODO Add a function that will populate the "MONTH" layout for the context. It should take in the start of the week (Sunday, Monday) and output the appropriate layout based on that preference.
|
//TODO Add a function that will populate the "MONTH" layout for the context. It should take in the start of the week (Sunday, Monday) and output the appropriate layout based on that preference.
|
||||||
@@ -172,19 +151,40 @@ const NewCalenderContextProvider = ({
|
|||||||
): void => {
|
): void => {
|
||||||
const { endDay: endLastMonth } = prevMonth;
|
const { endDay: endLastMonth } = prevMonth;
|
||||||
|
|
||||||
|
const ISOToIndex = {
|
||||||
|
sunday: {
|
||||||
|
Sun: 0,
|
||||||
|
Mon: 1,
|
||||||
|
Tue: 2,
|
||||||
|
Wed: 3,
|
||||||
|
Thu: 4,
|
||||||
|
Fri: 5,
|
||||||
|
Sat: 6
|
||||||
|
},
|
||||||
|
monday: {
|
||||||
|
Mon: -1,
|
||||||
|
Tue: 0,
|
||||||
|
Wed: 1,
|
||||||
|
Thu: 2,
|
||||||
|
Fri: 3,
|
||||||
|
Sat: 4,
|
||||||
|
Sun: 5
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
const sundays = {
|
const sundays = {
|
||||||
week1: new Array(7).fill(null),
|
week1: new Array(7).fill(null),
|
||||||
week2: new Array(7).fill(null),
|
week2: new Array(7).fill(null),
|
||||||
week3: new Array(7).fill(null),
|
week3: new Array(7).fill(null),
|
||||||
week4: new Array(7).fill(null),
|
week4: new Array(7).fill(null),
|
||||||
week5: new Array(7).fill(null),
|
week5: new Array(7).fill(null),
|
||||||
week6: new Array(7).fill(null),
|
week6: new Array(7).fill(null)
|
||||||
};
|
};
|
||||||
|
|
||||||
const sunStartDay = endLastMonth - (ISOToIndex.sunday[startOfMonth] - 1);
|
const sunStartDay = endLastMonth - (ISOToIndex.sunday[startOfMonth] - 1);
|
||||||
|
|
||||||
let sunCurrDate = set(sub(selectedDate, { months: 1 }), {
|
let sunCurrDate = set(sub(selectedDate, { months: 1 }), {
|
||||||
date: sunStartDay,
|
date: sunStartDay
|
||||||
});
|
});
|
||||||
|
|
||||||
for (let week in sundays) {
|
for (let week in sundays) {
|
||||||
@@ -193,7 +193,7 @@ const NewCalenderContextProvider = ({
|
|||||||
thisWeek.forEach((e, i, a) => {
|
thisWeek.forEach((e, i, a) => {
|
||||||
const day = {
|
const day = {
|
||||||
isOverflow: isOverflow(selectedDate, sunCurrDate),
|
isOverflow: isOverflow(selectedDate, sunCurrDate),
|
||||||
date: sunCurrDate,
|
date: sunCurrDate
|
||||||
};
|
};
|
||||||
sunCurrDate = add(sunCurrDate, { days: 1 });
|
sunCurrDate = add(sunCurrDate, { days: 1 });
|
||||||
|
|
||||||
@@ -207,13 +207,13 @@ const NewCalenderContextProvider = ({
|
|||||||
week3: new Array(7).fill(null),
|
week3: new Array(7).fill(null),
|
||||||
week4: new Array(7).fill(null),
|
week4: new Array(7).fill(null),
|
||||||
week5: new Array(7).fill(null),
|
week5: new Array(7).fill(null),
|
||||||
week6: new Array(7).fill(null),
|
week6: new Array(7).fill(null)
|
||||||
};
|
};
|
||||||
|
|
||||||
const monStartDay = endLastMonth - ISOToIndex.monday[startOfMonth];
|
const monStartDay = endLastMonth - ISOToIndex.monday[startOfMonth];
|
||||||
|
|
||||||
let monCurrDate = set(sub(selectedDate, { months: 1 }), {
|
let monCurrDate = set(sub(selectedDate, { months: 1 }), {
|
||||||
date: monStartDay,
|
date: monStartDay
|
||||||
});
|
});
|
||||||
|
|
||||||
for (let week in mondays) {
|
for (let week in mondays) {
|
||||||
@@ -222,7 +222,7 @@ const NewCalenderContextProvider = ({
|
|||||||
thisWeek.forEach((e, i, a) => {
|
thisWeek.forEach((e, i, a) => {
|
||||||
const day = {
|
const day = {
|
||||||
isOverflow: isOverflow(selectedDate, monCurrDate),
|
isOverflow: isOverflow(selectedDate, monCurrDate),
|
||||||
date: monCurrDate,
|
date: monCurrDate
|
||||||
};
|
};
|
||||||
monCurrDate = add(monCurrDate, { days: 1 });
|
monCurrDate = add(monCurrDate, { days: 1 });
|
||||||
|
|
||||||
@@ -248,7 +248,7 @@ const NewCalenderContextProvider = ({
|
|||||||
//TODO: Add a useEffect that will trigger the update function(s) to run when the selected date is updated.
|
//TODO: Add a useEffect that will trigger the update function(s) to run when the selected date is updated.
|
||||||
|
|
||||||
const calenderContextValues = {
|
const calenderContextValues = {
|
||||||
selectedMonthInfo,
|
selectedMonthInfo
|
||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|||||||
@@ -22,14 +22,14 @@ const DateRoute: React.FC<unknown> = () => {
|
|||||||
return {
|
return {
|
||||||
year: 0,
|
year: 0,
|
||||||
month: 0,
|
month: 0,
|
||||||
day: 0,
|
day: 0
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
const date = {
|
const date = {
|
||||||
year: 0,
|
year: 0,
|
||||||
month: 0,
|
month: 0,
|
||||||
day: 0,
|
day: 0
|
||||||
};
|
};
|
||||||
|
|
||||||
if (/^(19|20)\d{2}$/.test(`${dateArr[0]}`)) {
|
if (/^(19|20)\d{2}$/.test(`${dateArr[0]}`)) {
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ const IndexPage = (): JSX.Element => {
|
|||||||
const date = useRef<UpdateCalendarProps>({
|
const date = useRef<UpdateCalendarProps>({
|
||||||
year: parseInt(format(new Date(), "y")),
|
year: parseInt(format(new Date(), "y")),
|
||||||
month: parseInt(format(new Date(), "M")),
|
month: parseInt(format(new Date(), "M")),
|
||||||
day: parseInt(format(new Date(), "d")),
|
day: parseInt(format(new Date(), "d"))
|
||||||
});
|
});
|
||||||
return (
|
return (
|
||||||
<Box textAlign="center" w="100%" h="auto" pt="50px" pb="10vh">
|
<Box textAlign="center" w="100%" h="auto" pt="50px" pb="10vh">
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import buttons from "./components/buttonStyles";
|
|||||||
|
|
||||||
const config: ThemeConfig = {
|
const config: ThemeConfig = {
|
||||||
initialColorMode: "dark",
|
initialColorMode: "dark",
|
||||||
useSystemColorMode: false,
|
useSystemColorMode: false
|
||||||
};
|
};
|
||||||
|
|
||||||
// const breakpoints = createBreakpoints({
|
// const breakpoints = createBreakpoints({
|
||||||
@@ -29,19 +29,19 @@ const AppTheme = extendTheme({
|
|||||||
footer: "#0097a7",
|
footer: "#0097a7",
|
||||||
footerText: "black",
|
footerText: "black",
|
||||||
content: "#2d3748",
|
content: "#2d3748",
|
||||||
patreon: "#FF424D",
|
patreon: "#FF424D"
|
||||||
},
|
}
|
||||||
},
|
},
|
||||||
styles: {
|
styles: {
|
||||||
global: {
|
global: {
|
||||||
body: {
|
body: {
|
||||||
bg: "gray.900",
|
bg: "gray.900"
|
||||||
},
|
}
|
||||||
},
|
}
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
Button: buttons,
|
Button: buttons
|
||||||
},
|
}
|
||||||
// breakpoints,
|
// breakpoints,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import {
|
|||||||
darken,
|
darken,
|
||||||
mode,
|
mode,
|
||||||
StyleFunctionProps,
|
StyleFunctionProps,
|
||||||
whiten,
|
whiten
|
||||||
} from "@chakra-ui/theme-tools";
|
} from "@chakra-ui/theme-tools";
|
||||||
import { Dict } from "@chakra-ui/utils";
|
import { Dict } from "@chakra-ui/utils";
|
||||||
|
|
||||||
@@ -22,8 +22,8 @@ const buttonStyles = {
|
|||||||
bg: mode(
|
bg: mode(
|
||||||
whiten("brand.primary", 20),
|
whiten("brand.primary", 20),
|
||||||
darken("brand.primary", 20)
|
darken("brand.primary", 20)
|
||||||
)(props),
|
)(props)
|
||||||
},
|
}
|
||||||
}),
|
}),
|
||||||
contactSecondary: (props: Dict<never> | StyleFunctionProps) => ({
|
contactSecondary: (props: Dict<never> | StyleFunctionProps) => ({
|
||||||
bg: "brand.primary",
|
bg: "brand.primary",
|
||||||
@@ -33,8 +33,8 @@ const buttonStyles = {
|
|||||||
bg: mode(
|
bg: mode(
|
||||||
whiten("brand.primary", 20),
|
whiten("brand.primary", 20),
|
||||||
darken("brand.primary", 20)
|
darken("brand.primary", 20)
|
||||||
)(props),
|
)(props)
|
||||||
},
|
}
|
||||||
}),
|
}),
|
||||||
project: (props: Dict<never> | StyleFunctionProps) => ({
|
project: (props: Dict<never> | StyleFunctionProps) => ({
|
||||||
bg: "transparent",
|
bg: "transparent",
|
||||||
@@ -50,8 +50,8 @@ const buttonStyles = {
|
|||||||
darken("brand.secondary", 20)
|
darken("brand.secondary", 20)
|
||||||
)(props),
|
)(props),
|
||||||
boxShadow:
|
boxShadow:
|
||||||
"rgba(0, 104, 255, 0.5) 0px 0px 15px, rgba(0, 104, 255, 0.3) 0px 0px 3px 1px",
|
"rgba(0, 104, 255, 0.5) 0px 0px 15px, rgba(0, 104, 255, 0.3) 0px 0px 3px 1px"
|
||||||
},
|
}
|
||||||
}),
|
}),
|
||||||
nav: (props: Dict<never> | StyleFunctionProps) => ({
|
nav: (props: Dict<never> | StyleFunctionProps) => ({
|
||||||
bg: "transparent",
|
bg: "transparent",
|
||||||
@@ -61,16 +61,16 @@ const buttonStyles = {
|
|||||||
bg: mode(
|
bg: mode(
|
||||||
whiten("brand.secondary", 20),
|
whiten("brand.secondary", 20),
|
||||||
darken("brand.secondary", 20)
|
darken("brand.secondary", 20)
|
||||||
)(props),
|
)(props)
|
||||||
},
|
}
|
||||||
}),
|
}),
|
||||||
stickyNav: (/* props: Dict<never> | StyleFunctionProps */) => ({
|
stickyNav: (/* props: Dict<never> | StyleFunctionProps */) => ({
|
||||||
bg: "transparent",
|
bg: "transparent",
|
||||||
fontSize: "md",
|
fontSize: "md",
|
||||||
px: "2",
|
px: "2",
|
||||||
_hover: {
|
_hover: {
|
||||||
textDecoration: "underline",
|
textDecoration: "underline"
|
||||||
},
|
}
|
||||||
}),
|
}),
|
||||||
credits: (props: Dict<never> | StyleFunctionProps) => ({
|
credits: (props: Dict<never> | StyleFunctionProps) => ({
|
||||||
bg: "brand.main",
|
bg: "brand.main",
|
||||||
@@ -78,8 +78,8 @@ const buttonStyles = {
|
|||||||
p: 3,
|
p: 3,
|
||||||
color: "whiteAlpha",
|
color: "whiteAlpha",
|
||||||
_hover: {
|
_hover: {
|
||||||
bg: mode(whiten("brand.main", 20), darken("brand.main", 20))(props),
|
bg: mode(whiten("brand.main", 20), darken("brand.main", 20))(props)
|
||||||
},
|
}
|
||||||
}),
|
}),
|
||||||
backToTop: (props: Dict<never> | StyleFunctionProps) => ({
|
backToTop: (props: Dict<never> | StyleFunctionProps) => ({
|
||||||
bg: "rgba(23, 25, 35, 0.5)",
|
bg: "rgba(23, 25, 35, 0.5)",
|
||||||
@@ -98,8 +98,8 @@ const buttonStyles = {
|
|||||||
boxShadow:
|
boxShadow:
|
||||||
"rgba(0, 104, 255, 0.5) 0px 0px 15px, rgba(0, 104, 255, 0.3) 0px 0px 3px 1px",
|
"rgba(0, 104, 255, 0.5) 0px 0px 15px, rgba(0, 104, 255, 0.3) 0px 0px 3px 1px",
|
||||||
color: "whiteAlpha.900",
|
color: "whiteAlpha.900",
|
||||||
border: "1px solid rgba(0, 134, 255, 1)",
|
border: "1px solid rgba(0, 134, 255, 1)"
|
||||||
},
|
}
|
||||||
}),
|
}),
|
||||||
collapse: (props: Dict<never> | StyleFunctionProps) => ({
|
collapse: (props: Dict<never> | StyleFunctionProps) => ({
|
||||||
bg: "transparent",
|
bg: "transparent",
|
||||||
@@ -114,8 +114,8 @@ const buttonStyles = {
|
|||||||
darken("brand.secondary", 20)
|
darken("brand.secondary", 20)
|
||||||
)(props),
|
)(props),
|
||||||
color: "whiteAlpha.900",
|
color: "whiteAlpha.900",
|
||||||
textDecoration: "none",
|
textDecoration: "none"
|
||||||
},
|
}
|
||||||
}),
|
}),
|
||||||
submit: (props: Dict<never> | StyleFunctionProps) => ({
|
submit: (props: Dict<never> | StyleFunctionProps) => ({
|
||||||
fontSize: "lg",
|
fontSize: "lg",
|
||||||
@@ -132,9 +132,9 @@ const buttonStyles = {
|
|||||||
)(props),
|
)(props),
|
||||||
boxShadow:
|
boxShadow:
|
||||||
"rgba(252, 129, 129, .95) 0px 0px 15px, rgba(252, 129, 129, 0.75) 0px 0px 3px 1px",
|
"rgba(252, 129, 129, .95) 0px 0px 15px, rgba(252, 129, 129, 0.75) 0px 0px 3px 1px",
|
||||||
border: "1px solid #FC8181",
|
border: "1px solid #FC8181"
|
||||||
},
|
}
|
||||||
},
|
}
|
||||||
}),
|
}),
|
||||||
mobileNav: (props: Dict<never> | StyleFunctionProps) => ({
|
mobileNav: (props: Dict<never> | StyleFunctionProps) => ({
|
||||||
// bg: "transparent",
|
// bg: "transparent",
|
||||||
@@ -148,14 +148,14 @@ const buttonStyles = {
|
|||||||
darken("brand.secondary", 20)
|
darken("brand.secondary", 20)
|
||||||
)(props),
|
)(props),
|
||||||
boxShadow:
|
boxShadow:
|
||||||
"rgba(0, 134, 255, 0.5) 0px 0px 15px, rgba(0, 134, 255, 0.3) 0px 0px 3px 1px",
|
"rgba(0, 134, 255, 0.5) 0px 0px 15px, rgba(0, 134, 255, 0.3) 0px 0px 3px 1px"
|
||||||
},
|
},
|
||||||
_expanded: {
|
_expanded: {
|
||||||
bg: "brand.primary",
|
bg: "brand.primary",
|
||||||
boxShadow:
|
boxShadow:
|
||||||
"rgba(0, 134, 255, 0.5) 0px 0px 15px, rgba(0, 134, 255, 0.3) 0px 0px 3px 1px",
|
"rgba(0, 134, 255, 0.5) 0px 0px 15px, rgba(0, 134, 255, 0.3) 0px 0px 3px 1px",
|
||||||
border: "1px solid #0068ff",
|
border: "1px solid #0068ff"
|
||||||
},
|
}
|
||||||
}),
|
}),
|
||||||
patreon: (props: Dict<never> | StyleFunctionProps) => ({
|
patreon: (props: Dict<never> | StyleFunctionProps) => ({
|
||||||
bg: "brand.patreon",
|
bg: "brand.patreon",
|
||||||
@@ -166,12 +166,12 @@ const buttonStyles = {
|
|||||||
bg: mode(
|
bg: mode(
|
||||||
whiten("brand.patreon", 20),
|
whiten("brand.patreon", 20),
|
||||||
darken("brand.patreon", 20)
|
darken("brand.patreon", 20)
|
||||||
)(props),
|
)(props)
|
||||||
},
|
}
|
||||||
}),
|
})
|
||||||
},
|
},
|
||||||
// default values for `size` and `variant`
|
// default values for `size` and `variant`
|
||||||
defaultProps: {},
|
defaultProps: {}
|
||||||
};
|
};
|
||||||
|
|
||||||
export default buttonStyles;
|
export default buttonStyles;
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ interface BackToTopButtonProps {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const BackToTopButton: FC<BackToTopButtonProps> = ({
|
const BackToTopButton: FC<BackToTopButtonProps> = ({
|
||||||
show,
|
show
|
||||||
}: BackToTopButtonProps) => {
|
}: BackToTopButtonProps) => {
|
||||||
return (
|
return (
|
||||||
<Flex
|
<Flex
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import {
|
|||||||
HStack,
|
HStack,
|
||||||
// Image,
|
// Image,
|
||||||
Button,
|
Button,
|
||||||
BoxProps,
|
BoxProps
|
||||||
} from "@chakra-ui/react";
|
} from "@chakra-ui/react";
|
||||||
import { Icon } from "@iconify/react";
|
import { Icon } from "@iconify/react";
|
||||||
// import BackToTopButton from "./BackToTopButton";
|
// import BackToTopButton from "./BackToTopButton";
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import {
|
|||||||
Box,
|
Box,
|
||||||
IconButton,
|
IconButton,
|
||||||
Menu,
|
Menu,
|
||||||
MenuButton,
|
MenuButton
|
||||||
} from "@chakra-ui/react";
|
} from "@chakra-ui/react";
|
||||||
import { Icon } from "@iconify/react";
|
import { Icon } from "@iconify/react";
|
||||||
import DesktopNav from "./DesktopNav";
|
import DesktopNav from "./DesktopNav";
|
||||||
@@ -54,7 +54,7 @@ const Header = (): JSX.Element => {
|
|||||||
const iconType = {
|
const iconType = {
|
||||||
default: <Icon icon="bx:bx-menu-alt-right" />,
|
default: <Icon icon="bx:bx-menu-alt-right" />,
|
||||||
hover: <Icon icon="bx:bx-menu" />,
|
hover: <Icon icon="bx:bx-menu" />,
|
||||||
open: <Icon icon="bx:bx-x" />,
|
open: <Icon icon="bx:bx-x" />
|
||||||
};
|
};
|
||||||
|
|
||||||
if (open) {
|
if (open) {
|
||||||
@@ -91,7 +91,7 @@ const Header = (): JSX.Element => {
|
|||||||
bg: "brand.main",
|
bg: "brand.main",
|
||||||
boxShadow: open
|
boxShadow: open
|
||||||
? "none"
|
? "none"
|
||||||
: "rgba(0, 134, 255, 0.9) 0px 0px 15px, rgba(0, 134, 255, 0.7) 0px 0px 3px 1px",
|
: "rgba(0, 134, 255, 0.9) 0px 0px 15px, rgba(0, 134, 255, 0.7) 0px 0px 3px 1px"
|
||||||
}}
|
}}
|
||||||
h={open ? "125px" : "auto"}
|
h={open ? "125px" : "auto"}
|
||||||
>
|
>
|
||||||
@@ -107,7 +107,7 @@ const Header = (): JSX.Element => {
|
|||||||
d={{ base: "flex", lg: "none" }}
|
d={{ base: "flex", lg: "none" }}
|
||||||
spacing="5px"
|
spacing="5px"
|
||||||
_hover={{
|
_hover={{
|
||||||
cursor: "default",
|
cursor: "default"
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<Heading as="h1" size="md">
|
<Heading as="h1" size="md">
|
||||||
@@ -140,7 +140,7 @@ const Header = (): JSX.Element => {
|
|||||||
height="auto"
|
height="auto"
|
||||||
spacing="5px"
|
spacing="5px"
|
||||||
_hover={{
|
_hover={{
|
||||||
cursor: "default",
|
cursor: "default"
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<Heading as="h1" size="md">
|
<Heading as="h1" size="md">
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import {
|
|||||||
Link,
|
Link,
|
||||||
MenuDivider,
|
MenuDivider,
|
||||||
MenuItem,
|
MenuItem,
|
||||||
MenuList,
|
MenuList
|
||||||
} from "@chakra-ui/react";
|
} from "@chakra-ui/react";
|
||||||
import navItems, { NavItem } from "./navItems";
|
import navItems, { NavItem } from "./navItems";
|
||||||
|
|
||||||
@@ -33,10 +33,10 @@ const MobileNav: FC<MobileNavProps> = ({ updateOpen }: MobileNavProps) => {
|
|||||||
h="auto"
|
h="auto"
|
||||||
p={0}
|
p={0}
|
||||||
_hover={{
|
_hover={{
|
||||||
backgroundColor: "none",
|
backgroundColor: "none"
|
||||||
}}
|
}}
|
||||||
_focus={{
|
_focus={{
|
||||||
backgroundColor: "none",
|
backgroundColor: "none"
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<Link onClick={() => updateOpen(false)} href={navItem[1]}>
|
<Link onClick={() => updateOpen(false)} href={navItem[1]}>
|
||||||
|
|||||||
Reference in New Issue
Block a user