create-plasmic-app 0.0.143 → 0.0.144
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.
- package/cpa-out/gatsby-codegen-js/package.json +2 -2
- package/cpa-out/gatsby-codegen-js/plasmic.json +2 -2
- package/cpa-out/gatsby-codegen-js/src/components/plasmic/create_plasmic_app/PlasmicButton.jsx +1 -0
- package/cpa-out/gatsby-codegen-js/src/components/plasmic/create_plasmic_app/PlasmicDynamicPage.jsx +1 -0
- package/cpa-out/gatsby-codegen-js/src/components/plasmic/create_plasmic_app/PlasmicHomepage.jsx +7 -2
- package/cpa-out/gatsby-codegen-ts/package.json +2 -2
- package/cpa-out/gatsby-codegen-ts/plasmic.json +2 -2
- package/cpa-out/gatsby-codegen-ts/src/components/plasmic/create_plasmic_app/PlasmicButton.tsx +1 -0
- package/cpa-out/gatsby-codegen-ts/src/components/plasmic/create_plasmic_app/PlasmicDynamicPage.tsx +1 -0
- package/cpa-out/gatsby-codegen-ts/src/components/plasmic/create_plasmic_app/PlasmicHomepage.tsx +7 -2
- package/cpa-out/gatsby-loader-js/package.json +1 -1
- package/cpa-out/gatsby-loader-ts/package.json +1 -1
- package/cpa-out/nextjs-app-codegen-js/app/dynamic/[slug]/page.jsx +11 -3
- package/cpa-out/nextjs-app-codegen-js/app/layout.jsx +3 -4
- package/cpa-out/nextjs-app-codegen-js/app/page.jsx +4 -3
- package/cpa-out/nextjs-app-codegen-js/components/plasmic/create_plasmic_app/PlasmicButton.jsx +1 -0
- package/cpa-out/nextjs-app-codegen-js/components/plasmic/create_plasmic_app/PlasmicDynamicPage.jsx +1 -0
- package/cpa-out/nextjs-app-codegen-js/components/plasmic/create_plasmic_app/PlasmicDynamicPageServer.jsx +1 -1
- package/cpa-out/nextjs-app-codegen-js/components/plasmic/create_plasmic_app/PlasmicHomepage.jsx +7 -2
- package/cpa-out/nextjs-app-codegen-js/components/plasmic/create_plasmic_app/PlasmicHomepageServer.jsx +1 -1
- package/cpa-out/nextjs-app-codegen-js/package.json +2 -2
- package/cpa-out/nextjs-app-codegen-js/plasmic-init-client.jsx +0 -1
- package/cpa-out/nextjs-app-codegen-js/plasmic.json +2 -2
- package/cpa-out/nextjs-app-codegen-ts/app/dynamic/[slug]/page.tsx +12 -4
- package/cpa-out/nextjs-app-codegen-ts/app/layout.tsx +3 -4
- package/cpa-out/nextjs-app-codegen-ts/app/page.tsx +4 -4
- package/cpa-out/nextjs-app-codegen-ts/components/plasmic/create_plasmic_app/PlasmicButton.tsx +1 -0
- package/cpa-out/nextjs-app-codegen-ts/components/plasmic/create_plasmic_app/PlasmicDynamicPage.tsx +1 -0
- package/cpa-out/nextjs-app-codegen-ts/components/plasmic/create_plasmic_app/PlasmicDynamicPageServer.tsx +1 -1
- package/cpa-out/nextjs-app-codegen-ts/components/plasmic/create_plasmic_app/PlasmicHomepage.tsx +7 -2
- package/cpa-out/nextjs-app-codegen-ts/components/plasmic/create_plasmic_app/PlasmicHomepageServer.tsx +1 -1
- package/cpa-out/nextjs-app-codegen-ts/package.json +2 -2
- package/cpa-out/nextjs-app-codegen-ts/plasmic-init-client.tsx +1 -1
- package/cpa-out/nextjs-app-codegen-ts/plasmic.json +2 -2
- package/cpa-out/nextjs-app-loader-js/package.json +1 -1
- package/cpa-out/nextjs-app-loader-js/plasmic-init.js +5 -0
- package/cpa-out/nextjs-app-loader-ts/package.json +1 -1
- package/cpa-out/nextjs-app-loader-ts/plasmic-init.ts +5 -0
- package/cpa-out/nextjs-pages-codegen-js/components/plasmic/create_plasmic_app/PlasmicButton.jsx +1 -0
- package/cpa-out/nextjs-pages-codegen-js/components/plasmic/create_plasmic_app/PlasmicDynamicPage.jsx +1 -0
- package/cpa-out/nextjs-pages-codegen-js/components/plasmic/create_plasmic_app/PlasmicHomepage.jsx +7 -2
- package/cpa-out/nextjs-pages-codegen-js/package.json +2 -2
- package/cpa-out/nextjs-pages-codegen-js/plasmic.json +2 -2
- package/cpa-out/nextjs-pages-codegen-ts/components/plasmic/create_plasmic_app/PlasmicButton.tsx +1 -0
- package/cpa-out/nextjs-pages-codegen-ts/components/plasmic/create_plasmic_app/PlasmicDynamicPage.tsx +1 -0
- package/cpa-out/nextjs-pages-codegen-ts/components/plasmic/create_plasmic_app/PlasmicHomepage.tsx +7 -2
- package/cpa-out/nextjs-pages-codegen-ts/package.json +2 -2
- package/cpa-out/nextjs-pages-codegen-ts/plasmic.json +2 -2
- package/cpa-out/nextjs-pages-loader-js/package.json +1 -1
- package/cpa-out/nextjs-pages-loader-ts/package.json +1 -1
- package/cpa-out/react-codegen-js/package.json +2 -2
- package/cpa-out/react-codegen-js/plasmic.json +2 -2
- package/cpa-out/react-codegen-ts/package.json +2 -2
- package/cpa-out/react-codegen-ts/plasmic.json +2 -2
- package/cpa-out/tanstack-codegen-ts/package.json +7 -8
- package/cpa-out/tanstack-codegen-ts/plasmic.json +2 -2
- package/cpa-out/tanstack-codegen-ts/src/components/plasmic/create_plasmic_app/PlasmicButton.tsx +1 -5
- package/cpa-out/tanstack-codegen-ts/src/components/plasmic/create_plasmic_app/PlasmicDynamicPage.tsx +1 -2
- package/cpa-out/tanstack-codegen-ts/src/components/plasmic/create_plasmic_app/PlasmicHomepage.tsx +7 -5
- package/cpa-out/tanstack-codegen-ts/src/components/plasmic/create_plasmic_app/PlasmicStyleTokensProvider.tsx +2 -0
- package/cpa-out/tanstack-codegen-ts/src/router.tsx +0 -1
- package/cpa-out/tanstack-codegen-ts/tsconfig.json +0 -1
- package/cpa-out/tanstack-codegen-ts/vite.config.ts +1 -2
- package/dist/nextjs/nextjs.js +2 -0
- package/dist/nextjs/templates/app-codegen/plasmic-init-client.js +1 -2
- package/dist/tanstack/tanstack.js +11 -1
- package/package.json +2 -2
- package/src/nextjs/nextjs.ts +3 -0
- package/src/nextjs/templates/app-codegen/plasmic-init-client.ts +4 -2
- package/src/tanstack/tanstack.ts +11 -1
- package/cpa-out/nextjs-app-codegen-js/app/layout.js +0 -28
- package/cpa-out/tanstack-codegen-ts/src/components/Footer.tsx +0 -44
- package/cpa-out/tanstack-codegen-ts/src/components/Header.tsx +0 -78
- package/cpa-out/tanstack-codegen-ts/src/components/ThemeToggle.tsx +0 -81
- /package/cpa-out/gatsby-codegen-js/src/components/plasmic/create_plasmic_app/icons/{PlasmicIcon__Checksvg.jsx → PlasmicIcon__CheckSvg.jsx} +0 -0
- /package/cpa-out/gatsby-codegen-ts/src/components/plasmic/create_plasmic_app/icons/{PlasmicIcon__Checksvg.tsx → PlasmicIcon__CheckSvg.tsx} +0 -0
- /package/cpa-out/nextjs-pages-codegen-js/components/plasmic/create_plasmic_app/icons/{PlasmicIcon__Checksvg.jsx → PlasmicIcon__CheckSvg.jsx} +0 -0
- /package/cpa-out/nextjs-pages-codegen-ts/components/plasmic/create_plasmic_app/icons/{PlasmicIcon__Checksvg.tsx → PlasmicIcon__CheckSvg.tsx} +0 -0
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import { useEffect, useState } from 'react'
|
|
2
|
-
|
|
3
|
-
type ThemeMode = 'light' | 'dark' | 'auto'
|
|
4
|
-
|
|
5
|
-
function getInitialMode(): ThemeMode {
|
|
6
|
-
if (typeof window === 'undefined') {
|
|
7
|
-
return 'auto'
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
const stored = window.localStorage.getItem('theme')
|
|
11
|
-
if (stored === 'light' || stored === 'dark' || stored === 'auto') {
|
|
12
|
-
return stored
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
return 'auto'
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
function applyThemeMode(mode: ThemeMode) {
|
|
19
|
-
const prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches
|
|
20
|
-
const resolved = mode === 'auto' ? (prefersDark ? 'dark' : 'light') : mode
|
|
21
|
-
|
|
22
|
-
document.documentElement.classList.remove('light', 'dark')
|
|
23
|
-
document.documentElement.classList.add(resolved)
|
|
24
|
-
|
|
25
|
-
if (mode === 'auto') {
|
|
26
|
-
document.documentElement.removeAttribute('data-theme')
|
|
27
|
-
} else {
|
|
28
|
-
document.documentElement.setAttribute('data-theme', mode)
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
document.documentElement.style.colorScheme = resolved
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
export default function ThemeToggle() {
|
|
35
|
-
const [mode, setMode] = useState<ThemeMode>('auto')
|
|
36
|
-
|
|
37
|
-
useEffect(() => {
|
|
38
|
-
const initialMode = getInitialMode()
|
|
39
|
-
setMode(initialMode)
|
|
40
|
-
applyThemeMode(initialMode)
|
|
41
|
-
}, [])
|
|
42
|
-
|
|
43
|
-
useEffect(() => {
|
|
44
|
-
if (mode !== 'auto') {
|
|
45
|
-
return
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
const media = window.matchMedia('(prefers-color-scheme: dark)')
|
|
49
|
-
const onChange = () => applyThemeMode('auto')
|
|
50
|
-
|
|
51
|
-
media.addEventListener('change', onChange)
|
|
52
|
-
return () => {
|
|
53
|
-
media.removeEventListener('change', onChange)
|
|
54
|
-
}
|
|
55
|
-
}, [mode])
|
|
56
|
-
|
|
57
|
-
function toggleMode() {
|
|
58
|
-
const nextMode: ThemeMode =
|
|
59
|
-
mode === 'light' ? 'dark' : mode === 'dark' ? 'auto' : 'light'
|
|
60
|
-
setMode(nextMode)
|
|
61
|
-
applyThemeMode(nextMode)
|
|
62
|
-
window.localStorage.setItem('theme', nextMode)
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
const label =
|
|
66
|
-
mode === 'auto'
|
|
67
|
-
? 'Theme mode: auto (system). Click to switch to light mode.'
|
|
68
|
-
: `Theme mode: ${mode}. Click to switch mode.`
|
|
69
|
-
|
|
70
|
-
return (
|
|
71
|
-
<button
|
|
72
|
-
type="button"
|
|
73
|
-
onClick={toggleMode}
|
|
74
|
-
aria-label={label}
|
|
75
|
-
title={label}
|
|
76
|
-
className="rounded-full border border-[var(--chip-line)] bg-[var(--chip-bg)] px-3 py-1.5 text-sm font-semibold text-[var(--sea-ink)] shadow-[0_8px_22px_rgba(30,90,72,0.08)] transition hover:-translate-y-0.5"
|
|
77
|
-
>
|
|
78
|
-
{mode === 'auto' ? 'Auto' : mode === 'dark' ? 'Dark' : 'Light'}
|
|
79
|
-
</button>
|
|
80
|
-
)
|
|
81
|
-
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|