diff --git a/pocketbase/pb_data/data.db b/pocketbase/pb_data/data.db index 9e5cde3..1ea0596 100644 Binary files a/pocketbase/pb_data/data.db and b/pocketbase/pb_data/data.db differ diff --git a/pocketbase/pb_data/data.db-shm b/pocketbase/pb_data/data.db-shm deleted file mode 100644 index fe9ac28..0000000 Binary files a/pocketbase/pb_data/data.db-shm and /dev/null differ diff --git a/pocketbase/pb_data/data.db-wal b/pocketbase/pb_data/data.db-wal deleted file mode 100644 index e69de29..0000000 diff --git a/pocketbase/pb_data/logs.db b/pocketbase/pb_data/logs.db index 4cc1d61..1d8a31b 100644 Binary files a/pocketbase/pb_data/logs.db and b/pocketbase/pb_data/logs.db differ diff --git a/pocketbase/pb_data/logs.db-shm b/pocketbase/pb_data/logs.db-shm deleted file mode 100644 index 034c6a6..0000000 Binary files a/pocketbase/pb_data/logs.db-shm and /dev/null differ diff --git a/pocketbase/pb_data/logs.db-wal b/pocketbase/pb_data/logs.db-wal deleted file mode 100644 index 747c0a4..0000000 Binary files a/pocketbase/pb_data/logs.db-wal and /dev/null differ diff --git a/pocketbase/pb_migrations/1692982727_created_articles.js b/pocketbase/pb_migrations/1692982727_created_articles.js new file mode 100644 index 0000000..192f082 --- /dev/null +++ b/pocketbase/pb_migrations/1692982727_created_articles.js @@ -0,0 +1,55 @@ +/// +migrate((db) => { + const collection = new Collection({ + "id": "esuoxbzyb74u5de", + "created": "2023-08-25 16:58:47.470Z", + "updated": "2023-08-25 16:58:47.470Z", + "name": "articles", + "type": "base", + "system": false, + "schema": [ + { + "system": false, + "id": "73ayywzr", + "name": "title", + "type": "text", + "required": false, + "unique": false, + "options": { + "min": null, + "max": null, + "pattern": "" + } + }, + { + "system": false, + "id": "evdktwpq", + "name": "file", + "type": "file", + "required": false, + "unique": false, + "options": { + "maxSelect": 1, + "maxSize": 5242880, + "mimeTypes": [], + "thumbs": [], + "protected": false + } + } + ], + "indexes": [], + "listRule": null, + "viewRule": null, + "createRule": null, + "updateRule": null, + "deleteRule": null, + "options": {} + }); + + return Dao(db).saveCollection(collection); +}, (db) => { + const dao = new Dao(db); + const collection = dao.findCollectionByNameOrId("esuoxbzyb74u5de"); + + return dao.deleteCollection(collection); +}) diff --git a/website/app/(pages)/accupuncture/page.tsx b/website/app/(pages)/accupuncture/page.tsx new file mode 100644 index 0000000..7ea9cab --- /dev/null +++ b/website/app/(pages)/accupuncture/page.tsx @@ -0,0 +1,17 @@ +import AccuForDocs from "./views/AccuForDocs"; +import BasicsAndHist from "./views/BasicsAndHist"; +import EarAccupuncture from "./views/EarAccupuncture"; +import ScalpAccupuncture from "./views/ScalpAccupuncture"; + +const Accupuncture = () => { + return ( +
+ + + + +
+ ); +}; + +export default Accupuncture; diff --git a/website/app/(pages)/accupuncture/views/AccuForDocs.tsx b/website/app/(pages)/accupuncture/views/AccuForDocs.tsx new file mode 100644 index 0000000..936b840 --- /dev/null +++ b/website/app/(pages)/accupuncture/views/AccuForDocs.tsx @@ -0,0 +1,9 @@ +const AccuForDocs = () => { + return ( +
+ AccuForDocs +
+ ); +}; + +export default AccuForDocs; diff --git a/website/app/(pages)/accupuncture/views/BasicsAndHist.tsx b/website/app/(pages)/accupuncture/views/BasicsAndHist.tsx new file mode 100644 index 0000000..cae8510 --- /dev/null +++ b/website/app/(pages)/accupuncture/views/BasicsAndHist.tsx @@ -0,0 +1,9 @@ +const BasicsAndHist = () => { + return ( +
+ BasicsAndHist +
+ ); +}; + +export default BasicsAndHist; diff --git a/website/app/(pages)/accupuncture/views/EarAccupuncture.tsx b/website/app/(pages)/accupuncture/views/EarAccupuncture.tsx new file mode 100644 index 0000000..e3c42e1 --- /dev/null +++ b/website/app/(pages)/accupuncture/views/EarAccupuncture.tsx @@ -0,0 +1,9 @@ +const EarAccupuncture = () => { + return ( +
+ EarAccupuncture +
+ ); +}; + +export default EarAccupuncture; diff --git a/website/app/(pages)/accupuncture/views/ScalpAccupuncture.tsx b/website/app/(pages)/accupuncture/views/ScalpAccupuncture.tsx new file mode 100644 index 0000000..d5b77ad --- /dev/null +++ b/website/app/(pages)/accupuncture/views/ScalpAccupuncture.tsx @@ -0,0 +1,9 @@ +const ScalpAccupuncture = () => { + return ( +
+ ScalpAccupuncture +
+ ); +}; + +export default ScalpAccupuncture; diff --git a/website/app/(pages)/articles/page.tsx b/website/app/(pages)/articles/page.tsx new file mode 100644 index 0000000..4c741c7 --- /dev/null +++ b/website/app/(pages)/articles/page.tsx @@ -0,0 +1,13 @@ +import ArtsForDocs from "./views/ArtsForDocs"; +import ArtsForPatients from "./views/ArtsForPatients"; + +const Articles = () => { + return ( +
+ + +
+ ); +}; + +export default Articles; diff --git a/website/app/(pages)/articles/views/ArtsForDocs.tsx b/website/app/(pages)/articles/views/ArtsForDocs.tsx new file mode 100644 index 0000000..2effb11 --- /dev/null +++ b/website/app/(pages)/articles/views/ArtsForDocs.tsx @@ -0,0 +1,9 @@ +const ArtsForDocs = () => { + return ( +
+ ArtsForDocs +
+ ); +}; + +export default ArtsForDocs; diff --git a/website/app/(pages)/articles/views/ArtsForPatients.tsx b/website/app/(pages)/articles/views/ArtsForPatients.tsx new file mode 100644 index 0000000..b86241d --- /dev/null +++ b/website/app/(pages)/articles/views/ArtsForPatients.tsx @@ -0,0 +1,9 @@ +const ArtsForPatients = () => { + return ( +
+ ArtsForPatients +
+ ); +}; + +export default ArtsForPatients; diff --git a/website/app/(pages)/nor/page.tsx b/website/app/(pages)/nor/page.tsx new file mode 100644 index 0000000..4a678e4 --- /dev/null +++ b/website/app/(pages)/nor/page.tsx @@ -0,0 +1,15 @@ +import NOR from "./views/NOR"; +import NORArticles from "./views/NORArticles"; +import NORVideos from "./views/NORVideos"; + +const NeuroOcularRelease = () => { + return ( +
+ + + +
+ ); +}; + +export default NeuroOcularRelease; diff --git a/website/app/(pages)/nor/views/NOR.tsx b/website/app/(pages)/nor/views/NOR.tsx new file mode 100644 index 0000000..16524e1 --- /dev/null +++ b/website/app/(pages)/nor/views/NOR.tsx @@ -0,0 +1,9 @@ +const NOR = () => { + return ( +
+ NOR +
+ ); +}; + +export default NOR; diff --git a/website/app/(pages)/nor/views/NORArticles.tsx b/website/app/(pages)/nor/views/NORArticles.tsx new file mode 100644 index 0000000..177013b --- /dev/null +++ b/website/app/(pages)/nor/views/NORArticles.tsx @@ -0,0 +1,9 @@ +const NORArticles = () => { + return ( +
+ NORArticles +
+ ); +}; + +export default NORArticles; diff --git a/website/app/(pages)/nor/views/NORVideos.tsx b/website/app/(pages)/nor/views/NORVideos.tsx new file mode 100644 index 0000000..3573e3a --- /dev/null +++ b/website/app/(pages)/nor/views/NORVideos.tsx @@ -0,0 +1,9 @@ +const NORVideos = () => { + return ( +
+ NORVideos +
+ ); +}; + +export default NORVideos; diff --git a/website/app/(pages)/osteopathy/page.tsx b/website/app/(pages)/osteopathy/page.tsx new file mode 100644 index 0000000..a248d5b --- /dev/null +++ b/website/app/(pages)/osteopathy/page.tsx @@ -0,0 +1,15 @@ +import OsteoForDocs from "./views/OsteoForDocs"; +import PediatricCare from "./views/PediatricCare"; +import WhatIsOsteo from "./views/OsteoBasics"; + +const Osteopathy = () => { + return ( +
+ + + +
+ ); +}; + +export default Osteopathy; diff --git a/website/app/(pages)/osteopathy/views/OsteoBasics.tsx b/website/app/(pages)/osteopathy/views/OsteoBasics.tsx new file mode 100644 index 0000000..ae6aaa3 --- /dev/null +++ b/website/app/(pages)/osteopathy/views/OsteoBasics.tsx @@ -0,0 +1,9 @@ +const OsteoBasics = () => { + return ( +
+ OsteoBasics +
+ ); +}; + +export default OsteoBasics; diff --git a/website/app/(pages)/osteopathy/views/OsteoForDocs.tsx b/website/app/(pages)/osteopathy/views/OsteoForDocs.tsx new file mode 100644 index 0000000..b6164d5 --- /dev/null +++ b/website/app/(pages)/osteopathy/views/OsteoForDocs.tsx @@ -0,0 +1,9 @@ +const OsteoForDocs = () => { + return ( +
+ OsteoForDocs +
+ ); +}; + +export default OsteoForDocs; diff --git a/website/app/(pages)/osteopathy/views/PediatricCare.tsx b/website/app/(pages)/osteopathy/views/PediatricCare.tsx new file mode 100644 index 0000000..fb799aa --- /dev/null +++ b/website/app/(pages)/osteopathy/views/PediatricCare.tsx @@ -0,0 +1,9 @@ +const PediatricCare = () => { + return ( +
+ PediatricCare +
+ ); +}; + +export default PediatricCare; diff --git a/website/app/accupuncture/page.tsx b/website/app/accupuncture/page.tsx deleted file mode 100644 index 995a59e..0000000 --- a/website/app/accupuncture/page.tsx +++ /dev/null @@ -1,9 +0,0 @@ -const Accupuncture = () => { - return ( -
-
Accupuncture
-
- ); -}; - -export default Accupuncture; diff --git a/website/app/articles/page.tsx b/website/app/articles/page.tsx deleted file mode 100644 index 77b2c45..0000000 --- a/website/app/articles/page.tsx +++ /dev/null @@ -1,9 +0,0 @@ -const Articles = () => { - return ( -
-
Articles
-
- ); -}; - -export default Articles; diff --git a/website/app/globals.css b/website/app/globals.css index 024a0a4..8f621f6 100644 --- a/website/app/globals.css +++ b/website/app/globals.css @@ -1,4 +1,4 @@ -@import url(https://fonts.bunny.net/css?family=abel:400|cormorant:700|frank-ruhl-libre:300); +@import url(https://fonts.bunny.net/css?family=abel:400|cormorant:700); @tailwind base; @tailwind components; diff --git a/website/app/nor/page.tsx b/website/app/nor/page.tsx deleted file mode 100644 index 3aeba87..0000000 --- a/website/app/nor/page.tsx +++ /dev/null @@ -1,9 +0,0 @@ -const NeuroOcularRelease = () => { - return ( -
-
NeuroOcularRelease
-
- ); -}; - -export default NeuroOcularRelease; diff --git a/website/app/osteopathy/page.tsx b/website/app/osteopathy/page.tsx deleted file mode 100644 index 4fdffdf..0000000 --- a/website/app/osteopathy/page.tsx +++ /dev/null @@ -1,9 +0,0 @@ -const Osteopathy = () => { - return ( -
-
Osteopathy
-
- ); -}; - -export default Osteopathy; diff --git a/website/app/page.tsx b/website/app/page.tsx index 658737f..7cb0947 100644 --- a/website/app/page.tsx +++ b/website/app/page.tsx @@ -1,13 +1,9 @@ -import Accomplishments from "./views/Accomplishments"; -import ClinicalPhilosophy from "./views/ClinicalPhilosophy"; import Introduction from "./views/Introduction"; const Home = () => { return (
- -
); }; diff --git a/website/app/views/AcademicWork.tsx b/website/app/views/AcademicWork.tsx new file mode 100644 index 0000000..9107185 --- /dev/null +++ b/website/app/views/AcademicWork.tsx @@ -0,0 +1,9 @@ +const AcademicWork = () => { + return ( +
+ AcademicWork +
+ ); +}; + +export default AcademicWork; diff --git a/website/app/views/Accomplishments.tsx b/website/app/views/Accomplishments.tsx deleted file mode 100644 index a265fb3..0000000 --- a/website/app/views/Accomplishments.tsx +++ /dev/null @@ -1,190 +0,0 @@ -const Accomplishments = () => { - const cardClass = - " overflow-hidden border-style-double border-primary-500 border-2 bg-primary-100 rounded-md drop-shadow-sm flex items-center bg-opacity-75 "; - return ( -
-
-
-

- Not only a caring physician... -

-
-
-
-
-
-

Professional Experience

-
    -
  • - President of Feely Center for Optimal Health, his - private osteopathic practice. -
  • -
  • - President of{" "} - - OMMtests.com - {" "} - and{" "} - - TCMtests.com - - , test-prep sites for osteopathic doctors and - accupuncturists, respectively. -
  • -
  • - Registered Investment Adviser at Womack - Investment Advisers. -
  • -
  • - National Director of Quality Management at - American WholeHealth. -
  • -
-
-
-
-
- -
-
-
-
-

Board Certifications

-
    -
  • American Board of Medical Acupuncture
  • - -
  • - American Board of Independent Medical Examiners{" "} - {"(CIME)"} -
  • - -
  • - American Board of Quality Assurance and Utilization - Review Physicians -
  • - -
  • - American Osteopathic Board of Special Proficiency in - Manipulative Medicine -
  • - -
  • American Board of Osteopathic Family Practice
  • -
-
-
-
-
- -
-
-
-
-

Academic Appointments

-
    -
  • - - Clinical Associate Professor of Osteopathic - Manipulative Medicine. - {" "} - at Chicago College of Osteopathic Medicine/Midwestern - University Medicine. -
  • -
  • - Adjunct Associate Professor at Touro University, - A.T. Still University, and Western University. -
  • -
  • - Consultant to the World Health Organization for - integrative medicine. -
  • -
-
-
-
-
- -
-
-
3
-
books written
-
-
-
-
-
9
-
articles & abstracts
-
-
-
-
-
-
-
76
-
lectures given
-
-
-
-
-
-
-
-

- ...an{" "} - - accomplished professional. - -

-
-
-
-
-
- Feely Center Logo - Midwestern College Logo - OMM Logo - TCM Logo - Womack Logo -
-
- ); -}; - -export default Accomplishments; - -//

