Make JobListing Codable for JSON storage. Add SavedJobsStore using UserDefaults. Dashboard loads saved order on launch, shows a dedicated Saved Jobs sidebar view, and refactors listing card layout for both home results and saved list. Co-authored-by: Cursor <cursoragent@cursor.com>
|
|||
| 11 |
|
11 |
|
| 12 |
|
12 |
|
| 13 |
|
13 |
|
| 14 |
|
|
|
|
14 |
|
|
| 15 |
|
15 |
|
| 16 |
|
16 |
|
| 17 |
|
17 |
|
|
|||
|
1 |
|
|
|
2 |
|
|
|
3 |
|
|
|
4 |
|
|
|
5 |
|
|
|
6 |
|
|
|
7 |
|
|
|
8 |
|
|
|
9 |
|
|
|
10 |
|
|
|
11 |
|
|
|
12 |
|
|
|
13 |
|
|
|
14 |
|
|
|
15 |
|
|
|
16 |
|
|
|
17 |
|
|
|
18 |
|
|
|
19 |
|
|
|
20 |
|
|
|
21 |
|
|
|
22 |
|
|
|
23 |
|
|
|
24 |
|
|
|
25 |
|
|
|
26 |
|
|
|
27 |
|
|
|
28 |
|
|
|
|||
| 6 |
|
6 |
|
| 7 |
|
7 |
|
| 8 |
|
8 |
|
|
9 |
|
|
|
10 |
|
|
|
11 |
|
|
|
12 |
|
|
|
13 |
|
|
| 9 |
|
14 |
|
| 10 |
|
15 |
|
| 11 |
|
16 |
|
|
|||
| 55 |
|
60 |
|
| 56 |
|
61 |
|
| 57 |
|
62 |
|
|
63 |
|
|
| 58 |
|
64 |
|
| 59 |
|
65 |
|
|
66 |
|
|
|
67 |
|
|
|
68 |
|
|
|
69 |
|
|
|
70 |
|
|
|
71 |
|
|
| 60 |
|
72 |
|
| 61 |
|
73 |
|
| 62 |
|
74 |
|
|
|||
| 65 |
|
77 |
|
| 66 |
|
78 |
|
| 67 |
|
79 |
|
| 68 |
|
|
|
|
80 |
|
|
|
81 |
|
|
| 69 |
|
82 |
|
| 70 |
|
83 |
|
| 71 |
|
84 |
|
|
|||
| 94 |
|
107 |
|
| 95 |
|
108 |
|
| 96 |
|
109 |
|
| 97 |
|
|
|
|
110 |
|
|
| 98 |
|
111 |
|
| 99 |
|
112 |
|
| 100 |
|
113 |
|
|
|||
| 251 |
|
264 |
|
| 252 |
|
265 |
|
| 253 |
|
266 |
|
| 254 |
|
|
|
|
267 |
|
|
|
268 |
|
|
|
269 |
|
|
|
270 |
|
|
|
271 |
|
|
| 255 |
|
272 |
|
| 256 |
|
273 |
|
| 257 |
|
274 |
|
| 258 |
|
275 |
|
| 259 |
|
|
|
|
276 |
|
|
| 260 |
|
277 |
|
| 261 |
|
278 |
|
| 262 |
|
279 |
|
|
|||
| 271 |
|
288 |
|
| 272 |
|
289 |
|
| 273 |
|
290 |
|
| 274 |
|
|
|
| 275 |
|
|
|
|
291 |
|
|
| 276 |
|
292 |
|
| 277 |
|
293 |
|
| 278 |
|
294 |
|
|
|||
| 297 |
|
313 |
|
| 298 |
|
314 |
|
| 299 |
|
315 |
|
| 300 |
|
|
|
|
316 |
|
|
| 301 |
|
317 |
|
| 302 |
|
318 |
|
| 303 |
|
319 |
|
| 304 |
|
320 |
|
| 305 |
|
321 |
|
| 306 |
|
322 |
|
| 307 |
|
|
|
|
323 |
|
|
|
324 |
|
|
|
325 |
|
|
|
326 |
|
|
|
327 |
|
|
|
328 |
|
|
|
329 |
|
|
|
330 |
|
|
|
331 |
|
|
|
332 |
|
|
|
333 |
|
|
|
334 |
|
|
|
335 |
|
|
|
336 |
|
|
|
337 |
|
|
|
338 |
|
|
|
339 |
|
|
|
340 |
|
|
|
341 |
|
|
|
342 |
|
|
|
343 |
|
|
|
344 |
|
|
|
345 |
|
|
|
346 |
|
|
|
347 |
|
|
|
348 |
|
|
|
349 |
|
|
|
350 |
|
|
| 308 |
|
351 |
|
| 309 |
|
352 |
|
| 310 |
|
353 |
|
|
|||
| 331 |
|
374 |
|
| 332 |
|
375 |
|
| 333 |
|
376 |
|
|
377 |
|
|
| 334 |
|
378 |
|
| 335 |
|
379 |
|
| 336 |
|
380 |
|
|
|||
| 342 |
|
386 |
|
| 343 |
|
387 |
|
| 344 |
|
388 |
|
| 345 |
|
|
|
|
389 |
|
|
|
390 |
|
|
| 346 |
|
391 |
|
|
392 |
|
|
| 347 |
|
393 |
|
| 348 |
|
394 |
|
| 349 |
|
395 |
|
| 350 |
|
396 |
|
| 351 |
|
397 |
|
| 352 |
|
|
|
|
398 |
|
|
| 353 |
|
399 |
|
| 354 |
|
400 |
|
| 355 |
|
401 |
|
| 356 |
|
402 |
|
| 357 |
|
403 |
|
| 358 |
|
404 |
|
|
405 |
|
|
| 359 |
|
406 |
|
| 360 |
|
407 |
|
| 361 |
|
408 |
|
|
|||
| 365 |
|
412 |
|
| 366 |
|
413 |
|
| 367 |
|
414 |
|
| 368 |
|
|
|
|
415 |
|
|
| 369 |
|
416 |
|
| 370 |
|
417 |
|
| 371 |
|
418 |
|
|
|||
| 446 |
|
493 |
|
| 447 |
|
494 |
|
| 448 |
|
495 |
|
| 449 |
|
|
|
| 450 |
|
|
|
| 451 |
|
|
|
| 452 |
|
|
|
| 453 |
|
|
|
| 454 |
|
|
|
|
496 |
|
|
|
497 |
|
|
|
498 |
|
|
|
499 |
|
|
| 455 |
|
500 |
|
|
501 |
|
|
|
502 |
|
|
|
503 |
|
|
| 456 |
|
504 |
|
| 457 |
|
505 |
|
| 458 |
|
506 |
|
| 459 |
|
|
|
| 460 |
|
|
|
| 461 |
|
|
|
|
507 |
|
|
|
508 |
|
|
|
509 |
|
|
|
510 |
|
|
|
511 |
|
|
|
512 |
|
|
|
513 |
|
|
|
514 |
|
|
|
515 |
|
|
|
516 |
|
|
|
517 |
|
|
|
518 |
|
|
| 462 |
|
519 |
|
| 463 |
|
520 |
|
| 464 |
|
521 |
|
|
|||
| 630 |
|
687 |
|
| 631 |
|
688 |
|
| 632 |
|
689 |
|
|
690 |
|
|
|
691 |
|
|
|
692 |
|
|
|
693 |
|
|
|
694 |
|
|
|
695 |
|
|
|
696 |
|
|
|
697 |
|
|
|
698 |
|
|
|
699 |
|
|
|
700 |
|
|
|
701 |
|
|
|
702 |
|
|
|
703 |
|
|
|
704 |
|
|
|
705 |
|
|
|
706 |
|
|
| 633 |
|
707 |
|
| 634 |
|
708 |
|
| 635 |
|
709 |
|
|
|||
| 641 |
|
715 |
|
| 642 |
|
716 |
|
| 643 |
|
717 |
|
| 644 |
|
|
|
| 645 |
|
|
|
| 646 |
|
|
|
| 647 |
|
|
|
| 648 |
|
|
|
| 649 |
|
|
|
|
718 |
|
|
|
719 |
|
|
|
720 |
|
|
|
721 |
|
|
|
722 |
|
|
|
723 |
|
|
| 650 |
|
724 |
|
| 651 |
|
|
|
| 652 |
|
|
|
| 653 |
|
|
|
| 654 |
|
|
|
|
725 |
|
|
|
726 |
|
|
|
727 |
|
|
|
728 |
|
|
| 655 |
|
729 |
|
| 656 |
|
730 |
|
|
731 |
|
|
|
732 |
|
|
|
733 |
|
|
|
734 |
|
|
|
735 |
|
|
|
736 |
|
|
|
737 |
|
|
|
738 |
|
|
|
739 |
|
|
|
740 |
|
|
|
741 |
|
|
|
742 |
|
|
|
743 |
|
|
|
744 |
|
|
|
745 |
|
|
|
746 |
|
|
|
747 |
|
|
|
748 |
|
|
|
749 |
|
|
|
750 |
|
|
|
751 |
|
|
|
752 |
|
|
|
753 |
|
|
|
754 |
|
|
|
755 |
|
|
|
756 |
|
|
|
757 |
|
|
|
758 |
|
|
|
759 |
|
|
|
760 |
|
|
|
761 |
|
|
|
762 |
|
|
|
763 |
|
|
|
764 |
|
|
|
765 |
|
|
|
766 |
|
|
|
767 |
|
|
|
768 |
|
|
|
769 |
|
|
|
770 |
|
|
|
771 |
|
|
|
772 |
|
|
|
773 |
|
|
|
774 |
|
|
|
775 |
|
|
|
776 |
|
|
|
777 |
|
|
|
778 |
|
|
|
779 |
|
|
|
780 |
|
|
|
781 |
|
|
|
782 |
|
|
|
783 |
|
|
|
784 |
|
|
|
785 |
|
|
|
786 |
|
|
|
787 |
|
|
|
788 |
|
|
|
789 |
|
|
|
790 |
|
|
|
791 |
|
|
|
792 |
|
|
|
793 |
|
|
|
794 |
|
|
|
795 |
|
|
|
796 |
|
|
|
797 |
|
|
|
798 |
|
|
|
799 |
|
|
|
800 |
|
|
|
801 |
|
|
|
802 |
|
|
|
803 |
|
|
|
804 |
|
|
|
805 |
|
|
|
806 |
|
|
|
807 |
|
|
|
808 |
|
|
|
809 |
|
|
|
810 |
|
|
|
811 |
|
|
|
812 |
|
|
|
813 |
|
|
|
814 |
|
|
|
815 |
|
|
|
816 |
|
|
|
817 |
|
|
|
818 |
|
|
|
819 |
|
|
| 657 |
|
820 |
|
| 658 |
|
821 |
|
| 659 |
|
822 |
|
|
|||
| 663 |
|
826 |
|
| 664 |
|
827 |
|
| 665 |
|
828 |
|
|
829 |
|
|
| 666 |
|
830 |
|
| 667 |
|
831 |
|
|
832 |
|
|
|
833 |
|
|
| 668 |
|
834 |
|
| 669 |
|
|
|
|
835 |
|
|
|
836 |
|
|
|
837 |
|
|
|
838 |
|
|
|
839 |
|
|
| 670 |
|
840 |
|
| 671 |
|
841 |
|
| 672 |
|
842 |
|
|
|||
| 950 |
|
1120 |
|
| 951 |
|
1121 |
|
| 952 |
|
1122 |
|
|
1123 |
|
|
| 953 |
|
1124 |
|
| 954 |
|
1125 |
|
| 955 |
|
1126 |
|