startertab
1.0.0
私は同じ古い新しいタブページにうんざりしていました。典型的な勤務日に手を伸ばすすべてのダッシュボードが欲しいので、それを作りました。
Startertabは、インターネットで一日を始める方法に革命をもたらすためにここにいます。完全にカスタマイズ可能なWebAppを使用して、新しいタブホームページを置き換えると、これまでにないようにオンラインエクスペリエンスをパーソナライズできます。
ここにChrome拡張機能をインストールするか、ここからFirefox拡張機能をインストールして、StarterTabを新しいタブのすべてに開くサイトにすることができます。
ローカルストレージは、すべてのカスタマイズを保存するために使用されています。つまり、データを所有しています。すべての設定、トークン、テーマはあなた自身のブラウザにあります。データベースを維持したくないという怠inessと呼ぶ人もいるかもしれません。また、あなたのデータがさらに別のクラウドサービスに入るのを防ぐのに役立つと思うこともあります。
CharkauiでNextjsで書かれています。フロントエンドと機能は、NeonのデータベースであるVercelでホストされています。
git clone https://github.com/allister-grange/startertab.git
cd startertab
yarn install
このディレクトリの.env.local.exampleファイルを.env.localにコピーします(gitで無視されます):
cp .env.local.example .env.local
使用するすべてのプロバイダーに詳細を追加します。
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>
StarterTabをローカルに実行するには、次を使用します。
yarn dev
生産モードで実行するには、使用してください。
yarn build && yarn start
src/components/tilesフォルダーに新しいタイルコンポーネントを作成します。 「Tileid」プロップを受け入れるようにしてください。これにより、サイドバーで変更された設定に基づいてテキストの色を変更できます。 type PageProps = {
tileId : number ;
} ;
export const YourNewTile : React . FC < PageProps > = ( { tileId } ) => {
const color = `var(--text-color- ${ tileId } )` ;
return ( ) ;
}src/types/settings.tsのtiletypeにタイルタイプを追加します。src/components/sidebar/OptionsForTileTypeSelect.tsxのtileSizeのスイッチステートメントでタイルで利用できる対応するサイズに新しいタイルを追加するsrc/components/TileContainer.tsxのtileTypeのスイッチステートメントにタイルタイプを追加する永続的なストレージが必要な場合
src/types/settings.ts内のTileSettingsタイプに新しい値を追加するsrc/recoil/UserSettingsSelectors.tsxで新しい設定値のために反動で新しいセレクターを作成するセレクターの例:
export const imageFilePathSelector = createTilePropertySelector < string > (
"imageFilePath" ,
( theme , newValue ) => {
theme . imageFilePath = newValue ;
}
) ;タイルでそのセレクターを使用してください:
const [ fileValue , setFileValue ] = useRecoilState (
imageFilePathSelector ( tileId )
) as [ string | undefined , SetterOrUpdater < string | undefined > ] ;オプション用のサイドバーメニュー項目を作成します
src/types/settings.tsのOptionTypeに新しいオプションを追加しますsrc/helpers/sideBarOptions.tsでそれに関係するサイズにオプションを追加するsrc/components/sidebar/SettingOptionContainer.tsxを編集して、新しいオプションタイプを含めます