11<header local-class =" header" >
2- <div local-class =" header-inner" >
3- <LinkTo @route =" index" local-class =" index-link" >
4- <img src =" /assets/Cargo-Logo-Small.png" role =" presentation" alt =" " local-class =" logo" >
5- <h1 >crates.io</h1 >
6- </LinkTo >
7-
8- <form local-class =" desktop-search-form" action =' /search' {{ on " submit" (prevent-default this.search )}} data-test-search-form>
9- <input
10- type =" text"
11- local-class =" search"
12- name =" q"
13- id =" cargo-desktop-search"
14- placeholder =" Click or press 'S' to search..."
15- value ={{ this.header.searchValue }}
16- oninput ={{ this.updateSearchValue }}
17- autocorrect =" off"
18- autocapitalize =" off"
19- autofocus =" autofocus"
20- spellcheck =" false"
21- required
22- data-test-search-input
23- >
24- <label for =" cargo-desktop-search" local-class =" search-label" >Search</label >
25- {{ on-key ' s' (focus ' #cargo-desktop-search' )}}
26- {{ on-key ' S' (focus ' #cargo-desktop-search' )}}
27- {{ on-key ' shift+s' (focus ' #cargo-desktop-search' )}}
28- </form >
2+ <LinkTo @route =" index" local-class =" index-link" >
3+ <img src =" /assets/Cargo-Logo-Small.png" role =" presentation" alt =" " local-class =" logo" >
4+ <h1 >crates.io</h1 >
5+ </LinkTo >
296
30- <nav local-class =' nav' >
31- <LinkTo @route =" crates" @query ={{ hash letter =null page =1 }} data-test-all-crates-link>
32- Browse All Crates
33- </LinkTo >
34- <span local-class =" sep" >|</span >
35- <Dropdown as |dd|>
36- <dd .Trigger local-class =" dropdown-button" >
37- Docs
38- </dd .Trigger>
7+ <form local-class =" search-form" action =' /search' {{ on " submit" (prevent-default this.search )}} data-test-search-form>
8+ <input
9+ type =" text"
10+ local-class =" search"
11+ name =" q"
12+ id =" cargo-desktop-search"
13+ placeholder =" Click or press 'S' to search..."
14+ value ={{ this.header.searchValue }}
15+ oninput ={{ this.updateSearchValue }}
16+ autocorrect =" off"
17+ autocapitalize =" off"
18+ spellcheck =" false"
19+ required
20+ data-test-search-input
21+ >
22+ <label for =" cargo-desktop-search" local-class =" search-label" >Search</label >
23+ {{ on-key ' s' (focus ' #cargo-desktop-search' )}}
24+ {{ on-key ' S' (focus ' #cargo-desktop-search' )}}
25+ {{ on-key ' shift+s' (focus ' #cargo-desktop-search' )}}
26+ </form >
3927
40- <dd .Menu local-class =" doc-links" as |menu|>
41- <menu .Item><a href =' https://doc.rust-lang.org/cargo/getting-started/' >Getting Started</a ></menu .Item>
42- <menu .Item><a href =' https://doc.rust-lang.org/cargo/guide/' >Guide</a ></menu .Item>
43- <menu .Item><a href =' https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html' >Specifying Dependencies</a ></menu .Item>
44- <menu .Item><a href =' https://doc.rust-lang.org/cargo/reference/publishing.html' >Publishing on crates.io</a ></menu .Item>
45- <menu .Item><a href =' https://doc.rust-lang.org/cargo/faq.html' >FAQ</a ></menu .Item>
46- <menu .Item><a href =' https://doc.rust-lang.org/cargo/reference/manifest.html' >Cargo.toml Format</a ></menu .Item>
47- <menu .Item><a href =' https://doc.rust-lang.org/cargo/reference/build-scripts.html' >Build Scripts</a ></menu .Item>
48- <menu .Item><a href =' https://doc.rust-lang.org/cargo/reference/config.html' >Configuration</a ></menu .Item>
49- <menu .Item><a href =' https://doc.rust-lang.org/cargo/reference/pkgid-spec.html' >Package ID specs</a ></menu .Item>
50- <menu .Item><a href =' https://doc.rust-lang.org/cargo/reference/environment-variables.html' >Environment Variables</a ></menu .Item>
51- <menu .Item><a href =' https://doc.rust-lang.org/cargo/reference/source-replacement.html' >Source Replacement</a ></menu .Item>
52- <menu .Item><a href =' https://doc.rust-lang.org/cargo/reference/external-tools.html' >External Tools</a ></menu .Item>
53- <menu .Item><LinkTo @route =" policies" >Policies</LinkTo ></menu .Item>
54- <menu .Item><LinkTo @route =" category-slugs" >List of category slugs</LinkTo ></menu .Item>
55- </dd .Menu>
56- </Dropdown >
57- <span local-class =" sep" >|</span >
58- {{ #if this.session.currentUser }}
59- <Dropdown data-test-user-menu as |dd|>
60- <dd .Trigger local-class =" dropdown-button" data-test-toggle>
61- <UserAvatar @user ={{ this.session.currentUser }} @size =" small" local-class =" avatar" data-test-avatar />
62- {{ this.session.currentUser.name }}
63- </dd .Trigger>
64-
65- <dd .Menu local-class =" current-user-links" as |menu|>
66- <menu .Item><LinkTo @route =" dashboard" >Dashboard</LinkTo ></menu .Item>
67- <menu .Item><LinkTo @route =" me" >Account Settings</LinkTo ></menu .Item>
68- <menu .Item><LinkTo @route =" me.pending-invites" >Owner Invites</LinkTo ></menu .Item>
69- <menu .Item local-class =" menu-item-with-separator" >
70- <button
71- type =" button"
72- disabled ={{ this.session.logoutTask.isRunning }}
73- local-class =" logout-menu-item"
74- data-test-logout-button
75- {{ on " click" (perform this.session.logoutTask )}}
76- >
77- {{ #if this.session.logoutTask.isRunning }}
78- <LoadingSpinner local-class =" spinner" />
79- {{ /if }}
80- Sign Out
81- </button >
82- </menu .Item>
83- </dd .Menu>
84- </Dropdown >
85- {{ else }}
86- <button
87- type =" button"
88- disabled ={{ this.session.loginTask.isRunning }}
89- local-class =" login-button"
90- data-test-login-button
91- {{ on " click" (perform this.session.loginTask )}}
92- >
93- {{ #if this.session.loginTask.isRunning }}
94- <LoadingSpinner local-class =" spinner" />
95- {{ else }}
96- {{ svg-jar " lock" local-class =" login-icon" }}
97- {{ /if }}
98- Log in with GitHub
99- </button >
100- {{ /if }}
101- </nav >
28+ <nav local-class =' nav' >
29+ <LinkTo @route =" crates" @query ={{ hash letter =null page =1 }} data-test-all-crates-link>
30+ Browse All Crates
31+ </LinkTo >
32+ <span local-class =" sep" >|</span >
33+ <Dropdown as |dd|>
34+ <dd .Trigger local-class =" dropdown-button" >
35+ Docs
36+ </dd .Trigger>
10237
103- <div local-class =' menu' >
104- <Dropdown as |dd|>
105- <dd .Trigger local-class =" dropdown-button" >
106- Menu
38+ <dd .Menu local-class =" doc-links" as |menu|>
39+ <menu .Item><a href =' https://doc.rust-lang.org/cargo/getting-started/' >Getting Started</a ></menu .Item>
40+ <menu .Item><a href =' https://doc.rust-lang.org/cargo/guide/' >Guide</a ></menu .Item>
41+ <menu .Item><a href =' https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html' >Specifying Dependencies</a ></menu .Item>
42+ <menu .Item><a href =' https://doc.rust-lang.org/cargo/reference/publishing.html' >Publishing on crates.io</a ></menu .Item>
43+ <menu .Item><a href =' https://doc.rust-lang.org/cargo/faq.html' >FAQ</a ></menu .Item>
44+ <menu .Item><a href =' https://doc.rust-lang.org/cargo/reference/manifest.html' >Cargo.toml Format</a ></menu .Item>
45+ <menu .Item><a href =' https://doc.rust-lang.org/cargo/reference/build-scripts.html' >Build Scripts</a ></menu .Item>
46+ <menu .Item><a href =' https://doc.rust-lang.org/cargo/reference/config.html' >Configuration</a ></menu .Item>
47+ <menu .Item><a href =' https://doc.rust-lang.org/cargo/reference/pkgid-spec.html' >Package ID specs</a ></menu .Item>
48+ <menu .Item><a href =' https://doc.rust-lang.org/cargo/reference/environment-variables.html' >Environment Variables</a ></menu .Item>
49+ <menu .Item><a href =' https://doc.rust-lang.org/cargo/reference/source-replacement.html' >Source Replacement</a ></menu .Item>
50+ <menu .Item><a href =' https://doc.rust-lang.org/cargo/reference/external-tools.html' >External Tools</a ></menu .Item>
51+ <menu .Item><LinkTo @route =" policies" >Policies</LinkTo ></menu .Item>
52+ <menu .Item><LinkTo @route =" category-slugs" >List of category slugs</LinkTo ></menu .Item>
53+ </dd .Menu>
54+ </Dropdown >
55+ <span local-class =" sep" >|</span >
56+ {{ #if this.session.currentUser }}
57+ <Dropdown data-test-user-menu as |dd|>
58+ <dd .Trigger local-class =" dropdown-button" data-test-toggle>
59+ <UserAvatar @user ={{ this.session.currentUser }} @size =" small" local-class =" avatar" data-test-avatar />
60+ {{ this.session.currentUser.name }}
10761 </dd .Trigger>
62+
10863 <dd .Menu local-class =" current-user-links" as |menu|>
109- <menu .Item><LinkTo @route =" crates" >Browse All Crates</LinkTo ></menu .Item>
110- {{ #if this.session.currentUser }}
111- <menu .Item><LinkTo @route =" dashboard" >Dashboard</LinkTo ></menu .Item>
112- <menu .Item><LinkTo @route =" me" data-test-me-link>Account Settings</LinkTo ></menu .Item>
113- <menu .Item><LinkTo @route =" me.pending-invites" >Owner Invites</LinkTo ></menu .Item>
114- <menu .Item local-class =" menu-item-with-separator" >
115- <button
116- type =" button"
117- disabled ={{ this.session.logoutTask.isRunning }}
118- local-class =" logout-menu-item"
119- {{ on " click" (perform this.session.logoutTask )}}
120- >
121- {{ #if this.session.logoutTask.isRunning }}
122- <LoadingSpinner local-class =" spinner" />
123- {{ /if }}
124- Sign Out
125- </button >
126- </menu .Item>
127- {{ else }}
128- <menu .Item>
129- <button
130- type =" button"
131- disabled ={{ this.session.loginTask.isRunning }}
132- local-class =" login-menu-item"
133- {{ on " click" (perform this.session.loginTask )}}
134- >
135- {{ #if this.session.loginTask.isRunning }}
136- <LoadingSpinner local-class =" spinner" />
137- {{ /if }}
138- Log in with GitHub
139- </button >
140- </menu .Item>
141- {{ /if }}
64+ <menu .Item><LinkTo @route =" dashboard" >Dashboard</LinkTo ></menu .Item>
65+ <menu .Item><LinkTo @route =" me" >Account Settings</LinkTo ></menu .Item>
66+ <menu .Item><LinkTo @route =" me.pending-invites" >Owner Invites</LinkTo ></menu .Item>
67+ <menu .Item local-class =" menu-item-with-separator" >
68+ <button
69+ type =" button"
70+ disabled ={{ this.session.logoutTask.isRunning }}
71+ local-class =" logout-menu-item"
72+ data-test-logout-button
73+ {{ on " click" (perform this.session.logoutTask )}}
74+ >
75+ {{ #if this.session.logoutTask.isRunning }}
76+ <LoadingSpinner local-class =" spinner" />
77+ {{ /if }}
78+ Sign Out
79+ </button >
80+ </menu .Item>
14281 </dd .Menu>
14382 </Dropdown >
144- </div >
145-
146- <form local-class =' mobile-search' action =' /search' {{ on " submit" (prevent-default this.search )}} >
147- <input
148- type =" text"
149- local-class =" search"
150- name =" q"
151- id =" cargo-mobile-search"
152- placeholder =" Search"
153- value ={{ this.header.searchValue }}
154- oninput ={{ this.updateSearchValue }}
155- autocorrect =" off"
156- required
83+ {{ else }}
84+ <button
85+ type =" button"
86+ disabled ={{ this.session.loginTask.isRunning }}
87+ local-class =" login-button"
88+ data-test-login-button
89+ {{ on " click" (perform this.session.loginTask )}}
15790 >
158- <label for =" cargo-mobile-search" local-class =" search-label" >Search</label >
159- </form >
91+ {{ #if this.session.loginTask.isRunning }}
92+ <LoadingSpinner local-class =" spinner" />
93+ {{ else }}
94+ {{ svg-jar " lock" local-class =" login-icon" }}
95+ {{ /if }}
96+ Log in with GitHub
97+ </button >
98+ {{ /if }}
99+ </nav >
100+
101+ <div local-class =' menu' >
102+ <Dropdown as |dd|>
103+ <dd .Trigger local-class =" dropdown-button" >
104+ Menu
105+ </dd .Trigger>
106+ <dd .Menu local-class =" current-user-links" as |menu|>
107+ <menu .Item><LinkTo @route =" crates" >Browse All Crates</LinkTo ></menu .Item>
108+ {{ #if this.session.currentUser }}
109+ <menu .Item><LinkTo @route =" dashboard" >Dashboard</LinkTo ></menu .Item>
110+ <menu .Item><LinkTo @route =" me" data-test-me-link>Account Settings</LinkTo ></menu .Item>
111+ <menu .Item><LinkTo @route =" me.pending-invites" >Owner Invites</LinkTo ></menu .Item>
112+ <menu .Item local-class =" menu-item-with-separator" >
113+ <button
114+ type =" button"
115+ disabled ={{ this.session.logoutTask.isRunning }}
116+ local-class =" logout-menu-item"
117+ {{ on " click" (perform this.session.logoutTask )}}
118+ >
119+ {{ #if this.session.logoutTask.isRunning }}
120+ <LoadingSpinner local-class =" spinner" />
121+ {{ /if }}
122+ Sign Out
123+ </button >
124+ </menu .Item>
125+ {{ else }}
126+ <menu .Item>
127+ <button
128+ type =" button"
129+ disabled ={{ this.session.loginTask.isRunning }}
130+ local-class =" login-menu-item"
131+ {{ on " click" (perform this.session.loginTask )}}
132+ >
133+ {{ #if this.session.loginTask.isRunning }}
134+ <LoadingSpinner local-class =" spinner" />
135+ {{ /if }}
136+ Log in with GitHub
137+ </button >
138+ </menu .Item>
139+ {{ /if }}
140+ </dd .Menu>
141+ </Dropdown >
160142 </div >
161143</header >
0 commit comments