create-bdpamke-react-scaffold 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +62 -0
  3. package/bin/create-bdpamke-react-scaffold.js +101 -0
  4. package/package.json +39 -0
  5. package/template/.env.example +6 -0
  6. package/template/FUNCTIONS_EXAMPLES.md +480 -0
  7. package/template/HOWTOadd a page.md +166 -0
  8. package/template/REACT_PROPS_USEEFFECT.md +210 -0
  9. package/template/REGISTRATION_FLOW.md +268 -0
  10. package/template/USESTATE_EXAMPLES.md +451 -0
  11. package/template/components.json +20 -0
  12. package/template/index.html +13 -0
  13. package/template/jsconfig.json +19 -0
  14. package/template/package-lock.json +5988 -0
  15. package/template/package.json +73 -0
  16. package/template/postcss.config.cjs +6 -0
  17. package/template/public/images/BDPA_edited.png +0 -0
  18. package/template/server/server.js +86 -0
  19. package/template/server/utils/apiClient.js +59 -0
  20. package/template/server/utils/password.js +60 -0
  21. package/template/src/App.jsx +10 -0
  22. package/template/src/components/layout/Container.jsx +7 -0
  23. package/template/src/components/layout/Section.jsx +7 -0
  24. package/template/src/components/ui/accordion.jsx +41 -0
  25. package/template/src/components/ui/alert-dialog.jsx +99 -0
  26. package/template/src/components/ui/alert.jsx +47 -0
  27. package/template/src/components/ui/aspect-ratio.jsx +5 -0
  28. package/template/src/components/ui/avatar.jsx +35 -0
  29. package/template/src/components/ui/badge.jsx +34 -0
  30. package/template/src/components/ui/button.jsx +47 -0
  31. package/template/src/components/ui/calendar.jsx +173 -0
  32. package/template/src/components/ui/card.jsx +50 -0
  33. package/template/src/components/ui/carousel.jsx +194 -0
  34. package/template/src/components/ui/checkbox.jsx +22 -0
  35. package/template/src/components/ui/collapsible.jsx +11 -0
  36. package/template/src/components/ui/command.jsx +116 -0
  37. package/template/src/components/ui/dialog.jsx +94 -0
  38. package/template/src/components/ui/drawer.jsx +92 -0
  39. package/template/src/components/ui/dropdown-menu.jsx +155 -0
  40. package/template/src/components/ui/form.jsx +138 -0
  41. package/template/src/components/ui/hover-card.jsx +25 -0
  42. package/template/src/components/ui/icons.jsx +81 -0
  43. package/template/src/components/ui/input.jsx +19 -0
  44. package/template/src/components/ui/label.jsx +16 -0
  45. package/template/src/components/ui/menubar.jsx +200 -0
  46. package/template/src/components/ui/navigation-menu.jsx +104 -0
  47. package/template/src/components/ui/popover.jsx +25 -0
  48. package/template/src/components/ui/progress.jsx +20 -0
  49. package/template/src/components/ui/radio-group.jsx +29 -0
  50. package/template/src/components/ui/scroll-area.jsx +40 -0
  51. package/template/src/components/ui/select.jsx +120 -0
  52. package/template/src/components/ui/separator.jsx +25 -0
  53. package/template/src/components/ui/sheet.jsx +108 -0
  54. package/template/src/components/ui/skeleton.jsx +10 -0
  55. package/template/src/components/ui/slider.jsx +23 -0
  56. package/template/src/components/ui/sonner.jsx +42 -0
  57. package/template/src/components/ui/switch.jsx +24 -0
  58. package/template/src/components/ui/table.jsx +83 -0
  59. package/template/src/components/ui/tabs.jsx +41 -0
  60. package/template/src/components/ui/textarea.jsx +18 -0
  61. package/template/src/components/ui/toast.jsx +82 -0
  62. package/template/src/components/ui/toaster.jsx +33 -0
  63. package/template/src/components/ui/toggle.jsx +40 -0
  64. package/template/src/components/ui/tooltip.jsx +24 -0
  65. package/template/src/hooks/use-toast.js +155 -0
  66. package/template/src/index.css +61 -0
  67. package/template/src/index.js +6 -0
  68. package/template/src/lib/utils.js +11 -0
  69. package/template/src/main.jsx +15 -0
  70. package/template/src/pages/Home.jsx +26 -0
  71. package/template/tailwind.config.cjs +76 -0
  72. package/template/vite.config.mts +22 -0
