@iamem/amem 0.1.2 → 0.1.3

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.
@@ -37,6 +37,14 @@
37
37
  <span class="nav-ico" aria-hidden="true"></span>
38
38
  Analytics
39
39
  </button>
40
+ <button type="button" data-tab="tasks">
41
+ <span class="nav-ico" aria-hidden="true"></span>
42
+ Tasks
43
+ </button>
44
+ <button type="button" data-tab="skills">
45
+ <span class="nav-ico" aria-hidden="true"></span>
46
+ Skills
47
+ </button>
40
48
  </nav>
41
49
  <div class="side-footer">
42
50
  <button class="side-foot-btn" id="personalBtn" type="button">Personal</button>
@@ -105,18 +113,6 @@
105
113
  />
106
114
  <button class="btn secondary" id="vaultRestoreBtn" type="button">Restore</button>
107
115
  </div>
108
- <div class="add-repo-row" id="shopRow">
109
- <a class="btn" id="buyPro" href="https://getamem.com/buy/pro" target="_blank" rel="noopener"
110
- >Buy Pro · $12</a
111
- >
112
- <a class="btn secondary" id="buyIt" href="https://getamem.com/buy/it" target="_blank" rel="noopener"
113
- >Buy IT · $49</a
114
- >
115
- <span class="note"
116
- >After pay, download <code>amem-license.json</code> on the thank-you page, then apply it in Plans/Setup or
117
- <code>amem license apply --file</code>.</span
118
- >
119
- </div>
120
116
  <p class="note" id="vaultDetail"></p>
121
117
  </div>
122
118
  </div>
@@ -140,30 +136,11 @@
140
136
  </div>
141
137
  <script>
