diff --git a/assets/DevMoodTracker-0krNlVUX.js b/assets/DevMoodTracker-0krNlVUX.js new file mode 100644 index 0000000000000000000000000000000000000000..39af2489a34f681ccd04189e81303fe82b5daacb --- /dev/null +++ b/assets/DevMoodTracker-0krNlVUX.js @@ -0,0 +1,2 @@ +import{j as t,r as l}from"./react-_fH1j4AW.js";import{c as p}from"./index-Nqm_ElTk.js";import"./@braintree-9Zuj5s7N.js";import"./react-dom-B47xkeQg.js";import"./scheduler-DYLXRpC5.js";import"./mermaid-CwNlsT42.js";import"./dayjs-LlU9W_sF.js";import"./d3-transition-593SbTzI.js";import"./d3-timer-DdKHrDhs.js";import"./d3-dispatch-kxCwF96_.js";import"./d3-interpolate-CfLzPKWk.js";import"./d3-color-amxIadob.js";import"./d3-selection-C52G7wmG.js";import"./d3-ease-DRPgKoYJ.js";import"./d3-zoom-Dc8HCWOS.js";import"./dompurify-J5RlrwSC.js";import"./dagre-d3-es-CXvdFQqV.js";import"./lodash-es-CKQobiyk.js";import"./d3-shape-C6amFesj.js";import"./d3-path-CimkQT29.js";import"./d3-fetch-BOsq7VnW.js";import"./khroma-DUX6PT6k.js";import"./uuid-DhYbOkY1.js";import"./d3-scale-BchcX-lF.js";import"./internmap-BkD7Hj8s.js";import"./d3-array-DGRYoJHh.js";import"./d3-format-CzD4bSOQ.js";import"./d3-time-format-CUNN4Ell.js";import"./d3-time-6cSPyVSY.js";import"./d3-axis-DSWTncID.js";import"./elkjs-BS_sNva5.js";import"./cytoscape-Copgxxlq.js";import"./cytoscape-cose-bilkent-DNVwk4oY.js";import"./cose-base-HlRMd3jM.js";import"./layout-base-BVPXtQQC.js";import"./d3-sankey-DgqkLiUE.js";import"./d3-scale-chromatic-B-NsZVaP.js";import"./ts-dedent-DrFu-skq.js";import"./stylis-D5iaQeiq.js";import"./mdast-util-from-markdown-CLAsVoWb.js";import"./micromark-CTBPIv-_.js";import"./micromark-util-combine-extensions-Bka6Sc1c.js";import"./micromark-util-chunked-DrRIdSP-.js";import"./micromark-factory-space-x2vfxbz5.js";import"./micromark-util-character-Bcm1tP9o.js";import"./micromark-core-commonmark-AH8VCgT7.js";import"./micromark-util-classify-character-Cq7Fg3xE.js";import"./micromark-util-resolve-all-PQCKh0dx.js";import"./decode-named-character-reference-C3-224fz.js";import"./micromark-util-subtokenize-QwsxNXk2.js";import"./micromark-factory-destination-CypD_wgM.js";import"./micromark-factory-label-CRHH4ZHP.js";import"./micromark-factory-title-B7kCBvC9.js";import"./micromark-factory-whitespace-B322EA6O.js";import"./micromark-util-normalize-identifier-C9ANKk3v.js";import"./micromark-util-html-tag-name-DbKNfynz.js";import"./micromark-util-decode-numeric-character-reference-DRnCnno4.js";import"./micromark-util-decode-string-DJl8Y_PO.js";import"./unist-util-stringify-position-Ch_qCilz.js";import"./mdast-util-to-string-C_aolqmU.js";const a=(o,i)=>{const[e,s]=l.useState(()=>{try{const r=window.localStorage.getItem(o);return r?JSON.parse(r):i}catch{return i}});return[e,r=>{const m=r instanceof Function?r(e):r;s(m),window.localStorage.setItem(o,JSON.stringify(m))}]},n=[{emoji:"😄",label:"Great"},{emoji:"😊",label:"Good"},{emoji:"😐",label:"Okay"},{emoji:"😟",label:"Struggling"},{emoji:"🔥",label:"In the Zone"}],ht=()=>{const[o,i]=a("devcore_mood",null);return t.jsxs("div",{className:"h-full flex flex-col items-center justify-center p-4 sm:p-6 lg:p-8 text-center",children:[t.jsxs("header",{className:"mb-8",children:[t.jsxs("h1",{className:"text-3xl font-bold text-slate-100 flex items-center",children:[t.jsx(p,{}),t.jsx("span",{className:"ml-3",children:"Dev Mood Tracker"})]}),t.jsx("p",{className:"text-slate-400 mt-1",children:"How are you feeling today?"})]}),t.jsx("div",{className:"flex items-center justify-center gap-4 md:gap-8",children:n.map(e=>t.jsxs("button",{onClick:()=>i(e.label),className:`flex flex-col items-center gap-2 p-4 rounded-lg transition-all transform hover:scale-110 ${o===e.label?"bg-cyan-500/20":"bg-slate-800/50"}`,children:[t.jsx("span",{className:"text-5xl",children:e.emoji}),t.jsx("span",{className:"font-semibold text-slate-300",children:e.label})]},e.label))}),o&&t.jsxs("p",{className:"mt-8 text-lg text-green-400",children:["Thanks for checking in! You're feeling: ",o]})]})};export{ht as DevMoodTracker}; +//# sourceMappingURL=DevMoodTracker-0krNlVUX.js.map diff --git a/assets/DevMoodTracker-0krNlVUX.js.map b/assets/DevMoodTracker-0krNlVUX.js.map new file mode 100644 index 0000000000000000000000000000000000000000..aa35d8625bb64350ed1c42620b1b3aff6f95d4cf --- /dev/null +++ b/assets/DevMoodTracker-0krNlVUX.js.map @@ -0,0 +1 @@ +{"version":3,"file":"DevMoodTracker-0krNlVUX.js","sources":["../../components/features/DevMoodTracker.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { SparklesIcon } from '../icons/FeatureIcons.tsx';\n\nconst useLocalStorage = (key: string, initialValue: any) => {\n const [storedValue, setStoredValue] = useState(() => {\n try {\n const item = window.localStorage.getItem(key);\n return item ? JSON.parse(item) : initialValue;\n } catch (error) { return initialValue; }\n });\n const setValue = (value: any) => {\n const valueToStore = value instanceof Function ? value(storedValue) : value;\n setStoredValue(valueToStore);\n window.localStorage.setItem(key, JSON.stringify(valueToStore));\n };\n return [storedValue, setValue];\n};\n\nconst moods = [\n { emoji: '😄', label: 'Great' },\n { emoji: '😊', label: 'Good' },\n { emoji: '😐', label: 'Okay' },\n { emoji: '😟', label: 'Struggling' },\n { emoji: '🔥', label: 'In the Zone' },\n];\n\nexport const DevMoodTracker: React.FC = () => {\n const [selectedMood, setSelectedMood] = useLocalStorage('devcore_mood', null);\n\n return (\n
How are you feeling today?
\nThanks for checking in! You're feeling: {selectedMood}
\n )}\nA place for your thoughts, todos, and random ideas.
\nFor when you need that satisfying sound effect.
\nCompare two .env files to see what's changed.
\nManage and switch between different .env configurations.
\nEnable or disable experimental features for your session.
\n{flag.key}
\n{flag.description}
\n\n Hide all UI distractions and focus on the current feature.\n
\n \nPress 'Esc' to exit.
\nPreview Google Font combinations for your projects.
\n\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed non risus. Suspendisse lectus tortor, dignissim sit amet, adipiscing nec, ultricies sed, dolor. Cras elementum ultrices diam. Maecenas ligula massa, varius a, semper congue, euismod non, mi. Proin porttitor, orci nec nonummy molestie, enim est eleifend mi, non fermentum diam nisl sit amet erat.\n
\nPreview Google Fonts and get the CSS import rule.
\n{importRule}\n \n \n {previewText}\n
\nSend queries and mutations to a GraphQL endpoint.
\n{error}}\n {response && !isLoading && Resize and compress JPEG images in your browser.
\nPaste your JSON data to visualize it as a collapsible tree.
\nWrite markdown, present it as a slideshow. Use '---' to separate slides.
\nGenerate SEO and social media meta tags for your website.
\n{generatedHtml}\n \n k)||!(S>k)?e.lineTo(F,G):E>k?(u=K(F,G,H,J,l,-E,x),p=K(X,Y,nt,st,l,-E,x),e.lineTo(u.cx+u.x01,u.cy+u.y01),E
t?1:i>=t?0:NaN}function Qt(t){return t}function $t(){var t=Qt,i=Kt,n=null,s=d(0),a=d(Q),_=d(0);function r(e){var o,c=(e=kt(e)).length,h,m,l=0,f=new Array(c),y=new Array(c),v=+s.apply(this,arguments),A=Math.min(Q,Math.max(-Q,a.apply(this,arguments)-v)),x,w=Math.min(Math.abs(A)/c,_.apply(this,arguments)),b=w*(A<0?-1:1),g;for(o=0;o