-// Richard is also widely known for his work in osteopathic -// manipulation, cranial osteopathy, and acupuncture. He is a -// sought-after lecturer, educator, and author. He has written about -// integrative medical treatments and has edited several prestigious -// medical journals, including{" "} -// -// Clinical Cranial Osteopathy: Selected Readings -// -// . -//

diff --git a/website/app/views/CertsAndFellows.tsx b/website/app/views/CertsAndFellows.tsx new file mode 100644 index 0000000..74a1252 --- /dev/null +++ b/website/app/views/CertsAndFellows.tsx @@ -0,0 +1,9 @@ +const CertsAndFellows = () => { + return ( +
+ CertsAndFellows +
+ ); +}; + +export default CertsAndFellows; diff --git a/website/app/views/ClinicalPhilosophy.tsx b/website/app/views/ClinicalPhilosophy.tsx deleted file mode 100644 index a2e85d7..0000000 --- a/website/app/views/ClinicalPhilosophy.tsx +++ /dev/null @@ -1,66 +0,0 @@ -const ClinicalPhilosophy = () => { - return ( -
-
-
-
-
-

- A unique approach to - medicine. -

-
-
-
-
- Picture of Dr. Feely -
-
-
-
-

- Dr. Richard Feely has served the Chicago area with high - quality medical care marked by a holistic approach. As a - specialist in osteopathic medicine, Dr. Feely views your - health in the context of your lifestyle and environment, - providing you with comprehensive care that has lasting - results. -

-
-
- -

- After an evaluation, Dr. Feely will give you access to every - health resource you need, enabling you to not only feel better - in the short term, but live a healthier lifestyle and acheive - optimal health. -

- -
-
-
-

- As an osteopathic physician, my education and philosophy - of care centers around treating the whole person. I don’t - look at or treat only the symptoms you may present with. I - consider everything about you and your life. -

-

- —Dr. Richard Feely -

-
-
-
-
-
-
-
-
- ); -}; - -export default ClinicalPhilosophy; diff --git a/website/app/views/EduAndProExp.tsx b/website/app/views/EduAndProExp.tsx new file mode 100644 index 0000000..3ca57e7 --- /dev/null +++ b/website/app/views/EduAndProExp.tsx @@ -0,0 +1,58 @@ +const EduAndProExp = () => { + return ( +
+
+
Education
+
+
Truman State University
+
B.S. - Zoology/Chemistry
+
+
+
+ A.T. Still University, Kirksville College of Osteopathic Medicine +
+
+ Doctor of Osteopathy, Pre-doctoral fellow in Osteopathic Theory and + Methods +
+
+
+
Davenport Osteopathic Hospital
+
Rotating Internship Training Program
+
+
+
+
Professional Experience
+
+
Feely Center for Optimal Health
+
2000-Present
+
President
+
+ A private osteopathic integrative medical practice with locations in + Chicago and Olympia Fields, IL +
+
+
+
TCMtests, LLC
+
2003-Present
+
Founder and President
+
+ The leading online board certification test prep site for + Acupuncturist and Oriental Medical Doctors +
+
+
+
+
2003-Present
+
Founder and President
+
+ The leading online board certification test prep site for + Acupuncturist and Oriental Medical Doctors +
+
+
+
+ ); +}; + +export default EduAndProExp; diff --git a/website/app/views/Introduction.tsx b/website/app/views/Introduction.tsx index e99e144..d2f0359 100644 --- a/website/app/views/Introduction.tsx +++ b/website/app/views/Introduction.tsx @@ -1,7 +1,17 @@ +"use client"; + +import Carousel from "@/components/Carousel"; +import { ChevronDoubleDownIcon } from "@heroicons/react/24/solid"; +import drFeelyPic from "@/public/dr_feely_headshot.png"; +import Image from "next/image"; + const Introduction = () => { return ( -
-
+
+
@@ -20,14 +30,23 @@ const Introduction = () => {

- Headshot of Dr. Feely
+
+ + + +
+
); }; diff --git a/website/components/Carousel.tsx b/website/components/Carousel.tsx new file mode 100644 index 0000000..d275914 --- /dev/null +++ b/website/components/Carousel.tsx @@ -0,0 +1,52 @@ +"use client"; + +import Image from "next/image"; +import chicagoPic from "@/public/homepage_carousel/chicago.jpg"; +import indianapolisPic from "@/public/homepage_carousel/indianapolis.webp"; +import naturePic from "@/public/homepage_carousel/nature.jpg"; +import { useEffect, useState } from "react"; +import { useTransition, animated } from "@react-spring/web"; + +interface Props { + className?: string; +} + +const Carousel = ({ className }: Props) => { + const [backgroundIndex, setBackgroundIndex] = useState(0); + const backgroundImages = [ + { image: chicagoPic, desc: "Chicago Skyline" }, + { image: indianapolisPic, desc: "Indianapolis Skyline" }, + { image: naturePic, desc: "Two women hiking in the mountains" }, + ]; + + useEffect(() => { + const interval = setInterval(() => { + setBackgroundIndex( + (prevIndex) => (prevIndex + 1) % backgroundImages.length + ); + }, 10000); + + return () => clearInterval(interval); + }, []); + + const transitions = useTransition(backgroundIndex, { + key: backgroundIndex, + from: { opacity: 0 }, + enter: { opacity: 0.25 }, + leave: { opacity: 0 }, + config: { duration: 2500 }, + exitBeforeEnter: true, + }); + + return transitions((style, item) => ( + + {backgroundImages[item].desc} + + )); +}; + +export default Carousel; diff --git a/website/components/Navbar/index.tsx b/website/components/Navbar/index.tsx index b698053..f9dd735 100644 --- a/website/components/Navbar/index.tsx +++ b/website/components/Navbar/index.tsx @@ -3,6 +3,9 @@ import { useEffect, useState } from "react"; import { Bars3Icon, XMarkIcon } from "@heroicons/react/24/solid"; import NavPages from "./NavPages"; +import logo from "@/public/logo.png"; +import logo_small from "@/public/logo_small.png"; +import Image from "next/image"; const Navbar = () => { const [currentPage, setCurrentPage] = useState("/"); @@ -24,24 +27,34 @@ const Navbar = () => { return (