142
138
  (function () {
143
- var TABS = ["welcome", "setup", "dashboard", "brain", "analytics"];
139
+ var TABS = ["setup", "dashboard", "brain", "analytics", "tasks"];
144
140
  var params = new URLSearchParams(location.search);
145
141
  var fromUrl = params.get("tab");
146
- var welcomeDismissed = false;
147
- var paid = false;
148
- try {
149
- welcomeDismissed = localStorage.getItem("amem.welcome.dismissed") === "1";
150
- var tier = localStorage.getItem("amem.license.tier");
151
- paid = tier === "pro" || tier === "it";
152
- } catch (e) {}
153
- var tab = "setup";
154
- if (paid) {
155
- if (fromUrl === "stats") tab = "analytics";
156
- else if (TABS.indexOf(fromUrl) !== -1) tab = fromUrl;
157
- else tab = "dashboard";
158
- } else if (
159
- !welcomeDismissed &&
160
- fromUrl !== "brain" &&
161
- fromUrl !== "stats" &&
162
- fromUrl !== "analytics" &&
163
- fromUrl !== "dashboard"
164
- ) {
165
- tab = "welcome";
166
- } else if (fromUrl === "stats") {
142
+ var tab = "dashboard";
143
+ if (fromUrl === "stats") {
167
144
  tab = "analytics";
168
145
  } else if (TABS.indexOf(fromUrl) !== -1) {
169
146
  tab = fromUrl;
@@ -1857,6 +1857,305 @@ button.linkish:hover code {
1857
1857
  .dash-grid {
1858
1858
  grid-template-columns: 1fr;
1859
1859
  }
1860
+ .tasks-board {
1861
+ grid-template-columns: 1fr;
1862
+ }
1863
+ }
1864
+
1865
+ .tasks-add {
1866
+ display: grid;
1867
+ grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) auto;
1868
+ gap: 0.55rem;
1869
+ margin: 0 0 1.1rem;
1870
+ }
1871
+ .tasks-add input {
1872
+ background: rgba(20, 27, 33, 0.9);
1873
+ color: var(--ink);
1874
+ border: 1px solid var(--line);
1875
+ border-radius: 10px;
1876
+ padding: 0.6rem 0.75rem;
1877
+ font: inherit;
1878
+ }
1879
+ .tasks-board {
1880
+ display: grid;
1881
+ grid-template-columns: repeat(5, minmax(9.5rem, 1fr));
1882
+ gap: 0.65rem;
1883
+ align-items: start;
1884
+ }
1885
+ .tasks-col {
1886
+ border: 1px solid var(--line);
1887
+ border-radius: 14px;
1888
+ background: rgba(20, 27, 33, 0.55);
1889
+ min-height: 12rem;
1890
+ transition: border-color 0.15s ease, background 0.15s ease;
1891
+ }
1892
+ .tasks-col.drag-over {
1893
+ border-color: rgba(46, 196, 182, 0.55);
1894
+ background: rgba(46, 196, 182, 0.08);
1895
+ }
1896
+ .tasks-col > header {
1897
+ display: flex;
1898
+ align-items: center;
1899
+ justify-content: space-between;
1900
+ gap: 0.5rem;
1901
+ padding: 0.65rem 0.75rem 0.35rem;
1902
+ }
1903
+ .tasks-col > header h2 {
1904
+ margin: 0;
1905
+ font-size: 0.82rem;
1906
+ letter-spacing: 0.04em;
1907
+ text-transform: uppercase;
1908
+ color: var(--muted);
1909
+ font-weight: 600;
1910
+ }
1911
+ .tasks-col > header span {
1912
+ color: var(--muted);
1913
+ font-size: 0.78rem;
1914
+ font-variant-numeric: tabular-nums;
1915
+ }
1916
+ .tasks-col-body {
1917
+ padding: 0.35rem 0.55rem 0.7rem;
1918
+ display: flex;
1919
+ flex-direction: column;
1920
+ gap: 0.45rem;
1921
+ min-height: 4rem;
1922
+ }
1923
+ .tasks-empty {
1924
+ margin: 0.35rem 0.2rem;
1925
+ color: var(--muted);
1926
+ font-size: 0.8rem;
1927
+ }
1928
+ .tasks-card {
1929
+ border: 1px solid var(--line);
1930
+ border-radius: 12px;
1931
+ background: rgba(11, 15, 18, 0.75);
1932
+ padding: 0.65rem 0.7rem 0.55rem;
1933
+ cursor: grab;
1934
+ }
1935
+ .tasks-card.dragging {
1936
+ opacity: 0.55;
1937
+ }
1938
+ .tasks-card h3 {
1939
+ margin: 0;
1940
+ font-size: 0.92rem;
1941
+ font-weight: 600;
1942
+ letter-spacing: -0.01em;
1943
+ line-height: 1.3;
1944
+ }
1945
+ /* Skills — procedural memory library */
1946
+ .skill-grid {
1947
+ display: grid;
1948
+ gap: 0.75rem;
1949
+ grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
1950
+ margin-top: 1rem;
1951
+ }
1952
+
1953
+ .skill-card {
1954
+ background: var(--card);
1955
+ border: 1px solid var(--line);
1956
+ border-radius: 12px;
1957
+ display: flex;
1958
+ flex-direction: column;
1959
+ gap: 0.4rem;
1960
+ padding: 0.85rem;
1961
+ }
1962
+
1963
+ .skill-card-head {
1964
+ align-items: baseline;
1965
+ display: flex;
1966
+ gap: 0.5rem;
1967
+ justify-content: space-between;
1968
+ }
1969
+
1970
+ .skill-card-head h3 {
1971
+ font-size: 0.95rem;
1972
+ margin: 0;
1973
+ word-break: break-word;
1974
+ }
1975
+
1976
+ .skill-uses {
1977
+ color: var(--muted);
1978
+ flex: none;
1979
+ font-size: 0.7rem;
1980
+ }
1981
+
1982
+ .skill-card-desc {
1983
+ color: var(--muted);
1984
+ font-size: 0.82rem;
1985
+ line-height: 1.4;
1986
+ margin: 0;
1987
+ }
1988
+
1989
+ .skill-card-desc.muted {
1990
+ font-style: italic;
1991
+ opacity: 0.75;
1992
+ }
1993
+
1994
+ .skill-card-tags {
1995
+ display: flex;
1996
+ flex-wrap: wrap;
1997
+ gap: 0.25rem;
1998
+ }
1999
+
2000
+ .skill-tag {
2001
+ border: 1px solid var(--line);
2002
+ border-radius: 999px;
2003
+ color: var(--muted);
2004
+ font-size: 0.68rem;
2005
+ padding: 0.05rem 0.4rem;
2006
+ }
2007
+
2008
+ .skill-card-actions {
2009
+ display: flex;
2010
+ gap: 0.4rem;
2011
+ margin-top: auto;
2012
+ padding-top: 0.35rem;
2013
+ }
2014
+
2015
+ .skill-empty {
2016
+ background: var(--card);
2017
+ border: 1px dashed var(--line);
2018
+ border-radius: 12px;
2019
+ margin-top: 1rem;
2020
+ padding: 1.5rem;
2021
+ }
2022
+
2023
+ .skill-empty h2 {
2024
+ font-size: 1.05rem;
2025
+ margin: 0 0 0.4rem;
2026
+ }
2027
+
2028
+ .skill-drafts {
2029
+ margin-top: 1.25rem;
2030
+ }
2031
+
2032
+ .skill-drafts h2 {
2033
+ font-size: 1rem;
2034
+ margin: 0 0 0.2rem;
2035
+ }
2036
+
2037
+ .skill-draft-list {
2038
+ display: grid;
2039
+ gap: 0.6rem;
2040
+ grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
2041
+ margin-top: 0.6rem;
2042
+ }
2043
+
2044
+ .skill-draft {
2045
+ background: var(--card);
2046
+ border: 1px solid var(--accent, var(--line));
2047
+ border-radius: 12px;
2048
+ padding: 0.8rem;
2049
+ }
2050
+
2051
+ .skill-draft-kind {
2052
+ color: var(--muted);
2053
+ font-size: 0.68rem;
2054
+ font-weight: 600;
2055
+ letter-spacing: 0.03em;
2056
+ text-transform: uppercase;
2057
+ }
2058
+
2059
+ .skill-draft h4 {
2060
+ font-size: 0.9rem;
2061
+ margin: 0.25rem 0 0.35rem;
2062
+ }
2063
+
2064
+ .skill-draft-why,
2065
+ .skill-draft-hint {
2066
+ color: var(--muted);
2067
+ font-size: 0.76rem;
2068
+ line-height: 1.4;
2069
+ margin: 0 0 0.35rem;
2070
+ }
2071
+
2072
+ .skill-draft-actions {
2073
+ display: flex;
2074
+ gap: 0.4rem;
2075
+ }
2076
+
2077
+ .skill-detail {
2078
+ background: var(--card);
2079
+ border: 1px solid var(--line);
2080
+ border-radius: 12px;
2081
+ margin-top: 1rem;
2082
+ padding: 0.9rem;
2083
+ }
2084
+
2085
+ .skill-detail-head {
2086
+ align-items: center;
2087
+ display: flex;
2088
+ justify-content: space-between;
2089
+ margin-bottom: 0.5rem;
2090
+ }
2091
+
2092
+ .skill-detail-head h2 {
2093
+ font-size: 1rem;
2094
+ margin: 0;
2095
+ }
2096
+
2097
+ .skill-detail-body {
2098
+ background: var(--bg);
2099
+ border: 1px solid var(--line);
2100
+ border-radius: 8px;
2101
+ font-size: 0.78rem;
2102
+ line-height: 1.5;
2103
+ max-height: 60vh;
2104
+ overflow: auto;
2105
+ padding: 0.75rem;
2106
+ white-space: pre-wrap;
2107
+ word-break: break-word;
2108
+ }
2109
+
2110
+ .tasks-card-repo {
2111
+ display: inline-block;
2112
+ margin-bottom: 0.3rem;
2113
+ padding: 0.08rem 0.4rem;
2114
+ border: 1px solid var(--line);
2115
+ border-radius: 999px;
2116
+ color: var(--muted);
2117
+ font-size: 0.68rem;
2118
+ font-weight: 600;
2119
+ letter-spacing: 0.01em;
2120
+ max-width: 100%;
2121
+ overflow: hidden;
2122
+ text-overflow: ellipsis;
2123
+ white-space: nowrap;
2124
+ }
2125
+ .tasks-card-body {
2126
+ margin: 0.35rem 0 0;
2127
+ color: var(--muted);
2128
+ font-size: 0.78rem;
2129
+ line-height: 1.35;
2130
+ }
2131
+ .tasks-card-actions {
2132
+ display: flex;
2133
+ align-items: center;
2134
+ gap: 0.35rem;
2135
+ margin-top: 0.55rem;
2136
+ }
2137
+ .tasks-status {
2138
+ flex: 1;
2139
+ min-width: 0;
2140
+ background: rgba(20, 27, 33, 0.95);
2141
+ color: var(--ink);
2142
+ border: 1px solid var(--line);
2143
+ border-radius: 8px;
2144
+ padding: 0.28rem 0.4rem;
2145
+ font: inherit;
2146
+ font-size: 0.75rem;
2147
+ }
2148
+ .tasks-del {
2149
+ padding: 0.25rem 0.45rem !important;
2150
+ }
2151
+
2152
+ @media (max-width: 1100px) {
2153
+ .tasks-board {
2154
+ grid-template-columns: repeat(3, minmax(0, 1fr));
2155
+ }
2156
+ .tasks-add {
2157
+ grid-template-columns: 1fr;
2158
+ }
1860
2159
  }
1861
2160
 
1862
2161
  .platform-card.accented {