diff --git a/src/assets/images/commen/empty.png b/src/assets/images/commen/empty.png new file mode 100644 index 0000000..dec7185 Binary files /dev/null and b/src/assets/images/commen/empty.png differ diff --git a/src/components/bar-footer/index.module.scss b/src/components/bar-footer/index.module.scss new file mode 100644 index 0000000..42605f1 --- /dev/null +++ b/src/components/bar-footer/index.module.scss @@ -0,0 +1,10 @@ +.footer { + position: fixed; + bottom: 0; + left: 0; + right: 0; + height: 55px; + box-shadow: 0px -1px 4px 0px rgba(0, 0, 0, 0.04); + background: #ffffff; + z-index: 100; +} diff --git a/src/components/bar-footer/index.tsx b/src/components/bar-footer/index.tsx new file mode 100644 index 0000000..e46e79c --- /dev/null +++ b/src/components/bar-footer/index.tsx @@ -0,0 +1,71 @@ +import React, { useState } from "react"; +import { NavBar, Badge, TabBar } from "antd-mobile"; +import styles from "./index.module.scss"; +import { Link, useNavigate, useLocation } from "react-router-dom"; + +export const TabBarFooter: React.FC = () => { + const navigate = useNavigate(); + const location = useLocation(); + const { pathname } = location; + + const tabs = [ + { + key: "/", + title: "首页", + icon: (active: boolean) => + active ? ( + + ) : ( + + ), + }, + { + key: "/study", + title: "学习", + icon: (active: boolean) => + active ? ( + + ) : ( + + ), + }, + { + key: "/member", + title: "我的", + icon: (active: boolean) => + active ? ( + + ) : ( + + ), + }, + ]; + + return ( +
+ navigate(value)}> + {tabs.map((item) => ( + + ))} + +
+ ); +}; diff --git a/src/components/footer/index.module.scss b/src/components/footer/index.module.scss new file mode 100644 index 0000000..bea2937 --- /dev/null +++ b/src/components/footer/index.module.scss @@ -0,0 +1,9 @@ +.footer-box { + width: 100%; + height: 12px; + font-size: 12px; + font-weight: 400; + color: rgba(0, 0, 0, 0.3); + line-height: 12px; + margin: 30px 0px; +} diff --git a/src/components/footer/index.tsx b/src/components/footer/index.tsx new file mode 100644 index 0000000..aad0e21 --- /dev/null +++ b/src/components/footer/index.tsx @@ -0,0 +1,11 @@ +import React from "react"; +import styles from "./index.module.scss"; +import { useSelector } from "react-redux"; + +export const Footer: React.FC = () => { + const systemConfig = useSelector((state: any) => state.systemConfig.value); + + return ( +
{systemConfig.pcIndexFooterMsg}
+ ); +}; diff --git a/src/components/index.ts b/src/components/index.ts index 07b8514..472a489 100644 --- a/src/components/index.ts +++ b/src/components/index.ts @@ -1 +1,3 @@ -export * from "./empty" \ No newline at end of file +export * from "./empty"; +export * from "./footer"; +export * from "./bar-footer"; diff --git a/src/main.scss b/src/main.scss index 0d6bebf..66c05e8 100644 --- a/src/main.scss +++ b/src/main.scss @@ -1,14 +1,16 @@ +@import "./assets/iconfont/iconfont.css"; + body { margin: 0; } code { - font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', + font-family: source-code-pro, Menlo, Monaco, Consolas, "Courier New", monospace; } :root { - --adm-color-primary: #FF4D4F; + --adm-color-primary: #ff4d4f !important; --adm-color-success: #00b578; --adm-color-warning: #ff8f1f; --adm-color-danger: #ff3141; @@ -24,7 +26,25 @@ code { --adm-font-size-main: var(--adm-font-size-5); - --adm-font-family: -apple-system, blinkmacsystemfont, 'Helvetica Neue', - helvetica, segoe ui, arial, roboto, 'PingFang SC', 'miui', - 'Hiragino Sans GB', 'Microsoft Yahei', sans-serif; + --adm-font-family: -apple-system, blinkmacsystemfont, "Helvetica Neue", + helvetica, segoe ui, arial, roboto, "PingFang SC", "miui", + "Hiragino Sans GB", "Microsoft Yahei", sans-serif; +} + +.adm-badge-wrapper { + height: 30px; +} + +.adm-tab-bar-item-title { + font-size: 11px; + font-weight: 400; + line-height: 11px; + margin-top: 4px; + color: rgba(0, 0, 0, 0.45); +} + +.adm-tab-bar-item-active { + .adm-tab-bar-item-title { + color: #ff4d4f !important; + } } diff --git a/src/pages/index/index.tsx b/src/pages/index/index.tsx index 8e125c3..5ff417a 100644 --- a/src/pages/index/index.tsx +++ b/src/pages/index/index.tsx @@ -2,6 +2,7 @@ import { useEffect, useState } from "react"; import { user } from "../../api/index"; import styles from "./index.module.scss"; import { useSelector } from "react-redux"; +import { Footer, TabBarFooter } from "../../components"; const IndexPage = () => { const systemConfig = useSelector((state: any) => state.systemConfig.value); @@ -20,7 +21,11 @@ const IndexPage = () => { return (
-
我是首页
+
+ 我是首页 +
+
+
); };