@@ -0,0 +1,26 @@
1
+ import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
2
+
3
+ export default function Home() {
4
+ return (
5
+ <main className="min-h-screen bg-slate-50 px-6 py-16">
6
+ <div className="mx-auto flex max-w-3xl items-center justify-center">
7
+ <Card className="w-full border-slate-200 shadow-sm">
8
+ <CardHeader className="space-y-4 text-center">
9
+ <img src="/images/BDPA_edited.png" alt="BDPA Logo" className="mx-auto h-24 w-auto" />
10
+ <CardTitle className="text-3xl font-bold text-slate-900">
11
+ Welcome to BDPA
12
+ </CardTitle>
13
+ </CardHeader>
14
+ <CardContent className="space-y-4 text-center text-slate-600">
15
+ <p>
16
+ This is the starter home page for the BDPA React scaffold.
17
+ </p>
18
+ <p>
19
+ Your app is set up and ready for you to build from here.
20
+ </p>
21
+ </CardContent>
22
+ </Card>
23
+ </div>
24
+ </main>
25
+ );
26
+ }
@@ -0,0 +1,76 @@
1
+ module.exports = {
2
+ darkMode: ["class"],
3
+ content: [
4
+ "./index.html",
5
+ "./src/**/*.{js,jsx,ts,tsx}"
6
+ ],
7
+ theme: {
8
+ extend: {
9
+ colors: {
10
+ milwaukeeBlue: '#2563eb',
11
+ milwaukeeGold: '#fbbf24',
12
+ border: 'hsl(var(--border))',
13
+ input: 'hsl(var(--input))',
14
+ ring: 'hsl(var(--ring))',
15
+ background: 'hsl(var(--background))',
16
+ foreground: 'hsl(var(--foreground))',
17
+ primary: {
18
+ DEFAULT: 'hsl(var(--primary))',
19
+ foreground: 'hsl(var(--primary-foreground))'
20
+ },
21
+ secondary: {
22
+ DEFAULT: 'hsl(var(--secondary))',
23
+ foreground: 'hsl(var(--secondary-foreground))'
24
+ },
25
+ destructive: {
26
+ DEFAULT: 'hsl(var(--destructive))',
27
+ foreground: 'hsl(var(--destructive-foreground))'
28
+ },
29
+ muted: {
30
+ DEFAULT: 'hsl(var(--muted))',
31
+ foreground: 'hsl(var(--muted-foreground))'
32
+ },
33
+ accent: {
34
+ DEFAULT: 'hsl(var(--accent))',
35
+ foreground: 'hsl(var(--accent-foreground))'
36
+ },
37
+ popover: {
38
+ DEFAULT: 'hsl(var(--popover))',
39
+ foreground: 'hsl(var(--popover-foreground))'
40
+ },
41
+ card: {
42
+ DEFAULT: 'hsl(var(--card))',
43
+ foreground: 'hsl(var(--card-foreground))'
44
+ }
45
+ },
46
+ borderRadius: {
47
+ lg: 'var(--radius)',
48
+ md: 'calc(var(--radius) - 2px)',
49
+ sm: 'calc(var(--radius) - 4px)'
50
+ },
51
+ keyframes: {
52
+ 'accordion-down': {
53
+ from: {
54
+ height: '0'
55
+ },
56
+ to: {
57
+ height: 'var(--radix-accordion-content-height)'
58
+ }
59
+ },
60
+ 'accordion-up': {
61
+ from: {
62
+ height: 'var(--radix-accordion-content-height)'
63
+ },
64
+ to: {
65
+ height: '0'
66
+ }
67
+ }
68
+ },
69
+ animation: {
70
+ 'accordion-down': 'accordion-down 0.2s ease-out',
71
+ 'accordion-up': 'accordion-up 0.2s ease-out'
72
+ }
73
+ }
74
+ },
75
+ plugins: [require("tailwindcss-animate")]
76
+ };
@@ -0,0 +1,22 @@
1
+ import { defineConfig } from "vite";
2
+ import react from "@vitejs/plugin-react-swc";
3
+ import path from "path";
4
+
5
+ export default defineConfig({
6
+ plugins: [react()],
7
+ resolve: {
8
+ alias: {
9
+ "@": path.resolve(__dirname, "./src"),
10
+ },
11
+ },
12
+ server: {
13
+ host: true,
14
+ port: 3000,
15
+ proxy: {
16
+ "/api": {
17
+ target: "http://localhost:5000",
18
+ changeOrigin: true,
19
+ },
20
+ },
21
+ },
22
+ });