Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
8b37757
Update environment configuration and add example environment file
ColinMichaels May 31, 2025
0ff094d
Merge pull request #29 from ColinMichaels/feature/hiding-configs
ColinMichaels May 31, 2025
38a96f3
Update firebase-hosting-merge.yml
ColinMichaels May 31, 2025
b2719f7
Merge pull request #31 from ColinMichaels/ColinMichaels-patch-1
ColinMichaels May 31, 2025
e100178
Merge pull request #30 from ColinMichaels/dev
ColinMichaels May 31, 2025
fd4e94c
fix: rename time-ago pipe and update imports
ColinMichaels Jun 6, 2025
d57f70f
Merge pull request #33 from ColinMichaels/codex/find-and-fix-bug-in-c…
ColinMichaels Jun 6, 2025
dcc650b
### Commit Message
ColinMichaels Aug 1, 2025
481493f
### Add FirestoreService and FullScreenBackgroundComponent for Fireba…
ColinMichaels Aug 2, 2025
e89ee9d
Merge pull request #39 from ColinMichaels/feature/hiding-configs
ColinMichaels Aug 2, 2025
58920cc
### Remove unused Firebase polyfill script
ColinMichaels Sep 6, 2025
ff817a5
### Add automated Firebase deployment workflow and environment variab…
ColinMichaels Sep 6, 2025
238dbe6
Merge pull request #43 from ColinMichaels/feature/hiding-configs
ColinMichaels Sep 6, 2025
125cc14
Merge branch 'master' into dev
ColinMichaels Sep 6, 2025
90c3710
### Introduce separate environment configuration files for developmen…
ColinMichaels Sep 6, 2025
726befb
Merge pull request #46 from ColinMichaels/feature/fix_envs
ColinMichaels Sep 6, 2025
f54e590
### Replace environment variable bindings with placeholder values
ColinMichaels Sep 6, 2025
b62d882
Merge pull request #47 from ColinMichaels/feature/fix_envs
ColinMichaels Sep 6, 2025
6bd21b1
### Update GitHub URL logic in Projects Overview and Main components
ColinMichaels Sep 6, 2025
9559710
Merge pull request #48 from ColinMichaels/tweak/update-git-url
ColinMichaels Sep 6, 2025
2e863c0
### Enhance Unit Tests with Mocks and Dependency Injection Updates
ColinMichaels Feb 28, 2026
4910f87
chore: optimize components and harden env/secret deployment
ColinMichaels Feb 28, 2026
4890a9e
ci: validate required env vars and bind deploy jobs to production env…
ColinMichaels Feb 28, 2026
630e7ca
ci: bind PR preview workflow to production environment vars/secrets
ColinMichaels Feb 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .firebase/colinmichaels/hosting/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,12 @@
<meta name="description" content="Colin Michaels home page and links">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<style>@font-face{font-family:'Arimo';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/arimo/v29/P5sCzZCDf9_T_10c9C5kiK-u.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}@font-face{font-family:'Arimo';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/arimo/v29/P5sCzZCDf9_T_10c9CdkiK-u.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}@font-face{font-family:'Arimo';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/arimo/v29/P5sCzZCDf9_T_10c9C9kiK-u.woff2) format('woff2');unicode-range:U+1F00-1FFF;}@font-face{font-family:'Arimo';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/arimo/v29/P5sCzZCDf9_T_10c9CBkiK-u.woff2) format('woff2');unicode-range:U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;}@font-face{font-family:'Arimo';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/arimo/v29/P5sCzZCDf9_T_10c9CFkiK-u.woff2) format('woff2');unicode-range:U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;}@font-face{font-family:'Arimo';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/arimo/v29/P5sCzZCDf9_T_10c9CxkiK-u.woff2) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;}@font-face{font-family:'Arimo';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/arimo/v29/P5sCzZCDf9_T_10c9C1kiK-u.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}@font-face{font-family:'Arimo';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/arimo/v29/P5sCzZCDf9_T_10c9CNkiA.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}@font-face{font-family:'Arimo';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/arimo/v29/P5sMzZCDf9_T_10UxCF8jA.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}@font-face{font-family:'Arimo';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/arimo/v29/P5sMzZCDf9_T_10dxCF8jA.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}@font-face{font-family:'Arimo';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/arimo/v29/P5sMzZCDf9_T_10VxCF8jA.woff2) format('woff2');unicode-range:U+1F00-1FFF;}@font-face{font-family:'Arimo';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/arimo/v29/P5sMzZCDf9_T_10axCF8jA.woff2) format('woff2');unicode-range:U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;}@font-face{font-family:'Arimo';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/arimo/v29/P5sMzZCDf9_T_10bxCF8jA.woff2) format('woff2');unicode-range:U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;}@font-face{font-family:'Arimo';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/arimo/v29/P5sMzZCDf9_T_10WxCF8jA.woff2) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;}@font-face{font-family:'Arimo';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/arimo/v29/P5sMzZCDf9_T_10XxCF8jA.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}@font-face{font-family:'Arimo';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/arimo/v29/P5sMzZCDf9_T_10ZxCE.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}</style>
<style>@font-face{font-family:'Arimo';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/arimo/v34/P5sCzZCDf9_T_10c9C5kiK-u.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}@font-face{font-family:'Arimo';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/arimo/v34/P5sCzZCDf9_T_10c9CdkiK-u.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}@font-face{font-family:'Arimo';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/arimo/v34/P5sCzZCDf9_T_10c9C9kiK-u.woff2) format('woff2');unicode-range:U+1F00-1FFF;}@font-face{font-family:'Arimo';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/arimo/v34/P5sCzZCDf9_T_10c9CBkiK-u.woff2) format('woff2');unicode-range:U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;}@font-face{font-family:'Arimo';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/arimo/v34/P5sCzZCDf9_T_10c9CFkiK-u.woff2) format('woff2');unicode-range:U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;}@font-face{font-family:'Arimo';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/arimo/v34/P5sCzZCDf9_T_10c9CxkiK-u.woff2) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;}@font-face{font-family:'Arimo';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/arimo/v34/P5sCzZCDf9_T_10c9C1kiK-u.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}@font-face{font-family:'Arimo';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/arimo/v34/P5sCzZCDf9_T_10c9CNkiA.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}@font-face{font-family:'Arimo';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/arimo/v34/P5sMzZCDf9_T_10UxCF8jA.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}@font-face{font-family:'Arimo';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/arimo/v34/P5sMzZCDf9_T_10dxCF8jA.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}@font-face{font-family:'Arimo';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/arimo/v34/P5sMzZCDf9_T_10VxCF8jA.woff2) format('woff2');unicode-range:U+1F00-1FFF;}@font-face{font-family:'Arimo';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/arimo/v34/P5sMzZCDf9_T_10axCF8jA.woff2) format('woff2');unicode-range:U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;}@font-face{font-family:'Arimo';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/arimo/v34/P5sMzZCDf9_T_10bxCF8jA.woff2) format('woff2');unicode-range:U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;}@font-face{font-family:'Arimo';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/arimo/v34/P5sMzZCDf9_T_10WxCF8jA.woff2) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;}@font-face{font-family:'Arimo';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/arimo/v34/P5sMzZCDf9_T_10XxCF8jA.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}@font-face{font-family:'Arimo';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/arimo/v34/P5sMzZCDf9_T_10ZxCE.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}</style>
<title>Colin Michaels</title>
<style>*,:before,:after{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / .5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.text-2xl{font-size:1.5rem;line-height:2rem}.text-white{--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.outline-none{outline:2px solid transparent;outline-offset:2px}body{font-family:Arimo,sans-serif}*:focus{outline:none}*:focus-visible{outline:2px solid #005fcc;border-radius:4px}</style><link rel="stylesheet" href="styles-WHOFTCPY.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="styles-WHOFTCPY.css"></noscript></head>
<style>*,:before,:after{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / .5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.text-2xl{font-size:1.5rem;line-height:2rem}.text-white{--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.outline-none{outline:2px solid transparent;outline-offset:2px}body{font-family:Arimo,sans-serif}*:focus{outline:none}*:focus-visible{outline:2px solid #005fcc;border-radius:4px}</style><link rel="stylesheet" href="styles-YSYK66JW.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="styles-YSYK66JW.css"></noscript></head>
<body class=" text-white bg-black text-2xl outline-none" id="colin-michaels">
<app-root> </app-root>
<link rel="modulepreload" href="chunk-UORSHSI3.js"><link rel="modulepreload" href="chunk-J2B6NU2D.js"><link rel="modulepreload" href="chunk-X5NZQJRD.js"><link rel="modulepreload" href="chunk-PHZMN5UB.js"><link rel="modulepreload" href="chunk-6GTWYHP4.js"><link rel="modulepreload" href="chunk-YP32UGNH.js"><link rel="modulepreload" href="chunk-KGNW53ZE.js"><script src="polyfills-FFHMD2TL.js" type="module"></script><script src="scripts-V4VO4MR6.js" defer></script><script src="main-UABJFXNS.js" type="module"></script></body>
<link rel="modulepreload" href="chunk-BCXQU5SJ.js"><link rel="modulepreload" href="chunk-RHXNB347.js"><link rel="modulepreload" href="chunk-A74NXCP5.js"><link rel="modulepreload" href="chunk-BAC7DBFE.js"><link rel="modulepreload" href="chunk-72CIPDHL.js"><link rel="modulepreload" href="chunk-CMKSZQDC.js"><link rel="modulepreload" href="chunk-C265U2LU.js"><link rel="modulepreload" href="chunk-Q42YD6Y3.js"><script src="polyfills-B6TNHZQ6.js" type="module"></script><script src="scripts-V4VO4MR6.js" defer></script><script src="main-555JKOLT.js" type="module"></script></body>
</html>


2 changes: 0 additions & 2 deletions .firebase/colinmichaels/hosting/polyfills-FFHMD2TL.js

This file was deleted.

Loading
Loading