diff options
Diffstat (limited to 'src/client/views')
| -rw-r--r-- | src/client/views/MainView.tsx | 1 | ||||
| -rw-r--r-- | src/client/views/collections/CollectionCardDeckView.scss | 2 | ||||
| -rw-r--r-- | src/client/views/collections/CollectionCardDeckView.tsx | 21 | ||||
| -rw-r--r-- | src/client/views/global/globalScripts.ts | 42 | ||||
| -rw-r--r-- | src/client/views/pdf/GPTPopup/GPTPopup.tsx | 21 |
5 files changed, 45 insertions, 42 deletions
diff --git a/src/client/views/MainView.tsx b/src/client/views/MainView.tsx index 31d88fb87..f61c784df 100644 --- a/src/client/views/MainView.tsx +++ b/src/client/views/MainView.tsx @@ -548,6 +548,7 @@ export class MainView extends ObservableReactComponent<{}> { fa.faRobot, fa.faSatellite, fa.faStar, + fa.faCloud ] ); } diff --git a/src/client/views/collections/CollectionCardDeckView.scss b/src/client/views/collections/CollectionCardDeckView.scss index a089b248d..8a721a626 100644 --- a/src/client/views/collections/CollectionCardDeckView.scss +++ b/src/client/views/collections/CollectionCardDeckView.scss @@ -28,7 +28,7 @@ // width: 300px; background-color: rgb(218, 218, 218); /* Background color of the container */ border-radius: 50px; /* Rounds the corners of the container */ - transform: translateY(75px); + transform: translateY(25px); // box-shadow: 0 4px 8px rgba(0,0,0,0.1); /* Optional: Adds shadow for depth */ align-items: center; /* Centers buttons vertically */ justify-content: start; /* Centers buttons horizontally */ diff --git a/src/client/views/collections/CollectionCardDeckView.tsx b/src/client/views/collections/CollectionCardDeckView.tsx index de46180e6..127c4dc48 100644 --- a/src/client/views/collections/CollectionCardDeckView.tsx +++ b/src/client/views/collections/CollectionCardDeckView.tsx @@ -170,6 +170,8 @@ export class CollectionCardView extends CollectionSubView() { * @returns */ rotate = (amCards: number, index: number) => { + if (amCards ==1) return 0 + const possRotate = -30 + index * (30 / ((amCards - (amCards % 2)) / 2)); const stepMag = Math.abs(-30 + (amCards / 2 - 1) * (30 / ((amCards - (amCards % 2)) / 2))); @@ -242,16 +244,20 @@ export class CollectionCardView extends CollectionSubView() { return [DateCast(docA.author_date)?.date ?? Date.now(), DateCast(docB.author_date)?.date ?? Date.now()]; case cardSortings.Color: - return [DashColor(StrCast(docA.backgroundColor)).hsv().toString(), // If docA.type is undefined, use an empty string - DashColor(StrCast(docB.backgroundColor)).hsv().toString()]; // If docB.type is undefined, use an empty string + return [ClientUtils.hexToHsv(StrCast(docA.backgroundColor)) ?? 9999, // If docA.type is undefined, use an empty string + ClientUtils.hexToHsv(StrCast(docB.backgroundColor))] ?? 9999; // If docB.type is undefined, use an empty string case cardSortings.Custom: - return [CollectionCardView.getButtonGroup(this.cardSort_customField, docA)??0, - CollectionCardView.getButtonGroup(this.cardSort_customField, docB)??0]; + return [CollectionCardView.getButtonGroup(this.cardSort_customField, docA)??9999, + CollectionCardView.getButtonGroup(this.cardSort_customField, docB)??9999]; default: return [StrCast(docA.type), // If docA.type is undefined, use an empty string StrCast(docB.type)]; // If docB.type is undefined, use an empty string } // prettier-ignore })(); + // console.log(ClientUtils.hexToHsv(StrCast(docA.backgroundColor)) ?? 9999 + "docA col") + // console.log(ClientUtils.hexToHsv(StrCast(docB.backgroundColor)) ?? 9999 + "docB col") + + const out = typeA < typeB ? -1 : typeA > typeB ? 1 : 0; return isDesc ? -out : out; // Reverse the sort order if descending is true }); @@ -323,7 +329,7 @@ export class CollectionCardView extends CollectionSubView() { * @returns */ calculateTranslateY = (isHovered: boolean, isSelected: boolean, realIndex: number, amCards: number, calcRowIndex: number) => { - if (isSelected) return 50 * this.fitContentScale; + if (isSelected || amCards == 1) return 50 * this.fitContentScale; const trans = isHovered ? this.translateHover(realIndex) : 0; return trans + this.translateY(amCards, calcRowIndex, realIndex); }; @@ -472,7 +478,7 @@ export class CollectionCardView extends CollectionSubView() { SnappingManager.SetIsResizing(undefined); this._forceChildXf = !this._forceChildXf; }), - 700 + 900 ); }} style={{ @@ -490,6 +496,9 @@ export class CollectionCardView extends CollectionSubView() { ); }); }; + + + render() { return ( <div diff --git a/src/client/views/global/globalScripts.ts b/src/client/views/global/globalScripts.ts index 7730ed385..107e21e08 100644 --- a/src/client/views/global/globalScripts.ts +++ b/src/client/views/global/globalScripts.ts @@ -135,10 +135,10 @@ ScriptingGlobals.add(function toggleOverlay(checkResult?: boolean) { }); // eslint-disable-next-line prefer-arrow-callback -ScriptingGlobals.add(function showFreeform(attr: 'center' | 'grid' | 'snaplines' | 'clusters' | 'viewAll' | 'fitOnce', checkResult?: boolean, persist?: boolean) { +ScriptingGlobals.add(function showFreeform(attr: 'center' | 'grid' | 'snaplines' | 'clusters' | 'viewAll' | 'fitOnce', checkResult?: boolean, persist?: boolean, ) { const selected = DocumentView.SelectedDocs().lastElement(); // prettier-ignore - const map: Map<'flashcards' | 'center' | 'grid' | 'snaplines' | 'clusters' | 'arrange' | 'viewAll' | 'fitOnce' | 'time' | 'docType' | 'color' | 'links' | 'like' | 'star' | 'idea' | 'chat' | '1' | '2' | '3' | '4', + const map: Map<'flashcards' | 'center' | 'grid' | 'snaplines' | 'clusters' | 'arrange' | 'viewAll' | 'fitOnce' | "Time" | "Type"| "Color"| "ChatGPT"| "Custom 1"| "Custom 2"| "Custom 3" , { waitForRender?: boolean; checkResult: (doc: Doc) => any; @@ -173,48 +173,49 @@ ScriptingGlobals.add(function showFreeform(attr: 'center' | 'grid' | 'snaplines' checkResult: (doc: Doc) => BoolCast(Doc.UserDoc().defaultToFlashcards, false), setDoc: (doc: Doc, dv: DocumentView) => Doc.UserDoc().defaultToFlashcards = !Doc.UserDoc().defaultToFlashcards, }], - ['time', { - checkResult: (doc: Doc) => StrCast(doc?.cardSort) === "time", + ['Time', { + checkResult: (doc: Doc) => {StrCast(doc?.cardSort); + console.log(StrCast(doc?.cardSort + "card sort"))}, setDoc: (doc: Doc, dv: DocumentView) => doc.cardSort = "time", }], - ['docType', { - checkResult: (doc: Doc) => StrCast(doc?.cardSort) === "type", + ['Type', { + checkResult: (doc: Doc) => StrCast(doc?.cardSort), setDoc: (doc: Doc, dv: DocumentView) => doc.cardSort = "type", }], - ['color', { - checkResult: (doc: Doc) => StrCast(doc?.cardSort) === "color", + ['Color', { + checkResult: (doc: Doc) => StrCast(doc?.cardSort), setDoc: (doc: Doc, dv: DocumentView) => doc.cardSort = "color", }], - ['links', { - checkResult: (doc: Doc) => StrCast(doc?.cardSort) === "links", - setDoc: (doc: Doc, dv: DocumentView) => doc.cardSort = "links", - }], - ['like', { - checkResult: (doc: Doc) => StrCast(doc?.cardSort) === "custom" && StrCast(doc?.cardSort_customField) === "like", + // ['links', { + // checkResult: (doc: Doc) => StrCast(doc?.cardSort) === "links", + // setDoc: (doc: Doc, dv: DocumentView) => doc.cardSort = "links", + // }], + ['Custom 1', { + checkResult: (doc: Doc) => StrCast(doc?.cardSort) + " 1", setDoc: (doc: Doc, dv: DocumentView) => { doc.cardSort = "custom"; doc.cardSort_customField = "like"; doc.cardSort_visibleSortGroups = new List<number>(); } }], - ['star', { - checkResult: (doc: Doc) => StrCast(doc?.cardSort) === "custom" && StrCast(doc?.cardSort_customField) === "star", + ['Custom 2', { + checkResult: (doc: Doc) => StrCast(doc?.cardSort) + " 2", setDoc: (doc: Doc, dv: DocumentView) => { doc.cardSort = "custom"; doc.cardSort_customField = "star"; doc.cardSort_visibleSortGroups = new List<number>(); } }], - ['idea', { - checkResult: (doc: Doc) => StrCast(doc?.cardSort) === "custom" && StrCast(doc?.cardSort_customField) === "idea", + ['Custom 3', { + checkResult: (doc: Doc) => StrCast(doc?.cardSort) + " 3", setDoc: (doc: Doc, dv: DocumentView) => { doc.cardSort = "custom"; doc.cardSort_customField = "idea"; doc.cardSort_visibleSortGroups = new List<number>(); } }], - ['chat', { - checkResult: (doc: Doc) => StrCast(doc?.cardSort) === "custom" && StrCast(doc?.cardSort_customField) === "chat", + ['ChatGPT', { + checkResult: (doc: Doc) => StrCast(doc?.cardSort_customField), setDoc: (doc: Doc, dv: DocumentView) => { doc.cardSort = "custom"; doc.cardSort_customField = "chat"; @@ -233,6 +234,7 @@ ScriptingGlobals.add(function showFreeform(attr: 'center' | 'grid' | 'snaplines' } if (checkResult) { + console.log("HIIIIII") return map.get(attr)?.checkResult(selected); } const batch = map.get(attr)?.waitForRender ? UndoManager.StartBatch('set freeform attribute') : { end: () => {} }; diff --git a/src/client/views/pdf/GPTPopup/GPTPopup.tsx b/src/client/views/pdf/GPTPopup/GPTPopup.tsx index cb5aad32d..c0f17ba4e 100644 --- a/src/client/views/pdf/GPTPopup/GPTPopup.tsx +++ b/src/client/views/pdf/GPTPopup/GPTPopup.tsx @@ -317,21 +317,13 @@ export class GPTPopup extends ObservableReactComponent<GPTPopupProps> { sortBox = () => ( <> <div> - {this.heading('SORTING')} - {this.loading ? ( - <div className="content-wrapper"> - <div className="loading-spinner"> - <ReactLoading type="spin" color={StrCast(Doc.UserDoc().userVariantColor)} height={30} width={30} /> - <span>Loading...</span> - </div> - </div> - ) : ( + {this.heading('SORTING')} <> - {!this.cardsDoneLoading ? ( + {!this.cardsDoneLoading || this.loading ? ( <div className="content-wrapper"> <div className="loading-spinner"> <ReactLoading type="spin" color={StrCast(Doc.UserDoc().userVariantColor)} height={30} width={30} /> - <span>Reading Cards...</span> + {this.loading ? <span>Loading...</span> : <span>Reading Cards...</span>} </div> </div> ) : ( @@ -344,10 +336,10 @@ export class GPTPopup extends ObservableReactComponent<GPTPopupProps> { color={StrCast(Doc.UserDoc().userVariantColor)} type={Type.TERT} style={{ - width: '90%', // Almost as wide as the container + width: '90%', textAlign: 'center', - color: '#ffffff', // White text - fontSize: '16px', // Adjust font size as needed + color: '#ffffff', + fontSize: '16px', }} /> </div> @@ -363,7 +355,6 @@ export class GPTPopup extends ObservableReactComponent<GPTPopupProps> { </div> )} </> - )} </div> </> ); |
