Ich hatte die gleiche alte neue Registerkartenseite satt. Ich wollte ein Dashboard für alles haben, was ich in meinem typischen Arbeitstag greife, also habe ich es gebaut.
StarterTab ist hier, um die Art und Weise zu revolutionieren, wie Sie Ihren Tag im Internet beginnen. Mit einem vollständig anpassbaren WebApp, um Ihre neue Registerkarten -Homepage zu ersetzen, können Sie Ihre Online -Erfahrung wie nie zuvor personalisieren.
Sie können die Chrome -Erweiterung hier oder die Firefox -Erweiterung hier installieren und Startertab auf der Website erstellen, die sich auf jedem Ihrer neuen Registerkarten öffnet.
Lokaler Speicher wird zum Speichern aller Anpassungen verwendet, sodass Sie Ihre Daten besitzen! Alle Einstellungen, Token und Themen sitzen auf Ihrem eigenen Browser. Einige nennen es vielleicht Faulheit, dass ich keine Datenbank pflegen möchte. Sie können es auch als ich sehen, dass ich dazu beiträgt, dass Ihre Daten in einem weiteren Cloud -Dienst sind.
Geschrieben in NextJs mit charkaui. Das Frontend und die Funktionen werden auf Vercel, der Datenbank zu Neon, gehostet.
git clone https://github.com/allister-grange/startertab.git
cd startertab
yarn install
Kopieren Sie die Datei .env.local.example in diesem Verzeichnis in .env.local (das von Git ignoriert wird):
cp .env.local.example .env.local
Fügen Sie Details für alle Anbieter hinzu, die Sie verwenden möchten:
STRAVA_CLIENT_ID=<YOUR_SECRET_HERE>
STRAVA_SECRET=<YOUR_SECRET_HERE>
WEATHERAPI_TOKEN=<YOUR_SECRET_HERE>
SPOTIFY_CLIENT_ID=<YOUR_SECRET_HERE>
SPOTIFY_CLIENT_SECRET=<YOUR_SECRET_HERE>
FINNHUB_SECRET=<YOUR_SECRET_HERE>
TWITTER_CLIENT_ID=<YOUR_SECRET_HERE>
TWITTER_CLIENT_SECRET=<YOUR_SECRET_HERE>
TWITTER_CODE_CHALLENGE_KEY=<YOUR_SECRET_HERE>
TOKEN_ENCRYPT_KEY=<YOUR_SECRET_HERE>
OUTLOOK_CLIENT_ID=<YOUR_SECRET_HERE>
OUTLOOK_CLIENT_SECRET=<YOUR_SECRET_HERE>
GOOGLE_CLIENT_ID=<YOUR_SECRET_HERE>
GOOGLE_CLIENT_SECRET=<YOUR_SECRET_HERE>
DATABASE_URL=<YOUR_SECRET_HERE>
DATABASE_URL_UNPOOLED=<YOUR_SECRET_HERE>
ANALYTICS_ENABLED=<true or false>
Verwenden Sie: Um Ihren StarterTab lokal zu betreiben, verwenden Sie:
yarn dev
Um es im Produktionsmodus auszuführen, verwenden Sie:
yarn build && yarn start
src/components/tiles . Stellen Sie sicher, dass Sie eine TileId -Requisite akzeptieren. Dadurch können Sie die Farbe des Textes basierend auf den in der Seitenleiste geänderten Einstellungen ändern. type PageProps = {
tileId : number ;
} ;
export const YourNewTile : React . FC < PageProps > = ( { tileId } ) => {
const color = `var(--text-color- ${ tileId } )` ;
return ( ) ;
}src/types/settings.ts hinzu.tileSize in src/components/sidebar/OptionsForTileTypeSelect.tsx zur Verfügung stellen möchten.tileType in src/components/TileContainer.tsx hinzuWenn Sie einen anhaltenden Speicher benötigen
TileSettings -Typ in src/types/settings.ts hinzusrc/recoil/UserSettingsSelectors.tsxAuswahlbeispiel:
export const imageFilePathSelector = createTilePropertySelector < string > (
"imageFilePath" ,
( theme , newValue ) => {
theme . imageFilePath = newValue ;
}
) ;Verwenden Sie diesen Selektor in einer Fliese:
const [ fileValue , setFileValue ] = useRecoilState (
imageFilePathSelector ( tileId )
) as [ string | undefined , SetterOrUpdater < string | undefined > ] ;Erstellen eines Sidebar -Menüelements für Optionen
OptionType in src/types/settings.ts hinzusrc/helpers/sideBarOptions.ts hinzusrc/components/sidebar/SettingOptionContainer.tsx um den neuen Optionsartyp einzuschließen